(57)【特許請求の範囲】
【請求項１】
コンピュータ環境におけるアイテムの使用権または使用方法を規定する権利表現に基づいて該アイテムの使用を制御するシステムにおいて使用する該アイテムに関連する該権利表現を処理する方法であって、
文法ベース言語で記述された元々のフォーマットの権利表現を第１の装置によって特定し、
前記元々のフォーマットに関連するシンタックス情報及びセマンティクス情報の少なくとも一つに基づいて、前記権利表現の中間フォーマットを第２の装置によって生成する方法であって、前記中間フォーマットは、シンタックス情報及びセマンティクス情報を使用せずに前記コンピュータ環境上において実行可能な自己完結型フォーマットまたは前記コンピュータ環境上において実行されるべきでない条件が除去された単純化フォーマットを含む、方法。
【請求項２】
シンタックス情報またはセマンティクス情報を処理する能力を持たない、資源が制約されたコンピュータ環境による前記権利表現の行使に、前記中間フォーマットを使用する請求項１に記載の方法。
【請求項３】
前記中間フォーマットが、コンピュータ環境ごとに異なる装置特定フォーマットを含む、請求項１に記載の方法。
【請求項４】
前記自己完結型フォーマットが、行使可能フォーマットである前記権利表現のバイナリ表現を含む、請求項１に記載の方法。
【請求項５】
前記権利表現から、前記コンピュータ環境上で行使されるべきでない条件を除去することにより、前記自己完結型フォーマットを単純化フォーマットに変換することを含む、単純化プロセス、
をさらに含む請求項１に記載の方法。
【請求項６】
前記単純化プロセスが、
除去されない条件を、行使可能フォーマットであるバイナリ表現に変換する、ことを含む、請求項５に記載の方法。
【請求項７】
前記装置特定フォーマットが、行使可能フォーマットである前記権利表現のバイナリ表現を含む、請求項３に記載の方法。
【請求項８】
コンピュータ環境におけるアイテムの使用権または使用方法を規定する権利表現に基づいて該アイテムの使用を制御するシステムにおいて使用する該アイテムに関連する該権利表現を処理するシステムであって、
文法ベース言語で記述された元々のフォーマットの権利表現を特定する手段と、
前記元々のフォーマットに関連するシンタックス情報及びセマンティクス情報の少なくとも一つに基づいて、前記権利表現の中間フォーマットを生成する手段と、
を備え、
前記中間フォーマットは、シンタックス情報及びセマンティクス情報を使用せずに前記コンピュータ環境上において実行可能な自己完結型フォーマットまたは前記コンピュータ環境上において実行されるべきでない条件が除去された単純化フォーマットを含む、システム。
【請求項９】
シンタックス情報又はセマンティクス情報を処理する能力を持たない資源が制約されたコンピュータ環境による前記権利表現の行使に、前記中間フォーマットを使用する請求項８に記載のシステム。
【請求項１０】
前記中間フォーマットが、コンピュータ環境ごとの装置特定フォーマットを含む、請求項８に記載のシステム。
【請求項１１】
前記自己完結型フォーマットが、行使可能フォーマットである前記権利表現のバイナリ表現を含む、請求項８に記載のシステム。
【請求項１２】
前記権利表現から、前記コンピュータ環境上で行使されるべきでない条件を除去することにより、前記自己完結型フォーマットを単純化フォーマットに変換することを含む、単純化プロセスを実行する手段、
をさらに含む、請求項８に記載のシステム。
【請求項１３】
前記単純化プロセスを実行する手段が、
除去されない条件を、行使可能フォーマットであるバイナリ表現に変換する手段、
を含む、請求項１２に記載のシステム。
【請求項１４】
前記装置特定フォーマットが、行使可能フォーマットである前記権利表現のバイナリ表現を含む、請求項１０に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的には、コンテンツまたはその他のアイテムの使用を、そのコンテンツまたはその他のアイテムに対応する使用権によって制御することに関し、より詳細には、使用権表現をマルチパス解釈するための方法及び装置に関する。
【背景技術】
【０００２】
文書、音楽、映画、ソフトウェア、及び、情報のようなデジタル・コンテンツを、コンピューティング・デバイスによって利用できるような形で、電子的な手段、とりわけインターネットを介して、広範囲に配信することに関する最も重要な問題の１つは、デジタル・コンテンツの配信中及び使用中に、知的所有権を行使することを可能にする対策である。この問題を解決するための技術を、ここでは、デジタル権利管理（Ｄｉｇｉｔａｌ Ｒｉｇｈｔｓ Ｍａｎａｇｅｍｅｎｔ：ＤＲＭ）と呼ぶ。しかしながら、ＤＲＭシステムを実現するには、認証、許可、会計、支払い及び決済、権利表現、権利の確認、権利の行使、及び、文書保護の問題、など、考慮すべき多くの問題がある。
【０００３】
印刷された文書及びその他の物理的コンテンツの業界においては、作者によって製作された作品は、通常、出版社に提供され、その出版社は、作品の体裁を整え、多部数の本として印刷する。そして、それらの本は、配給者によって、書店またはその他の小売店へ送られ、それらの書店または小売店から、ユーザが、本を購入する。低いコピー品質、及び、印刷物を配布する高いコストが、印刷文書を許可なくコピーすることを防止する役割をなしてきたが、非保護デジタル・コンテンツを高品質でコピー、修正、及び、再配布することは、きわめて容易なことになった。したがって、デジタル・コンテンツを保護するための技法が、必要とされている。
【０００４】
本発明の譲受人に譲渡された特許文献１は、デジタル・コンテンツの配信を制御するためのＤＲＭシステムを開示しており、ＤＲＭシステムを含む装置は、そのＤＲＭシステムに関連するリポジトリを含む。予め定められた一組の使用トランザクションステップは、コンテンツに与えられた使用権を行使するためのリポジトリが使用するプロトコルを定義する。使用権は、コンテンツとともに存続し、コンテンツに対応する使用権は、デジタルワークを備える。使用権は、例えば、コンテンツを鑑賞し、印刷し、あるいは、表示する権利、コンテンツを一回だけ使用する権利、及び、コンテンツを配信または再配信する権利など、様々な形でコンテンツの使用を許可する。また、使用権は、金銭の支払いまたはその他の条件を要求してもよい。
【０００５】
なお、特許文献１〜８は、本発明に関連する技術について記載している。
【特許文献１】米国特許第５６３４０１２号明細書
【特許文献２】米国特許第５５３０２３５号明細書
【特許文献３】米国特許第５６２９９８０号明細書
【特許文献４】米国特許第５６３４０１２号明細書
【特許文献５】米国特許第５６３８４４３号明細書
【特許文献６】米国特許第５７１５４０３号明細書
【特許文献７】米国特許第６２３３６８４号明細書
【特許文献８】米国特許第６２３６９７１号明細書
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上述の要求及びその他の要求は、本発明の実施形態によって解決され、本発明は、変調されたまたは可変の信号表現またはグラフィカル表現に基づいてコンテンツまたはその他のアイテムの使用権を表現するための改善されたシステム及び方法を提供する。
【課題を解決するための手段】
【０００７】
１つの態様においては、アイテムの使用を権利表現に基づいて制御するシステムにおいて、使用されるアイテムに対応する権利表現を処理する方法が提供される。この方法は、オリジナルフォーマットによる権利表現を規定し、該オリジナルフォーマットに対応するシンタックス情報及びセマンティクス情報の少なくとも一方に基づいて、権利表現のための中間フォーマットを生成する。権利表現は、デバイス上でのアイテムの利用方法を規定する。
【発明を実施するための最良の形態】
【０００８】
本発明の他の態様、特徴、及び、利点が、以下の詳細な説明から明らかとなる。該説明は、本発明の実施の最良の形態を含むことを意図する実施態様と実現態様のいくつかを例示する。また、本発明では、他の異なる実施形態が可能であり、本発明の精神及び範囲を逸脱せずに、種々の変更が可能である。したがって、図面及び明細書は、例示的なものであり、本発明を限定するものではない。
【０００９】
本発明は、単に例示の目的であって、本発明を限定するものではない添付の図面において示される。当該図面において同様の参照符号は同様の構成エレメントを示す。
【００１０】
使用権表現をマルチパス解釈するための方法及び装置を以下に説明する。以下の記述では、本発明を十分に理解できるように説明することを目的として、多くの細かな点が、具体的に説明される。しかしながら、この分野に精通する者には、これらの詳細な情報や、類似の代替情報なくして本発明を実施可能であることは明らかである。場合によっては、本発明を不必要に不明確にするのを避けるために、良く知られている構造及び装置は、ブロック図として示される。
【００１１】
本発明は、認証、許可、会計、支払い及び決済、権利の規定、権利の確認、権利の行使、及び、文書保護の問題をデジタル権利管理システムによって解決することができるという認識を含む。本発明の譲受人に譲渡された特許文献１〜７は、これらの問題及びその他の問題を解決するためのＤＲＭシステムを開示しており、それらのすべての明細書の全体が、ここに援用される。
【００１２】
さらに、本発明においては、ＸｒＭＬのようなＸＭＬベースのネイティブな文法に基づいた言語によって符号化された権利表現は、リソースに依存した処理を必要とし、符号化された権利表現を解析・処理するために多くのリソースが利用されるという認識を含む。さらに、符号化された権利表現は、きわめて複雑で冗長な場合があり、繰り返し実行される複数の構文解析及び解釈タスクを必要とする。さらに、レイテンシー（訳注：ハイレスポンス）及びリアルタイムに関する要求は、符号化された大量の権利表現を高性能に解釈することを必要とする。
【００１３】
このような計算処理的な負荷は、限られた資源しか備えていないシステム及び装置、小型装置、ハンドヘルド・デバイス、限られた時間内に大量の権利表現を処理する責任を有するシステム及びプラットフォームのような、様々な種類のシステム、装置、プラットフォームに大きな負担をかけることがある。したがって、エンコードされた権利表現を処理する計算処理的負荷を堅牢でかつ信頼できる形で軽減するためのシステム及び方法が、必要とされている。
【００１４】
ここで説明される実施例は、改善されたシステム及び方法を提供することによって、上述の及びその他の要求を解決するものであり、それによって、文法に基づいた権利表現を、一般的なデータ及びフォーマットに単純化し、最適化し、変換し、その一般的なデータ・フォーマットは、高い効率で処理され、ターゲットとなるコンピューティング環境の資源により良好に適合させることが可能である。実施例においては、ターゲット・コンピューティング環境は、ターゲット・デバイス、コンポーネント、アプリケーション、機能、システム、プラットフォームを含む。拡張可能権利マークアップ言語（ＸｒＭＬ）、拡張可能アクセス制御マークアップ言語（ＸＡＣＭＬ）、オープン・デジタル権利言語（ＯＤＲＬ）、拡張可能マークアップ言語（ＸＭＬ）に基づいた言語のような、文法ベース言語が、権利表現を規定するのに使用されるが、適切であれば、どのような文法及び言語を使用してもよい。
【００１５】
実施例は、改善された方法及びシステムを提供する。文法に基づいた権利表現を、一般的なデータ・フォーマットに単純化し、最適化し、変換し、その一般的なデータ・フォーマットは、高い効率で処理され、ターゲット・コンピューティング環境の資源に、より良好に合致させることができる。実施例は、解釈の様々なステージで使用され得るので、マルチパス解釈と呼ぶことができ、種々のステージにおいて、文法に基づいた権利表現を、ターゲット・コンピューティング環境にとってより適切な一般的データ及びフォーマットに単純化することができる。
【００１６】
実施例においては、権利表現を評価及び解釈するプロセスは、複数の処理ステップに分割され得る。それぞれの処理ステップの中間結果は、一般的なデータ及びフォーマットとして保存され、それらは、後に、評価、解釈されてもよく、また、後に、評価及び解釈するプロセスを再開することもできる。中間処理の結果として得られる一般的なフォーマットを、中間フォーマットと呼ぶ。ただし、ここで説明するフォーマットは、例示であり、以下でさらに詳細に説明するように、適切であれば、どのような種類のフォーマットでも、実施例のプロセスから結果を得られるようなものであればよい。
【００１７】
図面を参照して説明する。いくつかの図面において、同一の符号は、同一のまたは類似する構成エレメントを示す。図１において、ＤＲＭシステム１００は、コンテンツ、サービス、または、その他の資源の使用権を特定しかつ行使するために使用される。ＤＲＭシステム１００は、ユーザ起動コンポーネントを起動サーバ１１０の形態で含み、該起動サーバ１１０は、一組の公開鍵及び秘密鍵の対１１２を保護された形式でコンテンツのユーザに発行する。一般的には、ユーザが、ＤＲＭシステム１００を初めて使用する場合、ユーザは、特定のコンテンツ・フォーマットのためのレンダリング・アプリケーションとともに動作するかまたはそのレンダリング・アプリケーションを含むソフトウェアをインストールする。
【００１８】
ソフトウェアは、ユーザが所有するコンピューティング・デバイスのようなクライアント環境１２０内にインストールされる。ソフトウェアは、ＤＲＭシステム１００の一部であり、被保護コンテンツ１３４にアクセスするのに使用される。インストール後に、ソフトウェアが、起動される。起動プロセス中、起動サーバ１１０とクライアント環境１２０との間で情報が交換される。クライアント・ソフトウェア・コンポーネント１２２が、クライアント環境１２０内にダウンロード、インストールされる。クライアント・ソフトウェア・コンポーネント１２２は、改ざん防止性であり、起動サーバ１１０によって発行された他のコンポーネントと共に、一組の公開鍵及び秘密鍵の対１１２を保持する。
【００１９】
例えば、権利オファー１３２は、プロテクトされたコンテンツ１３４に対応付けられ、かつ、使用方法を含む使用権１３２Ａを規定する。エンド・ユーザは、、１つかまたはそれ以上の条件１３２Ｂを満足した場合に、使用権１３２Ａを入手できる。ライセンス・サーバ１４０は、暗号鍵１１２を管理し、プロテクトされたコンテンツ１３４に対するライセンス１４２を発行する。ライセンス１４２は、使用権１３２Ａをエンド・ユーザに実際に許可し、例えば、権利オファー１３２は、５ドルの料金を支払うことを条件に、プロテクトされたコンテンツ１３４を閲覧する権利をエンド・ユーザに許諾し、また、１０ドルの料金を支払うことを条件に、プロテクトされたコンテンツを印刷する権利をエンド・ユーザに許諾する。すなわち、５ドルの料金が支払われていれば閲覧する権利、及び／または、１０ドルの料金が支払われていれば印刷する権利、についてのライセンス１４２が発行される。クライアント・コンポーネント１２２は、ライセンス１４２によって特定された権利を解釈しかつ行使する。
【００２０】
非プロテクトコンテンツのような、クリアコンテンツ１３６（訳注：暗号化等されていないオリジナルのコンテンツ情報の意）が、コンテンツ出版社、コンテンツ配給者、コンテンツ・サービス・プロバイダ、または、何らかのその他の団体のコンピュータ１３０上にインストールされた、文書作成アプリケーションのようなアプリケーション１３８によって、作成される。クリアコンテンツ１３６の作成の際には、該クリアコンテンツ１３６を使用できる権利１３２Ａ及び条件１３２Ｂを規定することもできる。このとき、権利オファー１３２をそのクリアコンテンツ１３６に対応付け、暗号アルゴリズムによってプロテクトされたコンテンツ１３４を生成してクリアコンテンツ１３６を保護する。ＸｒＭＬ、ＸＡＣＭＬ、ＯＤＲＬのような権利言語が、権利オファー１３２を規定するのに使用されるが、権利オファー１３２は、適切なものであれば、どのような方法で規定されてもよい。また、権利オファー１３２は、プロテクトされたコンテンツ１３４に対応付けることのできる、予め定義された規格、プロファイル、テンプレートの形態であってもよい。したがって、権利オファー１３２を規定するプロセスは、適切なものであれば、権利及び条件をコンテンツに対応付けるどのようなプロセスであってもよい。プロテクトされたコンテンツ１３４に対応付けられた権利オファー１３２、及び、クリアコンテンツ１３６を暗号化するのに使用される暗号鍵１１２は、ライセンス・サーバ１４０へ送信される。
【００２１】
ＤＲＭシステム１００の一般的なワークフローにおいて、起動サーバ１１０によってプロテクトされたコンテンツ１３４を受信可能な状態となっているクライアント環境１２０上で、ユーザが起動作業をする。起動プロセスの結果、公開鍵及び秘密鍵の対１１２が生成され、ユーザ及び／またはマシンの特定情報が、クライアント・ソフトウェア・コンポーネント１２２の形態でクライアント環境１２０へダウンロードされる。起動プロセスは、ライセンス１４２を発行する前の適切などのようなタイミングで実行されてよい。
【００２２】
ユーザが、プロテクトされたコンテンツ１３４を使用したい場合、ユーザは、クライアント環境１２０にインストールされたブラウザを用いて、ウェブ・サーバ１５０上で稼働しているウェブ・サイトを閲覧し、該プロテクトされたコンテンツ１３４をダウンロードすることを試みる。このプロセス中、ユーザは、コンテンツの販売において発生するような料金トランザクション、情報の収集のようなその他のトランザクションを含む一連のステップを遂行する。料金の支払い及びユーザが起動中であることの確認などの適合条件及びその他の必要条件が満たされていれば、ウェブ・サーバ１５０は、セキュア・ソケット・レイヤー（ＳＳＬ）チャネルのような安全な通信チャネルを介して、ライセンス・サーバ１４０に接続する。そして、ライセンス・サーバ１４０は、プロテクトされたコンテンツ１３４のライセンス１４２を生成し、ウェブ・サーバ１５０は、プロテクトされたコンテンツ１３４及びライセンス１４２の両方をダウンロードする。ライセンス１４２は、使用権１３２Ａの中の適切な使用権を含むものであり、また、ライセンス・サーバ１４０または関連する装置からダウンロードされてもよい。プロテクトされたコンテンツ１３４は、出版社、配給者、または、その他の団体に属するコンピュータ１３０からダウンロードされ得る。権利オファー１３２は永続的なものであり、かつ、プロテクトされたコンテンツ１３４に恒久的に付属する。
【００２３】
そして、クライアント環境１２０におけるクライアント・ソフトウェア・コンポーネント１２２は、ライセンス１４２の解釈を開始し、ライセンス１４２に規定された権利１３２Ａ及び条件１３２Ｂに基づいて、プロテクトされたコンテンツ１３４の使用を可能にする。使用権の解釈及び行使については、本発明の譲受人に譲渡された特許文献１〜３、及び、５〜８にさらに詳細に説明されている。上述したステップは、シーケンシャルに、あるいはほぼ同時に、様々な順序で実行され得る。
【００２４】
ＤＲＭシステム１００は、プロテクトされたコンテンツ１３４を保護するセキュリティ機能を実現する。とりわけ、ＤＲＭシステム１００は、ライセンス・サーバ１４０によって発行されたライセンス１４２を認証する。そのような認証を実現する１つの方法は、ライセンス１４２を信用することができるかどうかをクライアント・ソフトウェア・コンポーネント１２２が判断することである。換言すると、クライアント・ソフトウェア・コンポーネント１２２は、ライセンス１４２の暗号署名またはその他の識別情報を確認及び／または検証する能力を有する。上述した起動ステップ中、クライアント環境１２０及びライセンス・サーバ１４０は、改ざん防止性ソフトウェア・パッケージ中に一組の鍵１１２を受信し、該ソフトウェア・パッケージは、起動されたクライアント環境１２０においてライセンス１４２の署名を確認するためクライアント・ソフトウェア・コンポーネント１２２のような、他のコンポーネントを含んでもよい。
【００２５】
ＤＲＭシステム１００は、例としての特徴を有するものであり、種々の同等の装置において実施可能であり、ライセンス１４２及びプロテクトされたコンテンツ１３４は、異なるエンティティから配信され得る。例として、権利オファー１３２は、プロテクトされたコンテンツ１３４を作成した団体以外の団体によって、プロテクトされたコンテンツ１３４に対応付けられてもよい。さらに、ライセンス１４２を発行する前に、支払いトランザクションを処理しかつ支払いを確認するために、決済機関１６０が、使用されてもよい。さらに、様々なプロセス及びトランザクションが、オンライン環境及び／またはオフライン環境及び／またはそれらの組み合わせ下において実行されてもよい。エンド・ユーザは、コンテンツをコンピュータにダウンロードし、そして、コンテンツをそのコンピュータから個人用携帯情報端末（ＰＤＡ）へ転送してもよい。また、エンド・ユーザは、スーパーマーケット、キオスク、キャッシュ・レジスター、プリペイド式ライセンス・カードを介して、コンテンツのライセンスを購入し、そして、そのライセンスをＰＤＡへ転送してもよい。そして、エンド・ユーザは、ＰＤＡ及び／またはコンピュータ上で、コンテンツを起動してもよい。そのようなオフラインの状況においては、様々な装置は、互いに直接に通信しても、あるいは、互いに直接に通信しなくてもよく、そして、情報は、何らかの適切な方法によって、例えば、装置間を物理的に移動する媒体によって、交換されてもよい。
【００２６】
図２は、図１、図４、及び、図５に示されるデジタル権利管理システムの装置及びサブシステム上で実施され得る、マルチパス解釈プロセス２００の概略図である。図２において、マルチパス解釈プロセス２００は、ローカライザ・プロセス２０１、単純化プロセス２０３、及び、トランスレータ・プロセス２０５を含む。ローカライザ・プロセス２０１は、ＸｒＭＬのような文法ベース言語で記述された権利表現２０７、及び、シンタックス情報及びセマンティクス情報を含む権利表現言語情報２０９を受信する。ローカライザ・プロセス２０１は、権利表現２０７を中間フォーマットに変換し、該中間フォーマットは、文法ベース権利表現言語情報２０９に基づいた自己完結型フォーマット２１１と呼び得る。
【００２７】
単純化プロセス２０３は、権利表現２０７、自己完結型フォーマット２１１による権利表現２０７、権利状態情報２１３、ターゲット・コンピューティング環境の装置情報２１７を受信する。単純化プロセス２０３は、権利表現２０７及び自己完結型フォーマット２１１による権利表現２０７を、中間言語フォーマットに変換する。該中間フォーマットは、権利情報状態２１３及び装置情報２１７に基づいた単純化フォーマット２１５と呼び得る。
【００２８】
トランスレータ・プロセス２０５は、装置情報２１７とともに、権利表現２０７、自己完結型フォーマット２１１による権利表現２０７、あるいは単純化フォーマット２１５による権利表現２０７を受信する。トランスレータ・プロセス２０５は、権利表現２０７、自己完結型フォーマット２１１による権利表現２０７、あるいは単純化フォーマット２１５による権利表現２０７を、中間フォーマットに変換する。該中間フォーマットは、装置情報２１７に基づいた装置特定フォーマット２１９と呼び得る。実施例のローカライザ・プロセス２０１、単純化プロセス２０３、トランスレータ・プロセス２０５は、図１、図４、及び、図５に示されるデジタル権利管理システム及びそのサブシステム上で実施され得る。
【００２９】
図３は、図２に示されるマルチパス解釈プロセス２００を説明するフローチャートである。ステップ３０１では、マルチパス解釈プロセスのために、ＸｒＭＬのような文法ベース言語で記述された権利表現２０７のファイルが、リトリーブされる。ステップ３０３では、リトリーブされた権利表現２０７は、ＸｒＭＬのようなネイティブなフォーマットから、ＸＭＬに基づいたバイナリ・フォーマット、ＸｒＭＬに基づいたバイナリ・フォーマット等のバイナリ・フォーマットを含む自己完結型フォーマット２１１に変換される。自己完結型フォーマット２１１による権利表現２０７は、機械可読なものであり、かつ、プラットフォームに依存しない。したがって、自己完結型フォーマット２１１による権利表現２０７は、ＸＭＬ処理能力、ＸｒＭＬ処理能力のような何らかの特定の処理能力に依存する必要がない。
【００３０】
ステップ３０５において、自己完結型フォーマット２１１による権利表現２０７から条件リストを抽出するために、自己完結型フォーマット２１１が、解釈され、単純化される。かくして、自己完結型フォーマット２１１による権利表現２０７は、単純化フォーマット２１５に変換される。単純化フォーマット２１５による権利表現２０７は、ターゲット・コンピューティング環境によって、検証され、実行可能な条件を含む。実施例においては、単純化フォーマット２１５は、ＸＭＬベースまたはＸｒＭＬベースであってよく、行使可能フォーマットと呼び得る。
【００３１】
ステップ３０７において、単純化フォーマット２１５による権利表現２０７は、装置特定フォーマット２１９による権利表現２０７に変換される。ターゲット・コンピューティング環境は、装置特定フォーマット２１９による権利表現２０７を容易に実行することができる。実施例では、中間結果を記憶するために、自己完結型フォーマット２１１及び単純化フォーマット２１５を使用することについて説明したが、中間結果を記憶するために何らかの適切なフォーマットが使用可能であり、フォーマット変換は、様々な順序、回数で実行、反復され得る。
【００３２】
マルチパス検証及び解釈プロセス２００は、ローカライザ・プロセス２０１、単純化プロセス２０３、及び、トランスレータ・プロセス２０５を含む。実施例において、権利表現２０７内に含まれ得る潜在的な曖昧さを解消するために、ローカライザ・プロセス２０１は、権利表現２０７において使用されるキーワード、エレメント、条件、及び、権利表現のセマンティクスな意味を割り当てる、装置、コンポーネント、アプリケーション、機能、システム、及び、プラットフォームを含む。ローカライザ・プロセス２０１は、権利表現２０７を前処理して自己完結型フォーマット２１１による権利表現２０７を生成するために、対応する権利言語のシンタックス及びセマンティクス情報２０９を使用する。該自己完結型フォーマット２１１による権利表現２０７は、非曖昧形式による権利表現２０７を含む。
【００３３】
したがって、自己完結型フォーマット２１１は、権利表現２０７の非曖昧バージョン、権利表現２０７において使用される語のセマンティクスな意味、及び、権利表現２０７を処理するための処理命令を含む。フォーマット２１１は、自己完結型であると考えることができる。なぜなら、自己完結型フォーマット２１１でストアされた権利表現２０７は、シンタックス及びセマンティクスな資源、及び、構文解析資源のような外部資源を使用しなくても、どのようなアプリケーション、システム、及び、装置でも容易に処理することができるからである。
【００３４】
実施例においては、権利表現２０７は、ラベル、ライセンス、または、それらのフラグメントのような、使用権に関する何らかの表現を含む。権利表現２０７を表現するための権利表現言語は、使用権を表現するのに使用することのできる予め定義されたシンタックス及びセマンティクスを有する何らかの適切な言語であればよい。権利文法は、使用権を表現するための一組の予め定義されたシンボルを含む。使用権は、アイテムの許可された使用方法の規定条項を含んでもよい。ラベルは、特定のアイテムに関連しない事前にパッケージされた一組の使用権を含んでもよい。ライセンスは、アイテムに関連する事前にパッケージされた一組の使用権を含んでもよい。条件は、アイテムの使用方法を遂行するための１つかまたはそれ以上の必要条件からなる規定条項を含んでもよい。アイテムは、デジタル・コンテンツ、ソフトウェア、サービス、商品、資源など、どのようなものでもよく、それらは、対応する使用権によって、使用が制限される。資源は、デジタル装置またはそれの一部でもよく、それへのアクセスは、対応する使用権によって制限される。
【００３５】
さらなる実施例によれば、権利表現２０７は、使用権、条件、使用方法、ポリシー、プリンシパル、サブジェクトを規定するための一連の表現を含んでもよい。権利表現２０７は、さらに、使用権の適用が許される資源、さらには、許可された使用権が実行される前に満たされるべき条件、行為、義務を規定してもよい。
【００３６】
実施例においては、セマンティクスな意味は、自己完結型フォーマット２１１内に記憶され、該自己完結型フォーマットは、権利表現２０７内に存在する表現の意味、及び、権利表現２０７を処理するための処理命令の意味を決定するのに使用される。したがって、セマンティクスな意味は、権利表現２０７中のプリンシパルや条件を表すのに使用される表現のような、特定の表現を識別するのに使用され得る。
【００３７】
セマンティクスな意味及び処理命令の両方を提供することによって、アプリケーション、システム、及び、装置は、外部資源を使用しなくても、自己完結型フォーマット２１１による権利表現２０７を効率的に処理することができる。さらに、自己完結型フォーマット２１１は、ローカライザ・プロセス２０１によって生成された中間結果を記憶するのに使用することもできる。
【００３８】
実施例においては、単純化プロセス２０３は、自己完結型フォーマット２１１による権利表現２０７を事前に評価しかつ単純化する責任を有する、装置、コンポーネント、アプリケーション、機能、システム、及び、プラットフォームを含む。単純化プロセス２０３は、権利表現２０７内の条件表現及び権利表現のような表現を評価するために、権利情報の状態２１３、及び、ターゲット・コンピューティング環境の装置情報２１７を使用する。
【００３９】
そのような評価は、与えられた条件及び権利表現を、ターゲット・コンピューティング環境に応じて権利表現２０７から除去すべきかどうかを判定するために使用される。例えば、ターゲット・コンピューティング環境がデジタル・コンテンツに無制限にアクセスできるために満たされなければならない、料金の支払いのような条件は、権利表現２０７内において表現され得る。しかしながら、料金支払い条件が満たされていれば、ターゲット・コンピューティング環境がデジタル・コンテンツにアクセスするたびに料金が支払われているかどうかを検証するようなステップは、権利表現２０７から除去されてもよい。
【００４０】
したがって、ターゲット・コンピューティング環境に応じて、何らかの条件及び権利表現が、権利表現２０７から除去されてもよく、それによって、結果として得られる権利表現２０７のサイズ、及び、処理時間を減少させることができる。したがって、単純化プロセス２０３は、ターゲット・コンピューティング環境に応じて、確認または検証を必要としない条件及び権利表現を除去した単純化フォーマット２１５による権利表現２０７を生成する。実施例では、単純化プロセス２０３の中間結果を記憶するために単純化フォーマット２１５を使用することに関して説明したが、単純化プロセス２０３の中間結果を記憶するために何らかの適切なフォーマットを使用すればよい。
【００４１】
実施例においては、トランスレータ・プロセス２０３は、権利表現２０７、単純化フォーマット２１５による権利表現２０７、及び、自己完結型フォーマット２１１による権利表現２０７を、ターゲット・コンピューティング環境における装置特定フォーマット２１９に変換する責任を有する、装置、コンポーネント、アプリケーション、機能、システム、プラットフォームを含む。例えば、装置特定フォーマット２１９は、ターゲット・コンピューティング環境によって処理可能なデータのストリームを含んでもよい。したがって、トランスレータ・プロセス２０３は、装置特定フォーマット２１９による権利表現２０７を、ターゲット・コンピューティング環境が処理可能なデータ及びデータ構造を表現した一連のビットとして送信するように構成してもよい。さらに、トランスレータ・プロセス２０３は、装置特定フォーマット２１９による権利表現２０７を、ターゲット・コンピューティング環境が処理し実行することのできる一連のネイティブな命令として送信するように構成してもよい。
【００４２】
実施例では、ローカライザ・プロセス２０１、単純化プロセス２０３、及び、トランスレータ・プロセス２０５は、互いに独立したものであるとした。しかしながら、さらなる実施形態においては、ローカライザ・プロセス２０１、単純化プロセス２０３、及び、トランスレータ・プロセス２０５は、互いに依存するものであってもよい。さらに、ローカライザ・プロセス２０１、単純化プロセス２０３、及び、トランスレータ・プロセス２０５は、中間フォーマットのような何らかの適切なデータ・フォーマットを介して、互いに通信してもよい。
【００４３】
マルチパス検証及び解釈プロセス２００は、ターゲット・コンピューティング環境により好適に適合するように、柔軟に構成することができる。例えば、ターゲット・コンピューティング環境が、携帯電話またはハンドヘルド・デバイスのように、限られた資源または処理能力しか有していなければ、ＸｒＭＬドキュメントのような文法に基づいた権利表現ドキュメントをターゲット・コンピューティング環境へ送信する代わりに、文法ベース権利表現ドキュメントを、ターゲット・コンピューティング環境へ送信する前に、装置特定フォーマット２１９に変換してもよい。
【００４４】
実施例では、装置特定フォーマット２１９による権利表現２０７は、トランスレータ・プロセス２０５によって、ターゲット・コンピューティング環境にとってネイティブなものに構成され、ターゲット・コンピューティング環境へ送信され、実行される。図４は、デジタル権利管理システム４００の概略図であり、このシステム４００においては、テキスト文書、音楽、または、ソフトウェアのような保護アイテムが、様々な装置上で使用される。
【００４５】
図４において、ＤＲＭシステム４００は、パーソナル・コンピュータ４０５、及び、ＭＰ２プレーヤー、ＭＰ３プレーヤー、セット・トップ・ボックス、ハンドヘルド・デバイスのような他の装置４０９の両方においてデジタル音楽を再生することが可能である。この実施例においては、小型装置４０９は、特定の機能を備えた装置である。例えば、ＭＰ３プレーヤーは音楽を再生することしかできず、印刷も、支払いの承諾をすることもできない。ＤＲＭシステム４００においては、権利表現２０７を、ローカライザ・プロセス２０１を用いて、自己完結型フォーマット２１１に変換してもよく、単純化プロセス２０３を用いて、単純化フォーマット２１５に変換してもよい。
【００４６】
変換された権利表現２０７は、パーソナル・コンピュータ４０５へ送信され、そのパーソナル・コンピュータ４０５において、変換された権利表現２０７は、プロテクトされたデジタル音楽の使用をオーソライズする。ディストリビュータ・プロセス４０１が、自己完結型フォーマット２１１による権利表現２０７を、ゲートウェイを介して、パーソナル・コンピュータ４０５へ送信する。
【００４７】
ユーザは、パーソナル・コンピュータ４０５から、トランスレータ・プロセス２０５を用いて、自己完結型フォーマット２１１または単純化フォーマット２１５による権利表現２０７を、小型装置２０５に適した装置特定フォーマット２１９に変換してもよい。そして、ユーザは、プロテクトされたデジタル音楽及びそれに対応する装置特定フォーマット２１９による権利表現２０７の両方を小型装置４０９へ送信し、その結果として、権利表現２０７に基づいて、保護されたデジタル音楽を小型装置４０９上で再生することができる。したがって、権利表現２０７は、図２に示されるように、また、上述したように、自己完結型フォーマット２１１または単純化フォーマット２１５に変換され、さらに、装置特定フォーマット２１９に変換される。
【００４８】
実施例において、ＤＲＭシステム４００は、インタープリタ・プロセス４０３を含む。該インタープリタ・プロセス４０３は、自己完結型フォーマット２１１による大量の権利表現２０７を処理可能である。自己完結型フォーマット２１１は、権利表現２０７の処理命令及びセマンティクスな意味を含み、それによって、インタープリタ・プロセス４０３の能力を改善することができる。したがって、パーソナル・コンピュータ４０５は、自己完結型フォーマット２１１による権利表現２０７を効率的に処理することができる。さらに、図４に示すように、単純化フォーマット２１５による権利表現２０７を、資源制約装置４０７へ送信してもよい。この実施例においては、資源制約装置は、シンタックスまたはセマンティクスな処理能力を持たない多目的装置である。
【００４９】
ローカライザ・プロセス２０１及びディストリビュータ・プロセスは、図１に示されるコンピュータシステム１３０に適用可能であり、一方、パーソナル・コンピュータ４０５、インタープリタ・プロセス４０３、単純化プロセス２０３、及び、トランスレータ・プロセス２０５は、図１に示されるクライアント環境１２０に適用可能である。しかしながら、ローカライザ・プロセス２０１、ディストリビュータ・プロセス４０１、インタープリタ・プロセス４０３、単純化プロセス２０３、及び、トランスレータ・プロセス２０５は、図１、図４、及び、図５に示されるデジタル権利管理システム上の種々の装置またはサブシステム上において実施され得る。
【００５０】
実施例は、資源制約コンピューティング環境、サイズ制約（機能制約を含む）コンピューティング環境、及び、マルチ・プロセッサ・コンピューティング環境のような様々なコンピューティング環境にとって理想的な柔軟性のあるコンフィギュレーションを提供する。図５は、マルチプロセッサ機能を備えた一般的なデジタル権利管理システム５００の概略図である。
【００５１】
図５において、ＤＲＭシステム５００は、権利表現２０７のバッチ５０１のような大量の権利表現２０７を処理するように構成される。プロセッサ５０５のプール５０３は、ローカライザ・プロセス２０１のそれぞれのプール５０７が権利表現２０７のバッチ５０１から自己完結型フォーマット２１１による権利表現２０７のバッチ５０９を生成するように構成される。自己完結型フォーマット２１１による権利表現２０７のバッチ５０９は、さらに、多重処理される。
【００５２】
プロセッサ５０５のプール５１１は、単純化プロセス２０３及びトランスレータ・プロセス２０５のような次のプロセス５１５のそれぞれのプール５１３が単純化フォーマット２１５または装置特定フォーマット２１９のような別のフォーマット５１９による権利表現２０７のバッチ５１７を生成する。さらなる実施例においては、プロセッサ５０５のプール５０３、ローカライザ・プロセス２０１のプール５０７、プロセッサ５０５のプール５１１、及び、次のプロセス５１５のプール５１３は、図１、図４、及び、図５に示されるデジタル権利管理システム装置またはサブシステム上において実施し得る。
【００５３】
実施例によれば、ローカライザ・プロセス２０１は、権利表現２０７を前処理して自己完結型フォーマット２１１による権利表現２０７を生成するように構成される。自己完結型フォーマット２１１は、非曖昧形式による権利表現２０７、権利表現２０７内で使用される１乃至それ以上のキーワード、エレメント、条件、及び、権利表現のセマンティクスな意味、及び、権利表現２０７を処理するための命令を含む。図６は、図１、図４、及び、図５に示されるデジタル権利管理システム装置及びサブシステム上において実施され得るローカライザ・プロセス２０１の概略図である。
【００５４】
図６において、標準化プロセス６０１は、非曖昧形式による権利表現２０７を生成するために、シンタックス及びセマンティクス情報２０９の内のシンタックス情報６０７に基づいて、権利表現２０７内の潜在的な曖昧さを取り除く。さらに、標準化プロセス６０１は、以下により詳細に説明するように、非曖昧権利表現２０７を標準形式６０９に変換する。
【００５５】
シンタックス及びセマンティクス情報２０９の内のセマンティクス情報６１１に基づいて、標準形式６０９による非曖昧権利表現２０７を処理し、処理結果６１３を生成するために、プリ・プロセッサ・プロセス６０３が、使用される。処理結果６１３は、非曖昧権利表現２０７、コンテクスト・テーブル、セマンティクス・テーブル、及び、処理命令を含む。フォーマッタ・プロセス６０５が、自己完結型フォーマット２１１による権利表現２０７を生成するために、処理結果６１３をパッケージし、処理する。
【００５６】
自己完結型フォーマット２１１による権利表現２０７は、言語構文解析器、シンタックス及びセマンティクス・プロセッサのような外部資源を使用しなくても、権利表現２０７を効率的に処理することを可能にする、権利表現２０７のセマンティクスな意味及び権利表現２０７のための処理命令を含む。自己完結型フォーマット２１１による権利表現２０７は、ＸｒＭＬのような元々のフォーマットの権利表現２０７に逆変換してもよい。自己完結型フォーマット２１１による権利表現２０７は、図４に示される資源制約装置４０７のように限られた記憶容量または処理能力を有するターゲット・コンピューティング環境において、権利表現２０７を処理する計算処理的負荷を軽減する。
【００５７】
自己完結型フォーマット２１１は、バイナリ・フォーマットでもよい。しかしながら、適切なものであれば、その他のどのようなフォーマットでも自己完結型フォーマット２１１として使用されてよい。バイナリ・フォーマットが、権利表現２０７を配信するための自己完結型フォーマット２１１として使用される場合、権利表現２０７は、バイナリ変換アルゴリズムを用いて、デジタル署名されてもよい。
【００５８】
バイナリ変換アルゴリズムは、例えば、元々のフォーマットによる権利表現２０７と自己完結型フォーマット２１１による権利表現２０７との間でデジタル署名を維持したまま、権利表現２０７をバイナリ・フォーマットに変換してもよい。コンテクスト・テーブル及びセマンティクス・テーブルは、ターゲット・コンピューティング環境において、事前に構築され、事前に定義され、あるいは、事前に記憶されていてもよく、それによって、権利表現情報を記憶するのを最適化することができる。
【００５９】
標準化プロセス６０１は、権利表現２０７における何らかの曖昧さを除去するのに使用される。例えば、そのような曖昧さは、権利表現２０７に関してなされる様々な選択や、ある種の標準化を必要とする権利表現２０７によって生じるものである。
【００６０】
標準化プロセス６０１は、非曖昧権利表現２０７を標準形式６０９に変換する。多くの言語ベース表現は、それらのそれぞれの言語によって許可されたシンタックスの変化に基づいて、それらの物理的な表現が変化するが、与えられたアプリケーション・コンテクスト内においては論理的に等価なものであり得る。以下のＸＭＬエレメントは、それらのそれぞれの物理的な表現は異なっているが、論理的に等価なものである。
【００６１】
<doc>
<e1 />
<e2 ></e2>
<e3 name="elem3" id="elem3" />
</doc>
and
<doc>
<e1></e1>
<e2/>
<e3 id="elem3" name="elem3"></e3>
</doc>
上記のＸＭＬエレメントの標準形式は、
<doc>
<e1></e1>
<e2></e2>
<e3 id="elem3" name="elem3"></e3>
</doc>
である。
【００６２】
したがって、標準化プロセス６０１は、与えられた権利表現言語のシンタックス及びセマンティクス情報２０９に基づいて、非曖昧権利表現２０７を標準形式６０９に変換するのに使用される。プリ・プロセッサ・プロセス６０３は、権利表現２０７によって使用されるコンテクストまたはネーム空間のコンテクスト・テーブルを組み立てるのに使用され、また、権利表現２０７を処理するための処理命令を生成するために、権利表現２０７において使用されるエレメントの意味を示すセマンティクス・テーブルを構成するために使用される。
【００６３】
さらに、プリ・プロセッサ・プロセス６０３は、標準形式６０９による非曖昧権利表現２０７を、フォーマッタ・プロセス６０５によって生成されるターゲット自己完結型フォーマット２１１によってサポートされるフォーマット６１３に変換する。図７は、図６に示されるプリ・プロセッサ・プロセス６０３を説明するためのフローチャートである。プリ・プロセッサ・プロセス６０３は、標準形式６０９による非曖昧権利表現２０７を、例えば、ドキュメント・オブジェクト・モデル（ＤＯＭ）・ツリー内に入れることができる。
【００６４】
図７について説明する。ステップ７０１において、プリ・プロセッサ・プロセス６０３は、ステップ７０３〜ステップ７１３を含むノード処理プロセスを使用することによって、ドキュメント・ノードのそれぞれの子ノードを処理する。ステップ７０３において、入力ノードのネーム空間を、コンテクスト・テーブル内で探索する。ステップ７０５において、ネーム空間が、コンテクスト・テーブル内に見つからなければ、ステップ７１１において、新しいエントリが、次の利用可能なコンテクストＩＤを用いて、コンテクスト・テーブル内に生成される。
【００６５】
一方、ステップ７０７において、セマンティクス・テーブル内の入力ノードのネームを探索し、ネーム空間が見つかれば、入力ノードのセマンティクス・タイプが決定される。ステップ７０９において、入力ノードのセマンティクス・タイプが、セマンティクス・テーブル内に見つからなければ、ステップ７１３において、新しいエントリが、エレメント・タイプ、エレメント・ネーム、コンテクストＩＤ、及び、次の有効なエレメントＩＤを用いて、セマンティクス・テーブル内に生成される。ステップ７０３〜ステップ７１３からなるノード処理プロセスは、対応する属性ノードを備えたノード処理プロセスを呼び出すことによって、エレメントの属性ごとに反復される。同様に、ステップ７０３〜ステップ７１３からなるノード処理プロセスは、対応するエレメント・ノードを備えたノード処理プロセスを呼び出すことによって、子エレメントごとに反復される。
【００６６】
コンテクスト・テーブルは、コンテクストＩＤ、ネーム空間の長さ、及び、コンテンツのネーム空間のＵＲＩ（Ｕｎｉｆｏｒｍ Ｒｅｓｏｕｒｃｅ Ｉｄｅｎｔｉｆｉｅｒ）すなわちネーム空間ＵＲＩを含む。コンテクストＩＤは、権利表現２０７内におけるコンテクストのネーム空間の発生順序及び発生確率に基づいて、割り当てることができる。
【００６７】
以下は、コンテクスト・テーブル、セマンティクス・テーブル、及び予め定義されたタイプ・テーブルを説明するための、歌を再生するためのＸｒＭＬベース形式のライセンスの第１の権利表現例である。
第１の権利表現例
<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>
第１の権利表現例に基いた、コンテクスト・テーブルを表１に示す。
【００６８】
【表１】
0004740543.tif 000002
【００６９】
表１に示されるように、バイナリ・フォーマットによるコンテクスト・テーブルは、第１の権利表現内のネーム空間ＵＲＩエントリによって識別されるコンテクストの使用順序及び使用確率に基づいて割り当てられたコンテクストＩＤエントリ０１〜０３、及び、ネーム空間ＵＲＩエントリによって識別されるコンテクストの長さエントリを含む。
【００７０】
バイナリ・フォーマットによるセマンティクス・テーブルは、エレメントＩＤ、エレメント・タイプ、エレメント・ネーム、及び、コンテクストＩＤを含んでもよい。セマンティクス・テーブルのエレメントＩＤは、権利表現２０７内のエレメントの発生順序または発生確率に基づいて、割り当てられてもよい。
【００７１】
第１の権利表現に基づくセマンティクス・テーブルの例を表２として示す。
【００７２】
【表２】
0004740543.tif 000003
【００７３】
表２では、オプションとして、００から２２までの値を有するエレメント・タイプがセマンティクス・テーブルに含まれるが、これを所定のタイプ・テーブル内に定義してもよい。したがって、表３に示すように、所与のエレメント・タイプに対する所与の定義値を含む所定のタイプ・テーブルを使用してもよい。
【００７４】
【表３】
0004740543.tif 000004
【００７５】
表１〜表３に基づいて第１の権利表現を一般的なバイナリ・フォーマットに変換した例を以下に示す。
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"/>
ＸｒＭＬベース形式の、在庫リストを含むライセンスの第２の権利表現によるコンテクスト・テーブル及びセマンティクス・テーブルを示す。
第２の権利表現例
<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>
第２の権利表現のコンテクスト・テーブルを、表４として示す。
【００７６】
【表４】
0004740543.tif 000005
【００７７】
第２の権利表現に基づいたセマンティクス・テーブルの例を表５として示す。
【００７８】
【表５】
0004740543.tif 000006
【００７９】
表３〜表５に基いてバイナリ・フォーマットに変換した第２の権利表現は以下のように記述することができる。
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:digitalWork licensePartId="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
権利表現２０７から標準形式６０９による非曖昧権利表現を生成するのに標準化プロセス６０１を使用できる。曖昧という用語は、権利表現内のあるエレメントが、デフォルト値を有するかもしれないこと、あるいは、解釈を推定することのできる値を有するかもしれないことを意味する。例えば、権利表現内のレート・エレメントは、米国ドル（ＵＳＤ）をデフォルトとする属性ＣｕｒｒｅｎｃｙＣｏｄｅを含んでもよい。すなわち、５０米ドルのレートは、以下のように表現することができる。
【００８０】
<rate>50</rate>
上記のステートメントは、コンテクストが未知である場合には曖昧であるかもしれない。そのような曖昧さを除去するために、デフォルト値、推定値、及び、レート・エレメントを表現することのできる推定コンテクストを定めることができる。すなわち、上述の表現の非曖昧形式にレート・エレメントのための通貨属性を含ませて以下のように表現してもよい。
【００８１】
<rate currency="USD">50</rate>
ローカライザ・プロセス２０１は、権利表現２０７を自己完結型フォーマット２１１に変換するのに使用される。変換には、一般的なバイナリ変換アルゴリズムを使用できる。図８Ａ及び図８Ｂは、一般的なバイナリ変換アルゴリズムを説明するフローチャートである。
【００８２】
図８Ａについて説明する。ステップ８０１において、例えば、ＸｒＭＬ、ドキュメント・ファイルのような権利表現ドキュメント・ファイルの形式による権利表現がリトリーブされる。ステップ８０３において、権利表現のシンタックスが、曖昧さを除去するために、確認される。そして、権利表現は、標準形式に変換される。
【００８３】
例えば、多くの権利表現は、シンタックスの変化に基づいて、物理的な表現が変化し得るが、それでもなお、与えられたアプリケーション・コンテクスト内においては論理的に等価なものであり得る。したがって、権利表現は、標準形式に標準化され得る。実施例においては、同一の標準形式を備えた権利表現は、例えば、＜ｈｔｔｐ：／／ｗｗｗ．ｗ３．ｏｒｇ／ＴＲ／２００１／ＲＥＣ−ｘｍｌ−ｃｌ４ｎ−２００１０３１５＞から入手することのできる、ワールド・ワイド・ウェブ・コンソーシアム（Ｗ３Ｃ）、Ｗ３Ｃリコメンデーション（２００１年３月１５日）の標準化ＸＭＬバージョン１．０に説明されるアルゴリズムのような何らかの適切なアルゴリズムを用いて、論理的に等価なものとして構成され得る。
【００８４】
ステップ８０３において、コンテクスト・テーブル及びセマンティクス・テーブルが、生成される。ステップ８０５において、権利表現は、例えば、対応するコンテクスト・テーブル及びセマンティクス・テーブルを用いて、バイナリ・フォーマットに変換される。
【００８５】
実施例においては、ローカライザ・プロセス２０１を使用して権利表現ドキュメント・ファイルにおける選択可能なエレメント及び属性のためのデフォルト値を決定し、それによって、権利表現ドキュメントにおける曖昧さを除去することができる。図８Ｂは、セマンティクス・テーブルを生成するのに使用される図８Ａに示されたステップ８０３をさらに詳細に説明する。
【００８６】
図８Ｂについて説明する。ステップ８１１において、権利表現ドキュメントにおいて宣言されたネーム空間ごとにセマンティクス・テーブルが生成される。これにより、権利表現ドキュメントにおいて宣言されたネーム空間ごとのコンテクストが識別され、かつ、定義される。例えば、ＸｒＭＬのような文法ベース言語のシンタックス及びセマンティクスは、多くの独立したスキームとして定義され得る。それぞれのスキームは、それ自身のキーワードセット及びそのキーワードのセマンティクスな意味を定義する。権利表現ドキュメントにおいて使用されたスキームに対してコンテクストＩＤが特定され、割り当てられる。
【００８７】
ステップ８１３において、識別されたコンテクストには、権利表現ドキュメント内における発生順序及び発生確率に基づいて、コンテクストＩＤが割り当てられる。権利表現言語が、拡張可能なものであり、かつ、コアまたはベース言語から得られるものであれば、最初に使用されたコンテクストＩＤが、コア・テキストのエレメントが権利表現内のどこで使用されるかに関係なく、コア・コンテクストに割り当てられてもよい。しかしながら、コンテクストＩＤは、適切なものであれば、どのような順序で割り当てられてもよい。
【００８８】
ステップ８１５において、ネーム空間ごとに、権利表現ドキュメント内で宣言されたエレメントごとのエレメントＩＤ、エレメント・タイプ、及び、エレメント・ネームが、識別され、かつ、割り当てられる。エレメントＩＤは、権利表現ドキュメント内のエレメントの発生順序及び発生確率に基づいて、割り当てられ、したがって、セマンティクス・テーブル内のそれぞれのエントリは、エレメントＩＤ、エレメント・タイプ、エレメント・ネーム、及び、コンテクストＩＤを含む。
【００８９】
図９は、図２に示されたローカライザ・プロセス２０１のプリ・プロセッサ・プロセス６０３の概略図である。図９において、プロセス９０１〜９０７は、図８Ａ及び図８Ｂを参照して説明したバイナリ変換アルゴリズムの１乃至それ以上のステップを実行する。バイナリ変換アルゴリズムは、また、ＸＭＬデジタル署名のようなデジタル署名に対してバイナリ変換を実行するのにも使用できる。変換された署名は、元々の署名のバイナリ表現であり、これにより元々の署名が維持される。さらに、バイナリ変換アルゴリズムを使用することによって、デジタル署名の完全性とセマンティクスな意味が維持される。
【００９０】
自己完結型フォーマット２１１は、ＸＭＬ構文解析器のような資源から独立なので、処理速度及び伝送パフォーマンスを改善することができる。したがって、自己完結型フォーマット２１１は、限られた資源性能、処理能力、記憶容量、機能を有する多種多様なコンピューティング環境をターゲットに設定できる。
【００９１】
権利表現エレメントのセマンティクスな意味は、ＸＭＬスキーム・ドキュメントのようなセマンティクス・ドキュメント内に記憶してもよい。権利表現は、デジタル署名してもよく、その署名は、権利表現を保護するのに使用され得る。しかしながら、セマンティクス・ドキュメントは、権利表現を含むドキュメントとは異なるドキュメントに保持してもよい。
【００９２】
本発明は、セマンティクス・ドキュメントは、ハッキングされ、変更され得るという認識を含む。すなわち、デジタル署名された権利表現を処理し、評価し、検証するために付与された「意味」は、デジタル署名された権利表現の完全性を失って変更され得る。上述の及びその他の問題は、権利表現及びその権利表現のためのセマンティクスな意味を保護するためにデジタル署名を使用することによって、対応されかつ解決される。
【００９３】
権利表現と当該権利表現のセマンティクスな意味とは別々のドキュメントやファイルとして、署名エンベロープと呼ばれるデジタル署名を使用してエンベロープドキュメント、ファイルに含ませてもよい。署名エンベロープは、権利表現ドキュメント及びセマンティクスな意味ドキュメントのためのフィンガープリント及びハッシュ値を含んでもよい。
【００９４】
実施例においては、ＸＭＬデジタル署名のようなデジタル署名形式の署名エンベロープが権利表現ドキュメント及びセマンティクスな意味ドキュメントを保護するために使用される。権利表現ドキュメント及びセマンティクスな意味ドキュメントを保護するために使用可能な署名エンベロープは、以下のようなものである。
【００９５】
<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>
上記の署名エンベロープにおいて、＜ＳｉｇｎａｔｕｒｅＩｎｆｏ．．．＞エレメントは、署名エンベロープ情報を含み、＜Ｒｅｆｅｒｅｎｃｅ ＵＲＩ＝"Ｒｅｆｅｒｅｎｃｅ ｔｏ Ｒｉｇｈｔ ｅｘｐｒｅｓｓｉｏｎ"＞エレメントは、権利表現ドキュメントへのポインタ、権利表現ドキュメントのフィンガープリント及びハッシュ値を含み、＜Ｒｅｆｅｒｅｎｃｅ ＵＲＩ＝"Ｒｅｆｅｒｅｎｃｅ ｔｏ Ｓｅｍａｎｔｉｃｓ ｄｏｃ"＞エレメントは、セマンティクスドキュメントのポインタ、フィンガープリント及びハッシュ値を含み、＜ＳｉｇｎａｔｕｒｅＶａｌｕｅ＞．．．＜／ＳｉｇｎａｔｕｒｅＶａｌｕｅ＞エレメントは、署名エンベロープの署名を含む。
【００９６】
権利表現のセマンティクスな意味及び権利表現は、バイナリ・ドキュメント、ファイルに含まれ、署名エンベロープは、エンベロープドキュメントに含まれてもよい。署名エンベロープは、権利表現及びその権利表現のセマンティクスな意味を含むバイナリ・ドキュメントのためのフィンガープリント及びハッシュ値を含んでもよい。
【００９７】
バイナリ・ドキュメントを保護するために使用される署名エンベロープは、以下のようなものである。
【００９８】
<Signature>
<SignatureInfo…>
<CanonicalizationMethod>…</CanonicalizationMethod>
<SignatureMethod>…</SignatureMethod>
<Reference URI="…">
<Transform Algorithm="XrML Binary"/>
<DigestValue>…</DigestValue>
</Reference>
</SignatureInfo>
<SignatureValue>…</SignatureValue>
</Signature>
上記の署名エンベロープにおいて、＜Ｒｅｆｅｒｅｎｃｅ ＵＲＩ＝"．．"＞エレメントは、バイナリ・ドキュメントへのポインタ、バイナリ・ドキュメントのフィンガープリント及びハッシュ値を含み、＜Ｔｒａｎｓｆｏｒｍ Ａｌｇｏｒｉｔｈｍ＝"ＸｒＭＬ Ｂｉｎａｒｙ"／＞エレメントは、一般的なバイナリ変換アルゴリズムが使用されることを指示し、＜ＳｉｇｎａｔｕｒｅＶａｌｕｅ＞．．．＜／ＳｉｇｎａｔｕｒｅＶａｌｕｅ＞エレメントは、バイナリ・ドキュメントの署名を含む。
【００９９】
実施例においては、権利表現インタープリタは、権利表現に基づいて、何らかの処理を実行する要求やドキュメントを閲覧したい旨の要求のような、結果として要求の許可をもたらすような要求を処理するように構成される。しかしながら、「要求」を使用することなく権利表現を処理するために、単純化プロセス２０３を使用してもよい。
【０１００】
図１０は、図１、図４、及び、図５に示されるデジタル権利管理システム上の装置及びサブシステム上で実施可能な単純化プロセス２０３の概略図である。図１０において、権利表現２０７ドキュメント中の権利表現のセマンティクスな意味は、自己完結型フォーマット２１１内に含まれる。また、単純化プロセス２０３が、権利表現２０７を評価、削減して単純化フォーマット２１５を生成する。
【０１０１】
単純化プロセス２０３は、権利表現２０７ドキュメント内の権利表現を単純化する。そのような単純化は、権利表現のセマンティクスな意味を特定すること、ターゲット・コンピューティング環境の装置情報２１７に基づいて権利表現を評価すること、及び、権利状態情報２１３に基づいて権利表現のステータスを判定することを含む。
【０１０２】
剪定プロセス１００１は、例えば、装置情報２１７に基づいて、権利表現２０７ドキュメントから、ターゲット・コンピューティング環境によって使用不能な１乃至複数の権利表現を剪定すなわち除去する。剪定プロセス１００１は、ターゲット・コンピューティング環境によってサポートすることのできる被剪定形式１００７による権利表現を生成するのに使用される。例えば、ターゲット・コンピューティング環境が、デジタル・コンテンツを印刷または再生することのできない携帯電話であれば、これらの機能に関係するすべてのエレメントが、剪定される。
【０１０３】
評価プロセス１００３は、権利状態情報２１３、及び、必要であれば条件検証プロセス１００７からの結果に基づいて、被剪定形式１００７による権利表現内の特定の条件及びエレメントを評価する。評価プロセス１００３は、剪定された権利表現１００７から１つ乃至複数の条件及び権利表現を除外することによって、単純化形式１００９による権利表現を生成する。例えば、ある条件が充足されており、かつ、それが将来失効することがないならば、そのような条件は、権利表現から剪定される。
【０１０４】
フォーマッタ・プロセス１００５は、単純化された権利表現１００９をフォーマット及び再フォーマットして単純化フォーマット２１５による権利表現２０７を生成する。単純化フォーマット２１５による権利表現２０７は、使用され、評価され、さもなければ、処理されるべき最低限の権利表現及び条件のみを含む。
【０１０５】
単純化プロセス２０３は、権利表現２０７ドキュメントまたは自己完結型フォーマット２１１による権利表現２０７ドキュメントを処理する。権利表現ドキュメントは、単純化プロセス２０３によって受信され、ローカライザ・プロセス２０１へ送られる。ローカライザ・プロセス２０１は、自己完結型フォーマット２１１による権利表現ドキュメントを単純化プロセス２０３へ返送してもよい。
【０１０６】
図１１は、図１０に示される単純化プロセス２０３を説明するフローチャートである。図１１によれば、ステップ１１０１において、単純化プロセス２０３は、１乃至複数の権利表現を含む権利表現２０７ドキュメントを受信する。ステップ１１０３において、剪定プロセス１００１は、被剪定形式１００７による権利表現を生成するために、装置情報２１７に基づいて、権利表現の剪定を実行する。ステップ１１０３において、ターゲット・コンピューティング環境によって処理できない権利表現部分が、権利表現２０７ドキュメントから除去される。例えば、ターゲット・コンピューティング環境が、印刷することができなければ、印刷権が、権利表現２０７ドキュメントから除去される。
【０１０７】
ステップ１１０５において、評価プロセス１００３が、剪定された権利表現１００７を処理し、評価のためにいくつかの条件を抽出する。評価プロセス１００３は、単純化された権利表現１００９を生成するために、抽出された条件を、権利状態情報２１３に基づいて評価する。
【０１０８】
ステップ１１０７において、フォーマッタ・プロセス１００５は、単純化された権利表現１００９を、単純化フォーマット２１５による権利表現２０７に変換する。単純化フォーマット２１５による権利表現２０７ドキュメントは、最低限の権利表現及び条件を含み、それらの最低限の権利表現及び条件は、後に評価され、権利表現２０７ドキュメント、ファイル、及び、それらに類似するものの中に存在する１つかまたはそれ以上の権利を行使する許可をユーザ、装置、または、システムに与える。
【０１０９】
図１２Ａ及び図１２Ｂは、図１０に示した剪定プロセス１００１及び評価プロセス１００３をさらに詳細に説明するフローチャートであり、図１２Ａは、剪定プロセス１００１に対応し、図１２Ｂは、評価プロセス１００３に対応する。図１２Ａのステップ１２０１では、自己完結型フォーマット２１１による権利表現２０７ドキュメント、ファイルが、リトリーブされる。
【０１１０】
ステップ１２０３において、権利表現２０７ドキュメントから、さらなる処理のために、一の権利表現が抽出され、ステップ１２０５において、抽出された権利表現が検証される。ステップ１２０７において、抽出された権利表現が、有効であると判定されたならば、抽出された権利表現は、さらなる処理のために、図１２Ｂに示される一般的な評価プロセス１００３へ転送される。ステップ１２０７において、抽出された権利表現が、無効であると判定されたならば、該権利表現は、権利表現２０７ドキュメントから除去され、ステップ１２０３で次の権利表現が処理される。
【０１１１】
図１２Ｂについて説明する。ステップ１２１１では、もしあれば、有効な権利表現からある条件が抽出される。ステップ１２１３において、条件が有効な権利表現から抽出されたかどうかが判定され、条件が抽出されていなければ、有効な権利表現が、単純化された形式１００９による権利表現として出力され、そして、図１２Ａのステップ１２０３において、次の権利表現が、処理される。条件が、有効な権利表現から抽出されていれば、ステップ１２１５において、一般的な評価プロセス１００３が、抽出された条件を評価及び検証する。
【０１１２】
しかしながら、別の実施形態においては、条件検証プロセス１００７が、抽出された条件を評価及び検証するのに使用される。評価プロセス１００３は、１つかまたはそれ以上の抽出された条件を、１つかまたはそれ以上の条件検証プロセス１００７へ送信または転送する。評価プロセス１００３及び／または条件検証プロセス１００７によって判定された、抽出条件に対する評価結果は、真の値、偽の値、あるいは、評価不可値を含み得る。
【０１１３】
ステップ１２１７において、抽出された条件を評価することができなければ、ステップ１２２５において、抽出された条件が、対応する有効な権利表現内に維持され、そして、ステップ１２１１において、次の条件が、処理される。ステップ１２１７において、抽出された条件を評価することができ、かつ、ステップ１２１９による条件評価の結果が真であれば、抽出された条件は、対応する有効な権利表現から除去され、そして、ステップ１２１１において、次の条件が、処理される。ステップ１２１７において、抽出された条件を評価することができ、かつ、ステップ１２１９による条件評価の結果が偽であれば、有効な権利表現は、権利表現２０７ドキュメントから除去され、そして、図１２Ａのステップ１２０３において、次の権利表現が、処理される。
【０１１４】
単純化プロセス２０３は、権利表現内の有効な権利を判定し、有効な権利に付随する条件を評価し、評価することのできない条件を維持し、真の値を備えた評価結果を有する条件を有効な権利条件から除去し、偽の値を備えた評価結果を有する条件に対応する有効な権利を除去する。
【０１１５】
自己完結型フォーマット２１１は、バイナリ・フォーマット、またはバイナリ・フォーマットの変形を含み得る。この場合、コンテクスト・テーブルは、選択的であり、行使可能フォーマットと称する。行使可能フォーマットにおいては、コンテクストＩＤカラムは、セマンティクス・テーブルから除去される。コンテクスト・テーブル及び／またはセマンティクス・テーブルは、ターゲット・コンピューティング環境において、事前に構築され、定義され、記憶されていてもよい。このように、自己完結型フォーマット２１１は、さらに評価されなければならない権利表現を含み得るが、ここに、コンテクスト・テーブル及び／またはセマンティクス・テーブルは必ずしも必要ではない。
【０１１６】
行使可能フォーマットは、プラットフォーム中立であり、ＸｒＭＬのようなネイティブなフォーマットやバイナリ・フォーマットよりずっとコンパクトである。通常、行使可能フォーマットによれば、権利表現のセマンティクスな意味を理解するための外部の権利解釈資源は不要である。なぜなら、権利表現のセマンティクスな意味は、すでに、決定され、解釈されているからである。
【０１１７】
さらに、行使可能フォーマットは、通常、権利表現を完全に処理するフルシステムを必要としない。なぜなら、シンプルな検証機能で、要求を許可することのできる十分な能力を有し、行使可能フォーマットから条件及びパラメータを読み込み、権利条件検証を配置及び起動できるからである。すなわち、行使可能フォーマットは、最も最適化されたフォーマットでありながら、なお、プラットフォーム独立であり、資源に制約のあるコンピューティング環境において使用可能で、高性能処理のための最も効率的なフォーマットである。
【０１１８】
権利表現２０７は、コンテクスト・テーブルを使用することなく、行使可能フォーマットに変換されてもよい。行使可能フォーマットは、権利表現のエレメントに矛盾が存在しない場合に使用可能で、ターゲット・コンピューティング環境は、権利表現中の権利コンテクストを理解することができる。コンテクスト・テーブル、及び、セマンティクス・テーブルのコンテクストＩＤカラムは、行使可能フォーマットとともに使用される必要はない。
【０１１９】
セマンティクス・テーブルをより詳細に説明するために、ＸｒＭＬに基づいた、音楽再生用のライセンスの形式における第３の権利表現例を示す。
第３の権利表現例
<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:intervalKeeper key="777">
<cm:device cmid="123"/>
</cm:intervalKeeper>
</sx:stateReference>
</sx:validityIntervalFloating>
</grant>
<cm:issuerDevice>
<cm:device cmid="024"/>
</cm:issuerDevice>
</license>
第３の権利表現例に基づいたセマンティクス・テーブルの例を表６として示す。
【０１２０】
【表６】
0004740543.tif 000007
【０１２１】
表３及び表６に基づいて第３の権利表現を行使可能フォーマットに変換した例を以下に示す。
【０１２２】
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:intervalKeeper key="777">
09 issuer [processing instruction]
28 <cm:issuerDevice>
00202103024 next level <cm:device cmid="024"/>
セマンティクス・テーブルは、ターゲット・コンピューティング環境において、事前に構築され、定義され、事前に記憶されていてもよい。このように、行使可能フォーマットは、さらに評価されなければならない権利表現を含むが、必ずしもセマンティクス・テーブルを含まなくてもよい。
【０１２３】
権利表現を単純化フォーマット２１１に変換することによって、ＸｒＭＬのようなネイティブなフォーマットによる権利表現よりも、より効率的でコンパクトなフォーマットが使用できる。しかしながら、プラットフォーム独立を必要としない、装置が一のプラットホームの一部であるホモジーニアスなコンピューティング環境においては、さらなる最適化が、なされ得る。
【０１２４】
トランスレータ・プロセス２０５は、装置、コンポーネント、アプリケーション、機能、システム、プラットフォームを備え、単純化フォーマット２１１を装置特定フォーマット２１９に変換する責任を果たす。単純化フォーマット２１１は、ターゲット・コンピューティング環境に特定なものである、ターゲット・コンピューティング環境においてより効率的に消費される。
【０１２５】
装置特定フォーマット２１９による権利表現は、装置ごとに変化するが、一般的には、権利表現の範囲内において権利を行使する要求を許可するために検証されるべき条件及び実行されるべき処理命令のリストを含むデータ構造を有する。トランスレータ・プロセス２０５が権利表現２０７を変換して生成した装置特定フォーマット２１９は、グリフに基づいたフォーマット、プロファイルに基づいたフォーマット、テンプレートに基づいたフォーマット等であり、例えば、ＭＰ３装置、セット・トップ・ボックスのような特定の装置によって処理可能なフォーマットである。
【０１２６】
実施例において、ターゲット・コンピューティング環境は、Ｐｒｏｌｏｇ（ＰＲＯｇｒａｍｍｉｎｇ in ＬＯＧｉｃ）言語のようなプログラミング言語を実行するように構成され、ここで、権利表現は、例えば、"アリスは、１２３４５６によって識別されるビデオを５回まで鑑賞することができる"ことを規定するように構成される。権利表現は、Ｐｒｏｌｏｇトランスレータによって、例えば以下のようなＰｒｏｌｏｇ表現に変換される。
【０１２７】
(1) Principal("Alice"),
(2) Video("123456"),
(3) View(p,r),
(4) Principal(p),
(5) Video(r),
(6) Count(5).
しかしながら、ターゲット・コンピューティング環境は、以下のように記述されたデータ構造を使用するように構成されてもよい。
【０１２８】
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
｝
｝
また、権利表現は、トランスレータ・プロセス２０５によって、ターゲットであるＰｒｏｌｏｇコンピューティング環境に向けて、以下のようなバイトストリームに変換してもよい。
【０１２９】
1Alice 01020005
バイナリ・フォーマットは、ＸｒＭＬドキュメントの権利表現、及び、権利表現において使用されるエレメントのセマンティクスな意味を含んでもよい。バイナリ・フォーマットによる権利表現の構造は、ネイティブなＸＭＬのようなＸｒＭＬドキュメント内の権利表現の構造に類似してもよい。
【０１３０】
バイナリ・フォーマットのバイナリ構造は、ＸＭＬ資源及びＸＭＬ構文解析器のような外部資源を必要とすることなく、何らかの適切なアプリケーション、装置、システム、プラットフォームによって処理可能である。権利表現のエレメントのセマンティクスな意味は、バイナリ・フォーマット内に含まれ得るから、権利表現の意味を解釈するためにＸＭＬスキーマは必ずしも使用されなくてもよい。
【０１３１】
ＸｒＭＬフォーマットによる権利表現と比較すれば、バイナリ・フォーマットによる権利表現は、プラットフォーム中立またはプラットフォーム独立である。さらに、バイナリ・フォーマットによる権利表現を使用する場合は、従来のフォーマットによる権利表現の意味を処理及び解釈するのに必要とされるＸＭＬ構文解析器及びスキーマ構文解析器のような外部資源をあまり必要としないために、処理能力が増大する。
【０１３２】
バイナリ変換アルゴリズムをデジタル署名に対して適用し、ＸｒＭＬドキュメントのようなオリジナルのドキュメントとバイナリ・フォーマットによるバイナリ・ドキュメントとの間でデジタル署名を維持して、オリジナルドキュメントの完全性を保証するようにしてもよい。
【０１３３】
図１３は、バイナリ・フォーマットの構造１３００の概略図である。図１３の実施例において、バイナリ・フォーマットによるファイルは、Ｐｒｏｌｏｇ部分１３０１、コンテクスト・テーブル部分１３０３、セマンティクス・テーブル部分１３０５、権利表現部分１３０７、及び、署名テーブル部分１３０９を含む。しかしながら、署名テーブル部分１３０９は、署名テーブル部分１３０９情報を提供することによって、他の部分１３０１〜１３０７に対する冗長な情報として、ファイルから除去してもよい。
【０１３４】
Ｐｒｏｌｏｇ部分１３０１は、バージョン番号、ベンダーに関する情報、及び、オリジナルのドキュメントのＩＤなど、バイナリ・フォーマットに関する情報を含む。さらに、Ｐｒｏｌｏｇ部分１３０１は、マジック・ナンバー領域を含む。このマジック・ナンバーは、ファイルのフォーマットを示すものであり、フォーマットとは、例えば、行使可能フォーマット、バイナリ・フォーマット、及び、コンテクスト・テーブル及びセマンティクス・テーブルを除去可能な最適化されたバイナリ・フォーマット等である。Ｐｒｏｌｏｇ部分１３０１は、さらに、ファイル内のフォーマットのバージョン番号を指示するためのバージョン・ナンバー領域、ファイル内のコンテクスト・テーブルへのポインタを含む第１のポインタ領域、ファイル内のセマンティクス・テーブルへのポインタを含む第２のポインタ領域、及び、ファイル内の権利表現へのポインタを含む第３のポインタ領域を含む。
【０１３５】
コンテクスト・テーブル部分１３０３は、オリジナルドキュメントにおいて使用されるネーム空間のコンテクスト・テーブルを含む。さらに、コンテクスト・テーブル部分１３０３は、コンテクストＩＤを含むネーム空間ごとに１つのエントリを備えて構成し、それは、ネーム空間ごとに固有の識別情報を含む。コンテクストＩＤは、対応するコンテクストのオリジナルドキュメント内のエレメントの発生に基づいて割り当てられる。権利表現言語が、拡張可能なものであり、かつ、コア言語またはベース言語から得ることができる場合、第１のコンテクストＩＤが、コア・コンテクストのエレメントが元々のドキュメント内のどこに使用されるかに関係なく、コア・コンテクストに割り当てられる。コンテクスト・テーブル部分１３０３は、さらに、ネーム空間の長さを規定するためのネーム空間ＵＲＩの長さ、及び、ネーム空間及びコンテクストを特定するためのネーム空間ＵＲＩを含む。
【０１３６】
セマンティクス・テーブル部分１３０５は、ネーム空間ごとに１つのセマンティクス・テーブルを含む。セマンティクス・テーブルは、権利表現において使用されるネーム空間のエレメントごとの情報を含む。さらに、セマンティクス・テーブル部分１３０５は、権利表現において使用されるネーム空間のエレメントごとの情報を含むように構成される。さらに、セマンティクス・テーブル部分１３０５は、エレメントに割り当てられた固有のＩＤであるエレメントＩＤを含む、エレメントごとに１つのエントリを備え、また、コア・エレメントに割り当てられた固定の複数のＩＤを備える。
【０１３７】
セマンティクス・テーブル部分１３０５は、エレメントのタイプを規定するためのエレメント・タイプを含む。予め定義されたエレメント・タイプが、表３のタイプ・テーブルに示されるように規定される。セマンティクス・テーブル部分１３０５は、スキーマ内に定義されたエレメントのネームを規定するためのエレメント・ネーム、及び、そのエレメントを含むネーム空間のコンテクストＩＤに対応するエレメント・コンテクストＩＤを含む。
【０１３８】
権利表現部分１３０７は、以下に記述されるような構造を備えた権利表現（ＲＥ）を含む。
【０１３９】
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
上述の構造において、ＲＥ＝"ｓｅｑ"｜［"ｓｅｑ"］1...nは、権利表現がシーケンス"ｓｅｑ"、または、１つかまたはそれ以上のシーケンス群［"ｓｅｑ"］1...nを含むことを示し、ここで、"ｓｅｑ"は"ｔｙｐｅ"または"ｓｐｅｃｉａｌＴｙｐｅ"であり、"ｓｐｅｃｉａｌＴｙｐｅ"は予め定義されたタイプ・テーブルのタイプ０２または０３であり、"ｌｅｎｇｔｈ"及び"ｖａｌｕｅ"を有し、ここで、"ｌｅｎｇｔｈ"は、"ｖａｌｕｅ"のバイト単位での長さであり、"ｖａｌｕｅ"は、バイトのシーケンスであり、"ｔｙｐｅ"は、予め定義されたタイプ・テーブルのＩＤであるが、属性及び値タイプであるＩＤ０２及び０３以外のものである。
【０１４０】
単純化フォーマット２１５としては、バイナリ・フォーマットや変形バイナリフォーマット等、種々のフォーマットがあり得る。ここでは、コンテクスト・テーブルはオプショナルであり、行使可能フォーマットと呼ばれる。さらに、コンテクスト・テーブルが単純化フォーマット２１５に含まれていない場合には、コンテクストＩＤカラムは、対応するセマンティクス・テーブルから省略してもよい。
【０１４１】
図１４は、行使可能フォーマットの例としての構造１４００の概略図である。図１３において、バイナリ・フォーマットの構造１３００は、Ｐｒｏｌｏｇ部分１３０１、コンテクスト・テーブル部分１３０３、セマンティクス・テーブル部分１３０５、権利表現部分１３０７、及び、署名テーブル部分１３０９を含む。しかしながら、図１４に示されるように、行使可能フォーマットは、Ｐｒｏｌｏｇ部分１３０１、セマンティクス・テーブル部分１３０５、及び、権利表現部分１３０７で構成してもよい。したがって、上述したように、コンテクスト・テーブル部分１３０３及び署名テーブル部分１３０９を省略し、セマンティクス・テーブルからコンテクストＩＤカラムを省略することを除けば、構造１４００は、構造１３００と同じように構成されている。
【０１４２】
実施例によれば、トランスレータ・プロセス２０５が権利表現を翻訳した装置特定フォーマット２１９には、グリフに基づいたフォーマット、プロファイルに基づいたフォーマット、テンプレートに基づいたフォーマット、Ｐｒｏｌｏｇプログラムに基づいたフォーマット、及び、ＭＰ３装置、セット・トップ・ボックスのような特有の装置によって処理されるフォーマットを含む。
【０１４３】
権利表現のエンコードにはシンボリック表現を使用してもよい。シンボリック表現は、グリフに基づいたグラフィカル表現、及び、変調または変化する光信号または音信号に基づくような、変調または変化する信号に基づいた表現を含んでもよい。したがって、権利表現のシンボリック表現は、星形構造、四角形構造、長方形構造、円形構造、三角形構造、あるいは、それらの一部分を含む構造に基づいたグリフ構造に基づいて、符号化され、取り出されてもよい。同様に、権利表現は、何らかの適切な周波数及び振幅を用いて、変調または変化する信号、光、音、一連の音、光パルスに基づいて、符号化し、取り出してもよく、紫外線、Ｘ線、マイクロ波、電磁波を含み、レーザ、変調または重畳された情報、異なる色または波長、及び、電界または磁界の変化を使用する。
【０１４４】
図１５は、トランスレータ・プロセス２０５によってグリフのようなシンボルに基づいて生成された権利表現２０７のシンボリック表現を示す。図１５において、シンボリック表現は、星形構造に基づいたグリフ構造から取り出され、そして、権利表現２０７を表現する。実施例においては、星形構造から得られるシンボル１５０１〜１５０４は、赤、緑、及び、青（ＲＧＢ）の色空間から取り出される。すなわち、星形構造のシンボル１５０１〜１５０４は、赤（Ｒ）、緑（Ｇ）、及び／または、青（Ｂ）である色を含む。したがって、色の組み合わせをしない基本的な場合においては、１２個のシンボル（４つのシンボル×３つの色）を生成することができる。しかしながら、メンバーまたはシンボルの数を増やすために、図１５に示されるように、重なり合った色を有する合成シンボル１５１１〜１５１９を生成することもできる。
【０１４５】
最大で１２個すべての異なる色のシンボルを、物理的な位置において重なり合い、可能性として、星形のそれぞれの部分ごとに様々な色または色の組み合わせで星形構造の一部または全部を構成するように、組み合わせることができる。結果として得られた合成シンボル１５１１の水平シンボル１５０１の色は、緑のシンボルと赤のシンボルとの組み合わせ１５０１によるものである。図１５に示されるように、様々な色を組み合わせたシンボル１５０１〜１５０４が、合成シンボル１５１１〜１５１９を生成するのに使用され得る。
【０１４６】
図１５のシンボル・セットにおける合成シンボルの数は、空白をシンボルとみなさないと仮定すれば、例えば、（２12−１）すなわち４０９５であり得る。多くの合成シンボルを選択することができるので、それに対応して、文法、言語に関する情報のような、権利表現に使用される情報についての複雑かつ広範囲にわたるシンボリック表現を生成することができる。
【０１４７】
図１５に示されるように、権利表現２０７は、電子書籍にアクセスするための期限日を表現してもよく、そして、合成シンボル・セットを用いて表現されてもよい。図１５において、シンボル１５１１〜１５１９は、データベースにおいて、特定の作家による小説を指示する書籍識別（ＩＤ）番号が２４５であり、かつ、アクセス期限日が２００３年７月１２日である場合の権利表現２０７を表現する。
【０１４８】
第１の合成シンボル１５１１は、語句「書籍（または、資源）識別番号」を表現し、第２の合成シンボル１５１３は整数「２４５」を表現し、第３の合成シンボル１５１５は語句「アクセス／期限日」を表現し、第４の合成シンボル１５１７は月及び日（「７月１２日」または７−１２）を表現するのに使用し、第５の合成シンボル１５１９は年「２００３」を表現する。さらに、１つかまたはそれ以上の、例えばグリフのようなシンボルを用いて、何らかの適切な権利表現を行ってもよい。
【０１４９】
権利表現に関する情報を伝達する使用されるグリフ、シンボル、語、メッセージは、光、音、一連の音、光パルス等でも良く、何らかの適切な周波数、振幅を用いて符号化されてもよく、紫外線、Ｘ線、マイクロ波、電磁波であってもよく、レーザ、変調または重畳された情報、様々な色または波長、電界または磁界の変化であってもよい。
【０１５０】
何らかの適切な一連のグリフ、シンボル、語、メッセージは、送信されるメッセージに意味を提供するそれら自身の文法、ルールを有する。人の耳または目が感知することのできない周波数範囲に存在する音または光が、セキュリティ・アプリケーション、プライバシー・アプリケーションの実行中に、グリフ、シンボル、語、メッセージを送信するのに使用されてもよい。このようにして、送信されるメッセージは、ユーザに対してトランスペアレントなものにされてもよいが、それと同時に、適切なセンサー、検出器によって、リトリーブされ、理解されなければならない。グリフ、シンボル、語、メッセージは、感知された情報、メッセージを、数値、ビット、バイト、または、その他の方法に基づいて、量子化し、デジタル化し、表現することができる限り、何らかの適切な人または機械の感知器官または感知装置を用いて表現されてもよい。
【０１５１】
トランスレータ・プロセス２０５が権利表現２０７を変換して生成する装置特定フォーマット２１９は、プロファイルに基づいたフォーマットやテンプレートに基づいたフォーマットを含んでもよい。特定の歌を特定の装置上で再生するように規定された使用権を譲渡するライセンスの権利表現は、例えば、以下のように表わされる。
【０１５２】
<license>
<grant>
<cm:device cmid="123"/>
<cx:play/>
<cm:music cmid="456"/>
</grant>
<cm:issuerDevice>
<cm:device cmid="024"/>
</cm:issuerDevice>
</license>
そして、トランスレータ・プロセス２０５は、ライセンス中の変数が除去されたテンプレート、プロファイル、及び、それらに類似するものを装置特定フォーマット２１９として生成する。
【０１５３】
<license>
<grant>
<cm:device cmid=""/>
<cx:play/>
<cm:music cmid=""/>
</grant>
<cm:issuerDevice>
<cm:device cmid=""/>
</cm:issuerDevice>
</license>
図１、図４、及び、図５に示されるデジタル権利管理システム装置及びサブシステムは、通信ネットワーク１７０を介して通信してもよく、また、開示された実施例の機能を実行することのできる何らかの適切なサーバ、ワークステーション、パーソナル・コンピュータ（ＰＣ）、ラップトップ・コンピュータ、ＰＤＡ、インターネット機器、セット・トップ・ボックス、モデム、ハンドヘルド・デバイス、電話、携帯電話、無線装置、資源制約装置、または、その他の装置を含んでもよい。図１、図４、及び、図５に示されるデジタル権利管理システム装置及びサブシステムは、何らかの適切なプロトコルを用いて、互いに通信してもよく、また、汎用コンピュータ・システムを用いて実施されてもよい。何らかのインタフェース機構が、インターネット・アクセス、音声、モデムのような何らかの適切な形態を有するテレコミュニケーション、無線通信媒体を含む図１、図４、及び、図５に示されるデジタル権利管理システムにおいて使用されてもよい。通信ネットワーク１７０は、無線通信ネットワーク、セルラー通信ネットワーク、衛星通信ネットワーク、公衆交換電話網（ＰＳＴＮ）、パケット・データ・ネットワーク（ＰＤＮ）、インターネット、イントラネット、ハイブリッド通信ネットワーク、それらを組み合わせたものを含んでもよい。さらに、通信ネットワーク１７０は、単一かまたは異なるネットワークであってもよい。
【０１５４】
図１、図４、及び、図５のデジタル権利管理システム１００は、説明のための例であることを理解すべきである。なぜなら、開示された実施例を実施するために使用される特定のハードウェアの多くの変形が可能だからである。図１、図４、及び、図５に示されるデジタル権利管理システム装置及びサブシステムの機能は、種々のプログラムされたコンピュータ・システムまたは装置によって実施され得る。そのような変形実施をするために、単一のコンピュータ・システムが、図１、図４、及び、図５に示されるデジタル権利管理システム装置及びサブシステムの特殊目的機能を実行するようにプログラムされてもよい。他方において、複数のプログラムされたコンピュータ・システムまたは装置が、図１、図４、及び、図５に示されるデジタル権利管理システム装置及びサブシステムのいずれか１つと置き換えられてもよい。したがって、また、冗長、反復のような分散処理の原理及び利点が、図１、図４、及び、図５に示されるデジタル権利管理システムのロバスト性及び能力を増大させるために実施され得る。
【０１５５】
図１〜図１５を参照して説明したような図１、図４、及び、図５に示されるデジタル権利管理システムは、ここで説明した様々なプロセスに関係する情報を記憶するのに使用され得る。この情報は、図１、図４、及び、図５に示されるデジタル権利管理システムの装置及びサブシステムのハードディスク、光ディスク、光磁気ディスク、ＲＡＭのような記憶装置に記憶され得る。図１、図４、及び、図５に示されるデジタル権利管理システム装置及びサブシステム上のデータベースが、実施例を実施するために使用される情報を記憶してもよい。データベースは、種々の記憶装置に含まれる、レコード、テーブル、アレイ、フィールド、グラフ、ツリー、リストのようなデータ構造を用いて編成されてもよい。
【０１５６】
図１〜図１５を参照して説明したようなデジタル権利管理システムは、開示された実施例の教示に基づいてプログラムされた汎用コンピュータ・システム、マイクロプロセッサ、デジタル信号プロセッサ、マイクロ・コントローラを用いて、実施されてもよい。この分野の通常の知識を有するプログラマーは、開示された実施例の教示に基づいて、適切なソフトウェアを容易に製作することができる。さらに、図１、図４、及び、図５に示されるデジタル権利管理システムは、特定用途向けＩＣを製作することによって、あるいは、要素回路からなる適切な回路網を互いに接続することによって、実施されてもよい。
【０１５７】
ここで説明される実施例は、オフライン・システム、オンライン・システムとして、また、ＴＶアプリケーション、コンピュータ・アプリケーション、ＤＶＤアプリケーション、ＶＣＲアプリケーション、機器アプリケーション、ＣＤプレーヤー・アプリケーションのようなアプリケーションとして、使用されてもよい。さらに、実施例のグリフ、シンボル、語、メッセージを送信するのに使用される信号は、人の可視スペクトルの範囲内において、人の可聴スペクトルの範囲内において、人の可視スペクトルの範囲外において、人の可聴スペクトルの範囲外において、それらを組み合わせた範囲において、送信されるように構成されてもよい。
【０１５８】
ＸｒＭＬ、ＸＭＬを使用することによって、実施例を説明したが、実施例は、そのようなものに限定されるのではなく、ＸｒＭＬまたはＸＭＬに基づくものであろうとなかろうと、何らかの適切な文法、言語によって実施されてもよい。
【０１５９】
いくつかの実施形態及び具体例に関して本発明を説明したが、本発明は、それらに限定されるのではなく、様々な変形及び等価な構成を含み、それらは、添付の特許請求の範囲に規定される。
【図面の簡単な説明】
【０１６０】
【図１】本発明の様々な実施形態を実施することのできる例としてのデジタル権利管理システムの概略図である。
【図２】図１、図４、及び、図５に示されるデジタル権利管理システムにおいて実施されてもよい例としてのマルチパス解釈プロセスの概略図である。
【図３】図２に示される例としてのマルチパス解釈プロセスを説明するフローチャートである。
【図４】別の実施形態による例としてのデジタル権利管理システムの概略図である。
【図５】別の実施形態による例としてのデジタル権利管理システムの概略図である。
【図６】図１、図４、及び、図５に示されるデジタル権利管理システムにおいて実施されてもよい一般的なローカライザ・プロセスの概略図である。
【図７】図６に示されるローカライザ・プロセスの一般的なプリ・プロセッサ・プロセスを説明するフローチャートである。
【図８Ａ】一般的なバイナリ変換アルゴリズムを説明するフローチャートである。
【図８Ｂ】一般的なバイナリ変換アルゴリズムを説明するフローチャートである。
【図９】図６に示されるローカライザ・プロセスの一般的なプリ・プロセッサ・プロセスの概略図である。
【図１０】図１、図４、及び、図５に示されるデジタル権利管理システムにおいて実施されてもよい一般的な単純化プロセスの概略図である。
【図１１】図１０に示される一般的な単純化プロセスを説明するフローチャートである。
【図１２Ａ】図１０に示される一般的な剪定プロセス及び評価プロセスを説明するフローチャートである。
【図１２Ｂ】図１０に示される一般的な剪定プロセス及び評価プロセスを説明するフローチャートである。
【図１３】図２に示される一般的なマルチパス解釈プロセスによって生成されてもよいバイナリ・フォーマットの一般的な構造の概略図である。
【図１４】図２に示される一般的なマルチパス解釈プロセスによって生成されてもよい行使可能フォーマットの一般的な構造の概略図である。
【図１５】図１、図４、及び、図５に示されるデジタル権利管理システムによって生成されてもよい権利表現の一般的なシンボリック表現を説明する図である。
【図１】
0004740543.tif 000008
【図２】
0004740543.tif 000009
【図３】
0004740543.tif 000010
【図４】
0004740543.tif 000011
【図５】
0004740543.tif 000012
【図６】
0004740543.tif 000013
【図７】
0004740543.tif 000014
【図８Ａ】
0004740543.tif 000015
【図８Ｂ】
0004740543.tif 000016
【図９】
0004740543.tif 000017
【図１０】
0004740543.tif 000018
【図１１】
0004740543.tif 000019
【図１２Ａ】
0004740543.tif 000020
【図１２Ｂ】
0004740543.tif 000021
【図１３】
0004740543.tif 000022
【図１４】
0004740543.tif 000023
【図１５】
0004740543.tif 000024