権利表現を処理する方法およびシステム
【課題】変調されたまたは可変の信号表現またはグラフィカル表現に基づいてコンテンツまたはその他のアイテムの使用権を表現する。
【解決手段】 アイテムの使用権または使用方法を規定する権利表現に基づいて該アイテムの使用を制御するシステムにおいて使用する該アイテムに関連する該権利表現を処理する。元々のフォーマットの権利表現であって、装置における前記アイテムの使用を制御するための権利表現を該装置によって受信し、前記権利表現の状態、およびコンピュータ環境の装置情報に基づいて、前記権利表現の中間フォーマットを前記装置によって生成する。前記中間フォーマットは前記コンピュータ環境における前記アイテムの使用を制御するためのものである。
【解決手段】 アイテムの使用権または使用方法を規定する権利表現に基づいて該アイテムの使用を制御するシステムにおいて使用する該アイテムに関連する該権利表現を処理する。元々のフォーマットの権利表現であって、装置における前記アイテムの使用を制御するための権利表現を該装置によって受信し、前記権利表現の状態、およびコンピュータ環境の装置情報に基づいて、前記権利表現の中間フォーマットを前記装置によって生成する。前記中間フォーマットは前記コンピュータ環境における前記アイテムの使用を制御するためのものである。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、一般的には、コンテンツまたはその他のアイテムの使用を、そのコンテンツまたはその他のアイテムに対応する使用権によって制御することに関し、より詳細には、使用権表現をマルチパス解釈するための方法及び装置に関する。
【背景技術】
【0002】
文書、音楽、映画、ソフトウェア、及び、情報のようなデジタル・コンテンツを、コンピューティング・デバイスによって利用できるような形で、電子的な手段、とりわけインターネットを介して、広範囲に配信することに関する最も重要な問題の1つは、デジタル・コンテンツの配信中及び使用中に、知的所有権を行使することを可能にする対策である。この問題を解決するための技術を、ここでは、デジタル権利管理(Digital Rights Management:DRM)と呼ぶ。しかしながら、DRMシステムを実現するには、認証、許可、会計、支払い及び決済、権利表現、権利の確認、権利の行使、及び、文書保護の問題、など、考慮すべき多くの問題がある。
【0003】
印刷された文書及びその他の物理的コンテンツの業界においては、作者によって製作された作品は、通常、出版社に提供され、その出版社は、作品の体裁を整え、多部数の本として印刷する。そして、それらの本は、配給者によって、書店またはその他の小売店へ送られ、それらの書店または小売店から、ユーザが、本を購入する。低いコピー品質、及び、印刷物を配布する高いコストが、印刷文書を許可なくコピーすることを防止する役割をなしてきたが、非保護デジタル・コンテンツを高品質でコピー、修正、及び、再配布することは、きわめて容易なことになった。したがって、デジタル・コンテンツを保護するための技法が、必要とされている。
【0004】
本発明の譲受人に譲渡された特許文献1は、デジタル・コンテンツの配信を制御するためのDRMシステムを開示しており、DRMシステムを含む装置は、そのDRMシステムに関連するリポジトリを含む。予め定められた一組の使用トランザクションステップは、コンテンツに与えられた使用権を行使するためのリポジトリが使用するプロトコルを定義する。使用権は、コンテンツとともに存続し、コンテンツに対応する使用権は、デジタルワークを備える。使用権は、例えば、コンテンツを鑑賞し、印刷し、あるいは、表示する権利、コンテンツを一回だけ使用する権利、及び、コンテンツを配信または再配信する権利など、様々な形でコンテンツの使用を許可する。また、使用権は、金銭の支払いまたはその他の条件を要求してもよい。
【0005】
なお、特許文献1〜8は、本発明に関連する技術について記載している。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】米国特許第5634012号明細書
【特許文献2】米国特許第5530235号明細書
【特許文献3】米国特許第5629980号明細書
【特許文献4】米国特許第5634012号明細書
【特許文献5】米国特許第5638443号明細書
【特許文献6】米国特許第5715403号明細書
【特許文献7】米国特許第6233684号明細書
【特許文献8】米国特許第6236971号明細書
【発明の概要】
【発明が解決しようとする課題】
【0007】
上述の要求及びその他の要求は、本発明の実施形態によって解決され、本発明は、変調されたまたは可変の信号表現またはグラフィカル表現に基づいてコンテンツまたはその他のアイテムの使用権を表現するための改善されたシステム及び方法を提供する。
【課題を解決するための手段】
【0008】
1つの態様においては、アイテムの使用を権利表現に基づいて制御するシステムにおいて、使用されるアイテムに対応する権利表現を処理する方法が提供される。この方法は、オリジナルフォーマットによる権利表現を規定し、該オリジナルフォーマットに対応するシンタックス情報及びセマンティクス情報の少なくとも一方に基づいて、権利表現のための中間フォーマットを生成する。権利表現は、デバイス上でのアイテムの利用方法を規定する。
【図面の簡単な説明】
【0009】
【図1】本発明の様々な実施形態を実施することのできる例としてのデジタル権利管理システムの概略図である。
【図2】図1、図4、及び、図5に示されるデジタル権利管理システムにおいて実施されてもよい例としてのマルチパス解釈プロセスの概略図である。
【図3】図2に示される例としてのマルチパス解釈プロセスを説明するフローチャートである。
【図4】別の実施形態による例としてのデジタル権利管理システムの概略図である。
【図5】別の実施形態による例としてのデジタル権利管理システムの概略図である。
【図6】図1、図4、及び、図5に示されるデジタル権利管理システムにおいて実施されてもよい一般的なローカライザ・プロセスの概略図である。
【図7】図6に示されるローカライザ・プロセスの一般的なプリ・プロセッサ・プロセスを説明するフローチャートである。
【図8A】一般的なバイナリ変換アルゴリズムを説明するフローチャートである。
【図8B】一般的なバイナリ変換アルゴリズムを説明するフローチャートである。
【図9】図6に示されるローカライザ・プロセスの一般的なプリ・プロセッサ・プロセスの概略図である。
【図10】図1、図4、及び、図5に示されるデジタル権利管理システムにおいて実施されてもよい一般的な単純化プロセスの概略図である。
【図11】図10に示される一般的な単純化プロセスを説明するフローチャートである。
【図12A】図10に示される一般的な剪定プロセス及び評価プロセスを説明するフローチャートである。
【図12B】図10に示される一般的な剪定プロセス及び評価プロセスを説明するフローチャートである。
【図13】図2に示される一般的なマルチパス解釈プロセスによって生成されてもよいバイナリ・フォーマットの一般的な構造の概略図である。
【図14】図2に示される一般的なマルチパス解釈プロセスによって生成されてもよい行使可能フォーマットの一般的な構造の概略図である。
【図15】図1、図4、及び、図5に示されるデジタル権利管理システムによって生成されてもよい権利表現の一般的なシンボリック表現を説明する図である。
【発明を実施するための形態】
【0010】
本発明の他の態様、特徴、及び、利点が、以下の詳細な説明から明らかとなる。該説明は、本発明の実施の最良の形態を含むことを意図する実施態様と実現態様のいくつかを例示する。また、本発明では、他の異なる実施形態が可能であり、本発明の精神及び範囲を逸脱せずに、種々の変更が可能である。したがって、図面及び明細書は、例示的なものであり、本発明を限定するものではない。
【0011】
本発明は、単に例示の目的であって、本発明を限定するものではない添付の図面において示される。当該図面において同様の参照符号は同様の構成エレメントを示す。
【0012】
使用権表現をマルチパス解釈するための方法及び装置を以下に説明する。以下の記述では、本発明を十分に理解できるように説明することを目的として、多くの細かな点が、具体的に説明される。しかしながら、この分野に精通する者には、これらの詳細な情報や、類似の代替情報なくして本発明を実施可能であることは明らかである。場合によっては、本発明を不必要に不明確にするのを避けるために、良く知られている構造及び装置は、ブロック図として示される。
【0013】
本発明は、認証、許可、会計、支払い及び決済、権利の規定、権利の確認、権利の行使、及び、文書保護の問題をデジタル権利管理システムによって解決することができるという認識を含む。本発明の譲受人に譲渡された特許文献1〜7は、これらの問題及びその他の問題を解決するためのDRMシステムを開示しており、それらのすべての明細書の全体が、ここに援用される。
【0014】
さらに、本発明においては、XrMLのようなXMLベースのネイティブな文法に基づいた言語によって符号化された権利表現は、リソースに依存した処理を必要とし、符号化された権利表現を解析・処理するために多くのリソースが利用されるという認識を含む。さらに、符号化された権利表現は、きわめて複雑で冗長な場合があり、繰り返し実行される複数の構文解析及び解釈タスクを必要とする。さらに、レイテンシー(訳注:ハイレスポンス)及びリアルタイムに関する要求は、符号化された大量の権利表現を高性能に解釈することを必要とする。
【0015】
このような計算処理的な負荷は、限られた資源しか備えていないシステム及び装置、小型装置、ハンドヘルド・デバイス、限られた時間内に大量の権利表現を処理する責任を有するシステム及びプラットフォームのような、様々な種類のシステム、装置、プラットフォームに大きな負担をかけることがある。したがって、エンコードされた権利表現を処理する計算処理的負荷を堅牢でかつ信頼できる形で軽減するためのシステム及び方法が、必要とされている。
【0016】
ここで説明される実施例は、改善されたシステム及び方法を提供することによって、上述の及びその他の要求を解決するものであり、それによって、文法に基づいた権利表現を、一般的なデータ及びフォーマットに単純化し、最適化し、変換し、その一般的なデータ・フォーマットは、高い効率で処理され、ターゲットとなるコンピューティング環境の資源により良好に適合させることが可能である。実施例においては、ターゲット・コンピューティング環境は、ターゲット・デバイス、コンポーネント、アプリケーション、機能、システム、プラットフォームを含む。拡張可能権利マークアップ言語(XrML)、拡張可能アクセス制御マークアップ言語(XACML)、オープン・デジタル権利言語(ODRL)、拡張可能マークアップ言語(XML)に基づいた言語のような、文法ベース言語が、権利表現を規定するのに使用されるが、適切であれば、どのような文法及び言語を使用してもよい。
【0017】
実施例は、改善された方法及びシステムを提供する。文法に基づいた権利表現を、一般的なデータ・フォーマットに単純化し、最適化し、変換し、その一般的なデータ・フォーマットは、高い効率で処理され、ターゲット・コンピューティング環境の資源に、より良好に合致させることができる。実施例は、解釈の様々なステージで使用され得るので、マルチパス解釈と呼ぶことができ、種々のステージにおいて、文法に基づいた権利表現を、ターゲット・コンピューティング環境にとってより適切な一般的データ及びフォーマットに単純化することができる。
【0018】
実施例においては、権利表現を評価及び解釈するプロセスは、複数の処理ステップに分割され得る。それぞれの処理ステップの中間結果は、一般的なデータ及びフォーマットとして保存され、それらは、後に、評価、解釈されてもよく、また、後に、評価及び解釈するプロセスを再開することもできる。中間処理の結果として得られる一般的なフォーマットを、中間フォーマットと呼ぶ。ただし、ここで説明するフォーマットは、例示であり、以下でさらに詳細に説明するように、適切であれば、どのような種類のフォーマットでも、実施例のプロセスから結果を得られるようなものであればよい。
【0019】
図面を参照して説明する。いくつかの図面において、同一の符号は、同一のまたは類似する構成エレメントを示す。図1において、DRMシステム100は、コンテンツ、サービス、または、その他の資源の使用権を特定しかつ行使するために使用される。DRMシステム100は、ユーザ起動コンポーネントを起動サーバ110の形態で含み、該起動サーバ110は、一組の公開鍵及び秘密鍵の対112を保護された形式でコンテンツのユーザに発行する。一般的には、ユーザが、DRMシステム100を初めて使用する場合、ユーザは、特定のコンテンツ・フォーマットのためのレンダリング・アプリケーションとともに動作するかまたはそのレンダリング・アプリケーションを含むソフトウェアをインストールする。
【0020】
ソフトウェアは、ユーザが所有するコンピューティング・デバイスのようなクライアント環境120内にインストールされる。ソフトウェアは、DRMシステム100の一部であり、被保護コンテンツ134にアクセスするのに使用される。インストール後に、ソフトウェアが、起動される。起動プロセス中、起動サーバ110とクライアント環境120との間で情報が交換される。クライアント・ソフトウェア・コンポーネント122が、クライアント環境120内にダウンロード、インストールされる。クライアント・ソフトウェア・コンポーネント122は、改ざん防止性であり、起動サーバ110によって発行された他のコンポーネントと共に、一組の公開鍵及び秘密鍵の対112を保持する。
【0021】
例えば、権利オファー132は、プロテクトされたコンテンツ134に対応付けられ、かつ、使用方法を含む使用権132Aを規定する。エンド・ユーザは、、1つかまたはそれ以上の条件132Bを満足した場合に、使用権132Aを入手できる。ライセンス・サーバ140は、暗号鍵112を管理し、プロテクトされたコンテンツ134に対するライセンス142を発行する。ライセンス142は、使用権132Aをエンド・ユーザに実際に許可し、例えば、権利オファー132は、5ドルの料金を支払うことを条件に、プロテクトされたコンテンツ134を閲覧する権利をエンド・ユーザに許諾し、また、10ドルの料金を支払うことを条件に、プロテクトされたコンテンツを印刷する権利をエンド・ユーザに許諾する。すなわち、5ドルの料金が支払われていれば閲覧する権利、及び/または、10ドルの料金が支払われていれば印刷する権利、についてのライセンス142が発行される。クライアント・コンポーネント122は、ライセンス142によって特定された権利を解釈しかつ行使する。
【0022】
非プロテクトコンテンツのような、クリアコンテンツ136(訳注:暗号化等されていないオリジナルのコンテンツ情報の意)が、コンテンツ出版社、コンテンツ配給者、コンテンツ・サービス・プロバイダ、または、何らかのその他の団体のコンピュータ130上にインストールされた、文書作成アプリケーションのようなアプリケーション138によって、作成される。クリアコンテンツ136の作成の際には、該クリアコンテンツ136を使用できる権利132A及び条件132Bを規定することもできる。このとき、権利オファー132をそのクリアコンテンツ136に対応付け、暗号アルゴリズムによってプロテクトされたコンテンツ134を生成してクリアコンテンツ136を保護する。XrML、XACML、ODRLのような権利言語が、権利オファー132を規定するのに使用されるが、権利オファー132は、適切なものであれば、どのような方法で規定されてもよい。また、権利オファー132は、プロテクトされたコンテンツ134に対応付けることのできる、予め定義された規格、プロファイル、テンプレートの形態であってもよい。したがって、権利オファー132を規定するプロセスは、適切なものであれば、権利及び条件をコンテンツに対応付けるどのようなプロセスであってもよい。プロテクトされたコンテンツ134に対応付けられた権利オファー132、及び、クリアコンテンツ136を暗号化するのに使用される暗号鍵112は、ライセンス・サーバ140へ送信される。
【0023】
DRMシステム100の一般的なワークフローにおいて、起動サーバ110によってプロテクトされたコンテンツ134を受信可能な状態となっているクライアント環境120上で、ユーザが起動作業をする。起動プロセスの結果、公開鍵及び秘密鍵の対112が生成され、ユーザ及び/またはマシンの特定情報が、クライアント・ソフトウェア・コンポーネント122の形態でクライアント環境120へダウンロードされる。起動プロセスは、ライセンス142を発行する前の適切などのようなタイミングで実行されてよい。
【0024】
ユーザが、プロテクトされたコンテンツ134を使用したい場合、ユーザは、クライアント環境120にインストールされたブラウザを用いて、ウェブ・サーバ150上で稼働しているウェブ・サイトを閲覧し、該プロテクトされたコンテンツ134をダウンロードすることを試みる。このプロセス中、ユーザは、コンテンツの販売において発生するような料金トランザクション、情報の収集のようなその他のトランザクションを含む一連のステップを遂行する。料金の支払い及びユーザが起動中であることの確認などの適合条件及びその他の必要条件が満たされていれば、ウェブ・サーバ150は、セキュア・ソケット・レイヤー(SSL)チャネルのような安全な通信チャネルを介して、ライセンス・サーバ140に接続する。そして、ライセンス・サーバ140は、プロテクトされたコンテンツ134のライセンス142を生成し、ウェブ・サーバ150は、プロテクトされたコンテンツ134及びライセンス142の両方をダウンロードする。ライセンス142は、使用権132Aの中の適切な使用権を含むものであり、また、ライセンス・サーバ140または関連する装置からダウンロードされてもよい。プロテクトされたコンテンツ134は、出版社、配給者、または、その他の団体に属するコンピュータ130からダウンロードされ得る。権利オファー132は永続的なものであり、かつ、プロテクトされたコンテンツ134に恒久的に付属する。
【0025】
そして、クライアント環境120におけるクライアント・ソフトウェア・コンポーネント122は、ライセンス142の解釈を開始し、ライセンス142に規定された権利132A及び条件132Bに基づいて、プロテクトされたコンテンツ134の使用を可能にする。使用権の解釈及び行使については、本発明の譲受人に譲渡された特許文献1〜3、及び、5〜8にさらに詳細に説明されている。上述したステップは、シーケンシャルに、あるいはほぼ同時に、様々な順序で実行され得る。
【0026】
DRMシステム100は、プロテクトされたコンテンツ134を保護するセキュリティ機能を実現する。とりわけ、DRMシステム100は、ライセンス・サーバ140によって発行されたライセンス142を認証する。そのような認証を実現する1つの方法は、ライセンス142を信用することができるかどうかをクライアント・ソフトウェア・コンポーネント122が判断することである。換言すると、クライアント・ソフトウェア・コンポーネント122は、ライセンス142の暗号署名またはその他の識別情報を確認及び/または検証する能力を有する。上述した起動ステップ中、クライアント環境120及びライセンス・サーバ140は、改ざん防止性ソフトウェア・パッケージ中に一組の鍵112を受信し、該ソフトウェア・パッケージは、起動されたクライアント環境120においてライセンス142の署名を確認するためクライアント・ソフトウェア・コンポーネント122のような、他のコンポーネントを含んでもよい。
【0027】
DRMシステム100は、例としての特徴を有するものであり、種々の同等の装置において実施可能であり、ライセンス142及びプロテクトされたコンテンツ134は、異なるエンティティから配信され得る。例として、権利オファー132は、プロテクトされたコンテンツ134を作成した団体以外の団体によって、プロテクトされたコンテンツ134に対応付けられてもよい。さらに、ライセンス142を発行する前に、支払いトランザクションを処理しかつ支払いを確認するために、決済機関160が、使用されてもよい。さらに、様々なプロセス及びトランザクションが、オンライン環境及び/またはオフライン環境及び/またはそれらの組み合わせ下において実行されてもよい。エンド・ユーザは、コンテンツをコンピュータにダウンロードし、そして、コンテンツをそのコンピュータから個人用携帯情報端末(PDA)へ転送してもよい。また、エンド・ユーザは、スーパーマーケット、キオスク、キャッシュ・レジスター、プリペイド式ライセンス・カードを介して、コンテンツのライセンスを購入し、そして、そのライセンスをPDAへ転送してもよい。そして、エンド・ユーザは、PDA及び/またはコンピュータ上で、コンテンツを起動してもよい。そのようなオフラインの状況においては、様々な装置は、互いに直接に通信しても、あるいは、互いに直接に通信しなくてもよく、そして、情報は、何らかの適切な方法によって、例えば、装置間を物理的に移動する媒体によって、交換されてもよい。
【0028】
図2は、図1、図4、及び、図5に示されるデジタル権利管理システムの装置及びサブシステム上で実施され得る、マルチパス解釈プロセス200の概略図である。図2において、マルチパス解釈プロセス200は、ローカライザ・プロセス201、単純化プロセス203、及び、トランスレータ・プロセス205を含む。ローカライザ・プロセス201は、XrMLのような文法ベース言語で記述された権利表現207、及び、シンタックス情報及びセマンティクス情報を含む権利表現言語情報209を受信する。ローカライザ・プロセス201は、権利表現207を中間フォーマットに変換し、該中間フォーマットは、文法ベース権利表現言語情報209に基づいた自己完結型フォーマット211と呼び得る。
【0029】
単純化プロセス203は、権利表現207、自己完結型フォーマット211による権利表現207、権利状態情報213、ターゲット・コンピューティング環境の装置情報217を受信する。単純化プロセス203は、権利表現207及び自己完結型フォーマット211による権利表現207を、中間言語フォーマットに変換する。該中間フォーマットは、権利情報状態213及び装置情報217に基づいた単純化フォーマット215と呼び得る。
【0030】
トランスレータ・プロセス205は、装置情報217とともに、権利表現207、自己完結型フォーマット211による権利表現207、あるいは単純化フォーマット215による権利表現207を受信する。トランスレータ・プロセス205は、権利表現207、自己完結型フォーマット211による権利表現207、あるいは単純化フォーマット215による権利表現207を、中間フォーマットに変換する。該中間フォーマットは、装置情報217に基づいた装置特定フォーマット219と呼び得る。実施例のローカライザ・プロセス201、単純化プロセス203、トランスレータ・プロセス205は、図1、図4、及び、図5に示されるデジタル権利管理システム及びそのサブシステム上で実施され得る。
【0031】
図3は、図2に示されるマルチパス解釈プロセス200を説明するフローチャートである。ステップ301では、マルチパス解釈プロセスのために、XrMLのような文法ベース言語で記述された権利表現207のファイルが、リトリーブされる。ステップ303では、リトリーブされた権利表現207は、XrMLのようなネイティブなフォーマットから、XMLに基づいたバイナリ・フォーマット、XrMLに基づいたバイナリ・フォーマット等のバイナリ・フォーマットを含む自己完結型フォーマット211に変換される。自己完結型フォーマット211による権利表現207は、機械可読なものであり、かつ、プラットフォームに依存しない。したがって、自己完結型フォーマット211による権利表現207は、XML処理能力、XrML処理能力のような何らかの特定の処理能力に依存する必要がない。
【0032】
ステップ305において、自己完結型フォーマット211による権利表現207から条件リストを抽出するために、自己完結型フォーマット211が、解釈され、単純化される。かくして、自己完結型フォーマット211による権利表現207は、単純化フォーマット215に変換される。単純化フォーマット215による権利表現207は、ターゲット・コンピューティング環境によって、検証され、実行可能な条件を含む。実施例においては、単純化フォーマット215は、XMLベースまたはXrMLベースであってよく、行使可能フォーマットと呼び得る。
【0033】
ステップ307において、単純化フォーマット215による権利表現207は、装置特定フォーマット219による権利表現207に変換される。ターゲット・コンピューティング環境は、装置特定フォーマット219による権利表現207を容易に実行することができる。実施例では、中間結果を記憶するために、自己完結型フォーマット211及び単純化フォーマット215を使用することについて説明したが、中間結果を記憶するために何らかの適切なフォーマットが使用可能であり、フォーマット変換は、様々な順序、回数で実行、反復され得る。
【0034】
マルチパス検証及び解釈プロセス200は、ローカライザ・プロセス201、単純化プロセス203、及び、トランスレータ・プロセス205を含む。実施例において、権利表現207内に含まれ得る潜在的な曖昧さを解消するために、ローカライザ・プロセス201は、権利表現207において使用されるキーワード、エレメント、条件、及び、権利表現のセマンティクスな意味を割り当てる、装置、コンポーネント、アプリケーション、機能、システム、及び、プラットフォームを含む。ローカライザ・プロセス201は、権利表現207を前処理して自己完結型フォーマット211による権利表現207を生成するために、対応する権利言語のシンタックス及びセマンティクス情報209を使用する。該自己完結型フォーマット211による権利表現207は、非曖昧形式による権利表現207を含む。
【0035】
したがって、自己完結型フォーマット211は、権利表現207の非曖昧バージョン、権利表現207において使用される語のセマンティクスな意味、及び、権利表現207を処理するための処理命令を含む。フォーマット211は、自己完結型であると考えることができる。なぜなら、自己完結型フォーマット211でストアされた権利表現207は、シンタックス及びセマンティクスな資源、及び、構文解析資源のような外部資源を使用しなくても、どのようなアプリケーション、システム、及び、装置でも容易に処理することができるからである。
【0036】
実施例においては、権利表現207は、ラベル、ライセンス、または、それらのフラグメントのような、使用権に関する何らかの表現を含む。権利表現207を表現するための権利表現言語は、使用権を表現するのに使用することのできる予め定義されたシンタックス及びセマンティクスを有する何らかの適切な言語であればよい。権利文法は、使用権を表現するための一組の予め定義されたシンボルを含む。使用権は、アイテムの許可された使用方法の規定条項を含んでもよい。ラベルは、特定のアイテムに関連しない事前にパッケージされた一組の使用権を含んでもよい。ライセンスは、アイテムに関連する事前にパッケージされた一組の使用権を含んでもよい。条件は、アイテムの使用方法を遂行するための1つかまたはそれ以上の必要条件からなる規定条項を含んでもよい。アイテムは、デジタル・コンテンツ、ソフトウェア、サービス、商品、資源など、どのようなものでもよく、それらは、対応する使用権によって、使用が制限される。資源は、デジタル装置またはそれの一部でもよく、それへのアクセスは、対応する使用権によって制限される。
【0037】
さらなる実施例によれば、権利表現207は、使用権、条件、使用方法、ポリシー、プリンシパル、サブジェクトを規定するための一連の表現を含んでもよい。権利表現207は、さらに、使用権の適用が許される資源、さらには、許可された使用権が実行される前に満たされるべき条件、行為、義務を規定してもよい。
【0038】
実施例においては、セマンティクスな意味は、自己完結型フォーマット211内に記憶され、該自己完結型フォーマットは、権利表現207内に存在する表現の意味、及び、権利表現207を処理するための処理命令の意味を決定するのに使用される。したがって、セマンティクスな意味は、権利表現207中のプリンシパルや条件を表すのに使用される表現のような、特定の表現を識別するのに使用され得る。
【0039】
セマンティクスな意味及び処理命令の両方を提供することによって、アプリケーション、システム、及び、装置は、外部資源を使用しなくても、自己完結型フォーマット211による権利表現207を効率的に処理することができる。さらに、自己完結型フォーマット211は、ローカライザ・プロセス201によって生成された中間結果を記憶するのに使用することもできる。
【0040】
実施例においては、単純化プロセス203は、自己完結型フォーマット211による権利表現207を事前に評価しかつ単純化する責任を有する、装置、コンポーネント、アプリケーション、機能、システム、及び、プラットフォームを含む。単純化プロセス203は、権利表現207内の条件表現及び権利表現のような表現を評価するために、権利情報の状態213、及び、ターゲット・コンピューティング環境の装置情報217を使用する。
【0041】
そのような評価は、与えられた条件及び権利表現を、ターゲット・コンピューティング環境に応じて権利表現207から除去すべきかどうかを判定するために使用される。例えば、ターゲット・コンピューティング環境がデジタル・コンテンツに無制限にアクセスできるために満たされなければならない、料金の支払いのような条件は、権利表現207内において表現され得る。しかしながら、料金支払い条件が満たされていれば、ターゲット・コンピューティング環境がデジタル・コンテンツにアクセスするたびに料金が支払われているかどうかを検証するようなステップは、権利表現207から除去されてもよい。
【0042】
したがって、ターゲット・コンピューティング環境に応じて、何らかの条件及び権利表現が、権利表現207から除去されてもよく、それによって、結果として得られる権利表現207のサイズ、及び、処理時間を減少させることができる。したがって、単純化プロセス203は、ターゲット・コンピューティング環境に応じて、確認または検証を必要としない条件及び権利表現を除去した単純化フォーマット215による権利表現207を生成する。実施例では、単純化プロセス203の中間結果を記憶するために単純化フォーマット215を使用することに関して説明したが、単純化プロセス203の中間結果を記憶するために何らかの適切なフォーマットを使用すればよい。
【0043】
実施例においては、トランスレータ・プロセス203は、権利表現207、単純化フォーマット215による権利表現207、及び、自己完結型フォーマット211による権利表現207を、ターゲット・コンピューティング環境における装置特定フォーマット219に変換する責任を有する、装置、コンポーネント、アプリケーション、機能、システム、プラットフォームを含む。例えば、装置特定フォーマット219は、ターゲット・コンピューティング環境によって処理可能なデータのストリームを含んでもよい。したがって、トランスレータ・プロセス203は、装置特定フォーマット219による権利表現207を、ターゲット・コンピューティング環境が処理可能なデータ及びデータ構造を表現した一連のビットとして送信するように構成してもよい。さらに、トランスレータ・プロセス203は、装置特定フォーマット219による権利表現207を、ターゲット・コンピューティング環境が処理し実行することのできる一連のネイティブな命令として送信するように構成してもよい。
【0044】
実施例では、ローカライザ・プロセス201、単純化プロセス203、及び、トランスレータ・プロセス205は、互いに独立したものであるとした。しかしながら、さらなる実施形態においては、ローカライザ・プロセス201、単純化プロセス203、及び、トランスレータ・プロセス205は、互いに依存するものであってもよい。さらに、ローカライザ・プロセス201、単純化プロセス203、及び、トランスレータ・プロセス205は、中間フォーマットのような何らかの適切なデータ・フォーマットを介して、互いに通信してもよい。
【0045】
マルチパス検証及び解釈プロセス200は、ターゲット・コンピューティング環境により好適に適合するように、柔軟に構成することができる。例えば、ターゲット・コンピューティング環境が、携帯電話またはハンドヘルド・デバイスのように、限られた資源または処理能力しか有していなければ、XrMLドキュメントのような文法に基づいた権利表現ドキュメントをターゲット・コンピューティング環境へ送信する代わりに、文法ベース権利表現ドキュメントを、ターゲット・コンピューティング環境へ送信する前に、装置特定フォーマット219に変換してもよい。
【0046】
実施例では、装置特定フォーマット219による権利表現207は、トランスレータ・プロセス205によって、ターゲット・コンピューティング環境にとってネイティブなものに構成され、ターゲット・コンピューティング環境へ送信され、実行される。図4は、デジタル権利管理システム400の概略図であり、このシステム400においては、テキスト文書、音楽、または、ソフトウェアのような保護アイテムが、様々な装置上で使用される。
【0047】
図4において、DRMシステム400は、パーソナル・コンピュータ405、及び、MP2プレーヤー、MP3プレーヤー、セット・トップ・ボックス、ハンドヘルド・デバイスのような他の装置409の両方においてデジタル音楽を再生することが可能である。この実施例においては、小型装置409は、特定の機能を備えた装置である。例えば、MP3プレーヤーは音楽を再生することしかできず、印刷も、支払いの承諾をすることもできない。DRMシステム400においては、権利表現207を、ローカライザ・プロセス201を用いて、自己完結型フォーマット211に変換してもよく、単純化プロセス203を用いて、単純化フォーマット215に変換してもよい。
【0048】
変換された権利表現207は、パーソナル・コンピュータ405へ送信され、そのパーソナル・コンピュータ405において、変換された権利表現207は、プロテクトされたデジタル音楽の使用をオーソライズする。ディストリビュータ・プロセス401が、自己完結型フォーマット211による権利表現207を、ゲートウェイを介して、パーソナル・コンピュータ405へ送信する。
【0049】
ユーザは、パーソナル・コンピュータ405から、トランスレータ・プロセス205を用いて、自己完結型フォーマット211または単純化フォーマット215による権利表現207を、小型装置205に適した装置特定フォーマット219に変換してもよい。そして、ユーザは、プロテクトされたデジタル音楽及びそれに対応する装置特定フォーマット219による権利表現207の両方を小型装置409へ送信し、その結果として、権利表現207に基づいて、保護されたデジタル音楽を小型装置409上で再生することができる。したがって、権利表現207は、図2に示されるように、また、上述したように、自己完結型フォーマット211または単純化フォーマット215に変換され、さらに、装置特定フォーマット219に変換される。
【0050】
実施例において、DRMシステム400は、インタープリタ・プロセス403を含む。該インタープリタ・プロセス403は、自己完結型フォーマット211による大量の権利表現207を処理可能である。自己完結型フォーマット211は、権利表現207の処理命令及びセマンティクスな意味を含み、それによって、インタープリタ・プロセス403の能力を改善することができる。したがって、パーソナル・コンピュータ405は、自己完結型フォーマット211による権利表現207を効率的に処理することができる。さらに、図4に示すように、単純化フォーマット215による権利表現207を、資源制約装置407へ送信してもよい。この実施例においては、資源制約装置は、シンタックスまたはセマンティクスな処理能力を持たない多目的装置である。
【0051】
ローカライザ・プロセス201及びディストリビュータ・プロセスは、図1に示されるコンピュータ・システム130に適用可能であり、一方、パーソナル・コンピュータ405、インタープリタ・プロセス403、単純化プロセス203、及び、トランスレータ・プロセス205は、図1に示されるクライアント環境120に適用可能である。しかしながら、ローカライザ・プロセス201、ディストリビュータ・プロセス401、インタープリタ・プロセス403、単純化プロセス203、及び、トランスレータ・プロセス205は、図1、図4、及び、図5に示されるデジタル権利管理システム上の種々の装置またはサブシステム上において実施され得る。
【0052】
実施例は、資源制約コンピューティング環境、サイズ制約(機能制約を含む)コンピューティング環境、及び、マルチ・プロセッサ・コンピューティング環境のような様々なコンピューティング環境にとって理想的な柔軟性のあるコンフィギュレーションを提供する。図5は、マルチプロセッサ機能を備えた一般的なデジタル権利管理システム500の概略図である。
【0053】
図5において、DRMシステム500は、権利表現207のバッチ501のような大量の権利表現207を処理するように構成される。プロセッサ505のプール503は、ローカライザ・プロセス201のそれぞれのプール507が権利表現207のバッチ501から自己完結型フォーマット211による権利表現207のバッチ509を生成するように構成される。自己完結型フォーマット211による権利表現207のバッチ509は、さらに、多重処理される。
【0054】
プロセッサ505のプール511は、単純化プロセス203及びトランスレータ・プロセス205のような次のプロセス515のそれぞれのプール513が単純化フォーマット215または装置特定フォーマット219のような別のフォーマット519による権利表現207のバッチ517を生成する。さらなる実施例においては、プロセッサ505のプール503、ローカライザ・プロセス201のプール507、プロセッサ505のプール511、及び、次のプロセス515のプール513は、図1、図4、及び、図5に示されるデジタル権利管理システム装置またはサブシステム上において実施し得る。
【0055】
実施例によれば、ローカライザ・プロセス201は、権利表現207を前処理して自己完結型フォーマット211による権利表現207を生成するように構成される。自己完結型フォーマット211は、非曖昧形式による権利表現207、権利表現207内で使用される1乃至それ以上のキーワード、エレメント、条件、及び、権利表現のセマンティクスな意味、及び、権利表現207を処理するための命令を含む。図6は、図1、図4、及び、図5に示されるデジタル権利管理システム装置及びサブシステム上において実施され得るローカライザ・プロセス201の概略図である。
【0056】
図6において、標準化プロセス601は、非曖昧形式による権利表現207を生成するために、シンタックス及びセマンティクス情報209の内のシンタックス情報607に基づいて、権利表現207内の潜在的な曖昧さを取り除く。さらに、標準化プロセス601は、以下により詳細に説明するように、非曖昧権利表現207を標準形式609に変換する。
【0057】
シンタックス及びセマンティクス情報209の内のセマンティクス情報611に基づいて、標準形式609による非曖昧権利表現207を処理し、処理結果613を生成するために、プリ・プロセッサ・プロセス603が、使用される。処理結果613は、非曖昧権利表現207、コンテクスト・テーブル、セマンティクス・テーブル、及び、処理命令を含む。フォーマッタ・プロセス605が、自己完結型フォーマット211による権利表現207を生成するために、処理結果613をパッケージし、処理する。
【0058】
自己完結型フォーマット211による権利表現207は、言語構文解析器、シンタックス及びセマンティクス・プロセッサのような外部資源を使用しなくても、権利表現207を効率的に処理することを可能にする、権利表現207のセマンティクスな意味及び権利表現207のための処理命令を含む。自己完結型フォーマット211による権利表現207は、XrMLのような元々のフォーマットの権利表現207に逆変換してもよい。自己完結型フォーマット211による権利表現207は、図4に示される資源制約装置407のように限られた記憶容量または処理能力を有するターゲット・コンピューティング環境において、権利表現207を処理する計算処理的負荷を軽減する。
【0059】
自己完結型フォーマット211は、バイナリ・フォーマットでもよい。しかしながら、適切なものであれば、その他のどのようなフォーマットでも自己完結型フォーマット211として使用されてよい。バイナリ・フォーマットが、権利表現207を配信するための自己完結型フォーマット211として使用される場合、権利表現207は、バイナリ変換アルゴリズムを用いて、デジタル署名されてもよい。
【0060】
バイナリ変換アルゴリズムは、例えば、元々のフォーマットによる権利表現207と自己完結型フォーマット211による権利表現207との間でデジタル署名を維持したまま、権利表現207をバイナリ・フォーマットに変換してもよい。コンテクスト・テーブル及びセマンティクス・テーブルは、ターゲット・コンピューティング環境において、事前に構築され、事前に定義され、あるいは、事前に記憶されていてもよく、それによって、権利表現情報を記憶するのを最適化することができる。
【0061】
標準化プロセス601は、権利表現207における何らかの曖昧さを除去するのに使用される。例えば、そのような曖昧さは、権利表現207に関してなされる様々な選択や、ある種の標準化を必要とする権利表現207によって生じるものである。
【0062】
標準化プロセス601は、非曖昧権利表現207を標準形式609に変換する。多くの言語ベース表現は、それらのそれぞれの言語によって許可されたシンタックスの変化に基づいて、それらの物理的な表現が変化するが、与えられたアプリケーション・コンテクスト内においては論理的に等価なものであり得る。以下のXMLエレメントは、それらのそれぞれの物理的な表現は異なっているが、論理的に等価なものである。
【0063】
<doc>
<e1 />
<e2 ></e2>
<e3 name="elem3" id="elem3" />
</doc>
and
<doc>
<e1></e1>
<e2/>
<e3 id="elem3" name="elem3"></e3>
</doc>
上記のXMLエレメントの標準形式は、
<doc>
<e1></e1>
<e2></e2>
<e3 id="elem3" name="elem3"></e3>
</doc>
である。
【0064】
したがって、標準化プロセス601は、与えられた権利表現言語のシンタックス及びセマンティクス情報209に基づいて、非曖昧権利表現207を標準形式609に変換するのに使用される。プリ・プロセッサ・プロセス603は、権利表現207によって使用されるコンテクストまたはネーム空間のコンテクスト・テーブルを組み立てるのに使用され、また、権利表現207を処理するための処理命令を生成するために、権利表現207において使用されるエレメントの意味を示すセマンティクス・テーブルを構成するために使用される。
【0065】
さらに、プリ・プロセッサ・プロセス603は、標準形式609による非曖昧権利表現207を、フォーマッタ・プロセス605によって生成されるターゲット自己完結型フォーマット211によってサポートされるフォーマット613に変換する。図7は、図6に示されるプリ・プロセッサ・プロセス603を説明するためのフローチャートである。プリ・プロセッサ・プロセス603は、標準形式609による非曖昧権利表現207を、例えば、ドキュメント・オブジェクト・モデル(DOM)・ツリー内に入れることができる。
【0066】
図7について説明する。ステップ701において、プリ・プロセッサ・プロセス603は、ステップ703〜ステップ713を含むノード処理プロセスを使用することによって、ドキュメント・ノードのそれぞれの子ノードを処理する。ステップ703において、入力ノードのネーム空間を、コンテクスト・テーブル内で探索する。ステップ705において、ネーム空間が、コンテクスト・テーブル内に見つからなければ、ステップ711において、新しいエントリが、次の利用可能なコンテクストIDを用いて、コンテクスト・テーブル内に生成される。
【0067】
一方、ステップ707において、セマンティクス・テーブル内の入力ノードのネームを探索し、ネーム空間が見つかれば、入力ノードのセマンティクス・タイプが決定される。ステップ709において、入力ノードのセマンティクス・タイプが、セマンティクス・テーブル内に見つからなければ、ステップ713において、新しいエントリが、エレメント・タイプ、エレメント・ネーム、コンテクストID、及び、次の有効なエレメントIDを用いて、セマンティクス・テーブル内に生成される。ステップ703〜ステップ713からなるノード処理プロセスは、対応する属性ノードを備えたノード処理プロセスを呼び出すことによって、エレメントの属性ごとに反復される。同様に、ステップ703〜ステップ713からなるノード処理プロセスは、対応するエレメント・ノードを備えたノード処理プロセスを呼び出すことによって、子エレメントごとに反復される。
【0068】
コンテクスト・テーブルは、コンテクストID、ネーム空間の長さ、及び、コンテンツのネーム空間のURI(Uniform Resource Identifier)すなわちネーム空間URIを含む。コンテクストIDは、権利表現207内におけるコンテクストのネーム空間の発生順序及び発生確率に基づいて、割り当てることができる。
【0069】
以下は、コンテクスト・テーブル、セマンティクス・テーブル、及び予め定義されたタイプ・テーブルを説明するための、歌を再生するためのXrMLベース形式のライセンスの第1の権利表現例である。
第1の権利表現例
<license xmlns=http://www.xrml.org/schema/2001/xrml2core
xmlns:sx=http://www.xrml.org/schema/2001/11/xrml2sx
xmlns:dsig=http://www.w3.org/2000/09/xmldsig#
xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance
xmlns:cx=http://www.xrml.org/schema/2001/11/xrml2cx
xmlns:cm=http://www.xrml.org/schema/2001/11/xrml2compactMusic
>
<grant>
<cm:device cmid="123"/>
<cx:play/>
<cm:music cmid="456"/>
</grant>
<cm:issuerDevice>
<cm:device cmid="024"/>
</cm:issuerDevice>
</license>
第1の権利表現例に基いた、コンテクスト・テーブルを表1に示す。
【0070】
【表1】
【0071】
表1に示されるように、バイナリ・フォーマットによるコンテクスト・テーブルは、第1の権利表現内のネーム空間URIエントリによって識別されるコンテクストの使用順序及び使用確率に基づいて割り当てられたコンテクストIDエントリ01〜03、及び、ネーム空間URIエントリによって識別されるコンテクストの長さエントリを含む。
【0072】
バイナリ・フォーマットによるセマンティクス・テーブルは、エレメントID、エレメント・タイプ、エレメント・ネーム、及び、コンテクストIDを含んでもよい。セマンティクス・テーブルのエレメントIDは、権利表現207内のエレメントの発生順序または発生確率に基づいて、割り当てられてもよい。
【0073】
第1の権利表現に基づくセマンティクス・テーブルの例を表2として示す。
【0074】
【表2】
【0075】
表2では、オプションとして、00から22までの値を有するエレメント・タイプがセマンティクス・テーブルに含まれるが、これを所定のタイプ・テーブル内に定義してもよい。したがって、表3に示すように、所与のエレメント・タイプに対する所与の定義値を含む所定のタイプ・テーブルを使用してもよい。
【0076】
【表3】
【0077】
表1〜表3に基づいて第1の権利表現を一般的なバイナリ・フォーマットに変換した例を以下に示す。
01 03 04 202103123 05 22 06 232103456 09 24 00 202103024
ここで、
01 <license>
03 <grant>
04 principal [Processing instruction]
2021030123 <cm:device cmid="123"/>
05 right [Processing instruction]
22 <cx:play>
06 resource [Processing instruction]
232103456 <cm:music cmid="456"/>
09 issuer [Processing instruction]
24 <cm:issuerDevice>
00 next level
2021030024 <cm:device cmid="024"/>
XrMLベース形式の、在庫リストを含むライセンスの第2の権利表現によるコンテクスト・テーブル及びセマンティクス・テーブルを示す。
第2の権利表現例
<license xmlns=http://www.xrml.org/schema/2001/11/xrml2core
xmlns:sx=http://www.xrml.org/schema/2001/11/xrml2sx
xmlns:dsig=http://www.w3.org/2000/09/xmldsig#
xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance
xmlns:cx=http://www.xrml.org/schema/2001/11/xrml2cx
>
<inventory>
<cx:digitalWork licensePartId="dvdMovie">
<cx:metadata>
<xml>
<cx:simpleDigitalWorkMetadata>
<cx:title>Air Force One</cx:title>
</cx:simpleDigitalWorkMetadata>
</xml>
</cx:metadata>
</cx:digitalWork>
</inventory>
<grant>
<keyHolder>
<info>
<dsig:KeyValue>
<dsig:RSAKeyValue>
</dsig:RSAKeyValue>
</dsig:KeyValue>
</info>
</keyHolder>
<cx:play/>
<cx:digitalWork licensePartIDRef="dvdMovie"/>
</grant>
</license>
第2の権利表現のコンテクスト・テーブルを、表4として示す。
【0078】
【表4】
【0079】
第2の権利表現に基づいたセマンティクス・テーブルの例を表5として示す。
【0080】
【表5】
【0081】
表3〜表5に基いてバイナリ・フォーマットに変換した第2の権利表現は以下のように記述することができる。
01 10 20 21 0022 0023 0024 00250313Air Force One 03 04 26 0027 0028 0029 05 30
06 12 20
ここで、
01 <license>
10 inventory definition [Processing instruction]
20 licensePartId="dvdMovie" <cx:digitalWorklicensePartId="dvdMovie">
21 <cx:digitalWork>
0022 next level <cx:metaData>
0023 next level <xml>
0024 next level <cx:simpleDigitalWorkMetadata>
00250313Air Force One next level <cx:title>Air Force One</cx:title>
03 <grant>
04 principal [Processing instruction]
26 <keyHolder>
0027 <info>
0028 <dsig:KeyValue>
0029 <dsif:RSAKeyValue>
05 rights [Processing instruction]
30 <cx:play>
06 resource [Processing instruction]
12 reference to
20 dvdMovie
権利表現207から標準形式609による非曖昧権利表現を生成するのに標準化プロセス601を使用できる。曖昧という用語は、権利表現内のあるエレメントが、デフォルト値を有するかもしれないこと、あるいは、解釈を推定することのできる値を有するかもしれないことを意味する。例えば、権利表現内のレート・エレメントは、米国ドル(USD)をデフォルトとする属性CurrencyCodeを含んでもよい。すなわち、50米ドルのレートは、以下のように表現することができる。
【0082】
<rate>50</rate>
上記のステートメントは、コンテクストが未知である場合には曖昧であるかもしれない。そのような曖昧さを除去するために、デフォルト値、推定値、及び、レート・エレメントを表現することのできる推定コンテクストを定めることができる。すなわち、上述の表現の非曖昧形式にレート・エレメントのための通貨属性を含ませて以下のように表現してもよい。
【0083】
<rate currency="USD">50</rate>
ローカライザ・プロセス201は、権利表現207を自己完結型フォーマット211に変換するのに使用される。変換には、一般的なバイナリ変換アルゴリズムを使用できる。図8A及び図8Bは、一般的なバイナリ変換アルゴリズムを説明するフローチャートである。
【0084】
図8Aについて説明する。ステップ801において、例えば、XrML、ドキュメント・ファイルのような権利表現ドキュメント・ファイルの形式による権利表現がリトリーブされる。ステップ803において、権利表現のシンタックスが、曖昧さを除去するために、確認される。そして、権利表現は、標準形式に変換される。
【0085】
例えば、多くの権利表現は、シンタックスの変化に基づいて、物理的な表現が変化し得るが、それでもなお、与えられたアプリケーション・コンテクスト内においては論理的に等価なものであり得る。したがって、権利表現は、標準形式に標準化され得る。実施例においては、同一の標準形式を備えた権利表現は、例えば、<http://www.w3.org/TR/2001/REC−xml−cl4n−20010315>から入手することのできる、ワールド・ワイド・ウェブ・コンソーシアム(W3C)、W3Cリコメンデーション(2001年3月15日)の標準化XMLバージョン1.0に説明されるアルゴリズムのような何らかの適切なアルゴリズムを用いて、論理的に等価なものとして構成され得る。
【0086】
ステップ803において、コンテクスト・テーブル及びセマンティクス・テーブルが、生成される。ステップ805において、権利表現は、例えば、対応するコンテクスト・テーブル及びセマンティクス・テーブルを用いて、バイナリ・フォーマットに変換される。
【0087】
実施例においては、ローカライザ・プロセス201を使用して権利表現ドキュメント・ファイルにおける選択可能なエレメント及び属性のためのデフォルト値を決定し、それによって、権利表現ドキュメントにおける曖昧さを除去することができる。図8Bは、セマンティクス・テーブルを生成するのに使用される図8Aに示されたステップ803をさらに詳細に説明する。
【0088】
図8Bについて説明する。ステップ811において、権利表現ドキュメントにおいて宣言されたネーム空間ごとにセマンティクス・テーブルが生成される。これにより、権利表現ドキュメントにおいて宣言されたネーム空間ごとのコンテクストが識別され、かつ、定義される。例えば、XrMLのような文法ベース言語のシンタックス及びセマンティクスは、多くの独立したスキームとして定義され得る。それぞれのスキームは、それ自身のキーワードセット及びそのキーワードのセマンティクスな意味を定義する。権利表現ドキュメントにおいて使用されたスキームに対してコンテクストIDが特定され、割り当てられる。
【0089】
ステップ813において、識別されたコンテクストには、権利表現ドキュメント内における発生順序及び発生確率に基づいて、コンテクストIDが割り当てられる。権利表現言語が、拡張可能なものであり、かつ、コアまたはベース言語から得られるものであれば、最初に使用されたコンテクストIDが、コア・テキストのエレメントが権利表現内のどこで使用されるかに関係なく、コア・コンテクストに割り当てられてもよい。しかしながら、コンテクストIDは、適切なものであれば、どのような順序で割り当てられてもよい。
【0090】
ステップ815において、ネーム空間ごとに、権利表現ドキュメント内で宣言されたエレメントごとのエレメントID、エレメント・タイプ、及び、エレメント・ネームが、識別され、かつ、割り当てられる。エレメントIDは、権利表現ドキュメント内のエレメントの発生順序及び発生確率に基づいて、割り当てられ、したがって、セマンティクス・テーブル内のそれぞれのエントリは、エレメントID、エレメント・タイプ、エレメント・ネーム、及び、コンテクストIDを含む。
【0091】
図9は、図2に示されたローカライザ・プロセス201のプリ・プロセッサ・プロセス603の概略図である。図9において、プロセス901〜907は、図8A及び図8Bを参照して説明したバイナリ変換アルゴリズムの1乃至それ以上のステップを実行する。バイナリ変換アルゴリズムは、また、XMLデジタル署名のようなデジタル署名に対してバイナリ変換を実行するのにも使用できる。変換された署名は、元々の署名のバイナリ表現であり、これにより元々の署名が維持される。さらに、バイナリ変換アルゴリズムを使用することによって、デジタル署名の完全性とセマンティクスな意味が維持される。
【0092】
自己完結型フォーマット211は、XML構文解析器のような資源から独立なので、処理速度及び伝送パフォーマンスを改善することができる。したがって、自己完結型フォーマット211は、限られた資源性能、処理能力、記憶容量、機能を有する多種多様なコンピューティング環境をターゲットに設定できる。
【0093】
権利表現エレメントのセマンティクスな意味は、XMLスキーム・ドキュメントのようなセマンティクス・ドキュメント内に記憶してもよい。権利表現は、デジタル署名してもよく、その署名は、権利表現を保護するのに使用され得る。しかしながら、セマンティクス・ドキュメントは、権利表現を含むドキュメントとは異なるドキュメントに保持してもよい。
【0094】
本発明は、セマンティクス・ドキュメントは、ハッキングされ、変更され得るという認識を含む。すなわち、デジタル署名された権利表現を処理し、評価し、検証するために付与された「意味」は、デジタル署名された権利表現の完全性を失って変更され得る。上述の及びその他の問題は、権利表現及びその権利表現のためのセマンティクスな意味を保護するためにデジタル署名を使用することによって、対応されかつ解決される。
【0095】
権利表現と当該権利表現のセマンティクスな意味とは別々のドキュメントやファイルとして、署名エンベロープと呼ばれるデジタル署名を使用してエンベロープドキュメント、ファイルに含ませてもよい。署名エンベロープは、権利表現ドキュメント及びセマンティクスな意味ドキュメントのためのフィンガープリント及びハッシュ値を含んでもよい。
【0096】
実施例においては、XMLデジタル署名のようなデジタル署名形式の署名エンベロープが権利表現ドキュメント及びセマンティクスな意味ドキュメントを保護するために使用される。権利表現ドキュメント及びセマンティクスな意味ドキュメントを保護するために使用可能な署名エンベロープは、以下のようなものである。
【0097】
<Signature>
<SignatureInfo…>
<CanonicalizationMethod>…</CanonicalizationMethod>
<SignatureMethod>…</SignatureMethod>
<Reference URI="Reference to Right expression">
…
<DigestValue>…</DigestValue>
</Reference>
<Reference URI="Reference to Semantics doc">
…
<DigestValue>…</DigestValue>
</Reference>
</SignatureInfo>
<SignatureValue>…</SignatureValue>
</Signature>
上記の署名エンベロープにおいて、<SignatureInfo...>エレメントは、署名エンベロープ情報を含み、<Reference URI="Reference to Right expression">エレメントは、権利表現ドキュメントへのポインタ、権利表現ドキュメントのフィンガープリント及びハッシュ値を含み、<Reference URI="Reference to Semantics doc">エレメントは、セマンティクスドキュメントのポインタ、フィンガープリント及びハッシュ値を含み、<SignatureValue>...</SignatureValue>エレメントは、署名エンベロープの署名を含む。
【0098】
権利表現のセマンティクスな意味及び権利表現は、バイナリ・ドキュメント、ファイルに含まれ、署名エンベロープは、エンベロープドキュメントに含まれてもよい。署名エンベロープは、権利表現及びその権利表現のセマンティクスな意味を含むバイナリ・ドキュメントのためのフィンガープリント及びハッシュ値を含んでもよい。
【0099】
バイナリ・ドキュメントを保護するために使用される署名エンベロープは、以下のようなものである。
【0100】
<Signature>
<SignatureInfo…>
<CanonicalizationMethod>…</CanonicalizationMethod>
<SignatureMethod>…</SignatureMethod>
<Reference URI="…">
<Transform Algorithm="XrML Binary"/>
<DigestValue>…</DigestValue>
</Reference>
</SignatureInfo>
<SignatureValue>…</SignatureValue>
</Signature>
上記の署名エンベロープにおいて、<Reference URI="..">エレメントは、バイナリ・ドキュメントへのポインタ、バイナリ・ドキュメントのフィンガープリント及びハッシュ値を含み、<Transform Algorithm="XrML Binary"/>エレメントは、一般的なバイナリ変換アルゴリズムが使用されることを指示し、<SignatureValue>...</SignatureValue>エレメントは、バイナリ・ドキュメントの署名を含む。
【0101】
実施例においては、権利表現インタープリタは、権利表現に基づいて、何らかの処理を実行する要求やドキュメントを閲覧したい旨の要求のような、結果として要求の許可をもたらすような要求を処理するように構成される。しかしながら、「要求」を使用することなく権利表現を処理するために、単純化プロセス203を使用してもよい。
【0102】
図10は、図1、図4、及び、図5に示されるデジタル権利管理システム上の装置及びサブシステム上で実施可能な単純化プロセス203の概略図である。図10において、権利表現207ドキュメント中の権利表現のセマンティクスな意味は、自己完結型フォーマット211内に含まれる。また、単純化プロセス203が、権利表現207を評価、削減して単純化フォーマット215を生成する。
【0103】
単純化プロセス203は、権利表現207ドキュメント内の権利表現を単純化する。そのような単純化は、権利表現のセマンティクスな意味を特定すること、ターゲット・コンピューティング環境の装置情報217に基づいて権利表現を評価すること、及び、権利状態情報213に基づいて権利表現のステータスを判定することを含む。
【0104】
剪定プロセス1001は、例えば、装置情報217に基づいて、権利表現207ドキュメントから、ターゲット・コンピューティング環境によって使用不能な1乃至複数の権利表現を剪定すなわち除去する。剪定プロセス1001は、ターゲット・コンピューティング環境によってサポートすることのできる被剪定形式1007による権利表現を生成するのに使用される。例えば、ターゲット・コンピューティング環境が、デジタル・コンテンツを印刷または再生することのできない携帯電話であれば、これらの機能に関係するすべてのエレメントが、剪定される。
【0105】
評価プロセス1003は、権利状態情報213、及び、必要であれば条件検証プロセス1007からの結果に基づいて、被剪定形式1007による権利表現内の特定の条件及びエレメントを評価する。評価プロセス1003は、剪定された権利表現1007から1つ乃至複数の条件及び権利表現を除外することによって、単純化形式1009による権利表現を生成する。例えば、ある条件が充足されており、かつ、それが将来失効することがないならば、そのような条件は、権利表現から剪定される。
【0106】
フォーマッタ・プロセス1005は、単純化された権利表現1009をフォーマット及び再フォーマットして単純化フォーマット215による権利表現207を生成する。単純化フォーマット215による権利表現207は、使用され、評価され、さもなければ、処理されるべき最低限の権利表現及び条件のみを含む。
【0107】
単純化プロセス203は、権利表現207ドキュメントまたは自己完結型フォーマット211による権利表現207ドキュメントを処理する。権利表現ドキュメントは、単純化プロセス203によって受信され、ローカライザ・プロセス201へ送られる。ローカライザ・プロセス201は、自己完結型フォーマット211による権利表現ドキュメントを単純化プロセス203へ返送してもよい。
【0108】
図11は、図10に示される単純化プロセス203を説明するフローチャートである。図11によれば、ステップ1101において、単純化プロセス203は、1乃至複数の権利表現を含む権利表現207ドキュメントを受信する。ステップ1103において、剪定プロセス1001は、被剪定形式1007による権利表現を生成するために、装置情報217に基づいて、権利表現の剪定を実行する。ステップ1103において、ターゲット・コンピューティング環境によって処理できない権利表現部分が、権利表現207ドキュメントから除去される。例えば、ターゲット・コンピューティング環境が、印刷することができなければ、印刷権が、権利表現207ドキュメントから除去される。
【0109】
ステップ1105において、評価プロセス1003が、剪定された権利表現1007を処理し、評価のためにいくつかの条件を抽出する。評価プロセス1003は、単純化された権利表現1009を生成するために、抽出された条件を、権利状態情報213に基づいて評価する。
【0110】
ステップ1107において、フォーマッタ・プロセス1005は、単純化された権利表現1009を、単純化フォーマット215による権利表現207に変換する。単純化フォーマット215による権利表現207ドキュメントは、最低限の権利表現及び条件を含み、それらの最低限の権利表現及び条件は、後に評価され、権利表現207ドキュメント、ファイル、及び、それらに類似するものの中に存在する1つかまたはそれ以上の権利を行使する許可をユーザ、装置、または、システムに与える。
【0111】
図12A及び図12Bは、図10に示した剪定プロセス1001及び評価プロセス1003をさらに詳細に説明するフローチャートであり、図12Aは、剪定プロセス1001に対応し、図12Bは、評価プロセス1003に対応する。図12Aのステップ1201では、自己完結型フォーマット211による権利表現207ドキュメント、ファイルが、リトリーブされる。
【0112】
ステップ1203において、権利表現207ドキュメントから、さらなる処理のために、一の権利表現が抽出され、ステップ1205において、抽出された権利表現が検証される。ステップ1207において、抽出された権利表現が、有効であると判定されたならば、抽出された権利表現は、さらなる処理のために、図12Bに示される一般的な評価プロセス1003へ転送される。ステップ1207において、抽出された権利表現が、無効であると判定されたならば、該権利表現は、権利表現207ドキュメントから除去され、ステップ1203で次の権利表現が処理される。
【0113】
図12Bについて説明する。ステップ1211では、もしあれば、有効な権利表現からある条件が抽出される。ステップ1213において、条件が有効な権利表現から抽出されたかどうかが判定され、条件が抽出されていなければ、有効な権利表現が、単純化された形式1009による権利表現として出力され、そして、図12Aのステップ1203において、次の権利表現が、処理される。条件が、有効な権利表現から抽出されていれば、ステップ1215において、一般的な評価プロセス1003が、抽出された条件を評価及び検証する。
【0114】
しかしながら、別の実施形態においては、条件検証プロセス1007が、抽出された条件を評価及び検証するのに使用される。評価プロセス1003は、1つかまたはそれ以上の抽出された条件を、1つかまたはそれ以上の条件検証プロセス1007へ送信または転送する。評価プロセス1003及び/または条件検証プロセス1007によって判定された、抽出条件に対する評価結果は、真の値、偽の値、あるいは、評価不可値を含み得る。
【0115】
ステップ1217において、抽出された条件を評価することができなければ、ステップ1225において、抽出された条件が、対応する有効な権利表現内に維持され、そして、ステップ1211において、次の条件が、処理される。ステップ1217において、抽出された条件を評価することができ、かつ、ステップ1219による条件評価の結果が真であれば、抽出された条件は、対応する有効な権利表現から除去され、そして、ステップ1211において、次の条件が、処理される。ステップ1217において、抽出された条件を評価することができ、かつ、ステップ1219による条件評価の結果が偽であれば、有効な権利表現は、権利表現207ドキュメントから除去され、そして、図12Aのステップ1203において、次の権利表現が、処理される。
【0116】
単純化プロセス203は、権利表現内の有効な権利を判定し、有効な権利に付随する条件を評価し、評価することのできない条件を維持し、真の値を備えた評価結果を有する条件を有効な権利条件から除去し、偽の値を備えた評価結果を有する条件に対応する有効な権利を除去する。
【0117】
自己完結型フォーマット211は、バイナリ・フォーマット、またはバイナリ・フォーマットの変形を含み得る。この場合、コンテクスト・テーブルは、選択的であり、行使可能フォーマットと称する。行使可能フォーマットにおいては、コンテクストIDカラムは、セマンティクス・テーブルから除去される。コンテクスト・テーブル及び/またはセマンティクス・テーブルは、ターゲット・コンピューティング環境において、事前に構築され、定義され、記憶されていてもよい。このように、自己完結型フォーマット211は、さらに評価されなければならない権利表現を含み得るが、ここに、コンテクスト・テーブル及び/またはセマンティクス・テーブルは必ずしも必要ではない。
【0118】
行使可能フォーマットは、プラットフォーム中立であり、XrMLのようなネイティブなフォーマットやバイナリ・フォーマットよりずっとコンパクトである。通常、行使可能フォーマットによれば、権利表現のセマンティクスな意味を理解するための外部の権利解釈資源は不要である。なぜなら、権利表現のセマンティクスな意味は、すでに、決定され、解釈されているからである。
【0119】
さらに、行使可能フォーマットは、通常、権利表現を完全に処理するフルシステムを必要としない。なぜなら、シンプルな検証機能で、要求を許可することのできる十分な能力を有し、行使可能フォーマットから条件及びパラメータを読み込み、権利条件検証を配置及び起動できるからである。すなわち、行使可能フォーマットは、最も最適化されたフォーマットでありながら、なお、プラットフォーム独立であり、資源に制約のあるコンピューティング環境において使用可能で、高性能処理のための最も効率的なフォーマットである。
【0120】
権利表現207は、コンテクスト・テーブルを使用することなく、行使可能フォーマットに変換されてもよい。行使可能フォーマットは、権利表現のエレメントに矛盾が存在しない場合に使用可能で、ターゲット・コンピューティング環境は、権利表現中の権利コンテクストを理解することができる。コンテクスト・テーブル、及び、セマンティクス・テーブルのコンテクストIDカラムは、行使可能フォーマットとともに使用される必要はない。
【0121】
セマンティクス・テーブルをより詳細に説明するために、XrMLに基づいた、音楽再生用のライセンスの形式における第3の権利表現例を示す。
第3の権利表現例
<license xmlns=http://www.xrml.org/schema/2001/11/xrml2core
xmlns:sx=http://www.xrml.org/schema/2001/11/xrml2sx
xmlns:dsig=http://www.w3.org/2000/09/xmldsig#
xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance
xmlns:cx=http://www.xrml.org/schema/2001/11/xrml2cx
xmlns:cm=http://www.xrml.org/schema/2001/11/xrml2compactMusic
>
<grant>
<cm:device cmid="123"/>
<cx:play/>
<cm:music cmid="456"/>
<sx:validityIntervalFloating>
<sx:stateReference>
<cm:intervalKeeperkey="777">
<cm:device cmid="123"/>
</cm:intervalKeeper>
</sx:stateReference>
</sx:validityIntervalFloating>
</grant>
<cm:issuerDevice>
<cm:device cmid="024"/>
</cm:issuerDevice>
</license>
第3の権利表現例に基づいたセマンティクス・テーブルの例を表6として示す。
【0122】
【表6】
【0123】
表3及び表6に基づいて第3の権利表現を行使可能フォーマットに変換した例を以下に示す。
【0124】
01 02 04 202103123 05 22 06 232103456 08 24 0025 00262703777 09 28 00202103024
where,
01 <license>
02 <grant>
04 principal [processing instruction]
202103123 <cm:device cmid="123"/>
05 rights [processing instruction]
22 <cx:play>
06 resource [processing instruction]
232103456 <cm:music cmid="456"/>
08 condition
24 <sx:validityIntervalFloating>
0025 next level <sx:stateReference>
00262703777 next level <cm:intervalKeeperkey="777">
09 issuer [processing instruction]
28 <cm:issuerDevice>
00202103024 next level <cm:device cmid="024"/>
セマンティクス・テーブルは、ターゲット・コンピューティング環境において、事前に構築され、定義され、事前に記憶されていてもよい。このように、行使可能フォーマットは、さらに評価されなければならない権利表現を含むが、必ずしもセマンティクス・テーブルを含まなくてもよい。
【0125】
権利表現を単純化フォーマット211に変換することによって、XrMLのようなネイティブなフォーマットによる権利表現よりも、より効率的でコンパクトなフォーマットが使用できる。しかしながら、プラットフォーム独立を必要としない、装置が一のプラットホームの一部であるホモジーニアスなコンピューティング環境においては、さらなる最適化が、なされ得る。
【0126】
トランスレータ・プロセス205は、装置、コンポーネント、アプリケーション、機能、システム、プラットフォームを備え、単純化フォーマット211を装置特定フォーマット219に変換する責任を果たす。単純化フォーマット211は、ターゲット・コンピューティング環境に特定なものである、ターゲット・コンピューティング環境においてより効率的に消費される。
【0127】
装置特定フォーマット219による権利表現は、装置ごとに変化するが、一般的には、権利表現の範囲内において権利を行使する要求を許可するために検証されるべき条件及び実行されるべき処理命令のリストを含むデータ構造を有する。トランスレータ・プロセス205が権利表現207を変換して生成した装置特定フォーマット219は、グリフに基づいたフォーマット、プロファイルに基づいたフォーマット、テンプレートに基づいたフォーマット等であり、例えば、MP3装置、セット・トップ・ボックスのような特定の装置によって処理可能なフォーマットである。
【0128】
実施例において、ターゲット・コンピューティング環境は、Prolog(PROgramming in LOGic)言語のようなプログラミング言語を実行するように構成され、ここで、権利表現は、例えば、"アリスは、123456によって識別されるビデオを5回まで鑑賞することができる"ことを規定するように構成される。権利表現は、Prologトランスレータによって、例えば以下のようなProlog表現に変換される。
【0129】
(1) Principal("Alice"),
(2) Video("123456"),
(3) View(p,r),
(4) Principal(p),
(5) Video(r),
(6) Count(5).
しかしながら、ターゲット・コンピューティング環境は、以下のように記述されたデータ構造を使用するように構成されてもよい。
【0130】
Struct
{
Rights: byte; //01:View, 02:Print…
Principal:char[20];
ConditionList;
}
ConditionList
{
Number of condition: 2 byte integer
{
ConditionID: 1 byte; //01 Flat Fee, 02 MaxCount
ConditionValue: 4 byte integer
}
}
また、権利表現は、トランスレータ・プロセス205によって、ターゲットであるPrologコンピューティング環境に向けて、以下のようなバイトストリームに変換してもよい。
【0131】
1Alice 01020005
バイナリ・フォーマットは、XrMLドキュメントの権利表現、及び、権利表現において使用されるエレメントのセマンティクスな意味を含んでもよい。バイナリ・フォーマットによる権利表現の構造は、ネイティブなXMLのようなXrMLドキュメント内の権利表現の構造に類似してもよい。
【0132】
バイナリ・フォーマットのバイナリ構造は、XML資源及びXML構文解析器のような外部資源を必要とすることなく、何らかの適切なアプリケーション、装置、システム、プラットフォームによって処理可能である。権利表現のエレメントのセマンティクスな意味は、バイナリ・フォーマット内に含まれ得るから、権利表現の意味を解釈するためにXMLスキーマは必ずしも使用されなくてもよい。
【0133】
XrMLフォーマットによる権利表現と比較すれば、バイナリ・フォーマットによる権利表現は、プラットフォーム中立またはプラットフォーム独立である。さらに、バイナリ・フォーマットによる権利表現を使用する場合は、従来のフォーマットによる権利表現の意味を処理及び解釈するのに必要とされるXML構文解析器及びスキーマ構文解析器のような外部資源をあまり必要としないために、処理能力が増大する。
【0134】
バイナリ変換アルゴリズムをデジタル署名に対して適用し、XrMLドキュメントのようなオリジナルのドキュメントとバイナリ・フォーマットによるバイナリ・ドキュメントとの間でデジタル署名を維持して、オリジナルドキュメントの完全性を保証するようにしてもよい。
【0135】
図13は、バイナリ・フォーマットの構造1300の概略図である。図13の実施例において、バイナリ・フォーマットによるファイルは、Prolog部分1301、コンテクスト・テーブル部分1303、セマンティクス・テーブル部分1305、権利表現部分1307、及び、署名テーブル部分1309を含む。しかしながら、署名テーブル部分1309は、署名テーブル部分1309情報を提供することによって、他の部分1301〜1307に対する冗長な情報として、ファイルから除去してもよい。
【0136】
Prolog部分1301は、バージョン番号、ベンダーに関する情報、及び、オリジナルのドキュメントのIDなど、バイナリ・フォーマットに関する情報を含む。さらに、Prolog部分1301は、マジック・ナンバー領域を含む。このマジック・ナンバーは、ファイルのフォーマットを示すものであり、フォーマットとは、例えば、行使可能フォーマット、バイナリ・フォーマット、及び、コンテクスト・テーブル及びセマンティクス・テーブルを除去可能な最適化されたバイナリ・フォーマット等である。Prolog部分1301は、さらに、ファイル内のフォーマットのバージョン番号を指示するためのバージョン・ナンバー領域、ファイル内のコンテクスト・テーブルへのポインタを含む第1のポインタ領域、ファイル内のセマンティクス・テーブルへのポインタを含む第2のポインタ領域、及び、ファイル内の権利表現へのポインタを含む第3のポインタ領域を含む。
【0137】
コンテクスト・テーブル部分1303は、オリジナルドキュメントにおいて使用されるネーム空間のコンテクスト・テーブルを含む。さらに、コンテクスト・テーブル部分1303は、コンテクストIDを含むネーム空間ごとに1つのエントリを備えて構成し、それは、ネーム空間ごとに固有の識別情報を含む。コンテクストIDは、対応するコンテクストのオリジナルドキュメント内のエレメントの発生に基づいて割り当てられる。権利表現言語が、拡張可能なものであり、かつ、コア言語またはベース言語から得ることができる場合、第1のコンテクストIDが、コア・コンテクストのエレメントが元々のドキュメント内のどこに使用されるかに関係なく、コア・コンテクストに割り当てられる。コンテクスト・テーブル部分1303は、さらに、ネーム空間の長さを規定するためのネーム空間URIの長さ、及び、ネーム空間及びコンテクストを特定するためのネーム空間URIを含む。
【0138】
セマンティクス・テーブル部分1305は、ネーム空間ごとに1つのセマンティクス・テーブルを含む。セマンティクス・テーブルは、権利表現において使用されるネーム空間のエレメントごとの情報を含む。さらに、セマンティクス・テーブル部分1305は、権利表現において使用されるネーム空間のエレメントごとの情報を含むように構成される。さらに、セマンティクス・テーブル部分1305は、エレメントに割り当てられた固有のIDであるエレメントIDを含む、エレメントごとに1つのエントリを備え、また、コア・エレメントに割り当てられた固定の複数のIDを備える。
【0139】
セマンティクス・テーブル部分1305は、エレメントのタイプを規定するためのエレメント・タイプを含む。予め定義されたエレメント・タイプが、表3のタイプ・テーブルに示されるように規定される。セマンティクス・テーブル部分1305は、スキーマ内に定義されたエレメントのネームを規定するためのエレメント・ネーム、及び、そのエレメントを含むネーム空間のコンテクストIDに対応するエレメント・コンテクストIDを含む。
【0140】
権利表現部分1307は、以下に記述されるような構造を備えた権利表現(RE)を含む。
【0141】
RE="seq"|["seq"]1…n
where,
"seq" ="type"|"specialType,"
"specialType" =[02|03]"length,""value,"
"length" =length of the "value" in bytes,
"value" =sequence of bytes,
"type" =id defined in the "pre-defined type table" except 02 and 03
上述の構造において、RE="seq"|["seq"]1...nは、権利表現がシーケンス"seq"、または、1つかまたはそれ以上のシーケンス群["seq"]1...nを含むことを示し、ここで、"seq"は"type"または"specialType"であり、"specialType"は予め定義されたタイプ・テーブルのタイプ02または03であり、"length"及び"value"を有し、ここで、"length"は、"value"のバイト単位での長さであり、"value"は、バイトのシーケンスであり、"type"は、予め定義されたタイプ・テーブルのIDであるが、属性及び値タイプであるID02及び03以外のものである。
【0142】
単純化フォーマット215としては、バイナリ・フォーマットや変形バイナリフォーマット等、種々のフォーマットがあり得る。ここでは、コンテクスト・テーブルはオプショナルであり、行使可能フォーマットと呼ばれる。さらに、コンテクスト・テーブルが単純化フォーマット215に含まれていない場合には、コンテクストIDカラムは、対応するセマンティクス・テーブルから省略してもよい。
【0143】
図14は、行使可能フォーマットの例としての構造1400の概略図である。図13において、バイナリ・フォーマットの構造1300は、Prolog部分1301、コンテクスト・テーブル部分1303、セマンティクス・テーブル部分1305、権利表現部分1307、及び、署名テーブル部分1309を含む。しかしながら、図14に示されるように、行使可能フォーマットは、Prolog部分1301、セマンティクス・テーブル部分1305、及び、権利表現部分1307で構成してもよい。したがって、上述したように、コンテクスト・テーブル部分1303及び署名テーブル部分1309を省略し、セマンティクス・テーブルからコンテクストIDカラムを省略することを除けば、構造1400は、構造1300と同じように構成されている。
【0144】
実施例によれば、トランスレータ・プロセス205が権利表現を翻訳した装置特定フォーマット219には、グリフに基づいたフォーマット、プロファイルに基づいたフォーマット、テンプレートに基づいたフォーマット、Prologプログラムに基づいたフォーマット、及び、MP3装置、セット・トップ・ボックスのような特有の装置によって処理されるフォーマットを含む。
【0145】
権利表現のエンコードにはシンボリック表現を使用してもよい。シンボリック表現は、グリフに基づいたグラフィカル表現、及び、変調または変化する光信号または音信号に基づくような、変調または変化する信号に基づいた表現を含んでもよい。したがって、権利表現のシンボリック表現は、星形構造、四角形構造、長方形構造、円形構造、三角形構造、あるいは、それらの一部分を含む構造に基づいたグリフ構造に基づいて、符号化され、取り出されてもよい。同様に、権利表現は、何らかの適切な周波数及び振幅を用いて、変調または変化する信号、光、音、一連の音、光パルスに基づいて、符号化し、取り出してもよく、紫外線、X線、マイクロ波、電磁波を含み、レーザ、変調または重畳された情報、異なる色または波長、及び、電界または磁界の変化を使用する。
【0146】
図15は、トランスレータ・プロセス205によってグリフのようなシンボルに基づいて生成された権利表現207のシンボリック表現を示す。図15において、シンボリック表現は、星形構造に基づいたグリフ構造から取り出され、そして、権利表現207を表現する。実施例においては、星形構造から得られるシンボル1501〜1504は、赤、緑、及び、青(RGB)の色空間から取り出される。すなわち、星形構造のシンボル1501〜1504は、赤(R)、緑(G)、及び/または、青(B)である色を含む。したがって、色の組み合わせをしない基本的な場合においては、12個のシンボル(4つのシンボル×3つの色)を生成することができる。しかしながら、メンバーまたはシンボルの数を増やすために、図15に示されるように、重なり合った色を有する合成シンボル1511〜1519を生成することもできる。
【0147】
最大で12個すべての異なる色のシンボルを、物理的な位置において重なり合い、可能性として、星形のそれぞれの部分ごとに様々な色または色の組み合わせで星形構造の一部または全部を構成するように、組み合わせることができる。結果として得られた合成シンボル1511の水平シンボル1501の色は、緑のシンボルと赤のシンボルとの組み合わせ1501によるものである。図15に示されるように、様々な色を組み合わせたシンボル1501〜1504が、合成シンボル1511〜1519を生成するのに使用され得る。
【0148】
図15のシンボル・セットにおける合成シンボルの数は、空白をシンボルとみなさないと仮定すれば、例えば、(212−1)すなわち4095であり得る。多くの合成シンボルを選択することができるので、それに対応して、文法、言語に関する情報のような、権利表現に使用される情報についての複雑かつ広範囲にわたるシンボリック表現を生成することができる。
【0149】
図15に示されるように、権利表現207は、電子書籍にアクセスするための期限日を表現してもよく、そして、合成シンボル・セットを用いて表現されてもよい。図15において、シンボル1511〜1519は、データベースにおいて、特定の作家による小説を指示する書籍識別(ID)番号が245であり、かつ、アクセス期限日が2003年7月12日である場合の権利表現207を表現する。
【0150】
第1の合成シンボル1511は、語句「書籍(または、資源)識別番号」を表現し、第2の合成シンボル1513は整数「245」を表現し、第3の合成シンボル1515は語句「アクセス/期限日」を表現し、第4の合成シンボル1517は月及び日(「7月12日」または7−12)を表現するのに使用し、第5の合成シンボル1519は年「2003」を表現する。さらに、1つかまたはそれ以上の、例えばグリフのようなシンボルを用いて、何らかの適切な権利表現を行ってもよい。
【0151】
権利表現に関する情報を伝達する使用されるグリフ、シンボル、語、メッセージは、光、音、一連の音、光パルス等でも良く、何らかの適切な周波数、振幅を用いて符号化されてもよく、紫外線、X線、マイクロ波、電磁波であってもよく、レーザ、変調または重畳された情報、様々な色または波長、電界または磁界の変化であってもよい。
【0152】
何らかの適切な一連のグリフ、シンボル、語、メッセージは、送信されるメッセージに意味を提供するそれら自身の文法、ルールを有する。人の耳または目が感知することのできない周波数範囲に存在する音または光が、セキュリティ・アプリケーション、プライバシー・アプリケーションの実行中に、グリフ、シンボル、語、メッセージを送信するのに使用されてもよい。このようにして、送信されるメッセージは、ユーザに対してトランスペアレントなものにされてもよいが、それと同時に、適切なセンサー、検出器によって、リトリーブされ、理解されなければならない。グリフ、シンボル、語、メッセージは、感知された情報、メッセージを、数値、ビット、バイト、または、その他の方法に基づいて、量子化し、デジタル化し、表現することができる限り、何らかの適切な人または機械の感知器官または感知装置を用いて表現されてもよい。
【0153】
トランスレータ・プロセス205が権利表現207を変換して生成する装置特定フォーマット219は、プロファイルに基づいたフォーマットやテンプレートに基づいたフォーマットを含んでもよい。特定の歌を特定の装置上で再生するように規定された使用権を譲渡するライセンスの権利表現は、例えば、以下のように表わされる。
【0154】
<license>
<grant>
<cm:device cmid="123"/>
<cx:play/>
<cm:music cmid="456"/>
</grant>
<cm:issuerDevice>
<cm:device cmid="024"/>
</cm:issuerDevice>
</license>
そして、トランスレータ・プロセス205は、ライセンス中の変数が除去されたテンプレート、プロファイル、及び、それらに類似するものを装置特定フォーマット219として生成する。
【0155】
<license>
<grant>
<cm:device cmid=""/>
<cx:play/>
<cm:music cmid=""/>
</grant>
<cm:issuerDevice>
<cm:device cmid=""/>
</cm:issuerDevice>
</license>
図1、図4、及び、図5に示されるデジタル権利管理システム装置及びサブシステムは、通信ネットワーク170を介して通信してもよく、また、開示された実施例の機能を実行することのできる何らかの適切なサーバ、ワークステーション、パーソナル・コンピュータ(PC)、ラップトップ・コンピュータ、PDA、インターネット機器、セット・トップ・ボックス、モデム、ハンドヘルド・デバイス、電話、携帯電話、無線装置、資源制約装置、または、その他の装置を含んでもよい。図1、図4、及び、図5に示されるデジタル権利管理システム装置及びサブシステムは、何らかの適切なプロトコルを用いて、互いに通信してもよく、また、汎用コンピュータ・システムを用いて実施されてもよい。何らかのインタフェース機構が、インターネット・アクセス、音声、モデムのような何らかの適切な形態を有するテレコミュニケーション、無線通信媒体を含む図1、図4、及び、図5に示されるデジタル権利管理システムにおいて使用されてもよい。通信ネットワーク170は、無線通信ネットワーク、セルラー通信ネットワーク、衛星通信ネットワーク、公衆交換電話網(PSTN)、パケット・データ・ネットワーク(PDN)、インターネット、イントラネット、ハイブリッド通信ネットワーク、それらを組み合わせたものを含んでもよい。さらに、通信ネットワーク170は、単一かまたは異なるネットワークであってもよい。
【0156】
図1、図4、及び、図5のデジタル権利管理システム100は、説明のための例であることを理解すべきである。なぜなら、開示された実施例を実施するために使用される特定のハードウェアの多くの変形が可能だからである。図1、図4、及び、図5に示されるデジタル権利管理システム装置及びサブシステムの機能は、種々のプログラムされたコンピュータ・システムまたは装置によって実施され得る。そのような変形実施をするために、単一のコンピュータ・システムが、図1、図4、及び、図5に示されるデジタル権利管理システム装置及びサブシステムの特殊目的機能を実行するようにプログラムされてもよい。他方において、複数のプログラムされたコンピュータ・システムまたは装置が、図1、図4、及び、図5に示されるデジタル権利管理システム装置及びサブシステムのいずれか1つと置き換えられてもよい。したがって、また、冗長、反復のような分散処理の原理及び利点が、図1、図4、及び、図5に示されるデジタル権利管理システムのロバスト性及び能力を増大させるために実施され得る。
【0157】
図1〜図15を参照して説明したような図1、図4、及び、図5に示されるデジタル権利管理システムは、ここで説明した様々なプロセスに関係する情報を記憶するのに使用され得る。この情報は、図1、図4、及び、図5に示されるデジタル権利管理システムの装置及びサブシステムのハードディスク、光ディスク、光磁気ディスク、RAMのような記憶装置に記憶され得る。図1、図4、及び、図5に示されるデジタル権利管理システム装置及びサブシステム上のデータベースが、実施例を実施するために使用される情報を記憶してもよい。データベースは、種々の記憶装置に含まれる、レコード、テーブル、アレイ、フィールド、グラフ、ツリー、リストのようなデータ構造を用いて編成されてもよい。
【0158】
図1〜図15を参照して説明したようなデジタル権利管理システムは、開示された実施例の教示に基づいてプログラムされた汎用コンピュータ・システム、マイクロプロセッサ、デジタル信号プロセッサ、マイクロ・コントローラを用いて、実施されてもよい。この分野の通常の知識を有するプログラマーは、開示された実施例の教示に基づいて、適切なソフトウェアを容易に製作することができる。さらに、図1、図4、及び、図5に示されるデジタル権利管理システムは、特定用途向けICを製作することによって、あるいは、要素回路からなる適切な回路網を互いに接続することによって、実施されてもよい。
【0159】
ここで説明される実施例は、オフライン・システム、オンライン・システムとして、また、TVアプリケーション、コンピュータ・アプリケーション、DVDアプリケーション、VCRアプリケーション、機器アプリケーション、CDプレーヤー・アプリケーションのようなアプリケーションとして、使用されてもよい。さらに、実施例のグリフ、シンボル、語、メッセージを送信するのに使用される信号は、人の可視スペクトルの範囲内において、人の可聴スペクトルの範囲内において、人の可視スペクトルの範囲外において、人の可聴スペクトルの範囲外において、それらを組み合わせた範囲において、送信されるように構成されてもよい。
【0160】
XrML、XMLを使用することによって、実施例を説明したが、実施例は、そのようなものに限定されるのではなく、XrMLまたはXMLに基づくものであろうとなかろうと、何らかの適切な文法、言語によって実施されてもよい。
【0161】
いくつかの実施形態及び具体例に関して本発明を説明したが、本発明は、それらに限定されるのではなく、様々な変形及び等価な構成を含み、それらは、添付の特許請求の範囲に規定される。
【符号の説明】
【0162】
100 DRMシステム
110 起動サーバ
120 クライアント環境
130 コンピュータ
140 ライセンス・サーバ
150 ウェブ・サーバ
160 決済機関
170 通信ネットワーク
【技術分野】
【0001】
本発明は、一般的には、コンテンツまたはその他のアイテムの使用を、そのコンテンツまたはその他のアイテムに対応する使用権によって制御することに関し、より詳細には、使用権表現をマルチパス解釈するための方法及び装置に関する。
【背景技術】
【0002】
文書、音楽、映画、ソフトウェア、及び、情報のようなデジタル・コンテンツを、コンピューティング・デバイスによって利用できるような形で、電子的な手段、とりわけインターネットを介して、広範囲に配信することに関する最も重要な問題の1つは、デジタル・コンテンツの配信中及び使用中に、知的所有権を行使することを可能にする対策である。この問題を解決するための技術を、ここでは、デジタル権利管理(Digital Rights Management:DRM)と呼ぶ。しかしながら、DRMシステムを実現するには、認証、許可、会計、支払い及び決済、権利表現、権利の確認、権利の行使、及び、文書保護の問題、など、考慮すべき多くの問題がある。
【0003】
印刷された文書及びその他の物理的コンテンツの業界においては、作者によって製作された作品は、通常、出版社に提供され、その出版社は、作品の体裁を整え、多部数の本として印刷する。そして、それらの本は、配給者によって、書店またはその他の小売店へ送られ、それらの書店または小売店から、ユーザが、本を購入する。低いコピー品質、及び、印刷物を配布する高いコストが、印刷文書を許可なくコピーすることを防止する役割をなしてきたが、非保護デジタル・コンテンツを高品質でコピー、修正、及び、再配布することは、きわめて容易なことになった。したがって、デジタル・コンテンツを保護するための技法が、必要とされている。
【0004】
本発明の譲受人に譲渡された特許文献1は、デジタル・コンテンツの配信を制御するためのDRMシステムを開示しており、DRMシステムを含む装置は、そのDRMシステムに関連するリポジトリを含む。予め定められた一組の使用トランザクションステップは、コンテンツに与えられた使用権を行使するためのリポジトリが使用するプロトコルを定義する。使用権は、コンテンツとともに存続し、コンテンツに対応する使用権は、デジタルワークを備える。使用権は、例えば、コンテンツを鑑賞し、印刷し、あるいは、表示する権利、コンテンツを一回だけ使用する権利、及び、コンテンツを配信または再配信する権利など、様々な形でコンテンツの使用を許可する。また、使用権は、金銭の支払いまたはその他の条件を要求してもよい。
【0005】
なお、特許文献1〜8は、本発明に関連する技術について記載している。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】米国特許第5634012号明細書
【特許文献2】米国特許第5530235号明細書
【特許文献3】米国特許第5629980号明細書
【特許文献4】米国特許第5634012号明細書
【特許文献5】米国特許第5638443号明細書
【特許文献6】米国特許第5715403号明細書
【特許文献7】米国特許第6233684号明細書
【特許文献8】米国特許第6236971号明細書
【発明の概要】
【発明が解決しようとする課題】
【0007】
上述の要求及びその他の要求は、本発明の実施形態によって解決され、本発明は、変調されたまたは可変の信号表現またはグラフィカル表現に基づいてコンテンツまたはその他のアイテムの使用権を表現するための改善されたシステム及び方法を提供する。
【課題を解決するための手段】
【0008】
1つの態様においては、アイテムの使用を権利表現に基づいて制御するシステムにおいて、使用されるアイテムに対応する権利表現を処理する方法が提供される。この方法は、オリジナルフォーマットによる権利表現を規定し、該オリジナルフォーマットに対応するシンタックス情報及びセマンティクス情報の少なくとも一方に基づいて、権利表現のための中間フォーマットを生成する。権利表現は、デバイス上でのアイテムの利用方法を規定する。
【図面の簡単な説明】
【0009】
【図1】本発明の様々な実施形態を実施することのできる例としてのデジタル権利管理システムの概略図である。
【図2】図1、図4、及び、図5に示されるデジタル権利管理システムにおいて実施されてもよい例としてのマルチパス解釈プロセスの概略図である。
【図3】図2に示される例としてのマルチパス解釈プロセスを説明するフローチャートである。
【図4】別の実施形態による例としてのデジタル権利管理システムの概略図である。
【図5】別の実施形態による例としてのデジタル権利管理システムの概略図である。
【図6】図1、図4、及び、図5に示されるデジタル権利管理システムにおいて実施されてもよい一般的なローカライザ・プロセスの概略図である。
【図7】図6に示されるローカライザ・プロセスの一般的なプリ・プロセッサ・プロセスを説明するフローチャートである。
【図8A】一般的なバイナリ変換アルゴリズムを説明するフローチャートである。
【図8B】一般的なバイナリ変換アルゴリズムを説明するフローチャートである。
【図9】図6に示されるローカライザ・プロセスの一般的なプリ・プロセッサ・プロセスの概略図である。
【図10】図1、図4、及び、図5に示されるデジタル権利管理システムにおいて実施されてもよい一般的な単純化プロセスの概略図である。
【図11】図10に示される一般的な単純化プロセスを説明するフローチャートである。
【図12A】図10に示される一般的な剪定プロセス及び評価プロセスを説明するフローチャートである。
【図12B】図10に示される一般的な剪定プロセス及び評価プロセスを説明するフローチャートである。
【図13】図2に示される一般的なマルチパス解釈プロセスによって生成されてもよいバイナリ・フォーマットの一般的な構造の概略図である。
【図14】図2に示される一般的なマルチパス解釈プロセスによって生成されてもよい行使可能フォーマットの一般的な構造の概略図である。
【図15】図1、図4、及び、図5に示されるデジタル権利管理システムによって生成されてもよい権利表現の一般的なシンボリック表現を説明する図である。
【発明を実施するための形態】
【0010】
本発明の他の態様、特徴、及び、利点が、以下の詳細な説明から明らかとなる。該説明は、本発明の実施の最良の形態を含むことを意図する実施態様と実現態様のいくつかを例示する。また、本発明では、他の異なる実施形態が可能であり、本発明の精神及び範囲を逸脱せずに、種々の変更が可能である。したがって、図面及び明細書は、例示的なものであり、本発明を限定するものではない。
【0011】
本発明は、単に例示の目的であって、本発明を限定するものではない添付の図面において示される。当該図面において同様の参照符号は同様の構成エレメントを示す。
【0012】
使用権表現をマルチパス解釈するための方法及び装置を以下に説明する。以下の記述では、本発明を十分に理解できるように説明することを目的として、多くの細かな点が、具体的に説明される。しかしながら、この分野に精通する者には、これらの詳細な情報や、類似の代替情報なくして本発明を実施可能であることは明らかである。場合によっては、本発明を不必要に不明確にするのを避けるために、良く知られている構造及び装置は、ブロック図として示される。
【0013】
本発明は、認証、許可、会計、支払い及び決済、権利の規定、権利の確認、権利の行使、及び、文書保護の問題をデジタル権利管理システムによって解決することができるという認識を含む。本発明の譲受人に譲渡された特許文献1〜7は、これらの問題及びその他の問題を解決するためのDRMシステムを開示しており、それらのすべての明細書の全体が、ここに援用される。
【0014】
さらに、本発明においては、XrMLのようなXMLベースのネイティブな文法に基づいた言語によって符号化された権利表現は、リソースに依存した処理を必要とし、符号化された権利表現を解析・処理するために多くのリソースが利用されるという認識を含む。さらに、符号化された権利表現は、きわめて複雑で冗長な場合があり、繰り返し実行される複数の構文解析及び解釈タスクを必要とする。さらに、レイテンシー(訳注:ハイレスポンス)及びリアルタイムに関する要求は、符号化された大量の権利表現を高性能に解釈することを必要とする。
【0015】
このような計算処理的な負荷は、限られた資源しか備えていないシステム及び装置、小型装置、ハンドヘルド・デバイス、限られた時間内に大量の権利表現を処理する責任を有するシステム及びプラットフォームのような、様々な種類のシステム、装置、プラットフォームに大きな負担をかけることがある。したがって、エンコードされた権利表現を処理する計算処理的負荷を堅牢でかつ信頼できる形で軽減するためのシステム及び方法が、必要とされている。
【0016】
ここで説明される実施例は、改善されたシステム及び方法を提供することによって、上述の及びその他の要求を解決するものであり、それによって、文法に基づいた権利表現を、一般的なデータ及びフォーマットに単純化し、最適化し、変換し、その一般的なデータ・フォーマットは、高い効率で処理され、ターゲットとなるコンピューティング環境の資源により良好に適合させることが可能である。実施例においては、ターゲット・コンピューティング環境は、ターゲット・デバイス、コンポーネント、アプリケーション、機能、システム、プラットフォームを含む。拡張可能権利マークアップ言語(XrML)、拡張可能アクセス制御マークアップ言語(XACML)、オープン・デジタル権利言語(ODRL)、拡張可能マークアップ言語(XML)に基づいた言語のような、文法ベース言語が、権利表現を規定するのに使用されるが、適切であれば、どのような文法及び言語を使用してもよい。
【0017】
実施例は、改善された方法及びシステムを提供する。文法に基づいた権利表現を、一般的なデータ・フォーマットに単純化し、最適化し、変換し、その一般的なデータ・フォーマットは、高い効率で処理され、ターゲット・コンピューティング環境の資源に、より良好に合致させることができる。実施例は、解釈の様々なステージで使用され得るので、マルチパス解釈と呼ぶことができ、種々のステージにおいて、文法に基づいた権利表現を、ターゲット・コンピューティング環境にとってより適切な一般的データ及びフォーマットに単純化することができる。
【0018】
実施例においては、権利表現を評価及び解釈するプロセスは、複数の処理ステップに分割され得る。それぞれの処理ステップの中間結果は、一般的なデータ及びフォーマットとして保存され、それらは、後に、評価、解釈されてもよく、また、後に、評価及び解釈するプロセスを再開することもできる。中間処理の結果として得られる一般的なフォーマットを、中間フォーマットと呼ぶ。ただし、ここで説明するフォーマットは、例示であり、以下でさらに詳細に説明するように、適切であれば、どのような種類のフォーマットでも、実施例のプロセスから結果を得られるようなものであればよい。
【0019】
図面を参照して説明する。いくつかの図面において、同一の符号は、同一のまたは類似する構成エレメントを示す。図1において、DRMシステム100は、コンテンツ、サービス、または、その他の資源の使用権を特定しかつ行使するために使用される。DRMシステム100は、ユーザ起動コンポーネントを起動サーバ110の形態で含み、該起動サーバ110は、一組の公開鍵及び秘密鍵の対112を保護された形式でコンテンツのユーザに発行する。一般的には、ユーザが、DRMシステム100を初めて使用する場合、ユーザは、特定のコンテンツ・フォーマットのためのレンダリング・アプリケーションとともに動作するかまたはそのレンダリング・アプリケーションを含むソフトウェアをインストールする。
【0020】
ソフトウェアは、ユーザが所有するコンピューティング・デバイスのようなクライアント環境120内にインストールされる。ソフトウェアは、DRMシステム100の一部であり、被保護コンテンツ134にアクセスするのに使用される。インストール後に、ソフトウェアが、起動される。起動プロセス中、起動サーバ110とクライアント環境120との間で情報が交換される。クライアント・ソフトウェア・コンポーネント122が、クライアント環境120内にダウンロード、インストールされる。クライアント・ソフトウェア・コンポーネント122は、改ざん防止性であり、起動サーバ110によって発行された他のコンポーネントと共に、一組の公開鍵及び秘密鍵の対112を保持する。
【0021】
例えば、権利オファー132は、プロテクトされたコンテンツ134に対応付けられ、かつ、使用方法を含む使用権132Aを規定する。エンド・ユーザは、、1つかまたはそれ以上の条件132Bを満足した場合に、使用権132Aを入手できる。ライセンス・サーバ140は、暗号鍵112を管理し、プロテクトされたコンテンツ134に対するライセンス142を発行する。ライセンス142は、使用権132Aをエンド・ユーザに実際に許可し、例えば、権利オファー132は、5ドルの料金を支払うことを条件に、プロテクトされたコンテンツ134を閲覧する権利をエンド・ユーザに許諾し、また、10ドルの料金を支払うことを条件に、プロテクトされたコンテンツを印刷する権利をエンド・ユーザに許諾する。すなわち、5ドルの料金が支払われていれば閲覧する権利、及び/または、10ドルの料金が支払われていれば印刷する権利、についてのライセンス142が発行される。クライアント・コンポーネント122は、ライセンス142によって特定された権利を解釈しかつ行使する。
【0022】
非プロテクトコンテンツのような、クリアコンテンツ136(訳注:暗号化等されていないオリジナルのコンテンツ情報の意)が、コンテンツ出版社、コンテンツ配給者、コンテンツ・サービス・プロバイダ、または、何らかのその他の団体のコンピュータ130上にインストールされた、文書作成アプリケーションのようなアプリケーション138によって、作成される。クリアコンテンツ136の作成の際には、該クリアコンテンツ136を使用できる権利132A及び条件132Bを規定することもできる。このとき、権利オファー132をそのクリアコンテンツ136に対応付け、暗号アルゴリズムによってプロテクトされたコンテンツ134を生成してクリアコンテンツ136を保護する。XrML、XACML、ODRLのような権利言語が、権利オファー132を規定するのに使用されるが、権利オファー132は、適切なものであれば、どのような方法で規定されてもよい。また、権利オファー132は、プロテクトされたコンテンツ134に対応付けることのできる、予め定義された規格、プロファイル、テンプレートの形態であってもよい。したがって、権利オファー132を規定するプロセスは、適切なものであれば、権利及び条件をコンテンツに対応付けるどのようなプロセスであってもよい。プロテクトされたコンテンツ134に対応付けられた権利オファー132、及び、クリアコンテンツ136を暗号化するのに使用される暗号鍵112は、ライセンス・サーバ140へ送信される。
【0023】
DRMシステム100の一般的なワークフローにおいて、起動サーバ110によってプロテクトされたコンテンツ134を受信可能な状態となっているクライアント環境120上で、ユーザが起動作業をする。起動プロセスの結果、公開鍵及び秘密鍵の対112が生成され、ユーザ及び/またはマシンの特定情報が、クライアント・ソフトウェア・コンポーネント122の形態でクライアント環境120へダウンロードされる。起動プロセスは、ライセンス142を発行する前の適切などのようなタイミングで実行されてよい。
【0024】
ユーザが、プロテクトされたコンテンツ134を使用したい場合、ユーザは、クライアント環境120にインストールされたブラウザを用いて、ウェブ・サーバ150上で稼働しているウェブ・サイトを閲覧し、該プロテクトされたコンテンツ134をダウンロードすることを試みる。このプロセス中、ユーザは、コンテンツの販売において発生するような料金トランザクション、情報の収集のようなその他のトランザクションを含む一連のステップを遂行する。料金の支払い及びユーザが起動中であることの確認などの適合条件及びその他の必要条件が満たされていれば、ウェブ・サーバ150は、セキュア・ソケット・レイヤー(SSL)チャネルのような安全な通信チャネルを介して、ライセンス・サーバ140に接続する。そして、ライセンス・サーバ140は、プロテクトされたコンテンツ134のライセンス142を生成し、ウェブ・サーバ150は、プロテクトされたコンテンツ134及びライセンス142の両方をダウンロードする。ライセンス142は、使用権132Aの中の適切な使用権を含むものであり、また、ライセンス・サーバ140または関連する装置からダウンロードされてもよい。プロテクトされたコンテンツ134は、出版社、配給者、または、その他の団体に属するコンピュータ130からダウンロードされ得る。権利オファー132は永続的なものであり、かつ、プロテクトされたコンテンツ134に恒久的に付属する。
【0025】
そして、クライアント環境120におけるクライアント・ソフトウェア・コンポーネント122は、ライセンス142の解釈を開始し、ライセンス142に規定された権利132A及び条件132Bに基づいて、プロテクトされたコンテンツ134の使用を可能にする。使用権の解釈及び行使については、本発明の譲受人に譲渡された特許文献1〜3、及び、5〜8にさらに詳細に説明されている。上述したステップは、シーケンシャルに、あるいはほぼ同時に、様々な順序で実行され得る。
【0026】
DRMシステム100は、プロテクトされたコンテンツ134を保護するセキュリティ機能を実現する。とりわけ、DRMシステム100は、ライセンス・サーバ140によって発行されたライセンス142を認証する。そのような認証を実現する1つの方法は、ライセンス142を信用することができるかどうかをクライアント・ソフトウェア・コンポーネント122が判断することである。換言すると、クライアント・ソフトウェア・コンポーネント122は、ライセンス142の暗号署名またはその他の識別情報を確認及び/または検証する能力を有する。上述した起動ステップ中、クライアント環境120及びライセンス・サーバ140は、改ざん防止性ソフトウェア・パッケージ中に一組の鍵112を受信し、該ソフトウェア・パッケージは、起動されたクライアント環境120においてライセンス142の署名を確認するためクライアント・ソフトウェア・コンポーネント122のような、他のコンポーネントを含んでもよい。
【0027】
DRMシステム100は、例としての特徴を有するものであり、種々の同等の装置において実施可能であり、ライセンス142及びプロテクトされたコンテンツ134は、異なるエンティティから配信され得る。例として、権利オファー132は、プロテクトされたコンテンツ134を作成した団体以外の団体によって、プロテクトされたコンテンツ134に対応付けられてもよい。さらに、ライセンス142を発行する前に、支払いトランザクションを処理しかつ支払いを確認するために、決済機関160が、使用されてもよい。さらに、様々なプロセス及びトランザクションが、オンライン環境及び/またはオフライン環境及び/またはそれらの組み合わせ下において実行されてもよい。エンド・ユーザは、コンテンツをコンピュータにダウンロードし、そして、コンテンツをそのコンピュータから個人用携帯情報端末(PDA)へ転送してもよい。また、エンド・ユーザは、スーパーマーケット、キオスク、キャッシュ・レジスター、プリペイド式ライセンス・カードを介して、コンテンツのライセンスを購入し、そして、そのライセンスをPDAへ転送してもよい。そして、エンド・ユーザは、PDA及び/またはコンピュータ上で、コンテンツを起動してもよい。そのようなオフラインの状況においては、様々な装置は、互いに直接に通信しても、あるいは、互いに直接に通信しなくてもよく、そして、情報は、何らかの適切な方法によって、例えば、装置間を物理的に移動する媒体によって、交換されてもよい。
【0028】
図2は、図1、図4、及び、図5に示されるデジタル権利管理システムの装置及びサブシステム上で実施され得る、マルチパス解釈プロセス200の概略図である。図2において、マルチパス解釈プロセス200は、ローカライザ・プロセス201、単純化プロセス203、及び、トランスレータ・プロセス205を含む。ローカライザ・プロセス201は、XrMLのような文法ベース言語で記述された権利表現207、及び、シンタックス情報及びセマンティクス情報を含む権利表現言語情報209を受信する。ローカライザ・プロセス201は、権利表現207を中間フォーマットに変換し、該中間フォーマットは、文法ベース権利表現言語情報209に基づいた自己完結型フォーマット211と呼び得る。
【0029】
単純化プロセス203は、権利表現207、自己完結型フォーマット211による権利表現207、権利状態情報213、ターゲット・コンピューティング環境の装置情報217を受信する。単純化プロセス203は、権利表現207及び自己完結型フォーマット211による権利表現207を、中間言語フォーマットに変換する。該中間フォーマットは、権利情報状態213及び装置情報217に基づいた単純化フォーマット215と呼び得る。
【0030】
トランスレータ・プロセス205は、装置情報217とともに、権利表現207、自己完結型フォーマット211による権利表現207、あるいは単純化フォーマット215による権利表現207を受信する。トランスレータ・プロセス205は、権利表現207、自己完結型フォーマット211による権利表現207、あるいは単純化フォーマット215による権利表現207を、中間フォーマットに変換する。該中間フォーマットは、装置情報217に基づいた装置特定フォーマット219と呼び得る。実施例のローカライザ・プロセス201、単純化プロセス203、トランスレータ・プロセス205は、図1、図4、及び、図5に示されるデジタル権利管理システム及びそのサブシステム上で実施され得る。
【0031】
図3は、図2に示されるマルチパス解釈プロセス200を説明するフローチャートである。ステップ301では、マルチパス解釈プロセスのために、XrMLのような文法ベース言語で記述された権利表現207のファイルが、リトリーブされる。ステップ303では、リトリーブされた権利表現207は、XrMLのようなネイティブなフォーマットから、XMLに基づいたバイナリ・フォーマット、XrMLに基づいたバイナリ・フォーマット等のバイナリ・フォーマットを含む自己完結型フォーマット211に変換される。自己完結型フォーマット211による権利表現207は、機械可読なものであり、かつ、プラットフォームに依存しない。したがって、自己完結型フォーマット211による権利表現207は、XML処理能力、XrML処理能力のような何らかの特定の処理能力に依存する必要がない。
【0032】
ステップ305において、自己完結型フォーマット211による権利表現207から条件リストを抽出するために、自己完結型フォーマット211が、解釈され、単純化される。かくして、自己完結型フォーマット211による権利表現207は、単純化フォーマット215に変換される。単純化フォーマット215による権利表現207は、ターゲット・コンピューティング環境によって、検証され、実行可能な条件を含む。実施例においては、単純化フォーマット215は、XMLベースまたはXrMLベースであってよく、行使可能フォーマットと呼び得る。
【0033】
ステップ307において、単純化フォーマット215による権利表現207は、装置特定フォーマット219による権利表現207に変換される。ターゲット・コンピューティング環境は、装置特定フォーマット219による権利表現207を容易に実行することができる。実施例では、中間結果を記憶するために、自己完結型フォーマット211及び単純化フォーマット215を使用することについて説明したが、中間結果を記憶するために何らかの適切なフォーマットが使用可能であり、フォーマット変換は、様々な順序、回数で実行、反復され得る。
【0034】
マルチパス検証及び解釈プロセス200は、ローカライザ・プロセス201、単純化プロセス203、及び、トランスレータ・プロセス205を含む。実施例において、権利表現207内に含まれ得る潜在的な曖昧さを解消するために、ローカライザ・プロセス201は、権利表現207において使用されるキーワード、エレメント、条件、及び、権利表現のセマンティクスな意味を割り当てる、装置、コンポーネント、アプリケーション、機能、システム、及び、プラットフォームを含む。ローカライザ・プロセス201は、権利表現207を前処理して自己完結型フォーマット211による権利表現207を生成するために、対応する権利言語のシンタックス及びセマンティクス情報209を使用する。該自己完結型フォーマット211による権利表現207は、非曖昧形式による権利表現207を含む。
【0035】
したがって、自己完結型フォーマット211は、権利表現207の非曖昧バージョン、権利表現207において使用される語のセマンティクスな意味、及び、権利表現207を処理するための処理命令を含む。フォーマット211は、自己完結型であると考えることができる。なぜなら、自己完結型フォーマット211でストアされた権利表現207は、シンタックス及びセマンティクスな資源、及び、構文解析資源のような外部資源を使用しなくても、どのようなアプリケーション、システム、及び、装置でも容易に処理することができるからである。
【0036】
実施例においては、権利表現207は、ラベル、ライセンス、または、それらのフラグメントのような、使用権に関する何らかの表現を含む。権利表現207を表現するための権利表現言語は、使用権を表現するのに使用することのできる予め定義されたシンタックス及びセマンティクスを有する何らかの適切な言語であればよい。権利文法は、使用権を表現するための一組の予め定義されたシンボルを含む。使用権は、アイテムの許可された使用方法の規定条項を含んでもよい。ラベルは、特定のアイテムに関連しない事前にパッケージされた一組の使用権を含んでもよい。ライセンスは、アイテムに関連する事前にパッケージされた一組の使用権を含んでもよい。条件は、アイテムの使用方法を遂行するための1つかまたはそれ以上の必要条件からなる規定条項を含んでもよい。アイテムは、デジタル・コンテンツ、ソフトウェア、サービス、商品、資源など、どのようなものでもよく、それらは、対応する使用権によって、使用が制限される。資源は、デジタル装置またはそれの一部でもよく、それへのアクセスは、対応する使用権によって制限される。
【0037】
さらなる実施例によれば、権利表現207は、使用権、条件、使用方法、ポリシー、プリンシパル、サブジェクトを規定するための一連の表現を含んでもよい。権利表現207は、さらに、使用権の適用が許される資源、さらには、許可された使用権が実行される前に満たされるべき条件、行為、義務を規定してもよい。
【0038】
実施例においては、セマンティクスな意味は、自己完結型フォーマット211内に記憶され、該自己完結型フォーマットは、権利表現207内に存在する表現の意味、及び、権利表現207を処理するための処理命令の意味を決定するのに使用される。したがって、セマンティクスな意味は、権利表現207中のプリンシパルや条件を表すのに使用される表現のような、特定の表現を識別するのに使用され得る。
【0039】
セマンティクスな意味及び処理命令の両方を提供することによって、アプリケーション、システム、及び、装置は、外部資源を使用しなくても、自己完結型フォーマット211による権利表現207を効率的に処理することができる。さらに、自己完結型フォーマット211は、ローカライザ・プロセス201によって生成された中間結果を記憶するのに使用することもできる。
【0040】
実施例においては、単純化プロセス203は、自己完結型フォーマット211による権利表現207を事前に評価しかつ単純化する責任を有する、装置、コンポーネント、アプリケーション、機能、システム、及び、プラットフォームを含む。単純化プロセス203は、権利表現207内の条件表現及び権利表現のような表現を評価するために、権利情報の状態213、及び、ターゲット・コンピューティング環境の装置情報217を使用する。
【0041】
そのような評価は、与えられた条件及び権利表現を、ターゲット・コンピューティング環境に応じて権利表現207から除去すべきかどうかを判定するために使用される。例えば、ターゲット・コンピューティング環境がデジタル・コンテンツに無制限にアクセスできるために満たされなければならない、料金の支払いのような条件は、権利表現207内において表現され得る。しかしながら、料金支払い条件が満たされていれば、ターゲット・コンピューティング環境がデジタル・コンテンツにアクセスするたびに料金が支払われているかどうかを検証するようなステップは、権利表現207から除去されてもよい。
【0042】
したがって、ターゲット・コンピューティング環境に応じて、何らかの条件及び権利表現が、権利表現207から除去されてもよく、それによって、結果として得られる権利表現207のサイズ、及び、処理時間を減少させることができる。したがって、単純化プロセス203は、ターゲット・コンピューティング環境に応じて、確認または検証を必要としない条件及び権利表現を除去した単純化フォーマット215による権利表現207を生成する。実施例では、単純化プロセス203の中間結果を記憶するために単純化フォーマット215を使用することに関して説明したが、単純化プロセス203の中間結果を記憶するために何らかの適切なフォーマットを使用すればよい。
【0043】
実施例においては、トランスレータ・プロセス203は、権利表現207、単純化フォーマット215による権利表現207、及び、自己完結型フォーマット211による権利表現207を、ターゲット・コンピューティング環境における装置特定フォーマット219に変換する責任を有する、装置、コンポーネント、アプリケーション、機能、システム、プラットフォームを含む。例えば、装置特定フォーマット219は、ターゲット・コンピューティング環境によって処理可能なデータのストリームを含んでもよい。したがって、トランスレータ・プロセス203は、装置特定フォーマット219による権利表現207を、ターゲット・コンピューティング環境が処理可能なデータ及びデータ構造を表現した一連のビットとして送信するように構成してもよい。さらに、トランスレータ・プロセス203は、装置特定フォーマット219による権利表現207を、ターゲット・コンピューティング環境が処理し実行することのできる一連のネイティブな命令として送信するように構成してもよい。
【0044】
実施例では、ローカライザ・プロセス201、単純化プロセス203、及び、トランスレータ・プロセス205は、互いに独立したものであるとした。しかしながら、さらなる実施形態においては、ローカライザ・プロセス201、単純化プロセス203、及び、トランスレータ・プロセス205は、互いに依存するものであってもよい。さらに、ローカライザ・プロセス201、単純化プロセス203、及び、トランスレータ・プロセス205は、中間フォーマットのような何らかの適切なデータ・フォーマットを介して、互いに通信してもよい。
【0045】
マルチパス検証及び解釈プロセス200は、ターゲット・コンピューティング環境により好適に適合するように、柔軟に構成することができる。例えば、ターゲット・コンピューティング環境が、携帯電話またはハンドヘルド・デバイスのように、限られた資源または処理能力しか有していなければ、XrMLドキュメントのような文法に基づいた権利表現ドキュメントをターゲット・コンピューティング環境へ送信する代わりに、文法ベース権利表現ドキュメントを、ターゲット・コンピューティング環境へ送信する前に、装置特定フォーマット219に変換してもよい。
【0046】
実施例では、装置特定フォーマット219による権利表現207は、トランスレータ・プロセス205によって、ターゲット・コンピューティング環境にとってネイティブなものに構成され、ターゲット・コンピューティング環境へ送信され、実行される。図4は、デジタル権利管理システム400の概略図であり、このシステム400においては、テキスト文書、音楽、または、ソフトウェアのような保護アイテムが、様々な装置上で使用される。
【0047】
図4において、DRMシステム400は、パーソナル・コンピュータ405、及び、MP2プレーヤー、MP3プレーヤー、セット・トップ・ボックス、ハンドヘルド・デバイスのような他の装置409の両方においてデジタル音楽を再生することが可能である。この実施例においては、小型装置409は、特定の機能を備えた装置である。例えば、MP3プレーヤーは音楽を再生することしかできず、印刷も、支払いの承諾をすることもできない。DRMシステム400においては、権利表現207を、ローカライザ・プロセス201を用いて、自己完結型フォーマット211に変換してもよく、単純化プロセス203を用いて、単純化フォーマット215に変換してもよい。
【0048】
変換された権利表現207は、パーソナル・コンピュータ405へ送信され、そのパーソナル・コンピュータ405において、変換された権利表現207は、プロテクトされたデジタル音楽の使用をオーソライズする。ディストリビュータ・プロセス401が、自己完結型フォーマット211による権利表現207を、ゲートウェイを介して、パーソナル・コンピュータ405へ送信する。
【0049】
ユーザは、パーソナル・コンピュータ405から、トランスレータ・プロセス205を用いて、自己完結型フォーマット211または単純化フォーマット215による権利表現207を、小型装置205に適した装置特定フォーマット219に変換してもよい。そして、ユーザは、プロテクトされたデジタル音楽及びそれに対応する装置特定フォーマット219による権利表現207の両方を小型装置409へ送信し、その結果として、権利表現207に基づいて、保護されたデジタル音楽を小型装置409上で再生することができる。したがって、権利表現207は、図2に示されるように、また、上述したように、自己完結型フォーマット211または単純化フォーマット215に変換され、さらに、装置特定フォーマット219に変換される。
【0050】
実施例において、DRMシステム400は、インタープリタ・プロセス403を含む。該インタープリタ・プロセス403は、自己完結型フォーマット211による大量の権利表現207を処理可能である。自己完結型フォーマット211は、権利表現207の処理命令及びセマンティクスな意味を含み、それによって、インタープリタ・プロセス403の能力を改善することができる。したがって、パーソナル・コンピュータ405は、自己完結型フォーマット211による権利表現207を効率的に処理することができる。さらに、図4に示すように、単純化フォーマット215による権利表現207を、資源制約装置407へ送信してもよい。この実施例においては、資源制約装置は、シンタックスまたはセマンティクスな処理能力を持たない多目的装置である。
【0051】
ローカライザ・プロセス201及びディストリビュータ・プロセスは、図1に示されるコンピュータ・システム130に適用可能であり、一方、パーソナル・コンピュータ405、インタープリタ・プロセス403、単純化プロセス203、及び、トランスレータ・プロセス205は、図1に示されるクライアント環境120に適用可能である。しかしながら、ローカライザ・プロセス201、ディストリビュータ・プロセス401、インタープリタ・プロセス403、単純化プロセス203、及び、トランスレータ・プロセス205は、図1、図4、及び、図5に示されるデジタル権利管理システム上の種々の装置またはサブシステム上において実施され得る。
【0052】
実施例は、資源制約コンピューティング環境、サイズ制約(機能制約を含む)コンピューティング環境、及び、マルチ・プロセッサ・コンピューティング環境のような様々なコンピューティング環境にとって理想的な柔軟性のあるコンフィギュレーションを提供する。図5は、マルチプロセッサ機能を備えた一般的なデジタル権利管理システム500の概略図である。
【0053】
図5において、DRMシステム500は、権利表現207のバッチ501のような大量の権利表現207を処理するように構成される。プロセッサ505のプール503は、ローカライザ・プロセス201のそれぞれのプール507が権利表現207のバッチ501から自己完結型フォーマット211による権利表現207のバッチ509を生成するように構成される。自己完結型フォーマット211による権利表現207のバッチ509は、さらに、多重処理される。
【0054】
プロセッサ505のプール511は、単純化プロセス203及びトランスレータ・プロセス205のような次のプロセス515のそれぞれのプール513が単純化フォーマット215または装置特定フォーマット219のような別のフォーマット519による権利表現207のバッチ517を生成する。さらなる実施例においては、プロセッサ505のプール503、ローカライザ・プロセス201のプール507、プロセッサ505のプール511、及び、次のプロセス515のプール513は、図1、図4、及び、図5に示されるデジタル権利管理システム装置またはサブシステム上において実施し得る。
【0055】
実施例によれば、ローカライザ・プロセス201は、権利表現207を前処理して自己完結型フォーマット211による権利表現207を生成するように構成される。自己完結型フォーマット211は、非曖昧形式による権利表現207、権利表現207内で使用される1乃至それ以上のキーワード、エレメント、条件、及び、権利表現のセマンティクスな意味、及び、権利表現207を処理するための命令を含む。図6は、図1、図4、及び、図5に示されるデジタル権利管理システム装置及びサブシステム上において実施され得るローカライザ・プロセス201の概略図である。
【0056】
図6において、標準化プロセス601は、非曖昧形式による権利表現207を生成するために、シンタックス及びセマンティクス情報209の内のシンタックス情報607に基づいて、権利表現207内の潜在的な曖昧さを取り除く。さらに、標準化プロセス601は、以下により詳細に説明するように、非曖昧権利表現207を標準形式609に変換する。
【0057】
シンタックス及びセマンティクス情報209の内のセマンティクス情報611に基づいて、標準形式609による非曖昧権利表現207を処理し、処理結果613を生成するために、プリ・プロセッサ・プロセス603が、使用される。処理結果613は、非曖昧権利表現207、コンテクスト・テーブル、セマンティクス・テーブル、及び、処理命令を含む。フォーマッタ・プロセス605が、自己完結型フォーマット211による権利表現207を生成するために、処理結果613をパッケージし、処理する。
【0058】
自己完結型フォーマット211による権利表現207は、言語構文解析器、シンタックス及びセマンティクス・プロセッサのような外部資源を使用しなくても、権利表現207を効率的に処理することを可能にする、権利表現207のセマンティクスな意味及び権利表現207のための処理命令を含む。自己完結型フォーマット211による権利表現207は、XrMLのような元々のフォーマットの権利表現207に逆変換してもよい。自己完結型フォーマット211による権利表現207は、図4に示される資源制約装置407のように限られた記憶容量または処理能力を有するターゲット・コンピューティング環境において、権利表現207を処理する計算処理的負荷を軽減する。
【0059】
自己完結型フォーマット211は、バイナリ・フォーマットでもよい。しかしながら、適切なものであれば、その他のどのようなフォーマットでも自己完結型フォーマット211として使用されてよい。バイナリ・フォーマットが、権利表現207を配信するための自己完結型フォーマット211として使用される場合、権利表現207は、バイナリ変換アルゴリズムを用いて、デジタル署名されてもよい。
【0060】
バイナリ変換アルゴリズムは、例えば、元々のフォーマットによる権利表現207と自己完結型フォーマット211による権利表現207との間でデジタル署名を維持したまま、権利表現207をバイナリ・フォーマットに変換してもよい。コンテクスト・テーブル及びセマンティクス・テーブルは、ターゲット・コンピューティング環境において、事前に構築され、事前に定義され、あるいは、事前に記憶されていてもよく、それによって、権利表現情報を記憶するのを最適化することができる。
【0061】
標準化プロセス601は、権利表現207における何らかの曖昧さを除去するのに使用される。例えば、そのような曖昧さは、権利表現207に関してなされる様々な選択や、ある種の標準化を必要とする権利表現207によって生じるものである。
【0062】
標準化プロセス601は、非曖昧権利表現207を標準形式609に変換する。多くの言語ベース表現は、それらのそれぞれの言語によって許可されたシンタックスの変化に基づいて、それらの物理的な表現が変化するが、与えられたアプリケーション・コンテクスト内においては論理的に等価なものであり得る。以下のXMLエレメントは、それらのそれぞれの物理的な表現は異なっているが、論理的に等価なものである。
【0063】
<doc>
<e1 />
<e2 ></e2>
<e3 name="elem3" id="elem3" />
</doc>
and
<doc>
<e1></e1>
<e2/>
<e3 id="elem3" name="elem3"></e3>
</doc>
上記のXMLエレメントの標準形式は、
<doc>
<e1></e1>
<e2></e2>
<e3 id="elem3" name="elem3"></e3>
</doc>
である。
【0064】
したがって、標準化プロセス601は、与えられた権利表現言語のシンタックス及びセマンティクス情報209に基づいて、非曖昧権利表現207を標準形式609に変換するのに使用される。プリ・プロセッサ・プロセス603は、権利表現207によって使用されるコンテクストまたはネーム空間のコンテクスト・テーブルを組み立てるのに使用され、また、権利表現207を処理するための処理命令を生成するために、権利表現207において使用されるエレメントの意味を示すセマンティクス・テーブルを構成するために使用される。
【0065】
さらに、プリ・プロセッサ・プロセス603は、標準形式609による非曖昧権利表現207を、フォーマッタ・プロセス605によって生成されるターゲット自己完結型フォーマット211によってサポートされるフォーマット613に変換する。図7は、図6に示されるプリ・プロセッサ・プロセス603を説明するためのフローチャートである。プリ・プロセッサ・プロセス603は、標準形式609による非曖昧権利表現207を、例えば、ドキュメント・オブジェクト・モデル(DOM)・ツリー内に入れることができる。
【0066】
図7について説明する。ステップ701において、プリ・プロセッサ・プロセス603は、ステップ703〜ステップ713を含むノード処理プロセスを使用することによって、ドキュメント・ノードのそれぞれの子ノードを処理する。ステップ703において、入力ノードのネーム空間を、コンテクスト・テーブル内で探索する。ステップ705において、ネーム空間が、コンテクスト・テーブル内に見つからなければ、ステップ711において、新しいエントリが、次の利用可能なコンテクストIDを用いて、コンテクスト・テーブル内に生成される。
【0067】
一方、ステップ707において、セマンティクス・テーブル内の入力ノードのネームを探索し、ネーム空間が見つかれば、入力ノードのセマンティクス・タイプが決定される。ステップ709において、入力ノードのセマンティクス・タイプが、セマンティクス・テーブル内に見つからなければ、ステップ713において、新しいエントリが、エレメント・タイプ、エレメント・ネーム、コンテクストID、及び、次の有効なエレメントIDを用いて、セマンティクス・テーブル内に生成される。ステップ703〜ステップ713からなるノード処理プロセスは、対応する属性ノードを備えたノード処理プロセスを呼び出すことによって、エレメントの属性ごとに反復される。同様に、ステップ703〜ステップ713からなるノード処理プロセスは、対応するエレメント・ノードを備えたノード処理プロセスを呼び出すことによって、子エレメントごとに反復される。
【0068】
コンテクスト・テーブルは、コンテクストID、ネーム空間の長さ、及び、コンテンツのネーム空間のURI(Uniform Resource Identifier)すなわちネーム空間URIを含む。コンテクストIDは、権利表現207内におけるコンテクストのネーム空間の発生順序及び発生確率に基づいて、割り当てることができる。
【0069】
以下は、コンテクスト・テーブル、セマンティクス・テーブル、及び予め定義されたタイプ・テーブルを説明するための、歌を再生するためのXrMLベース形式のライセンスの第1の権利表現例である。
第1の権利表現例
<license xmlns=http://www.xrml.org/schema/2001/xrml2core
xmlns:sx=http://www.xrml.org/schema/2001/11/xrml2sx
xmlns:dsig=http://www.w3.org/2000/09/xmldsig#
xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance
xmlns:cx=http://www.xrml.org/schema/2001/11/xrml2cx
xmlns:cm=http://www.xrml.org/schema/2001/11/xrml2compactMusic
>
<grant>
<cm:device cmid="123"/>
<cx:play/>
<cm:music cmid="456"/>
</grant>
<cm:issuerDevice>
<cm:device cmid="024"/>
</cm:issuerDevice>
</license>
第1の権利表現例に基いた、コンテクスト・テーブルを表1に示す。
【0070】
【表1】
【0071】
表1に示されるように、バイナリ・フォーマットによるコンテクスト・テーブルは、第1の権利表現内のネーム空間URIエントリによって識別されるコンテクストの使用順序及び使用確率に基づいて割り当てられたコンテクストIDエントリ01〜03、及び、ネーム空間URIエントリによって識別されるコンテクストの長さエントリを含む。
【0072】
バイナリ・フォーマットによるセマンティクス・テーブルは、エレメントID、エレメント・タイプ、エレメント・ネーム、及び、コンテクストIDを含んでもよい。セマンティクス・テーブルのエレメントIDは、権利表現207内のエレメントの発生順序または発生確率に基づいて、割り当てられてもよい。
【0073】
第1の権利表現に基づくセマンティクス・テーブルの例を表2として示す。
【0074】
【表2】
【0075】
表2では、オプションとして、00から22までの値を有するエレメント・タイプがセマンティクス・テーブルに含まれるが、これを所定のタイプ・テーブル内に定義してもよい。したがって、表3に示すように、所与のエレメント・タイプに対する所与の定義値を含む所定のタイプ・テーブルを使用してもよい。
【0076】
【表3】
【0077】
表1〜表3に基づいて第1の権利表現を一般的なバイナリ・フォーマットに変換した例を以下に示す。
01 03 04 202103123 05 22 06 232103456 09 24 00 202103024
ここで、
01 <license>
03 <grant>
04 principal [Processing instruction]
2021030123 <cm:device cmid="123"/>
05 right [Processing instruction]
22 <cx:play>
06 resource [Processing instruction]
232103456 <cm:music cmid="456"/>
09 issuer [Processing instruction]
24 <cm:issuerDevice>
00 next level
2021030024 <cm:device cmid="024"/>
XrMLベース形式の、在庫リストを含むライセンスの第2の権利表現によるコンテクスト・テーブル及びセマンティクス・テーブルを示す。
第2の権利表現例
<license xmlns=http://www.xrml.org/schema/2001/11/xrml2core
xmlns:sx=http://www.xrml.org/schema/2001/11/xrml2sx
xmlns:dsig=http://www.w3.org/2000/09/xmldsig#
xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance
xmlns:cx=http://www.xrml.org/schema/2001/11/xrml2cx
>
<inventory>
<cx:digitalWork licensePartId="dvdMovie">
<cx:metadata>
<xml>
<cx:simpleDigitalWorkMetadata>
<cx:title>Air Force One</cx:title>
</cx:simpleDigitalWorkMetadata>
</xml>
</cx:metadata>
</cx:digitalWork>
</inventory>
<grant>
<keyHolder>
<info>
<dsig:KeyValue>
<dsig:RSAKeyValue>
</dsig:RSAKeyValue>
</dsig:KeyValue>
</info>
</keyHolder>
<cx:play/>
<cx:digitalWork licensePartIDRef="dvdMovie"/>
</grant>
</license>
第2の権利表現のコンテクスト・テーブルを、表4として示す。
【0078】
【表4】
【0079】
第2の権利表現に基づいたセマンティクス・テーブルの例を表5として示す。
【0080】
【表5】
【0081】
表3〜表5に基いてバイナリ・フォーマットに変換した第2の権利表現は以下のように記述することができる。
01 10 20 21 0022 0023 0024 00250313Air Force One 03 04 26 0027 0028 0029 05 30
06 12 20
ここで、
01 <license>
10 inventory definition [Processing instruction]
20 licensePartId="dvdMovie" <cx:digitalWorklicensePartId="dvdMovie">
21 <cx:digitalWork>
0022 next level <cx:metaData>
0023 next level <xml>
0024 next level <cx:simpleDigitalWorkMetadata>
00250313Air Force One next level <cx:title>Air Force One</cx:title>
03 <grant>
04 principal [Processing instruction]
26 <keyHolder>
0027 <info>
0028 <dsig:KeyValue>
0029 <dsif:RSAKeyValue>
05 rights [Processing instruction]
30 <cx:play>
06 resource [Processing instruction]
12 reference to
20 dvdMovie
権利表現207から標準形式609による非曖昧権利表現を生成するのに標準化プロセス601を使用できる。曖昧という用語は、権利表現内のあるエレメントが、デフォルト値を有するかもしれないこと、あるいは、解釈を推定することのできる値を有するかもしれないことを意味する。例えば、権利表現内のレート・エレメントは、米国ドル(USD)をデフォルトとする属性CurrencyCodeを含んでもよい。すなわち、50米ドルのレートは、以下のように表現することができる。
【0082】
<rate>50</rate>
上記のステートメントは、コンテクストが未知である場合には曖昧であるかもしれない。そのような曖昧さを除去するために、デフォルト値、推定値、及び、レート・エレメントを表現することのできる推定コンテクストを定めることができる。すなわち、上述の表現の非曖昧形式にレート・エレメントのための通貨属性を含ませて以下のように表現してもよい。
【0083】
<rate currency="USD">50</rate>
ローカライザ・プロセス201は、権利表現207を自己完結型フォーマット211に変換するのに使用される。変換には、一般的なバイナリ変換アルゴリズムを使用できる。図8A及び図8Bは、一般的なバイナリ変換アルゴリズムを説明するフローチャートである。
【0084】
図8Aについて説明する。ステップ801において、例えば、XrML、ドキュメント・ファイルのような権利表現ドキュメント・ファイルの形式による権利表現がリトリーブされる。ステップ803において、権利表現のシンタックスが、曖昧さを除去するために、確認される。そして、権利表現は、標準形式に変換される。
【0085】
例えば、多くの権利表現は、シンタックスの変化に基づいて、物理的な表現が変化し得るが、それでもなお、与えられたアプリケーション・コンテクスト内においては論理的に等価なものであり得る。したがって、権利表現は、標準形式に標準化され得る。実施例においては、同一の標準形式を備えた権利表現は、例えば、<http://www.w3.org/TR/2001/REC−xml−cl4n−20010315>から入手することのできる、ワールド・ワイド・ウェブ・コンソーシアム(W3C)、W3Cリコメンデーション(2001年3月15日)の標準化XMLバージョン1.0に説明されるアルゴリズムのような何らかの適切なアルゴリズムを用いて、論理的に等価なものとして構成され得る。
【0086】
ステップ803において、コンテクスト・テーブル及びセマンティクス・テーブルが、生成される。ステップ805において、権利表現は、例えば、対応するコンテクスト・テーブル及びセマンティクス・テーブルを用いて、バイナリ・フォーマットに変換される。
【0087】
実施例においては、ローカライザ・プロセス201を使用して権利表現ドキュメント・ファイルにおける選択可能なエレメント及び属性のためのデフォルト値を決定し、それによって、権利表現ドキュメントにおける曖昧さを除去することができる。図8Bは、セマンティクス・テーブルを生成するのに使用される図8Aに示されたステップ803をさらに詳細に説明する。
【0088】
図8Bについて説明する。ステップ811において、権利表現ドキュメントにおいて宣言されたネーム空間ごとにセマンティクス・テーブルが生成される。これにより、権利表現ドキュメントにおいて宣言されたネーム空間ごとのコンテクストが識別され、かつ、定義される。例えば、XrMLのような文法ベース言語のシンタックス及びセマンティクスは、多くの独立したスキームとして定義され得る。それぞれのスキームは、それ自身のキーワードセット及びそのキーワードのセマンティクスな意味を定義する。権利表現ドキュメントにおいて使用されたスキームに対してコンテクストIDが特定され、割り当てられる。
【0089】
ステップ813において、識別されたコンテクストには、権利表現ドキュメント内における発生順序及び発生確率に基づいて、コンテクストIDが割り当てられる。権利表現言語が、拡張可能なものであり、かつ、コアまたはベース言語から得られるものであれば、最初に使用されたコンテクストIDが、コア・テキストのエレメントが権利表現内のどこで使用されるかに関係なく、コア・コンテクストに割り当てられてもよい。しかしながら、コンテクストIDは、適切なものであれば、どのような順序で割り当てられてもよい。
【0090】
ステップ815において、ネーム空間ごとに、権利表現ドキュメント内で宣言されたエレメントごとのエレメントID、エレメント・タイプ、及び、エレメント・ネームが、識別され、かつ、割り当てられる。エレメントIDは、権利表現ドキュメント内のエレメントの発生順序及び発生確率に基づいて、割り当てられ、したがって、セマンティクス・テーブル内のそれぞれのエントリは、エレメントID、エレメント・タイプ、エレメント・ネーム、及び、コンテクストIDを含む。
【0091】
図9は、図2に示されたローカライザ・プロセス201のプリ・プロセッサ・プロセス603の概略図である。図9において、プロセス901〜907は、図8A及び図8Bを参照して説明したバイナリ変換アルゴリズムの1乃至それ以上のステップを実行する。バイナリ変換アルゴリズムは、また、XMLデジタル署名のようなデジタル署名に対してバイナリ変換を実行するのにも使用できる。変換された署名は、元々の署名のバイナリ表現であり、これにより元々の署名が維持される。さらに、バイナリ変換アルゴリズムを使用することによって、デジタル署名の完全性とセマンティクスな意味が維持される。
【0092】
自己完結型フォーマット211は、XML構文解析器のような資源から独立なので、処理速度及び伝送パフォーマンスを改善することができる。したがって、自己完結型フォーマット211は、限られた資源性能、処理能力、記憶容量、機能を有する多種多様なコンピューティング環境をターゲットに設定できる。
【0093】
権利表現エレメントのセマンティクスな意味は、XMLスキーム・ドキュメントのようなセマンティクス・ドキュメント内に記憶してもよい。権利表現は、デジタル署名してもよく、その署名は、権利表現を保護するのに使用され得る。しかしながら、セマンティクス・ドキュメントは、権利表現を含むドキュメントとは異なるドキュメントに保持してもよい。
【0094】
本発明は、セマンティクス・ドキュメントは、ハッキングされ、変更され得るという認識を含む。すなわち、デジタル署名された権利表現を処理し、評価し、検証するために付与された「意味」は、デジタル署名された権利表現の完全性を失って変更され得る。上述の及びその他の問題は、権利表現及びその権利表現のためのセマンティクスな意味を保護するためにデジタル署名を使用することによって、対応されかつ解決される。
【0095】
権利表現と当該権利表現のセマンティクスな意味とは別々のドキュメントやファイルとして、署名エンベロープと呼ばれるデジタル署名を使用してエンベロープドキュメント、ファイルに含ませてもよい。署名エンベロープは、権利表現ドキュメント及びセマンティクスな意味ドキュメントのためのフィンガープリント及びハッシュ値を含んでもよい。
【0096】
実施例においては、XMLデジタル署名のようなデジタル署名形式の署名エンベロープが権利表現ドキュメント及びセマンティクスな意味ドキュメントを保護するために使用される。権利表現ドキュメント及びセマンティクスな意味ドキュメントを保護するために使用可能な署名エンベロープは、以下のようなものである。
【0097】
<Signature>
<SignatureInfo…>
<CanonicalizationMethod>…</CanonicalizationMethod>
<SignatureMethod>…</SignatureMethod>
<Reference URI="Reference to Right expression">
…
<DigestValue>…</DigestValue>
</Reference>
<Reference URI="Reference to Semantics doc">
…
<DigestValue>…</DigestValue>
</Reference>
</SignatureInfo>
<SignatureValue>…</SignatureValue>
</Signature>
上記の署名エンベロープにおいて、<SignatureInfo...>エレメントは、署名エンベロープ情報を含み、<Reference URI="Reference to Right expression">エレメントは、権利表現ドキュメントへのポインタ、権利表現ドキュメントのフィンガープリント及びハッシュ値を含み、<Reference URI="Reference to Semantics doc">エレメントは、セマンティクスドキュメントのポインタ、フィンガープリント及びハッシュ値を含み、<SignatureValue>...</SignatureValue>エレメントは、署名エンベロープの署名を含む。
【0098】
権利表現のセマンティクスな意味及び権利表現は、バイナリ・ドキュメント、ファイルに含まれ、署名エンベロープは、エンベロープドキュメントに含まれてもよい。署名エンベロープは、権利表現及びその権利表現のセマンティクスな意味を含むバイナリ・ドキュメントのためのフィンガープリント及びハッシュ値を含んでもよい。
【0099】
バイナリ・ドキュメントを保護するために使用される署名エンベロープは、以下のようなものである。
【0100】
<Signature>
<SignatureInfo…>
<CanonicalizationMethod>…</CanonicalizationMethod>
<SignatureMethod>…</SignatureMethod>
<Reference URI="…">
<Transform Algorithm="XrML Binary"/>
<DigestValue>…</DigestValue>
</Reference>
</SignatureInfo>
<SignatureValue>…</SignatureValue>
</Signature>
上記の署名エンベロープにおいて、<Reference URI="..">エレメントは、バイナリ・ドキュメントへのポインタ、バイナリ・ドキュメントのフィンガープリント及びハッシュ値を含み、<Transform Algorithm="XrML Binary"/>エレメントは、一般的なバイナリ変換アルゴリズムが使用されることを指示し、<SignatureValue>...</SignatureValue>エレメントは、バイナリ・ドキュメントの署名を含む。
【0101】
実施例においては、権利表現インタープリタは、権利表現に基づいて、何らかの処理を実行する要求やドキュメントを閲覧したい旨の要求のような、結果として要求の許可をもたらすような要求を処理するように構成される。しかしながら、「要求」を使用することなく権利表現を処理するために、単純化プロセス203を使用してもよい。
【0102】
図10は、図1、図4、及び、図5に示されるデジタル権利管理システム上の装置及びサブシステム上で実施可能な単純化プロセス203の概略図である。図10において、権利表現207ドキュメント中の権利表現のセマンティクスな意味は、自己完結型フォーマット211内に含まれる。また、単純化プロセス203が、権利表現207を評価、削減して単純化フォーマット215を生成する。
【0103】
単純化プロセス203は、権利表現207ドキュメント内の権利表現を単純化する。そのような単純化は、権利表現のセマンティクスな意味を特定すること、ターゲット・コンピューティング環境の装置情報217に基づいて権利表現を評価すること、及び、権利状態情報213に基づいて権利表現のステータスを判定することを含む。
【0104】
剪定プロセス1001は、例えば、装置情報217に基づいて、権利表現207ドキュメントから、ターゲット・コンピューティング環境によって使用不能な1乃至複数の権利表現を剪定すなわち除去する。剪定プロセス1001は、ターゲット・コンピューティング環境によってサポートすることのできる被剪定形式1007による権利表現を生成するのに使用される。例えば、ターゲット・コンピューティング環境が、デジタル・コンテンツを印刷または再生することのできない携帯電話であれば、これらの機能に関係するすべてのエレメントが、剪定される。
【0105】
評価プロセス1003は、権利状態情報213、及び、必要であれば条件検証プロセス1007からの結果に基づいて、被剪定形式1007による権利表現内の特定の条件及びエレメントを評価する。評価プロセス1003は、剪定された権利表現1007から1つ乃至複数の条件及び権利表現を除外することによって、単純化形式1009による権利表現を生成する。例えば、ある条件が充足されており、かつ、それが将来失効することがないならば、そのような条件は、権利表現から剪定される。
【0106】
フォーマッタ・プロセス1005は、単純化された権利表現1009をフォーマット及び再フォーマットして単純化フォーマット215による権利表現207を生成する。単純化フォーマット215による権利表現207は、使用され、評価され、さもなければ、処理されるべき最低限の権利表現及び条件のみを含む。
【0107】
単純化プロセス203は、権利表現207ドキュメントまたは自己完結型フォーマット211による権利表現207ドキュメントを処理する。権利表現ドキュメントは、単純化プロセス203によって受信され、ローカライザ・プロセス201へ送られる。ローカライザ・プロセス201は、自己完結型フォーマット211による権利表現ドキュメントを単純化プロセス203へ返送してもよい。
【0108】
図11は、図10に示される単純化プロセス203を説明するフローチャートである。図11によれば、ステップ1101において、単純化プロセス203は、1乃至複数の権利表現を含む権利表現207ドキュメントを受信する。ステップ1103において、剪定プロセス1001は、被剪定形式1007による権利表現を生成するために、装置情報217に基づいて、権利表現の剪定を実行する。ステップ1103において、ターゲット・コンピューティング環境によって処理できない権利表現部分が、権利表現207ドキュメントから除去される。例えば、ターゲット・コンピューティング環境が、印刷することができなければ、印刷権が、権利表現207ドキュメントから除去される。
【0109】
ステップ1105において、評価プロセス1003が、剪定された権利表現1007を処理し、評価のためにいくつかの条件を抽出する。評価プロセス1003は、単純化された権利表現1009を生成するために、抽出された条件を、権利状態情報213に基づいて評価する。
【0110】
ステップ1107において、フォーマッタ・プロセス1005は、単純化された権利表現1009を、単純化フォーマット215による権利表現207に変換する。単純化フォーマット215による権利表現207ドキュメントは、最低限の権利表現及び条件を含み、それらの最低限の権利表現及び条件は、後に評価され、権利表現207ドキュメント、ファイル、及び、それらに類似するものの中に存在する1つかまたはそれ以上の権利を行使する許可をユーザ、装置、または、システムに与える。
【0111】
図12A及び図12Bは、図10に示した剪定プロセス1001及び評価プロセス1003をさらに詳細に説明するフローチャートであり、図12Aは、剪定プロセス1001に対応し、図12Bは、評価プロセス1003に対応する。図12Aのステップ1201では、自己完結型フォーマット211による権利表現207ドキュメント、ファイルが、リトリーブされる。
【0112】
ステップ1203において、権利表現207ドキュメントから、さらなる処理のために、一の権利表現が抽出され、ステップ1205において、抽出された権利表現が検証される。ステップ1207において、抽出された権利表現が、有効であると判定されたならば、抽出された権利表現は、さらなる処理のために、図12Bに示される一般的な評価プロセス1003へ転送される。ステップ1207において、抽出された権利表現が、無効であると判定されたならば、該権利表現は、権利表現207ドキュメントから除去され、ステップ1203で次の権利表現が処理される。
【0113】
図12Bについて説明する。ステップ1211では、もしあれば、有効な権利表現からある条件が抽出される。ステップ1213において、条件が有効な権利表現から抽出されたかどうかが判定され、条件が抽出されていなければ、有効な権利表現が、単純化された形式1009による権利表現として出力され、そして、図12Aのステップ1203において、次の権利表現が、処理される。条件が、有効な権利表現から抽出されていれば、ステップ1215において、一般的な評価プロセス1003が、抽出された条件を評価及び検証する。
【0114】
しかしながら、別の実施形態においては、条件検証プロセス1007が、抽出された条件を評価及び検証するのに使用される。評価プロセス1003は、1つかまたはそれ以上の抽出された条件を、1つかまたはそれ以上の条件検証プロセス1007へ送信または転送する。評価プロセス1003及び/または条件検証プロセス1007によって判定された、抽出条件に対する評価結果は、真の値、偽の値、あるいは、評価不可値を含み得る。
【0115】
ステップ1217において、抽出された条件を評価することができなければ、ステップ1225において、抽出された条件が、対応する有効な権利表現内に維持され、そして、ステップ1211において、次の条件が、処理される。ステップ1217において、抽出された条件を評価することができ、かつ、ステップ1219による条件評価の結果が真であれば、抽出された条件は、対応する有効な権利表現から除去され、そして、ステップ1211において、次の条件が、処理される。ステップ1217において、抽出された条件を評価することができ、かつ、ステップ1219による条件評価の結果が偽であれば、有効な権利表現は、権利表現207ドキュメントから除去され、そして、図12Aのステップ1203において、次の権利表現が、処理される。
【0116】
単純化プロセス203は、権利表現内の有効な権利を判定し、有効な権利に付随する条件を評価し、評価することのできない条件を維持し、真の値を備えた評価結果を有する条件を有効な権利条件から除去し、偽の値を備えた評価結果を有する条件に対応する有効な権利を除去する。
【0117】
自己完結型フォーマット211は、バイナリ・フォーマット、またはバイナリ・フォーマットの変形を含み得る。この場合、コンテクスト・テーブルは、選択的であり、行使可能フォーマットと称する。行使可能フォーマットにおいては、コンテクストIDカラムは、セマンティクス・テーブルから除去される。コンテクスト・テーブル及び/またはセマンティクス・テーブルは、ターゲット・コンピューティング環境において、事前に構築され、定義され、記憶されていてもよい。このように、自己完結型フォーマット211は、さらに評価されなければならない権利表現を含み得るが、ここに、コンテクスト・テーブル及び/またはセマンティクス・テーブルは必ずしも必要ではない。
【0118】
行使可能フォーマットは、プラットフォーム中立であり、XrMLのようなネイティブなフォーマットやバイナリ・フォーマットよりずっとコンパクトである。通常、行使可能フォーマットによれば、権利表現のセマンティクスな意味を理解するための外部の権利解釈資源は不要である。なぜなら、権利表現のセマンティクスな意味は、すでに、決定され、解釈されているからである。
【0119】
さらに、行使可能フォーマットは、通常、権利表現を完全に処理するフルシステムを必要としない。なぜなら、シンプルな検証機能で、要求を許可することのできる十分な能力を有し、行使可能フォーマットから条件及びパラメータを読み込み、権利条件検証を配置及び起動できるからである。すなわち、行使可能フォーマットは、最も最適化されたフォーマットでありながら、なお、プラットフォーム独立であり、資源に制約のあるコンピューティング環境において使用可能で、高性能処理のための最も効率的なフォーマットである。
【0120】
権利表現207は、コンテクスト・テーブルを使用することなく、行使可能フォーマットに変換されてもよい。行使可能フォーマットは、権利表現のエレメントに矛盾が存在しない場合に使用可能で、ターゲット・コンピューティング環境は、権利表現中の権利コンテクストを理解することができる。コンテクスト・テーブル、及び、セマンティクス・テーブルのコンテクストIDカラムは、行使可能フォーマットとともに使用される必要はない。
【0121】
セマンティクス・テーブルをより詳細に説明するために、XrMLに基づいた、音楽再生用のライセンスの形式における第3の権利表現例を示す。
第3の権利表現例
<license xmlns=http://www.xrml.org/schema/2001/11/xrml2core
xmlns:sx=http://www.xrml.org/schema/2001/11/xrml2sx
xmlns:dsig=http://www.w3.org/2000/09/xmldsig#
xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance
xmlns:cx=http://www.xrml.org/schema/2001/11/xrml2cx
xmlns:cm=http://www.xrml.org/schema/2001/11/xrml2compactMusic
>
<grant>
<cm:device cmid="123"/>
<cx:play/>
<cm:music cmid="456"/>
<sx:validityIntervalFloating>
<sx:stateReference>
<cm:intervalKeeperkey="777">
<cm:device cmid="123"/>
</cm:intervalKeeper>
</sx:stateReference>
</sx:validityIntervalFloating>
</grant>
<cm:issuerDevice>
<cm:device cmid="024"/>
</cm:issuerDevice>
</license>
第3の権利表現例に基づいたセマンティクス・テーブルの例を表6として示す。
【0122】
【表6】
【0123】
表3及び表6に基づいて第3の権利表現を行使可能フォーマットに変換した例を以下に示す。
【0124】
01 02 04 202103123 05 22 06 232103456 08 24 0025 00262703777 09 28 00202103024
where,
01 <license>
02 <grant>
04 principal [processing instruction]
202103123 <cm:device cmid="123"/>
05 rights [processing instruction]
22 <cx:play>
06 resource [processing instruction]
232103456 <cm:music cmid="456"/>
08 condition
24 <sx:validityIntervalFloating>
0025 next level <sx:stateReference>
00262703777 next level <cm:intervalKeeperkey="777">
09 issuer [processing instruction]
28 <cm:issuerDevice>
00202103024 next level <cm:device cmid="024"/>
セマンティクス・テーブルは、ターゲット・コンピューティング環境において、事前に構築され、定義され、事前に記憶されていてもよい。このように、行使可能フォーマットは、さらに評価されなければならない権利表現を含むが、必ずしもセマンティクス・テーブルを含まなくてもよい。
【0125】
権利表現を単純化フォーマット211に変換することによって、XrMLのようなネイティブなフォーマットによる権利表現よりも、より効率的でコンパクトなフォーマットが使用できる。しかしながら、プラットフォーム独立を必要としない、装置が一のプラットホームの一部であるホモジーニアスなコンピューティング環境においては、さらなる最適化が、なされ得る。
【0126】
トランスレータ・プロセス205は、装置、コンポーネント、アプリケーション、機能、システム、プラットフォームを備え、単純化フォーマット211を装置特定フォーマット219に変換する責任を果たす。単純化フォーマット211は、ターゲット・コンピューティング環境に特定なものである、ターゲット・コンピューティング環境においてより効率的に消費される。
【0127】
装置特定フォーマット219による権利表現は、装置ごとに変化するが、一般的には、権利表現の範囲内において権利を行使する要求を許可するために検証されるべき条件及び実行されるべき処理命令のリストを含むデータ構造を有する。トランスレータ・プロセス205が権利表現207を変換して生成した装置特定フォーマット219は、グリフに基づいたフォーマット、プロファイルに基づいたフォーマット、テンプレートに基づいたフォーマット等であり、例えば、MP3装置、セット・トップ・ボックスのような特定の装置によって処理可能なフォーマットである。
【0128】
実施例において、ターゲット・コンピューティング環境は、Prolog(PROgramming in LOGic)言語のようなプログラミング言語を実行するように構成され、ここで、権利表現は、例えば、"アリスは、123456によって識別されるビデオを5回まで鑑賞することができる"ことを規定するように構成される。権利表現は、Prologトランスレータによって、例えば以下のようなProlog表現に変換される。
【0129】
(1) Principal("Alice"),
(2) Video("123456"),
(3) View(p,r),
(4) Principal(p),
(5) Video(r),
(6) Count(5).
しかしながら、ターゲット・コンピューティング環境は、以下のように記述されたデータ構造を使用するように構成されてもよい。
【0130】
Struct
{
Rights: byte; //01:View, 02:Print…
Principal:char[20];
ConditionList;
}
ConditionList
{
Number of condition: 2 byte integer
{
ConditionID: 1 byte; //01 Flat Fee, 02 MaxCount
ConditionValue: 4 byte integer
}
}
また、権利表現は、トランスレータ・プロセス205によって、ターゲットであるPrologコンピューティング環境に向けて、以下のようなバイトストリームに変換してもよい。
【0131】
1Alice 01020005
バイナリ・フォーマットは、XrMLドキュメントの権利表現、及び、権利表現において使用されるエレメントのセマンティクスな意味を含んでもよい。バイナリ・フォーマットによる権利表現の構造は、ネイティブなXMLのようなXrMLドキュメント内の権利表現の構造に類似してもよい。
【0132】
バイナリ・フォーマットのバイナリ構造は、XML資源及びXML構文解析器のような外部資源を必要とすることなく、何らかの適切なアプリケーション、装置、システム、プラットフォームによって処理可能である。権利表現のエレメントのセマンティクスな意味は、バイナリ・フォーマット内に含まれ得るから、権利表現の意味を解釈するためにXMLスキーマは必ずしも使用されなくてもよい。
【0133】
XrMLフォーマットによる権利表現と比較すれば、バイナリ・フォーマットによる権利表現は、プラットフォーム中立またはプラットフォーム独立である。さらに、バイナリ・フォーマットによる権利表現を使用する場合は、従来のフォーマットによる権利表現の意味を処理及び解釈するのに必要とされるXML構文解析器及びスキーマ構文解析器のような外部資源をあまり必要としないために、処理能力が増大する。
【0134】
バイナリ変換アルゴリズムをデジタル署名に対して適用し、XrMLドキュメントのようなオリジナルのドキュメントとバイナリ・フォーマットによるバイナリ・ドキュメントとの間でデジタル署名を維持して、オリジナルドキュメントの完全性を保証するようにしてもよい。
【0135】
図13は、バイナリ・フォーマットの構造1300の概略図である。図13の実施例において、バイナリ・フォーマットによるファイルは、Prolog部分1301、コンテクスト・テーブル部分1303、セマンティクス・テーブル部分1305、権利表現部分1307、及び、署名テーブル部分1309を含む。しかしながら、署名テーブル部分1309は、署名テーブル部分1309情報を提供することによって、他の部分1301〜1307に対する冗長な情報として、ファイルから除去してもよい。
【0136】
Prolog部分1301は、バージョン番号、ベンダーに関する情報、及び、オリジナルのドキュメントのIDなど、バイナリ・フォーマットに関する情報を含む。さらに、Prolog部分1301は、マジック・ナンバー領域を含む。このマジック・ナンバーは、ファイルのフォーマットを示すものであり、フォーマットとは、例えば、行使可能フォーマット、バイナリ・フォーマット、及び、コンテクスト・テーブル及びセマンティクス・テーブルを除去可能な最適化されたバイナリ・フォーマット等である。Prolog部分1301は、さらに、ファイル内のフォーマットのバージョン番号を指示するためのバージョン・ナンバー領域、ファイル内のコンテクスト・テーブルへのポインタを含む第1のポインタ領域、ファイル内のセマンティクス・テーブルへのポインタを含む第2のポインタ領域、及び、ファイル内の権利表現へのポインタを含む第3のポインタ領域を含む。
【0137】
コンテクスト・テーブル部分1303は、オリジナルドキュメントにおいて使用されるネーム空間のコンテクスト・テーブルを含む。さらに、コンテクスト・テーブル部分1303は、コンテクストIDを含むネーム空間ごとに1つのエントリを備えて構成し、それは、ネーム空間ごとに固有の識別情報を含む。コンテクストIDは、対応するコンテクストのオリジナルドキュメント内のエレメントの発生に基づいて割り当てられる。権利表現言語が、拡張可能なものであり、かつ、コア言語またはベース言語から得ることができる場合、第1のコンテクストIDが、コア・コンテクストのエレメントが元々のドキュメント内のどこに使用されるかに関係なく、コア・コンテクストに割り当てられる。コンテクスト・テーブル部分1303は、さらに、ネーム空間の長さを規定するためのネーム空間URIの長さ、及び、ネーム空間及びコンテクストを特定するためのネーム空間URIを含む。
【0138】
セマンティクス・テーブル部分1305は、ネーム空間ごとに1つのセマンティクス・テーブルを含む。セマンティクス・テーブルは、権利表現において使用されるネーム空間のエレメントごとの情報を含む。さらに、セマンティクス・テーブル部分1305は、権利表現において使用されるネーム空間のエレメントごとの情報を含むように構成される。さらに、セマンティクス・テーブル部分1305は、エレメントに割り当てられた固有のIDであるエレメントIDを含む、エレメントごとに1つのエントリを備え、また、コア・エレメントに割り当てられた固定の複数のIDを備える。
【0139】
セマンティクス・テーブル部分1305は、エレメントのタイプを規定するためのエレメント・タイプを含む。予め定義されたエレメント・タイプが、表3のタイプ・テーブルに示されるように規定される。セマンティクス・テーブル部分1305は、スキーマ内に定義されたエレメントのネームを規定するためのエレメント・ネーム、及び、そのエレメントを含むネーム空間のコンテクストIDに対応するエレメント・コンテクストIDを含む。
【0140】
権利表現部分1307は、以下に記述されるような構造を備えた権利表現(RE)を含む。
【0141】
RE="seq"|["seq"]1…n
where,
"seq" ="type"|"specialType,"
"specialType" =[02|03]"length,""value,"
"length" =length of the "value" in bytes,
"value" =sequence of bytes,
"type" =id defined in the "pre-defined type table" except 02 and 03
上述の構造において、RE="seq"|["seq"]1...nは、権利表現がシーケンス"seq"、または、1つかまたはそれ以上のシーケンス群["seq"]1...nを含むことを示し、ここで、"seq"は"type"または"specialType"であり、"specialType"は予め定義されたタイプ・テーブルのタイプ02または03であり、"length"及び"value"を有し、ここで、"length"は、"value"のバイト単位での長さであり、"value"は、バイトのシーケンスであり、"type"は、予め定義されたタイプ・テーブルのIDであるが、属性及び値タイプであるID02及び03以外のものである。
【0142】
単純化フォーマット215としては、バイナリ・フォーマットや変形バイナリフォーマット等、種々のフォーマットがあり得る。ここでは、コンテクスト・テーブルはオプショナルであり、行使可能フォーマットと呼ばれる。さらに、コンテクスト・テーブルが単純化フォーマット215に含まれていない場合には、コンテクストIDカラムは、対応するセマンティクス・テーブルから省略してもよい。
【0143】
図14は、行使可能フォーマットの例としての構造1400の概略図である。図13において、バイナリ・フォーマットの構造1300は、Prolog部分1301、コンテクスト・テーブル部分1303、セマンティクス・テーブル部分1305、権利表現部分1307、及び、署名テーブル部分1309を含む。しかしながら、図14に示されるように、行使可能フォーマットは、Prolog部分1301、セマンティクス・テーブル部分1305、及び、権利表現部分1307で構成してもよい。したがって、上述したように、コンテクスト・テーブル部分1303及び署名テーブル部分1309を省略し、セマンティクス・テーブルからコンテクストIDカラムを省略することを除けば、構造1400は、構造1300と同じように構成されている。
【0144】
実施例によれば、トランスレータ・プロセス205が権利表現を翻訳した装置特定フォーマット219には、グリフに基づいたフォーマット、プロファイルに基づいたフォーマット、テンプレートに基づいたフォーマット、Prologプログラムに基づいたフォーマット、及び、MP3装置、セット・トップ・ボックスのような特有の装置によって処理されるフォーマットを含む。
【0145】
権利表現のエンコードにはシンボリック表現を使用してもよい。シンボリック表現は、グリフに基づいたグラフィカル表現、及び、変調または変化する光信号または音信号に基づくような、変調または変化する信号に基づいた表現を含んでもよい。したがって、権利表現のシンボリック表現は、星形構造、四角形構造、長方形構造、円形構造、三角形構造、あるいは、それらの一部分を含む構造に基づいたグリフ構造に基づいて、符号化され、取り出されてもよい。同様に、権利表現は、何らかの適切な周波数及び振幅を用いて、変調または変化する信号、光、音、一連の音、光パルスに基づいて、符号化し、取り出してもよく、紫外線、X線、マイクロ波、電磁波を含み、レーザ、変調または重畳された情報、異なる色または波長、及び、電界または磁界の変化を使用する。
【0146】
図15は、トランスレータ・プロセス205によってグリフのようなシンボルに基づいて生成された権利表現207のシンボリック表現を示す。図15において、シンボリック表現は、星形構造に基づいたグリフ構造から取り出され、そして、権利表現207を表現する。実施例においては、星形構造から得られるシンボル1501〜1504は、赤、緑、及び、青(RGB)の色空間から取り出される。すなわち、星形構造のシンボル1501〜1504は、赤(R)、緑(G)、及び/または、青(B)である色を含む。したがって、色の組み合わせをしない基本的な場合においては、12個のシンボル(4つのシンボル×3つの色)を生成することができる。しかしながら、メンバーまたはシンボルの数を増やすために、図15に示されるように、重なり合った色を有する合成シンボル1511〜1519を生成することもできる。
【0147】
最大で12個すべての異なる色のシンボルを、物理的な位置において重なり合い、可能性として、星形のそれぞれの部分ごとに様々な色または色の組み合わせで星形構造の一部または全部を構成するように、組み合わせることができる。結果として得られた合成シンボル1511の水平シンボル1501の色は、緑のシンボルと赤のシンボルとの組み合わせ1501によるものである。図15に示されるように、様々な色を組み合わせたシンボル1501〜1504が、合成シンボル1511〜1519を生成するのに使用され得る。
【0148】
図15のシンボル・セットにおける合成シンボルの数は、空白をシンボルとみなさないと仮定すれば、例えば、(212−1)すなわち4095であり得る。多くの合成シンボルを選択することができるので、それに対応して、文法、言語に関する情報のような、権利表現に使用される情報についての複雑かつ広範囲にわたるシンボリック表現を生成することができる。
【0149】
図15に示されるように、権利表現207は、電子書籍にアクセスするための期限日を表現してもよく、そして、合成シンボル・セットを用いて表現されてもよい。図15において、シンボル1511〜1519は、データベースにおいて、特定の作家による小説を指示する書籍識別(ID)番号が245であり、かつ、アクセス期限日が2003年7月12日である場合の権利表現207を表現する。
【0150】
第1の合成シンボル1511は、語句「書籍(または、資源)識別番号」を表現し、第2の合成シンボル1513は整数「245」を表現し、第3の合成シンボル1515は語句「アクセス/期限日」を表現し、第4の合成シンボル1517は月及び日(「7月12日」または7−12)を表現するのに使用し、第5の合成シンボル1519は年「2003」を表現する。さらに、1つかまたはそれ以上の、例えばグリフのようなシンボルを用いて、何らかの適切な権利表現を行ってもよい。
【0151】
権利表現に関する情報を伝達する使用されるグリフ、シンボル、語、メッセージは、光、音、一連の音、光パルス等でも良く、何らかの適切な周波数、振幅を用いて符号化されてもよく、紫外線、X線、マイクロ波、電磁波であってもよく、レーザ、変調または重畳された情報、様々な色または波長、電界または磁界の変化であってもよい。
【0152】
何らかの適切な一連のグリフ、シンボル、語、メッセージは、送信されるメッセージに意味を提供するそれら自身の文法、ルールを有する。人の耳または目が感知することのできない周波数範囲に存在する音または光が、セキュリティ・アプリケーション、プライバシー・アプリケーションの実行中に、グリフ、シンボル、語、メッセージを送信するのに使用されてもよい。このようにして、送信されるメッセージは、ユーザに対してトランスペアレントなものにされてもよいが、それと同時に、適切なセンサー、検出器によって、リトリーブされ、理解されなければならない。グリフ、シンボル、語、メッセージは、感知された情報、メッセージを、数値、ビット、バイト、または、その他の方法に基づいて、量子化し、デジタル化し、表現することができる限り、何らかの適切な人または機械の感知器官または感知装置を用いて表現されてもよい。
【0153】
トランスレータ・プロセス205が権利表現207を変換して生成する装置特定フォーマット219は、プロファイルに基づいたフォーマットやテンプレートに基づいたフォーマットを含んでもよい。特定の歌を特定の装置上で再生するように規定された使用権を譲渡するライセンスの権利表現は、例えば、以下のように表わされる。
【0154】
<license>
<grant>
<cm:device cmid="123"/>
<cx:play/>
<cm:music cmid="456"/>
</grant>
<cm:issuerDevice>
<cm:device cmid="024"/>
</cm:issuerDevice>
</license>
そして、トランスレータ・プロセス205は、ライセンス中の変数が除去されたテンプレート、プロファイル、及び、それらに類似するものを装置特定フォーマット219として生成する。
【0155】
<license>
<grant>
<cm:device cmid=""/>
<cx:play/>
<cm:music cmid=""/>
</grant>
<cm:issuerDevice>
<cm:device cmid=""/>
</cm:issuerDevice>
</license>
図1、図4、及び、図5に示されるデジタル権利管理システム装置及びサブシステムは、通信ネットワーク170を介して通信してもよく、また、開示された実施例の機能を実行することのできる何らかの適切なサーバ、ワークステーション、パーソナル・コンピュータ(PC)、ラップトップ・コンピュータ、PDA、インターネット機器、セット・トップ・ボックス、モデム、ハンドヘルド・デバイス、電話、携帯電話、無線装置、資源制約装置、または、その他の装置を含んでもよい。図1、図4、及び、図5に示されるデジタル権利管理システム装置及びサブシステムは、何らかの適切なプロトコルを用いて、互いに通信してもよく、また、汎用コンピュータ・システムを用いて実施されてもよい。何らかのインタフェース機構が、インターネット・アクセス、音声、モデムのような何らかの適切な形態を有するテレコミュニケーション、無線通信媒体を含む図1、図4、及び、図5に示されるデジタル権利管理システムにおいて使用されてもよい。通信ネットワーク170は、無線通信ネットワーク、セルラー通信ネットワーク、衛星通信ネットワーク、公衆交換電話網(PSTN)、パケット・データ・ネットワーク(PDN)、インターネット、イントラネット、ハイブリッド通信ネットワーク、それらを組み合わせたものを含んでもよい。さらに、通信ネットワーク170は、単一かまたは異なるネットワークであってもよい。
【0156】
図1、図4、及び、図5のデジタル権利管理システム100は、説明のための例であることを理解すべきである。なぜなら、開示された実施例を実施するために使用される特定のハードウェアの多くの変形が可能だからである。図1、図4、及び、図5に示されるデジタル権利管理システム装置及びサブシステムの機能は、種々のプログラムされたコンピュータ・システムまたは装置によって実施され得る。そのような変形実施をするために、単一のコンピュータ・システムが、図1、図4、及び、図5に示されるデジタル権利管理システム装置及びサブシステムの特殊目的機能を実行するようにプログラムされてもよい。他方において、複数のプログラムされたコンピュータ・システムまたは装置が、図1、図4、及び、図5に示されるデジタル権利管理システム装置及びサブシステムのいずれか1つと置き換えられてもよい。したがって、また、冗長、反復のような分散処理の原理及び利点が、図1、図4、及び、図5に示されるデジタル権利管理システムのロバスト性及び能力を増大させるために実施され得る。
【0157】
図1〜図15を参照して説明したような図1、図4、及び、図5に示されるデジタル権利管理システムは、ここで説明した様々なプロセスに関係する情報を記憶するのに使用され得る。この情報は、図1、図4、及び、図5に示されるデジタル権利管理システムの装置及びサブシステムのハードディスク、光ディスク、光磁気ディスク、RAMのような記憶装置に記憶され得る。図1、図4、及び、図5に示されるデジタル権利管理システム装置及びサブシステム上のデータベースが、実施例を実施するために使用される情報を記憶してもよい。データベースは、種々の記憶装置に含まれる、レコード、テーブル、アレイ、フィールド、グラフ、ツリー、リストのようなデータ構造を用いて編成されてもよい。
【0158】
図1〜図15を参照して説明したようなデジタル権利管理システムは、開示された実施例の教示に基づいてプログラムされた汎用コンピュータ・システム、マイクロプロセッサ、デジタル信号プロセッサ、マイクロ・コントローラを用いて、実施されてもよい。この分野の通常の知識を有するプログラマーは、開示された実施例の教示に基づいて、適切なソフトウェアを容易に製作することができる。さらに、図1、図4、及び、図5に示されるデジタル権利管理システムは、特定用途向けICを製作することによって、あるいは、要素回路からなる適切な回路網を互いに接続することによって、実施されてもよい。
【0159】
ここで説明される実施例は、オフライン・システム、オンライン・システムとして、また、TVアプリケーション、コンピュータ・アプリケーション、DVDアプリケーション、VCRアプリケーション、機器アプリケーション、CDプレーヤー・アプリケーションのようなアプリケーションとして、使用されてもよい。さらに、実施例のグリフ、シンボル、語、メッセージを送信するのに使用される信号は、人の可視スペクトルの範囲内において、人の可聴スペクトルの範囲内において、人の可視スペクトルの範囲外において、人の可聴スペクトルの範囲外において、それらを組み合わせた範囲において、送信されるように構成されてもよい。
【0160】
XrML、XMLを使用することによって、実施例を説明したが、実施例は、そのようなものに限定されるのではなく、XrMLまたはXMLに基づくものであろうとなかろうと、何らかの適切な文法、言語によって実施されてもよい。
【0161】
いくつかの実施形態及び具体例に関して本発明を説明したが、本発明は、それらに限定されるのではなく、様々な変形及び等価な構成を含み、それらは、添付の特許請求の範囲に規定される。
【符号の説明】
【0162】
100 DRMシステム
110 起動サーバ
120 クライアント環境
130 コンピュータ
140 ライセンス・サーバ
150 ウェブ・サーバ
160 決済機関
170 通信ネットワーク
【特許請求の範囲】
【請求項1】
アイテムの使用権または使用方法を規定する権利表現に基づいて該アイテムの使用を制御するシステムにおいて使用する該アイテムに関連する該権利表現を処理する方法であって、
元々のフォーマットの権利表現であって、装置における前記アイテムの使用を制御するための権利表現を該装置によって受信し、
前記権利表現の状態、およびコンピュータ環境の装置情報に基づいて、前記権利表現の中間フォーマットを前記装置によって生成する方法であって、
前記中間フォーマットは前記コンピュータ環境における前記アイテムの使用を制御するためのものである、
方法。
【請求項2】
前記中間フォーマットは、前記コンピュータ環境において行使されるべきでない条件を含まない請求項1に記載の方法。
【請求項3】
シンタックス情報またはセマンティクス情報を処理する能力を持たない、資源が制約されたコンピュータ環境による前記権利表現の行使に、前記中間フォーマットを使用する請求項1に記載の方法。
【請求項4】
前記中間フォーマットが、コンピュータ環境ごとに異なる装置特定フォーマットを含む、請求項1に記載の方法。
【請求項5】
前記中間フォーマットが、行使可能フォーマットである前記権利表現のバイナリ表現の自己完結型フォーマットを含む、請求項1に記載の方法。
【請求項6】
前記権利表現から、前記コンピュータ環境上で行使されるべきでない条件を除去することにより、前記自己完結型フォーマットを単純化フォーマットに変換することを含む、単純化プロセス、
をさらに含む請求項5に記載の方法。
【請求項7】
前記単純化プロセスが、
除去されない条件を、行使可能フォーマットであるバイナリ表現に変換する、ことを含む、
請求項6に記載の方法。
【請求項8】
前記装置特定フォーマットが、行使可能フォーマットである前記権利表現のバイナリ表現を含む、請求項4に記載の方法。
【請求項9】
アイテムの使用権または使用方法を規定する権利表現に基づいて該アイテムの使用を制御するシステムにおいて使用する該アイテムに関連する該権利表現を処理するシステムであって、
元々のフォーマットの権利表現であって、装置における前記アイテムの使用を制御するための権利表現を受信する手段と、
前記権利表現の状態、およびコンピュータ環境の装置情報に基づいて、前記権利表現の中間フォーマットを生成する手段と、
を備え、
前記中間フォーマットは前記コンピュータ環境における前記アイテムの使用を制御するためのものである、
システム。
【請求項10】
前記中間フォーマットは、前記コンピュータ環境において行使されるべきでない条件を含まない請求項9に記載のシステム。
【請求項11】
シンタックス情報又はセマンティクス情報を処理する能力を持たない資源が制約されたコンピュータ環境による前記権利表現の行使に、前記中間フォーマットを使用する請求項9に記載のシステム。
【請求項12】
前記中間フォーマットが、コンピュータ環境ごとに異なる装置特定フォーマットを含む、請求項9に記載のシステム。
【請求項13】
前記中間フォーマットが、行使可能フォーマットである前記権利表現のバイナリ表現の自己完結型フォーマットを含む、請求項9に記載のシステム。
【請求項14】
前記権利表現から、前記コンピュータ環境上で行使されるべきでない条件を除去することにより、前記自己完結型フォーマットを単純化フォーマットに変換することを含む、単純化プロセスを実行する手段、
をさらに含む、請求項13に記載のシステム。
【請求項15】
前記単純化プロセスを実行する手段が、
除去されない条件を、行使可能フォーマットであるバイナリ表現に変換する手段、
を含む、請求項14に記載のシステム。
【請求項16】
前記装置特定フォーマットが、行使可能フォーマットである前記権利表現のバイナリ表現を含む、請求項12に記載のシステム。
【請求項1】
アイテムの使用権または使用方法を規定する権利表現に基づいて該アイテムの使用を制御するシステムにおいて使用する該アイテムに関連する該権利表現を処理する方法であって、
元々のフォーマットの権利表現であって、装置における前記アイテムの使用を制御するための権利表現を該装置によって受信し、
前記権利表現の状態、およびコンピュータ環境の装置情報に基づいて、前記権利表現の中間フォーマットを前記装置によって生成する方法であって、
前記中間フォーマットは前記コンピュータ環境における前記アイテムの使用を制御するためのものである、
方法。
【請求項2】
前記中間フォーマットは、前記コンピュータ環境において行使されるべきでない条件を含まない請求項1に記載の方法。
【請求項3】
シンタックス情報またはセマンティクス情報を処理する能力を持たない、資源が制約されたコンピュータ環境による前記権利表現の行使に、前記中間フォーマットを使用する請求項1に記載の方法。
【請求項4】
前記中間フォーマットが、コンピュータ環境ごとに異なる装置特定フォーマットを含む、請求項1に記載の方法。
【請求項5】
前記中間フォーマットが、行使可能フォーマットである前記権利表現のバイナリ表現の自己完結型フォーマットを含む、請求項1に記載の方法。
【請求項6】
前記権利表現から、前記コンピュータ環境上で行使されるべきでない条件を除去することにより、前記自己完結型フォーマットを単純化フォーマットに変換することを含む、単純化プロセス、
をさらに含む請求項5に記載の方法。
【請求項7】
前記単純化プロセスが、
除去されない条件を、行使可能フォーマットであるバイナリ表現に変換する、ことを含む、
請求項6に記載の方法。
【請求項8】
前記装置特定フォーマットが、行使可能フォーマットである前記権利表現のバイナリ表現を含む、請求項4に記載の方法。
【請求項9】
アイテムの使用権または使用方法を規定する権利表現に基づいて該アイテムの使用を制御するシステムにおいて使用する該アイテムに関連する該権利表現を処理するシステムであって、
元々のフォーマットの権利表現であって、装置における前記アイテムの使用を制御するための権利表現を受信する手段と、
前記権利表現の状態、およびコンピュータ環境の装置情報に基づいて、前記権利表現の中間フォーマットを生成する手段と、
を備え、
前記中間フォーマットは前記コンピュータ環境における前記アイテムの使用を制御するためのものである、
システム。
【請求項10】
前記中間フォーマットは、前記コンピュータ環境において行使されるべきでない条件を含まない請求項9に記載のシステム。
【請求項11】
シンタックス情報又はセマンティクス情報を処理する能力を持たない資源が制約されたコンピュータ環境による前記権利表現の行使に、前記中間フォーマットを使用する請求項9に記載のシステム。
【請求項12】
前記中間フォーマットが、コンピュータ環境ごとに異なる装置特定フォーマットを含む、請求項9に記載のシステム。
【請求項13】
前記中間フォーマットが、行使可能フォーマットである前記権利表現のバイナリ表現の自己完結型フォーマットを含む、請求項9に記載のシステム。
【請求項14】
前記権利表現から、前記コンピュータ環境上で行使されるべきでない条件を除去することにより、前記自己完結型フォーマットを単純化フォーマットに変換することを含む、単純化プロセスを実行する手段、
をさらに含む、請求項13に記載のシステム。
【請求項15】
前記単純化プロセスを実行する手段が、
除去されない条件を、行使可能フォーマットであるバイナリ表現に変換する手段、
を含む、請求項14に記載のシステム。
【請求項16】
前記装置特定フォーマットが、行使可能フォーマットである前記権利表現のバイナリ表現を含む、請求項12に記載のシステム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8A】
【図8B】
【図9】
【図10】
【図11】
【図12A】
【図12B】
【図13】
【図14】
【図15】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8A】
【図8B】
【図9】
【図10】
【図11】
【図12A】
【図12B】
【図13】
【図14】
【図15】
【公開番号】特開2011−150717(P2011−150717A)
【公開日】平成23年8月4日(2011.8.4)
【国際特許分類】
【出願番号】特願2011−51399(P2011−51399)
【出願日】平成23年3月9日(2011.3.9)
【分割の表示】特願2003−577197(P2003−577197)の分割
【原出願日】平成15年3月14日(2003.3.14)
【出願人】(500470703)コンテントガード ホールディングズ インコーポレイテッド (54)
【氏名又は名称原語表記】ContentGuard Holdings, Inc.
【Fターム(参考)】
【公開日】平成23年8月4日(2011.8.4)
【国際特許分類】
【出願日】平成23年3月9日(2011.3.9)
【分割の表示】特願2003−577197(P2003−577197)の分割
【原出願日】平成15年3月14日(2003.3.14)
【出願人】(500470703)コンテントガード ホールディングズ インコーポレイテッド (54)
【氏名又は名称原語表記】ContentGuard Holdings, Inc.
【Fターム(参考)】
[ Back to top ]