(57)【要約】【課題】安全な電子権利管理コンテナ内のデータ特性を定義し及び／又は記述するシステムとプロセスを提供する。【解決手段】記述的データ構造は、安全コンテナといった権利管理データ構造の抽象表現を提供する。この抽象表現は、例えば、権利管理データ構造の配置などを記述することができる。これは又、権利管理データ構造の使用及び／又は処理のその他の特徴を記述又は定義づけするメタデータをも提供することができる。例えば、記述データ構造は、付随する情報についてのルールの陳述方法を提供する完全性制約条件を提供することができる。抽象表現は、互いに相互操作性及び互換性のある権利管理データ構造を作り出すために使用可能である。この配置は、安全性を脅かすことなく使用の融通性及び容易さを保つ。【選択図】図２Ａ
2006059383.tif 000002
【特許請求の範囲】
【請求項１】
機械読取り可能な抽象記述データ構造を作成する段階；及び
少なくとも１つの権利管理データ構造と相互操作するためにこの表現を使用する段階；
を含んで成るデータ処理方法。
【請求項２】
前記使用段階には、少なくとも部分的に前記記述データ構造に従って少なくとも１つの権利管理データ構造の少なくとも１つの部分を書式化する段階が含まれている、請求項１に記載の方法。
【請求項３】
前記使用段階には、少なくとも部分的に前記記述データ構造に従って少なくとも１つの権利管理データ構造の少なくとも１つの部分の表示を書式化する段階が含まれている、請求項１に記載の方法。
【請求項４】
前記使用段階には、少なくとも部分的に前記記述データ構造に従って少なくとも１つの権利管理データ構造の少なくとも１つの部分の読取りを書式化する段階が含まれている、請求項１に記載の方法。
【請求項５】
前記使用段階には、少なくとも部分的に前記記述データ構造に基づいて少なくとも１つの権利管理データ構造の少なくとも１部分を表示する段階が含まれている、請求項１に記載の方法。
【請求項６】
前記作成段階には、前記記述データ構造内にメタデータを提供する段階が含まれ、表示段階には、少なくとも部分的にメタデータに従って権利管理データ構造から少なくともいくつかの情報を表示する段階が含まれている、請求項１に記載の方法。
【請求項７】
前記使用段階には、少なくとも部分的に前記記述データ構造に基づいてユーザインタフェースを動的に生成する段階が含まれている、請求項１に記載の方法。
【請求項８】
前記使用段階には、少なくとも部分的に前記記述データ構造に基づいて少なくとも１つのデータフィールドを自動的に識別し及び／又は位置設定する段階が含まれている、請求項１に記載の方法。
【請求項９】
前記使用段階には、少なくとも部分的に前記記述データ構造に基づいて、権利管理データ構造内のデータを自動的に抽出する段階が含まれている、請求項１に記載の方法。
【請求項１０】
前記作成段階には、いずれの特定の権利管理データ構造からも独立しているが１クラスの権利管理データ構造を抽象的に記述する、記述データ構造を作成する段階が含まれている、請求項１に記載の方法。
【請求項１１】
前記作成段階には、前記使用段階の少なくとも１つの特徴を定義づけするためメタデータを作成する段階が含まれている、請求項１に記載の方法。
【請求項１２】
前記作成段階には、少なくとも部分的にウィザードを使用することによって抽象表現を作成する段階が含まれ、前記ウィザードのオペレーションは少なくとも部分的にさらなる記述データ構造により定義づけされている、請求項１に記載の方法。
【請求項１３】
前記使用段階には、少なくとも部分的に前記記述データ構造に基づいて多形性プロセスの挙動を変化させる段階が含まれている、請求項１に記載の方法。
【請求項１４】
前記使用段階には、ランタイムで前記記述データ構造の少なくとも一部分を解釈する段階が含まれている、請求項１に記載の方法。
【請求項１５】
前記使用段階には、ランタイムで前記権利管理データ構造のデータ処理の少なくとも一部分を動的に適合させる段階が含まれている、請求項１に記載の方法。
【請求項１６】
前記使用段階には、駆動用の自動化されたデジタル式コンテンツハンドラのための命令として前記記述データ構造の少なくとも一部分を使用する段階が含まれている、請求項１に記載の方法。
【請求項１７】
前記作成段階には、少なくとも１つの完全性制約条件を作成する段階が含まれ、前記使用段階には完全性制約条件を実施する段階が含まれている、請求項１に記載の方法。
【請求項１８】
１つのインタフェースを通してアプリケーションと相互作用する安全な電子機器を内含するタイプの権利管理データ処理アーキテクチャにおいて、電子安全コンテナと相互操作する方法であって、
（ａ）該アプリケーションに対して抽象データ構造表現を引渡す段階；
（ｂ）少なくとも部分的に前記抽象データ構造表現に基づいて該アプリケーションを用いてコンテナアクセス要求を生成する段階；及び
（ｃ）少なくとも部分的に、前記コンテナが生成するコンテナアクセス要求に基づいて、前記安全な電子機器を用いてコンテナにアクセスする段階；
を含んで成る方法。
【請求項１９】
（ｄ）前記安全な電子機器を用いて、前記コンテナからの情報を前記アプリケーションに対して提供する段階；及び
（ｅ）少なくとも部分的に前記抽象データ構造表現に従って、提供された情報を処理する段階；
をさらに含んで成る、請求項１８に記載の方法。
【請求項２０】
前記処理段階（ｅ）には、前記抽象データ構造表現内に提供されたメタデータに従って提供された情報を処理する段階が含まれている、請求項１９に記載の方法。
【請求項２１】
安全コンテナを作成し使用する方法において、
（ａ）相互操作可能な互換性ある１クラスのコンテナ構造を包括的に定義づける記述データ構造を定義づけする段階；
（ｂ）少なくとも１つの安全コンテナを作成するために前記記述データ構造を使用する段階；
（ｃ）複数の電子機器に対し前記記述データ構造を分配させる段階；及び
（ｄ）安全コンテナ内で情報を位置設定し及び／又は特定するべく少なくとも部分的に前記記述データ構造を用いることにより前記複数の電子機器において安全コンテナと相互操作する段階；
を含んで成る方法。
【請求項２２】
前記記述データ構造がアトミックトランザクションに対応し、少なくとも部分的に前記記述データ構造に従って前記複数の電子機器の少なくとも１つにおいて前記アトミックトランザクションを実施する段階をさらに含んで成る、請求項２１に記載の方法。
【請求項２３】
前記記述データ構造に関連する制御機構を独立して使用し及び／又は提供する段階をさらに含んで成る請求項２１に記載の方法。
【請求項２４】
少なくとも１つのパラメータに基づいて前記記述データ構造の少なくとも１つのクラスを定義づけする段階をさらに含んで成る、請求項２１に記載の方法。
【請求項２５】
少なくとも部分的に、前記記述データ構造と少なくとも１つの権利管理データ構造の間の結びつきを樹立する第１のデータ；
結びつけられた権利管理データ構造内で少なくともいくつかの情報を位置設定する第２のデータ；及び
権利管理データ構造の使用及び／又はアクセスの少なくとも１つの特徴を少なくとも部分的に記述するメタデータ；
を含んで成る記述データ構造。
【請求項２６】
前記メタデータには、少なくとも１つの完全性制約条件が含まれている、請求項２５に記載の記述データ構造。
【請求項２７】
少なくとも１つの安全な環境との互換性度を達成する方法において、
（ａ）  記述データ構造を作成する段階；
（ｂ）  少なくとも１つのオブジェクトと前記記述データ構造を結びつける段階；
（ｃ）  安全な環境に対しオブジェクト及び結びつけられた前記記述データ構造を提示する段階；及び
（ｄ）  少なくとも部分的に前記記述データ構造に基づいて、提示されたオブジェクトと相互操作する段階；
を含んで成る方法。
【請求項２８】
前記段階（ｄ）には、安全な環境がオブジェクト及び／又は前記記述データ構造のソースを信頼できる程度に基づき、提示されたオブジェクトと選択的に相互操作する段階が含まれている、請求項２７に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、権利管理データを定義し、作成し、処理するための技術に関する。更に詳しくは、本発明は、安全な電子権利管理コンテナ内の少なくとも幾つかのデータ特性を定義し及び／又は記述するシステムとプロセスを提供するものである。本発明は、権利管理データ構造の保全性、融通性、相互操作性、ユーザー及びシステムの透明性、互換性を提供する技術をも提供する。
【背景技術】
【０００２】
人々が安全なデジタルコンテナを使用して、デジタルコンテンツを安全確実に記憶し、搬送することが多くなってきている。一つの安全なデジタルコンテナのモデルは、カリフォルニア州 SunnyvaleのInterTrust Technologies Corp. によって開発された「DigiBox(商標) 」コンテナである。これに関連するGinter等の特許明細書には、このDigiBox コンテナモデルの多くの特徴、即ち、このコンテナ内の目的物やデジタル情報の安全な搬送、記憶及び権利管理用インタフェースを含むあらゆる種類の電子商取引関係の保護された効率的でかつ相互に操作可能な電子的記述と規制を可能にする、強力な汎用性のある一般構造について述べている。
【０００３】
簡単に言えば、DigiBox コンテナは、テキスト、グラフィック、実行可能なソフトウエア、オーディオ及び／又はビデオ等のあらゆる種類のデジタル情報をパッケージするのに使用可能な、変更防止機能を有するコンテナである。DigiBox （商標）コンテナが使用される権利管理環境は、取引関係者がデジタル情報（コンテンツ）をルールと結び付けることを可能にする。この権利管理環境は、ルール（ここではルールとパラメーターデータ制御を含む）を確実に他の権利管理情報、例えばルール、デジタル情報の使用の際に生じた監査記録、及び権利と当事者間の合意を確実にすることを含むこの環境を適正に維持することに関連する管理上の情報と連携させることができる。このDigiBox （商標）電子コンテナは、権利管理インタフェースをデジタル情報、関連するルール及び他の権利管理情報、並びに配布された権利管理環境内の他の対象物及び／又はデータに記憶し、搬送し、提供するのに使用可能である。この構成は、コンテナが一つの会社から他の会社に移動する際に権利管理が持続する電子的に強制された取り扱いと制御のチェーンを提供するのに使用可能である。この能力は、コンテンツの権利保持者（このコンテンツに関連する権益を有するシステムによって承認された当事者、例えばコンテンツの再発行者又は政府当局等を含む）が、コンテンツ、イベント、議事録、ルール並びにすべての必要な費用及び／又は使用報告を含む使用結果を、確実に制御・管理することを可能にするデジタル権利管理アーキテクチャーのサポートを補助する。この安全な制御・管理は、コンテンツが創作者、ディストリビュータ、消費者、その他の価値連鎖（value chain)の関係者に供給され使用されそして移転される際に、一貫して権利を保護し続ける。
【０００４】
例えば、コンテンツの創作者は、一連のルールと共に一つ以上のデジタル情報をDigiBox 安全コンテナに内にパッケージすることができ、これらのルールは一つ以上のコンテナ及び／又はクライアントのコントロール・ノード(control node)内で種々の位置に配置される。ディストリビュータは、創作者によって許容されているパラメータの範囲内でこのコンテナ内にルールを付加したり修正したりすることができる。次に、ディストリビュータは、何らかのルール許可（又は禁止されていない）手段によって、例えば、インターネット等の電子ネットワーク上で通信することにより、コンテナを配布する。消費者はこのコンテナをダウンロードして、コンテナ内のルールに従ってコンテンツを使用することができる。コンテナは開けられ、ソフトウエアInter Trust によってローカルコンピュータおよびその他のInterTrustが認知している機器によって実施されるルールは、InterTrust Commerce Nodeを呼び出す。消費者はこのコンテナ( 又はそのコピー) を他の消費者に送り、後者は（ルールが許容するならば）同じか又は異なる、あるいはその他の包含されるルールに従って、そのコンテンツを使用することができる。これらのルールは、何れかのクラス会員（例えばある自動車クラブまたはある大学の雇用者）であることを含むユーザーに特有の身分証明等の、ユーザーが利用可能な権利によって決定される。このルールに従って、使用及び／又は支払い情報がノードによって収集され、支払いを行うために一箇所以上の手形交換所に送られ、使用情報はそれを受け取る権利を有する者に送られる。
【０００５】
上述した、Ginter等の特許明細書に記載されたノードとコンテナのモデルは（類似のその他のDigiBox/VDE(Virtual Distribution Environment) モデルと共に）殆ど無制限の汎用性を有する。これは、特定の機器に適用可能である。例えば、図１Ａと図１Ｂを参照すると、新聞発行者は新聞１０２をコンテナ１００Ａに入れて配布することができる。ファッション雑誌１０６の発行者は別のコンテナ１００Ｃにこのファッション雑誌を入れて配布することができる。同様に、例えば卸売業界(wholesaler)の金銭取引には更に別のコンテナが用いられ、電子取引システムでは他のコンテナが使用される。
【０００６】
InterTrust DigiBoxコンテナ・モデルによれば、これらの又はその他のコンテナをうまく使用することができる。これによれば、異なる要望とビジネス・モデルに適合するように、異なる用途、異なる用途クラス及び／又はユーザークラスに対して、コンテナの細かいカストマイズ化が容易になる。このカストマイズ化能力は、Ginter等に記載されているような配布された汎用の権利の管理に使用する場合に、特に非常に重要である。こうした情況では、コンテナ・モデルのためのカストマイズ化能力と透明性を含むカストマイズ化能力の実用上の最適化が要望される。このカストマイズ化融通性は多くの利点を有し、例えば各特定アプリケーションや条件のための細かいコンテナ設計の最適化（最大効率、最小間接費等）を可能にし、多くの異なる目的のための多くの異なるコンテナ設計（ビジネスモデル等）が同時に存在し、且つコンピュータや娯楽装置等のユーザー側の電子機器上の権利制御クライアント（ノード）によって同時に使用されることを可能にする。
【０００７】
高度の融通性を維持することは大きな利点ではあるが、平均的なユーザーにとっては困難なことも起こる。例えば、絵画を創作するプロセスを考えてみよう。大画家は空白のカンバスから絵を創作する。このカンバスは初めは空白なので、画家は全く拘束されることはない。この絵は、画家の創造力の及ぶ限りの地上の風景、海の風景、その他のイメージ等である。この融通性によって画家は、「モナリザ」等の傑作を創造することができる。しかし、空白のカンバスから始めて心地よい画像を創作するには非常な熟練を要する。その結果、未熟な画家は、空白のカンバスから始めた場合には、良い絵を創作できるとは思われない。
【０００８】
初心者であるアマチュア画家を考えてみよう。この人は空白のカンバスを心地よい画像に変える熟練度を持っていない。この熟練度を得るために年数をかける代わりに、アマチュアは外出して「番号による彩色」の絵画キットを購入することがでる。空白のカンバスを用いる代わりに、このアマチュア画家は、彩色すべき画像を規定した予めプリントされたカンバスからスタートする。手引き（「１２」で示されたすべての領域を暗赤色で塗り、「２６」で示されたすべての領域を薄青色で塗りなさい）に従って、アマチュアは比較的低い熟練度で比較的目を楽しませる絵を描くことができる。こうするためには、アマチュアはカンバス上に予めプリントされた手引きに忠実に従わなければならない。少しでもこれからずれた場合には、最終的な画像は悪いものとなるであろう。
【０００９】
コンピュータの分野における使用し易さの問題は、「番号による彩色」の場合に似ている。訓練されていない及び／又は未経験なユーザーが特定のソフトウエアを使用することが重要な場合には、システム設計者は或る構成を予め定義して、これをシステムに組み込んでいる。この技術によって、未経験ユーザーは潜在的に非常に複雑な設計を完全に理解しなくても、これを使用することができる。しかし、これは通常、プログラムの使用によって得られる機能性と融通性を厳密に規定、即ち厳しく制限している。その結果、実際的な価値を提供するために、問題に対する創造的な解決策が拘束されている。それに加えて、経験の有るユーザーであれば、既存の設計を使用すれば大きな利点が見出される。既存のプログラムが理想的でない場合に、ユーザーが複雑なプログラムを作ることができると言う理由で、特定の目的のために複雑なプログラムを作成することが適正で効率的であることを意味しない。新しいプログラムの作成にコストがかかる場合、即ち多くの時間と資金源を要する場合には、経験の有るユーザーは、入手可能ならば既存のプログラムを使用するのが普通である。それ故、カストマイズ化に関連して実現されるべき最大の価値の総量は、カストマイズ化のコストが利益を上回らないように、非常に簡単にかつ効率的にカストマイズ化できることである。
【００１０】
コンピュータの分野、特にカストマイズ化を支えるシステムの分野における他の問題点は、均一性、融通性、互換性及び相互操作性である。絵画の場合には、人間の目は独自性を認識可能であり、モナリザ等の大作の「ユニーク」な性質は、絵画を価値あるものとする、大きな部分を占める。これに対して、コンピュータ分野においては、少なくとも物の全体のレイアウトとフォーマットを均一にすることが望まれることが多い。如何に対象物を処理するかを前以てコンピュータが知ることが非常に効率的である。如何に入力された対象物を処理するかをコンピュータが前以て知らない場合には、このコンピュータと対象物とは「非互換性」であると言われ、両者は協働することはできない。非互換性及び相互操作性の問題は、一方のコンピュータが別のコンピュータと対話することを不能にし、他人の作成したコンピュータ・データを貴方が使用することを不可能にする。
【００１１】
例えば、非コンピュータの世界において、第２言語として英語を少ししか知らないフランス人は、複雑な問題を彼の母国語であるフランス語で述べる場合には、非常に意味のある効率的な議論ができることが判るであろう。しかし、彼がイギリス人と話をし、そしてそのイギリス人がフランス語を解さない場合には、両者はフランス語では相互対話できず、フランス人ははるかに効率の悪い意見を英語でイギリス人に述べなければならない。勿論、これは、彼が英語もフランス語も解さないドイツ人と話をする場合よりもはるかに良好である。そして、両者は、問題の討議に関して「相互操作」不能である。同様に、権利管理コンテナは多数の異なるユーザー、グループ、組織体によって種々の目的のために潜在的に交換され、使用されるので、それぞれが一つ以上の異なる権利管理モデルに加入しているこれらの別々の当事者が効率的に相互操作可能であるためには、互換性と相互操作性を提供することが重要である。例えば、権利管理コンテナがニューズレターの配付に使用され、この目的のために最適化されている場合には、このニューズレターの各読者は、このコンテナとそれに入っているニューズレターを如何にして読むかを「知る」コンピュータ・システム又はソフトウエアを持つ必要がある。ニューズレターの配布等の商売は実行可能なように能率的でコスト効率のよいものでなければならないので、権利管理コンテナをそのモデルの要望を反映するがそれぞれの用途又は用途のクラスに対する不必要な特徴を持たないように、最適化即ちカストマイズ化することが重要である。なぜならば、不必要な特徴は不必要なコンピュータの間接経費及び／又は記憶スペースを必要とするからである。
【００１２】
異なるニューズレターの発行者は、かれら自身の特定のニューズレター及び／又はコンテンツのタイプ及び／又はフォーマットに適合するようにカストマイズ化された別々のコンテナ・フォーマットを使用している。多くの異なるニューズレターに興味を有するニューズレターの読者は、多くの異なるフォーマットを読むことができなければならない。配送された異なるコンテナを簡単に分析して、使用されている特定のフォーマットを「特定しようと試みたり」又は識別することは効率的ではない（又はセキュリティ問題のために適当ではない）。
【００１３】
公開されている標準（スタンダード）は、所定の応用に対してあるレベルの相互操作性と標準を得る助けになるが、どんな標準の場合でも産業に広く受け入れられるには長い時間を要し、しかも用途カテゴリー間で大幅に標準を変える必要がある。更に、データ構造とその他の標準は最小公倍数に対して構成されていることが多く、即ち、これらは或る者にとっては不要な分野や要求を含み、そして特定の場合に最適な他の特徴が省略されている。特定の標準を強制された場合には、効率及び／又は操作に対して最適化することが出来ない応用が、常に存在している。
【００１４】
セキュリティ問題が絡んでくると、融通性、使い易さ、非互換性及び相互操作性間のトレードオフは益々複雑になる。多数の電子商取引の応用分野において効率化を図るために、電子コンテナは、変更防止可能でかつ安全であるように設計されていなければならない。コンテナを作成し及び／又は使用するのに広く使用されているツールが、このコンテナを破って開こうと試みたり、承認なしにデジタル情報を使用しようとしている連中の手に落ちた場合を予想しなければならない。従って、コンテナ作成・使用ツールそれ自体、コンテナ設計についての詳細を保護する必要上、安全を確保されていなければならない。この追加のセキュリティ要求のために、コンテナを簡単に使用できる様に作ることおよび相互操作性を与えることが更に難しくなっている。
【００１５】
前述のGinter等の特許明細書には、対象物制御ソフトウエア用の一組の（又は複数組の集合体の）制御インストラクション及びデータとして作用する「テンプレート」について記載されている。例えば、Ginter等の明細書の、「Object Creation and Initial Control Structure 」, 「Templates and Classes 」及び「object definition file」, 「information 」方法並びに「content 」方法の記載を参照されたい。少なくとも幾つかの実施例では、前述のテンプレートは、ユーザーのインストラクションと相互対話を行うプロセスにおいて対象物を作成（及び／又は修正）可能で、コンテンツを提供して対象物を作成する。Ginter等は、テンプレートが特定の構造及び／又は構成要素アセンブリを規定するテキストファイルとして表され、これらのテンプレートはその構造及び／又は構成要素アセンブリと共に対象物作成及び／又は対象物制御アプリケーションとして役立つと述べている。Ginter等は、操作及び／又は構造のフレームワークを提供して既存の産業及び／又はアプリケーション及び／又はビジネスが、コンテンツのタイプ、配布のアプローチ、価格メカニズム、ユーザーとコンテンツ及び／又は関連する管理活動、予算等に関する、熟知の概念を巧みに扱うことを可能にすることによって、特定の産業及び／又はビジネス及び／又はアプリケーションの環境に固有の融通性のある形状構成可能な能力に焦点を合わせるのを、テンプレートが助けることができると述べている。このことは、効率、透明性、生産性等の間の正しいバランスを与える最適化モデルと価値連鎖の追求に役立つ。
【発明の開示】
【発明が解決しようとする課題】
【００１６】
本発明は、他の特徴の中でも特に安全コンテナ等の権利管理に関連する（又はその他の）データ構造に関連して使用される機械読取可能な記述的データ構造を提供することによって、この技術を広げるものである。
【課題を解決するための手段】
【００１７】
一例では、この機械読取可能な記述的データ構造は、権利管理関連のデータ構造内のデータのフォーマットの速記抽象表現を含んでいる。この抽象データ表現は、単一の権利管理データ構造を記述するのに使用可能であり、又は、この抽象表現が規定するフォーマット及び／又は他の特性に従うデータ構造のファミリーに共通するものである。この抽象表現は権利管理データ構造を作成するのに使用したり、（「他者」の権利管理ノードを自動的に含む）他者がこのデータ構造を読んだり、幾つかの又はすべてのデータ構造を取り扱うことを可能にする。
【００１８】
この記述的データ構造は「テンプレート」として使用でき、権利データ構造を作成し、これを他者のノードに記述してこの権利管理データ構造を理解し、取り扱うことを助けることができる。
【００１９】
特に有用な一つの構成においては、この機械読取可能な記述データは、対応する権利管理データ構造の一つ又はファミリーと連携し、任意の特定の権利管理データ構造の使用とは独立している。例えば、記述データ構造のコピーは、このデータ構造とともに維持される。別の例では、記述データ構造の一部または全部はどこか他の場所（例えば手形交換所や倉庫等）から得られ、必要に応じて別々に分配される。
【００２０】
一例によれば、機械読取可能な記述データ構造は、権利管理データ構造内に対応する構造を反映し及び／又は規定する記述を提供する。例えば、記述データ構造は反復的な階層型リストを提供し、このリストは権利管理データ構造内の対応する反復的な階層型構造を反映及び／又は規定している。他の例では、記述データ構造によって提供される説明は、２、３又はｎ次元の複数多次元データ構造に対応する。この記述データ構造は、対応する規定されたデータのタイプが、連携する権利管理データ構造のどこに見出されるかを直接及び／又は間接的に細かく記述する。この記述データ構造は、更に、一つ以上の対応する権利管理データの属性及び／又はそれを作成及び／又は使用するプロセスを記述するメタデータを提供する。一例では、全体の記述データ構造は、このメタデータを含んでいるものと見られる。
【００２１】
機械読取可能な記述データ構造の一部又は全体は、特定のアプリケーションによって保護され、又は保護されない。幾つかの機械読取可能な記述データ構造の一部又は全体は暗号化され、一方、他のものは容易にアクセスできるように「クリヤ(clear) な」形に維持される。幾つかの機械読取可能な記述データ構造の一部又は全体は、それが暗号化されていてもいなくても、秘密アルゴリズムと組み合わされた暗号ハッシュ・アルゴリズムを使用して暗号シールを形成し、及び／又は他の保護技術（セキュア半導体及び／又はハードウエアパッケージ保護手段を含むハードウエア等を含む）を使用して安全性を保護される。機械読取可能な記述データ構造は、それ自体、権利管理データ構造内にパッケージされ、それのアクセスと使用を制御するルール（例えば許可コード等）がこれに連携している。
【００２２】
本発明の好適実施例による、記述データ構造を如何に有効に使用するかに関する一態様によれば、機械読取可能な記述データ構造は、プロバイダによって作成されて、安全コンテナ等のプロバイダ独自の権利管理データ構造のレイアウトを説明している。これらの記述データ構造（ＤＤＳ）のテンプレートは、コンテナを作成するのに使用される。二つ以上のＤＤＳの中の選択は一つ以上のクラスに基づいて行われ、この一つ以上のクラスはパラメーター・データに基づいている。ＤＤＳはロードされ、安全コンテナを作成するためのレイアウトのルールとして使用される。プロバイダはＤＤＳプライベート（private)をキープしたり、刊行したりして、他のプロバイダが同じＤＤＳに基づくこれに互換の相互操作可能なコンテナを作成できるようにする。
【００２３】
記述的データ構造は、コンテナと協働するように設計されたコンテナのビューア（viewer) 、ブラウザ（browser)、リーダ(reader)等の最終使用者アプリケーションによって使用することができる。真に一般的なビューアその他のアプリケーションは、記述データ構造を利用して少なくとも部分的に任意のフォーマットでコンテナを処理することができるように書き込まれる。こうして、記述データ構造は、汎用ビューア（又はその他のアプリケーション）を、コンテナの一つ以上のクラスに適合するように最適化されたカストマイズ化ビューア（又はその他のアプリケーション）に少なくとも一時的に変換及び／又はカストマイズ化するために使用することができる。更に、特定化されたリーダが設けられて、記述データ構造を効率的に処理してキーとなるメディア・エレメント（カバーページ、コンテンツの表、広告主のインデックス、用語辞典、論説、保護されていない予告、コスト及び／又は閲覧、プリント、電子的なセーブ、再配布、関連する運営費に関する権利情報及び／又はその他のパラメーター情報等）を探し出す。
【００２４】
次に、この特定化されたリーダは継ぎ目なしに、透明に、自動的に処理されて、ユーザーに、特定のアプリケーション、コンテナ及び／又はユーザー用に最適化された使い易いインタフェース（キーとなる各メディア・エレメント用のアイコン表示等）を提供する。異なる及び／又は別々に提示されたこれらのエレメントは、この自動処理に影響を及ぼす可能性のある一つ以上のクラスの属性を考慮に入れて、ユーザー及び／又はユーザーノードの同一性に基づいて表示されたり、使用されたりする。
【００２５】
二つ以上のＤＤＳが、コンテナ及び／又はコンテナのコンテンツ、並びに一つ以上のユーザー及び／又はノードのクラスと連携可能である。従って、所与のコンテナ及び／又はコンテナのクラス及び／又はコンテナのコンテンツに対する二つ以上のＤＤＳの選択は、一つ以上のクラス及び／又はパラメーター・データに基づく一つ以上のクラスに基づいて行われる。総体的に、記憶されて最適化されたカストマイズコンテナ・モデルを容易に特徴付け及び／又は再使用する能力と、このカストマイズコンテナ（例えば特定のＤＤＳ等）から汎用の権利管理用への翻訳の透明性が、特に有用である。例えば、このＤＤＳはコンテナのコンテンツ及び／又は制御情報のカストマイズ化され最適化されたディスプレーを作るための基礎として使用され、配布されている一般化された権利管理環境の使い易さ、効率、透明性、最適化性を実質的に改善する。この環境では、ユーザー・ノードは異なるＤＤＳと相互操作を行って、このＤＤＳに関連する商業的又はその他の権利モデルの要求に合わせて自動的に調節を行う。
【００２６】
幾つかのプロバイダは、かれらに関連するコンテナのレイアウトを記述した精巧なコンテナの記述データ構造を設計するのにかなりの時間を費やしている。構造とフォーマットにおけるこのタイプの投資によって、この記述データ構造は、同じ又は類似のアプリケーションのためにそれを使用する際に著しい価値を持つことが多い。会社は社内で記述データ構造を使用して堅実に高い効率でコンテナを作成することができる。第三者のプロバイダ（即ち、記述データ構造の作成に責任を有するプロバイダ以外のプロバイダ）は、かれらが他社に適合するコンテナを作成したい場合に、この記述データ構造を使用することができる。一例としては、広く配布されている新聞の発行者がその新聞を読むための記述データ構造を開発する場合がある。部数の少ない他の新聞は、広く配布されている新聞が使用している場所に設置された任意のビューアその他のツールに、同じコンテナ・フォーマットを採用することによって影響を与えたいと望んでいるかもしれない。記述データ構造は著作権を与えられ、及び／又は法律とこの権利管理システム自体の両者によって保護されている。例えば、これらはそれ自体のコンテナとそれに関連する制御手段によっても保護され、記述データ構造の創作者及び／又は配布者及び／又は他のＤＤＳのユーザーが、かれらの権利システムが正しく管理されてその記述データ構造の創作及び／又は使用に関連する努力に対する見返りを受けることを保証する。
【００２７】
前述の事項に加えて、本発明によって提供される特色と利点のリストを次に挙げる。
【００２８】
・完全性制約条件(Integrity Constraint)：
この記述データ構造は、完全性制約条件の明細を可能にすることによって、プロバイダが彼又は彼女のコンテンツの完全性を保護することを可能にする。完全性制約条件はコンテンツについての完全性に関連するルールを記述する方法を提供するものである。
【００２９】
・アプリケーションの生成：
この記述データ構造は、権利管理構造を操作するソフトウエアの一つ以上の部分を生成するのに使用することが可能である。例えば、記述データ構造は、デジタルコンテンツ及び／又は自動化パッケージング・アプリケーション及び／又は表示プライオリティ及び組織化等（例えば順序及び／又はレイアウト）のデジタルコンテンツの自動化リーダーを駆動する「インストラクション」として機能する。
【００３０】
・アプリケーション生成用ダイナミック・ユーザー・インタフェース：
アプリケーションは記述データ構造を読み取って、特定モデル用のデータ作成、編集、及び／又は構成のための最適化されたインタフェースを生成する。このモデルはテキスト、オーディオ、ビデオ及び対話式（例えば質問する）エレメントから複雑なコンテンツを構成することを含む。これらのデータは、任意の簡単な又は複合された複雑なファイル・フォーマットとして、コンテナ、データベース及び／又はその他のデジタル情報組織（オーガニゼーション）の形をとることができる。アプリケーションは記述データ構造を読み取って、コンテンツの収集及び／又は生成用インタフェースをどの様にして最もよく表示するかを学習することもできる。
【００３１】
・ディスプレー・アプリケーション用ダイナミック・ユーザー・インタフェース
アプリケーションは記述データ構造を読みとって、データ表示に適したインタフェースを作成する。このデータは、コンテナ、データベース又はその他の任意の複合された複雑なファイル・フォーマットである。アプリケーションは記述データ構造を読み取って、コンテンツの表示用インタフェースを如何にして最もよく表示するかを学習することもできる。アプリケーションは、更に、記述データ構造を読み取って、コンテンツの作成及び／又はパッケージング及び／又はユーザー・ディスプレーの目的のために、ユーザー及び／又はノード等の一つ以上の他のアプリケーション、スマート・エージェント、コンピュータ環境、識別性（任意のクラスの識別性を含む）と相互対話を行うことに関連するディスプレー機能を如何にして管理するかを学習し、これにはこの相互対話を最適化することも含む。例えば、ユーザー・インタフェースは、米国空軍の一員と大学の社会科学の一人の教授との対話、又はKiwanis Clubの一員とプロテスタント協会クラブの一員との対話、米国市民とサウジアラビア市民との対話のために、期待されるクラス会員シンボルとこれに関連する適当な組織の適正表示または表示された情報の削除を含んで、別個に最適化される。
【００３２】
・自動的にデータフィールドを識別し配置する能力：
データ・ファイル内の領域が潜在的に興味のある情報を含むことが判っており、この情報が所定のフォーマットで表されている場合には、完全テキスト検索、エージェント、ウェブ・スパイダ等は利益を受け、かつＤＤＳの一つ以上の領域に含まれている情報と対話することができる。
【００３３】
・データ・フォーマットの直接の知識無しに、必要な又は所望のデータを引き出す能力：
任意の複雑性および未知の起源を有する大きなデータ・ファイルを特別の知識なしに処理する場合、完全テキスト検索、エージェント、ウェブ・スパイダ等は利益を受け、ＤＤＳの一つ以上の領域に含まれている情報と対話することができる。
【００３４】
・効率的な機械／人間読取可能なデータの抽象化：
記述データ構造は、処理し、送信し及び／又は記憶するために最適な程度に小さく、便利で、コスト効率が高い。
【００３５】
・実際のデータとは別個に、再使用可能、転売可能：
記述データ構造は任意に複雑であり、従って潜在的に作成に時間を要し、且つ或る程度の専門性を必要とする。これによって、この記述データ構造に転売価値が与えられる。
【００３６】
・コンテナ・レイアウトのオン・ザ・フライ定義および再定義
レイアウトのツールで作業する場合、設計（レイアウト）の迅速な繰り返し（編集および修正を含む）が可能となり、多くのユーザーの専門性を越えた難しいレイアウトを作成するのに比べて、便利でコスト効率のよいものとなる。
【００３７】
・記述データ構造の属性は実際のデータに見出されないメタ特性を可能にする
同じ記述データ構造が生成プロセスと生成後のプロセス（post-creation proces) の両方で処理されるので、そうでなければパッケージされたコンテンツに入れることのできないメタ情報を記述データ情報内に入れることができる。この一例は、或る分野の表示が「必要」か、「隠される」かの場合である。
【００３８】
・記述データ構造「ウイザード」によって設計の自動化が可能になる：
記述データ構造自体は、「ウイザード」によって自動化が可能である。例えば、他の記述データ構造を規定することを補助する記述データ構造が存在する。他の記述データ構造を規定する記述データ構造は、書籍や雑誌用の不完全な記述データ構造を表している。「ウイザード」はユーザーに表示される一連のダイアログ・ボックスを備え、失われた情報を補充してそれを完全な記述データ構造にする。
【００３９】
・特定の権利管理アーキテクチャーの外側のアプリケーション：
例えば、多形(polymorphous)アプリケーションは、記述データ構造を使用して或るデータの可視化属性及び／又は、例えば、見たり感じたりするものをユーザーに対して表示すると言う要求を決定する。例えば、記述データ構造が言語処理文書リファレンスを含んでいる場合、多形アプリケーションは文書を表示し編集するのに適したインタフェースを作成する。この記述データ構造が多くの実行可能なプログラムに対するリファレンスを含んでいる場合には、多形アプリケーションはユーザーにファイルをどこにセーブするべきかを尋ねる。
【００４０】
・アンブレラ・アプリケーション（umbrella application) が記述データ構造を処理して未知のファイルのタイプとプロセスに任せることを可能とする：
【００４１】
アンブレラ（又は多形）アプリケーションは、例えば、実質的に一つの特定のデータ・ファイルのための操作として作動することができる。このアンブレラ・アプリケーションは、関心を持っているデータ・ファイルにおいてそれらを抽出して処理し、一方、それが理解できないそれらのものを無視し又は（ユーザー及び／又は価値連鎖の相手方（例えばディストリビュータ）にこの事項の表示を制御することを）委託する。
【００４２】
・実行時翻訳（インタープリット）：
記述的データ構造を実行時にインタープリットし、顕著に高められた効率及び適時性を提供する。
【００４３】
・実行時適応力：
システムは、記述的データ構造を使用することによりリアルタイムで到来する動的データに適応できる。
【００４４】
・自動変換機能：
ひとつのフォーマットから別のフォーマットへと自動的に変換する為に、記述的データ構造が使用される。
【００４５】
・簡素化されたシステム設計：
記述的データ構造を使用することにより、コンテナ作成処理を確実に“包含（ｃｏｎｔａｉｎ）”する二次的な“ラッパ（ｗｒａｐｐｅｒ）”アプリケーション・プログラミング・インタフェース（ＡＰＩ）または他の装置に対する必要性は相当に減じられる。そうでなければ、作成されたコンテナの全てが互換性を有するのを確実にすべく、コンテナ作成処理を制御もしくは制限する“ラッパ”ＡＰＩが必要とされるが、これは柔軟性とカストマイズ機能とを制限するものである。
【００４６】
・オブジェクト指向テンプレートによるプログラミング環境：
高レベルのユーザインタフェース選択および優先順位付けにより選択され得るディスプレイ関連、相互作用関連および権利関連の概念オブジェクトの使用、並びに関連パラメータデータの使用により、構築およびディスプレイ・ヒント情報などの一定のカテゴリのテンプレートの作成を極めて容易と成しうる。
【００４７】
・言語がディスプレイ、権利およびプログラム相互作用の要素、優先順位およびパラメータデータを記述する要素を含む場合における、Ginter等により記載されたノードによる、言語要素の使用および斯かる言語の解釈によるサポート・プログラミングを含むテンプレート言語およびインタープリタの使用。
【発明を実施するための最良の形態】
【００４８】
図２Ａおよび図２Ｂは、機械読み取り可能な記述的データ構造２００および２００’に関係する、図１Ａ、図１Ｂのコンテナ１００ａ、１００ｃの実施例を示している。図２Ａを参照すると、記述的データ構造２００はコンテンツ・コンテナ１００ａと組合されている。この記述的データ構造２００は、コンテナ１００ａのコンテンツ（および一定の他の特徴）を定義すべく使用され得る。図示された実施例において記述的データ構造２００は新聞形式コンテンツ１０２の多数のセクションを定義するが、それは例えば、ヘッドライン（記述子２０２ａ）、発行日（記述子２０２ｂ）、最重要記事（記述子２０２ｃ）、犯罪関連ニュース（記述子２０２ｄ）、イメージ（記述子２０２ｅ）、広告（記述子２０２ｆ）およびセクション（記述子２０２ｇ）などである。
【００４９】
該実施例における記述的データ構造定義２０２は新聞１０２の対応部分の詳細なコンテンツを含まず且つ特定していないが、その代わりに、新聞形式刊行物が使用し得る一般的なフォーマットを更に要約して定義している。例えば、図２Ａの実施例の記述的データ構造のヘッドライン定義２０２ａは詳細なヘッドライン（例えば、“ヤンキースが優勝！”）を特定しない代わりに、斯かるヘッドライン情報が存在し得るコンテナ・データ構造１００ａ内の（例えば論理的オフセット・アドレスまたは他のオフセット・アドレスなどの）記憶場所（ならびに一定の他の特徴）を定義する。記述的データ構造２００は新聞形式コンテンツ刊行物のクラスまたは系統群に対して包括的であることから、それは再使用され得る。例えば、各日の新聞は同一の記述的データ構造２００を使用して及び／又はそれと組合せて作成され得る。新聞形式コンテンツ１０２のデータ・フォーマットおよび他の特徴を要約して定義することにより、記述的データ構造２００は新聞形式コンテンツ１０２の容易な作成、使用および操作を可能とする。
【００５０】
図２Ｂを参照すると、ファッション雑誌などの別のクラスのコンテンツ刊行物１０６を定義すべく、別の記述的データ構造２００’が使用され得る。このコンテンツ・クラスに対する上記記述的データ構造２００’は、図２Ａに示された記述的データ構造２００と比較して異なるフォーマット（および、おそらくは他の特徴）を反映している。例えば、ファッション雑誌はヘッドラインまたは犯罪関連ニュースを含まないのが一般的であることから、記述的データ構造２００’の実施例は斯かるフォーマットを定義しないことが多い。代わりに、ファッション雑誌コンテンツのクラスを定義する記述的データ構造２００’は、発行日（記述子２０４ａ）、雑誌タイトル（記述子２０４ｂ）、撮影者氏名（記述子２０４ｃ）および関連アートワーク名称（記述子２０４ｄ）を定義し得る。
【００５１】
図２Ａおよび図２Ｂの実施例は、関連コンテンツ１０２、１０６と共にコンテンツ・オブジェクト・コンテナ１００Ａ、１００Ｃ内で引き渡されつつある記述的データ構造２００、２００’を示している。但し、他の結合形態も使用され得る。例えば記述的データ構造２００は、そのアクセス及び／又は使用を制御する関連規則と共にそれ自体の独立コンテナで独立的に引き渡され得る。代替的に、記述的データ構造２００はライブラリ内に記憶されると共に、必要に応じて安全にまたは特定の要件に依存する安全な形態で引き渡され得る。
【００５２】
これに加え、図２Ａおよび図２Ｂは印刷刊行物コンテンツの実施例であるが、記述的データ構造２００の用途はそれに限られない。寧ろ、記述的データ構造２００は例えば以下の如き広範な種々のタイプのデジタル情報に関連するフォーマット及び／又は他の特徴を定義する為にも使用され得る：
【００５３】
・イメージ；
・音声；
・画像；
・コンピュータ・プログラム；
・手順；
・実行可能物；
・インタープリット可能物；
・流通オブジェクト（ｃｕｒｒｅｎｃｙ  ｏｂｊｅｃｔ）；
・流通オブジェクトに対する流通コンテナ；
・規則；
・任意のコンピュータ入力；
・任意のコンピュータ出力；
・他の記述的データ構造；
・任意の他の情報。
【００５４】
記述的データ構造を作成して使用するプロセスの実施例
図３は、記述的データ構造２００を作成し使用するプロセスの実施例を示している。該実施例においては記述的データ構造２００を作成すべくレイアウト・ツール３００が使用される。このレイアウト・ツール３００は例えば、グラフィカル・ユーザ・インタフェースを介して人間と対話するソフトウェア制御プロセスであっても良い。（大容量記憶装置または他の記憶装置に記憶され得る）結果的な記述的データ構造２００はその場合、任意の個数の他のプロセスを促進して記憶データを作成もしくはインタープリットすべく使用され得る。例えば、上記記述的データ構造は作成プロセス３０２で使用され得る。該作成プロセス３０２は上記記述的データ構造を読込むと共に、それに応じ、例えば記述的データ構造２００により記述されたフォーマットに対応するコンテナ１００などの所定フォーマットにより出力ファイル４００を作成する。ビューイング・プロセス３０４は記述的データ構造２００を使用し、出力ファイル４００内で表示用の重要項目を発見し得る。ブラウザ・プロセス３０６は記述的データ構造２００を使用し、記憶された出力ファイル４００内で例えばキーワードもしくは他の検索可能テキストなどの項目を発見し得る。上記記述的データ構造２００は、対応するコンテンツの使用及び／又はそれへのアクセスの間においてそのコンテンツの完全性を保護する制約または規則を供給し得る。
【００５５】
図４は、記述的データ構造の作成および使用プロセスの更に詳細な実施例である。該実施例においてレイアウト・ツール３００は、グラフィカル・ユーザ・インタフェース３１２を介して提供されたユーザ入力３１０を受取り得る。上記レイアウト・ツール３００の出力はたとえばテキスト・ファイル形式の記述的データ構造２００とされ得る。安全パッケージ・プロセス３０２Ａは入力としてコンテナ特有データを受取り得ると共に、読取専用入力として記述的データ構造２００も受取り得る。上記パッケージャ３０２Ａはグラフィカル・ユーザ・インタフェースに基づくものとし、及び／又は、自動化され得る。而して、パッケージャ３０２Ａはコンテナ特有データ３１４を安全コンテナ１００へとパッケージ化する。それはまた、所望であれば記述的データ構造２００も同一の安全コンテナ１００内へパッケージ化する。ビューワ３０４は、記述的データ構造２００の助けにより、且つ、上記コンテナ内にパッケージ化されて上記データ３１４及び／又は記述的データ構造２００に適用されるルール（規則）３１６に従い、データ３１４を検査し得る。
【００５６】
記述的データ構造を使用するアーキテクチャの実施例
図５は、記述的データ構造２００と共に使用されるに適した安全システムのアーキテクチャの実施例を示している。該実施例においては上記Ginter等に記述されたタイプの電子機器５００が変更防止壁５０２内に配備され得る。電子機器５００はアプリケーション・プログラミング・インタフェース（ＡＰＩ）５０４を含み得る。電子機器５００に対してはＡＰＩ・５０４を介して一個以上のアプリケーション５０６が通信し得る。ある実施例では、アプリケーション５０６は安全電子機器５００上で実行されても良い。アプリケーション５０６の各々は、記述的データ構造インタープリタ５０８を含み得る。使用に際して電子機器５００は、安全コンテナ１００にアクセスし得ると共に−ルール３１６に従い−記述的データ構造２００ならびにそれに含まれるコンテンツ１０２にアクセスしてそれをアプリケーション５０６に提供する。一方、アプリケーション５０６内のインタープリタ５０８は記述的データ構造２００を読込んで使用する。これに加えてアプリケーション５０６は、少なくとも部分的に記述的データ構造２００により定義されたパーソナリティまたは振る舞いを取り入れる、という点において多形性である。
【００５７】
図５Ａは、図５の安全システム・アーキテクチャの実施例により実施される詳細プロセスの実施例を示している。該実施例において、アプリケーション５０６は機器５００に対し、コンテナ１００から記述的データ構造２００を検索することを要求する（ブロック５５０）。電子機器５００は記述的データ構造２００を読込むと共に、関連ルール３１６により特定された条件に従い、記述的データ構造２００をアプリケーション５０６に提供する（ブロック５５２）。アプリケーション５０６は次にそのインタープリタ５０８に対し、記述的データ構造２００をインタープリットすることを要求する（ブロック５５４）。インタープリタ５０８はアプリケーション５０６に対し、記述的データ構造２００が言っていることを伝える（ブロック５５６）。アプリケーション５０６は自身が必要とするまたは望んでいる記述的データ構造情報をインタープリタ５０８から抽出または獲得する（ブロック５５８）。例えばアプリケーション５０６が、図２Ａに示された新聞形式コンテンツ内の“ヘッドライン”情報の表示を望んだとする。アプリケーション５０６はインタープリタ５０８に対し、この“ヘッドライン”情報を発見し、読込み、フォーマットし及び／又は表示するのを助ける情報の提供を要求する。
【００５８】
別の実施例として、インタープリタ５０８はアプリケーション５０６に対し、上記新聞形式コンテンツ内のヘッドライン情報に対応する（例えば１６進値または他のＩＤなどの）要素ＩＤを提供し得る（ブロック５５８）。その場合、アプリケーション５０６はＡＰＩ・５０４を介して電子機器５００に対して適切なコンテンツ情報を与えることにより、コンテナ１００内のヘッドライン（またはその他）のコンテンツ情報を提供することを電子機器５００に要求する（ブロック５６０）。例えば、アプリケーション５０６はインタープリタ５０８が該アプリケーションに提供した要素ＩＤを電子機器５００に対して受け渡しても良い。アプリケーション５０６はコンテナ１００内に在るものを直接的に知ら（ず、且つ、電子機器５００により提供される安全ＶＤＥノードを介してのみコンテナ１００にアクセスし得るかも知れ）ないとしても、（記述的データ構造２００を見ることにより）インタープリタ５０８はアプリケーション５０６に対して十分な情報を告げることにより該アプリケーションは自身が望む情報を電子機器５００に対して如何に要求するかを知り得る。
【００５９】
上記電子機器は次にコンテナ１００内の情報１０２にアクセスし、要求された情報を（上記コンテナ内のルール３１６に従って）アプリケーション５０６に引き渡す（ブロック５６２）。アプリケーション５０６は次に少なくとも部分的に、上記コンテンツ情報に関して上記インタープリタ５０８が当該アプリケーション５０６に対して告げた内容に基づいて、電子機器５００が当該アプリケーション５０６に提供した情報を使用し得る（ブロック５６４）。例えば記述的データ構造２００は、アプリケーション５０６が情報１０２を処理すべき方法に関する特徴を提供し得る。例えば記述的データ構造２００はアプリケーション５０６に対し、（例えば著者フィールドまたは著作権フィールドなどの）一定のフィールドは常に表示すると共に、（例えば殆どのユーザーから隠されるべき情報などの）他の情報は決して表示しないことを告げる。ＤＤＳ・２００はまた完全な呈示情報または“視覚化”情報を提供することにより、その情報が表示または描写されるときに該情報の形式および感触(look.and feel) を情報プロバイダが制御し得る様にできる。記述的データ構造２００はまた、コンテナ１００の作成、使用または操作プロセスの間にアプリケーション５０６により使用され得るメタデータ形態での他の特徴のコードを提供し得る。ＤＤＳ・２００は、権利管理構造を操作するソフトウェア・プログラムを生成する為に使用され得る。例えばＤＤＳ・２００は、デジタル・コンテンツに対する自動パッケージ化アプリケーションまたはデジタル・コンテンツの自動読取器を駆動する「インストラクション」の役割を果たし得る。
【００６０】
記述データ構造により提供される記述例
図６は、記述データ構造２００が、例えば階層コンテナ１００といった情報構造である任意の複合体を記述し及び定義づけする方法の一例を示している。この特定の一例においては、コンテナ１００は、プロパティ６００（１），６００（２）を内含する。プロパティ６００（１）はｎ個の属性６０２（１），６０２（２）…６０２（ｎ）を内含する。プロパティ６００（２）は任意の数の属性６０４（１），６０４（２）を内含することができ、同様に付加的なプロパティ６０６を内含することもできる。プロパティ６０６の方はその独自の属性６０８（１），６０８（２）を内含することができる。付随する記述データ構造２００は、コンテナ１００の中味の再帰的構造を反映するべく再帰的構造を提供するツリー構造リスト２５０として組織することができる。例えば、リスト２５０は、プロパティ６００（１），６００（２）に対応する「プロパティ」記述子２５２（１），２５２（２）の形をした「分枝」を内含していてよい。各々のプロパティ記述子２５２はそれ自体、属性リスト２５４を内含でき、又、内容コンテナ構造例を反映するように同じ反復的階層配置で付加的プロパティ記述子２５６を内含していてもよい。あらゆる次元（１〜ｎ）の任意の複合の、階層的又は非階層的データ構造を記述するために、ＤＤＳ２００を用いることができる。
図６Ａは、例えば不動産取引といった「アトミックトランザクション」を定義づけする事象又は方法といったあらゆる種類の情報と結びつけてこの記述データ構造２００を使用することができるということを示している。図６Ａの例では、コンテナ１００には、１つの不動産取引を定義づける一連の「事象」７００に関係する単数又は複数の記述データ構造２００及び付随する制御セット３１６が含まれている。ＤＤＳ２００は例えば、取引内の各々の異なる「事象」（例えば、「オファー」、「受諾」、「売買」、「検分」、「抵当貸付」など）に関する一定数の異なるエントリ２００Ａ〜２００Ｎを内含することができる。これらのエントリ２００Ａ−Ｎは、例えば、コンテナ１００の中のどこにその事象を見出すことができるかを定義づけすることができる。エントリ２００Ａ〜２００Ｎは、事象に対応する付加的特徴（例えば、事象に関係するいくつかの情報をいかに表示するべきか）を提供するメタベースをも内含することができる。
【００６１】
記述データ構造書式化例
図７は、記述データ構造２００の書式化方法の一例を示す。上述のとおり、記述データ構造２００は、連結リストといったようなリストを内含していてよい。各々のリストエントリ２６０（１），２６０（２），…は、例えば以下のものを含む一定数のデータフィールドを内含することができる。
【００６２】
・オブジェクト名フィールド２６２
・（記述データ構造の一部を成し及び／又はこの構造により参照される可能性のある）単数又は複数のメタデータフィールド２６４；及び
・（コンテナデータ構造１００内の対応する情報を識別する一助となるべく使用することのできる）ロケーション情報２６６。
【００６３】
オブジェクト名フィールド２６２は情報タイプに対応するか又はそれを記述する定数を内含していてよい。例えば、オブジェクト名フィールド２６２はコンテンツ又はデータに対する「ハンドル」として作用することができる：これはコンテンツ又はデータに対する間接的リファレンスでありうる；及び／又はこれはコンテンツ又はデータを探索するためにも使用可能である。以下に示すのは、オブジェクト名の例である。
【００６４】
汎用オブジェクト名
ＮＵＭＢＥＲ
ＳＴＲＩＮＧ
ＤＡＴＡ
ＴＩＴＬＥ
ＤＥＳＣＲＩＰＴＩＯＮ
ＡＵＴＨＯＲ
ＰＲＯＶＩＤＥＲ
ＭＩＭＥ ＴＹＰＥ
ＶＥＲＳＩＯＮ
ＵＲＬ
ＥＭＡＩＬ
ＮＥＷＧＲＯＵＰ
ＦＩＬＥ ＮＡＭＥ
ＫＥＹＷＯＲＤＳ
ＣＲＥＡＴＩＯＮ ＤＡＴＥ
ＭＯＤＩＦＩＣＡＴＩＯＮ ＤＡＴＥ
ＬＡＳＴ ＡＣＣＥＳＳ ＤＡＴＥ
ＮＡＴＩＶＥ ＰＬＡＴＦＯＲＭ
ＳＩＺＥ
ＣＯＮＴＥＮＴ
ＰＲＥＶＩＥＷ
ＴＨＵＭＢＮＡＩＬ
ＴＥＸＴ
ＡＲＴＷＯＲＫ
ＩＬＬＵＳＴＲＡＴＩＯＮ
ＵＮＫＮＯＷＮ
ＴＥＭＰＬＡＴＥ
ＢＩＬＬＩＮＧ ＮＡＭＥ
ＣＯＮＴＡＩＮＥＲ
ブック型オブジェクト名
ＤＥＡＤＬＩＮＥ ＤＡＴＥ
ＴＩＴＬＥ ＰＡＧＥ
ＰＲＯＬＯＧＵＥ
ＩＮＴＲＯＤＵＣＴＩＯＮ
ＡＢＳＴＲＡＣＴ
ＴＡＢＬＥ ＯＦ ＣＯＮＴＥＮＴＳ
ＣＨＡＰＴＥＲ
ＣＨＡＰＴＥＲ ＮＵＭＢＥＲ
ＩＮＤＥＸ
電子メール型オブジェクト名
ＦＲＯＭ
ＴＯ
ＣＣ
ＳＵＢＪＥＣＴ
ＭＥＳＳＡＧＥ ＢＯＤＹ
ＥＮＣＬＯＳＵＲＥ
新聞型オブジェクト名
ＩＳＳＵＥ ＤＡＴＥ
ＡＲＴＩＣＬＥ
ＣＯＬＵＭＮ
ＣＯＶＥＲ ＳＴＯＲＹ
ＬＥＡＤ ＳＴＯＲＹ
ＢＲＥＡＫＩＮＧ ＮＥＷＳ
ＡＤＶＥＲＴＩＳＥＭＥＮＴ
ＳＥＣＴＩＯＮ
ＥＤＩＴＯＲＩＡＬ
【００６５】
ＤＤＳ２００は、任意のタイプのデータ又はメタデータを内含又は参照指示することができる。一例においては、ＤＤＳ２００は、メタデータをポイント又は参照するためにオブジェクト名フィールド２６２を使用する。このメタデータは、オブジェクト名に結びつけられたいくつかの特徴を定義づけできる。例えば、このようなメタデータは、新規作成及び／又は使用プロセス中に完全性制約条件又はその他の制約条件を課すことができる（例えば「１つのオブジェクトを新規作成する場合にはこの情報を提供しなければならない」又は「そのオブジェクトを表示する場合、この情報を表示しなくてはならない」）。メタデータ２６４はさらに、付随するオブジェクト名を記述するか又はその他の形で修飾することもできる。
【００６６】
１つの好適実施例においては、ＤＤＳ２００は、例えばコンテナ１００内といったように他の場所に記憶されているメタデータを参照するために、オブジェクト名２６２を使用する。この参照技術は、いくつかの利点を提供する。例えば、ＤＤＳ２００とは別の安全コンテナ１００内にメタベースを記憶することが有用でありうるような１つの状況は、付随するメタベースを保護すること以外の外部アプリケーションに対し、ＤＤＳを直ちにアクセス可能なものにすることが望ましいような状況下にある。例えば、ウェブスパイダ照会を取扱かうケースを考えてみよう。ウェブスパイダは、特定のオブジェクト名２６２についてＤＤＳ２００を照合することができる。そのオブジェクト名が発見されたならば、そのとき、ウェブスパイダは対応するメタデータを要求することができる。ウェブスパイダはメタデータに直ちにアクセスできるが、関連するルール３１６に基づき対応する安全な電子機器５００により制御される通りの適切な条件下で、コンテナ１００から付随するメタベースにアクセスすることができるだけであるかもしれない。もう１つの例としては、ＤＤＳ２００とは別にメタデータを記憶することにより、異なるコンテキスト内の異なるメタデータについて、同じＤＤＳを使用することを可能にすることができる。例えば、ＤＤＳ２００が例えばＫＥＹＷＯＲＤＳといったオブジェクト名を含有していると仮定する。ＤＤＳ２００がコンテナ１００Ａと結びつけられている場合には、ＤＤＳオブジェクト名ＫＥＹＷＯＲＤＳは１００ＡのＫＥＹＷＯＲＤＳメタデータを参照する。逆に、後になって、この同じＤＤＳ２００が異なるコンテナ１００Ｃと結びつけられた（例えばパッケージ化された）場合、ＤＤＳオブジェクト名ＫＥＹＷＯＲＤＳは、コンテナ１００ＢのＫＥＹＷＯＲＤＳデータを参照する。
【００６７】
他の場所に記憶されたメタデータを参照するため、オブジェクト名２６２を使用することが好ましいものの、ＤＤＳ２００内に明示的にデータベースを内含させる必要性又は希望が存在するような、その他の例も存在しうる。例示を目的として、図７は、メタデータフィールド２６４を内含し、又同様にオブジェクト名２６２を用いてコンテナ１００内のメタデータをも参照する例ＤＤＳ２００を示している。これらのいずれか１方の技術又はその両方を使用することが可能である。
【００６８】
かくしてＤＤＳ２００は、完全性制約条件の特定を可能にすることにより、価値連鎖の参加者がコンテンツの完全性を保護できるようにしている。ＤＤＳ２００完全性制約条件は、コンテンツに関するルールを陳述する方法を提供する。例えば、ＤＤＳ２００は、新聞の記事はその見出しを検分することなく検分できないということを特定することができる。対応する完全性制約条件は、「記事があるならば、見出しもなくてはならない」というルールを指示することができる。もう１つの例は、雑誌の一部である写真及びそれに伴うクレジットである。ＤＤＳ２００により提供される完全性制約条件ルールは、「この写真を、その付随するクレジット無しで提示しないこと」というものでありうる。
【００６９】
ＤＤＳ完全制約条件は、価値連鎖参加者に対して、特定のＤＤＳによって表現されたコンテンツが不可欠な構成要素の全てを含有していること、すなわちそれがＤＤＳを代表するものであることを保証する、ＤＤＳ２００の使用を保護するための１つの手段を提供している。これはプロバイダに対して、協定をセットアップし、使用の標準を実施する方法を提供している。考えられる完全性制約条件は数多く存在する。以下にいくつかの例を示す。
【００７０】
・必要性：ａはコンテンツの一部として必要とされている。
・オプション：ａはコンテンツの任意の構成要素である。
・必要な関係：ａが存在するならば、そのときｂが存在しなければならない。又は、ａが存在する場合、ｂ，ｃ及びｄが存在しなければならない。逆にｂが存在しない場合、ａは存在してはならない。このカテゴリにおける関係は、ｍ＞０の場合１：ｍである。
【００７１】
・オプション関係：ａが存在する場合、ｂは存在してもしなくてもよい。ｂが存在する場合、ａは存在することが保証される。このカテゴリにおける関係は、ｎ＞＝０の場合１：ｎである。
【００７２】
・反復：ａは、ｎ＞１の場合、ｎ回発生しなければならない。これは、値の範囲などと共に特定されうる。
【００７３】
・その他のルール及び／又は必要条件
メタデータ２６４
記述データ構造を新規作成するためのグラフィカルインタフェース例
図８は、記述データ構造新規作成のグラフィカルユーザーインタフェース３１２の例を示す。この例においては、グラフィカルユーザーインタフェース３１２はオブジェクト名についてユーザーにプロンプトすることができる。さらに、グラフィカルユーザーインタフェース３１２は、付随するメタデータ２６４を特定するためのオプションを提供することができる。図８に示されているオプションには、例として以下のものが含まれる可能性がある。
【００７４】
・「構築タイプ」メタデータ（オブジェクト構築時点で、情報が要求される。オブジェクト構築時点で、オブジェクト新規作成手段はその情報についてつねにプロンプトするか又は決してプロンプトしないことである。
【００７５】
・表示メタデータ、例えばつねに付随する情報を表示する（例えば著作権通知、著者名など）か又はつねに情報を見えるようにするか又は決して見えるようにしない、及び／又は  ・レイアウト「ヒント」及びフィールド定義（例えばテキスト、テキストブロック、整数、ファイル、画像又はその他のデータタイプ）。
【００７６】
上述のメタデータ記述は制限的意味のない例である。その他のメタデータ特徴及び属性を使用することも可能である。
【００７７】
記述データ構造を使用したプロセス例
図９は、記述データ構造２００のために、同時係属の関連ＵＳ特許出願第０８／６９９，７１２号（以上で参照されたもの）の中で記述されている下部構造を用いるための１つの配置例を示す。図９に示されている配置は、数多くの異なるコンテキストにおいて有用である。例えば、記述データ構造２００のプロバイダ６００は、自らの製品の品質を改善させるように、どの記述データ構造２００が自らの顧客により最もうまくリンクされるかを知りたいと思うかもしれない。ところで、プロバイダ６００は、使用毎又はその他のベースで記述データ構造２００の使用について顧客に料金を請求する可能性がある。さらにもう１つの例では、ＤＤＳ２００の一部の記述データ構造２００又はクラスが、許可されたユーザー又は許可されたユーザーのクラスによる使用のみに制限される可能性もある。
【００７８】
図９は、価値連鎖参加者６０２に対してＤＤＳ２００及び付随する制御セット３１６を引き渡すＤＤＳプロバイダ６００を示している。制御機構３１６は、価値連鎖参加者６０２がＤＤＳ２００でできることの用途、又はその他の面を制御するか又はその他の形でこれに影響を及ぼすためのルール、及び付随する結果を提供することができる。制御機構３１６及びＤＤＳ２００は、コンテナ１００内にパッケージ化されうる。価値連鎖参加者６０２は、ＤＤＳプロバイダ６００から直接ＤＤＳ２００を含むコンテナ１００を得ることができる。代替的には、プロバイダは、それに、権利及び許可のクリアリングハウス６０４及び参加者６０２を提供し、それをクリアリングハウス（又はその他の場所）から得ることができる。（コンテナ１００Ｂ参照）。
【００７９】
価値連鎖参加者６０２は、コンテンツ１０２を著わすためにＤＤＳ２００を使用することができる。参加者６０２は、コンテナ１００Ａ内の付随する制御機構３１６Ａと共にコンテンツ１０２をパッケージ化することができる。参加者６００は、希望する場合、同じコンテナ内に、ＤＤＳ２００及び付随する制御機構３１６ａ，３１６ｂとコンテンツ１０２を内含させることもできるし、或いは又、例えばもう１つのコンテナ１００ｃ内でエンドユーザ６０６に対してＤＤＳ及びその制御機構を独立して引渡すためにプロバイダ６００及び／又は権利及び許可クリアリングハウス６０４に依存することもできる。
【００８０】
エンドユーザ６０６（１），…，６０６（ｎ）は（制御機構３１６に従って）ＤＤＳ２００をコンテンツ１０２と合わせて（例えばコンテナコンテンツを読取る、検索する又はその他の形でアクセスするために）用いる。制御機構３１６，３１６Ａは、ユーザー機器に対し、利用クリアリングハウス６１２に対し利用データ６１０を提供するべく要求することができる。利用クリアリングハウス６１２は、ＤＤＳプロバイダ６００に対しＤＤＳ２００のアクセス及び／又は利用に関する利用データ６１０Ａを提供でき、又、独立して、価値連鎖参加者６０２に対しコンテンツ１０２のアクセス及び／又は利用に関する利用データ６１０Ｂを提供することができる。
【００８１】
記述データ構造は、権利管理環境間の一定水準の相互操作性を達成するために使用することができる。
【００８２】
本発明に従って提供される記述データ構造２００は、ソース及びターゲット権利管理環境間に一定水準の相互操作性を提供し及び／又は権利管理環境と外部世界の間に少なくとも幾分かの相互操作性を達成するためのブリッジを提供することができる。
【００８３】
異なる権利管理環境が、１つのオブジェクトに関連する権利を定義づけするため実質的に非互換性のメカニズムを有することが考えられる。記述データ構造２００は、一定水準の互換性及び相互操作性を達成するべく少なくとも部分的なブリッジを提供することができる。例えば、ソース権利管理環境内で１つのオブジェクトを定義づけするプロバイダは、単数又は複数のターゲット権利管理環境内のプロセスによる使用のため、記述データ構造を作成することができる。例えば、オブジェクト作成者又はその他のプロバイダは、記述データ構造２００内で、ターゲット権利管理環境内に移入された後オブジェクトに適用されうる又は適用すべきであるいくつかのルール、完全性制約条件及び／又はその他の特徴を特定することができる。ターゲット権利管理環境は、それがソース環境を信頼できる度合に応じて、このようなルール、制約条件及び／又はその他の特徴を選択的に実施させることを選ぶことができる。例えば、Ｘ．１２の安全性を利用するＥＤ１システムから移入されたオブジェクトは、安全性がより低い（か又は全くない）環境から提示されたオブジェクトに比べさらに信頼する価値のあるものであるかもしれない。
【００８４】
もう１つの例では、あらゆる権利管理環境の外部でオブジェクトを作成するプロバイダは、オブジェクトが単数又は複数の権利管理環境内に移入される場合及びその時点で使用するために１つの記述データ構造２００を作成することができる。ターゲット権利管理環境はこのような記述データ構造（単複）を、オブジェクトの効率良い理解と取扱いの一助とするべく使用することができる。さらに権利管理環境内で作成された記述データ構造を、権利管理環境の外部で単数又は複数のアプリケーションに移出し、移出されたコンテンツ又はその他の情報を解釈する上でこのアプリケーションを補助するためにこれを使用することが可能である。
【００８５】
図１０Ａは、相互操作性を提供するために記述データ構造２００を使用する方法の一例を示している。図１０Ａの例においては、ＤＤＳ作成手段８００は、単数又は複数のターゲットデータブロック８０１を内含するＤＤＳ２００を作成する。一つの例においては、ＤＤＳ作成手段８００がベースとなり、及び／又はレイアウト手段３００の能力の一部分又は全てを組込み、レイアウト手段３００に結びつけられた特徴に加えて相互操作性能力を提供することができる。もう１つの例では、ＤＤＳ作成手段８００は、レイアウト手段３００の能力のいずれも組込んでいない可能性があり、又相互操作性の目的でのみＤＤＳ２００を作成することができる。例えば、ＤＤＳ作成手段８００は、グラフィカルユーザーインタフェースを伴うアプリケーションプログラム、ユーザーにより構成されているときにユーザーインタフェースのみを表示する背景プロセス、オペレーティングシステムの一部分、コンピュータのファームウェアの一部分、独立してか又は１つのシステムともう１つのシステムの間（例えば公衆網と私設網間、複数の私設網間、ローカルエリアネットワークと広域ネットワーク間など）の「ゲートウェイ」の一部分又は全てとして作用しうるサーバープロセス又はその他の望ましいあらゆる実施又は統合であってよい。
【００８６】
ターゲットデータブロック８０１は、特定のターゲット環境８０との相互操作性を提供するのに使用される情報を提供することができる。単一のＤＤＳ２００は、１つの例において、各々異なるターゲット環境８５０（１），…８５０（Ｎ）に対応するＮ個のターゲットデータブロック８０１（１），…８０１（Ｎ）を内含することによって、Ｎ個の異なるターゲット環境８５０との相互操作性を提供することができる。
【００８７】
この例では、各々のターゲットデータブロック８０１は、ルール（制御）情報を内含する。異なるターゲットデータブロック８０１は、異なるターゲット環境８５０のための異なるルール情報を提供することができる。ルール情報は例えば、次のものを特定することといった、付随するターゲット環境８５０内でのアプリケーションプログラム機能８５６のオペレーション（事象）及び／又は結果に関連するものであってよい：
【００８８】
・許可された及び／又は要求されたオペレーション；
・許可及び／又は要求されたオペレーションの性質及び／又は範囲；及び／又は
・許可及び／又は要求されたオペレーションの結果。
ターゲットデータブロック８０１は同様に、希望する場合、対応するターゲット環境８５０内でＤＤＳ構文解析系８５２及び／又は翻訳プログラム８５４に対し指示を与える付加的な情報を含んでいてよい。
【００８９】
図１０Ｂは、ターゲット情報をＤＤＳ２００内に組織する方法の１つの詳細な例を示している。この例においては、ＤＤＳ作成手段８００は、単数又は複数のターゲット記録ヘッダ８０を参照するＤＤＳヘッダ８０５を作成する。ＤＤＳヘッダ８０５は、例えば、ＤＤＳ２００内のターゲットデータブロック８０１の数を示す「ターゲット数」フィールド８０９，ＤＤＳ２００内の第１のターゲットデータブロック８０１（１）のロケーションを提供する「第１ターゲットデータ部分にオフセット」フィールド８１１，ソース環境を識別するソースメッセージフィールド８１２Ａ及びＤＤＳ２００の完全性及び正当性を確認するために使用することのできる、オプショナル作成者シール８１２Ｂを内含する可能性がある。ソースメッセージフィールド８１２Ａ（これはオプションでありうる）は、ＤＤＳ２００のソース環境を確認する一助となるべく使用することのできるソースＩＤ及び（ソースメッセージ中に存在していてもいなくてもよい）オプショナルソースシールを内含しうる。ＤＤＳ２００内の各々のターゲットデータブロック８０１は、「長さ」フィールド８１５，「次のターゲットデータ部分にオフセット」フィールド８１７，オプショナル作成者シール８１９及びオプショナルソースメッセージ８２１を内含するターゲット記録ヘッダ８０７で始まることができる。「ターゲットＩＤ」フィールド８１３は、付随するターゲットデータブロック８０１に対応し、及び／又は意図されたターゲット環境を識別する一意的識別番号又は値を特定でき、「長さ」フィールド８１５は、ターゲットデータブロック８０１の長さを特定でき、「オフセット」フィールド８１７は、ＤＤＳ２００内の次のターゲットデータブロック８０１のロケーション（相対的又は絶対的）を特定（かつ最終ターゲットデータブロックについてはヌル値をとる）することができる。
【００９０】
オプショナルクリエータシール８１２Ｂ，８１９（及びソースシール）は、ＤＤＳ２００及びターゲット記録８０１がそれぞれ作成されて以来変更されなかったことを保証するのを助ける暗号シールであり、かつＤＤＳ２００の作成者及び／又はソースのアイデンティティであってもよい。オプショナルソースメッセージ８１２Ｃ及び８２１は、どのソース環境がＤＤＳ２００を作成したかをターゲット環境が知っていることを保証する助けとなる情報である。
【００９１】
ここで再び図１０Ａを参照すると、ＤＤＳ作成手段８００は、ＤＤＳ２００を作成した時点で、例えば、データ上に暗号ハッシュ関数（例えばＳＨＡ，ＭＤ５などをまず走らせ次に非対称暗号システム（例えばＲＳＡ，Ｅｌ Gamalなど）と結びつけられたＤＤＳ作成の専用かぎを用いて結果としてのハッシュ値を暗号化することによって、適切な暗号プロセスを用いて完全性のため、それと各々のターゲットデータブロック８０１を暗号によりシールすることができる。シーリングが使用される場合、ＤＤＳ作成者は好ましくは、暗号化用専用かぎに結びつけられた公開かぎが認証され（例えば、認証当局の専用かぎで暗号化され）、シールを妥当性検査するべくターゲット環境が使用できる状態にあることを（例えばＤＤＳ２００内に証明書を内含すること、公衆網上に証明書を公示することなどによって）保証すべきである。
【００９２】
ソースメッセージ８１２Ｃ，８２１が使用される場合には、これらは好ましくは、ターゲット環境がソース環境を識別する一助となり得、しかもさらにＤＤＳ２００が実際にソース環境により作成されたこと（従って例えば、ソース環境が信頼されるかぎりにおいて信頼できるものであること）を保証する一助ともなりうる、ソース環境により提供された情報を表現すべきである。例えばソース環境は、前出のGinter等の特許出願中で記述された形の保護された処理環境（ＰＰＥ）を有することができる。このようなＰＰＥのうちのいくつかは、適宜ＤＤＳヘッダ８０５又はターゲットブロックヘッダ８０７からとられた暗号ハッシュを暗号化するのに使用できる、利用可能な暗号かぎ（例えば、公開かぎ／専用かぎ対のうちの専用かぎ）を有する可能性がある。かかる例においては、ターゲット環境は、このようなソースメッセージを評価する目的で、信頼された技術（例えば、信頼された認証当局による署名の入った証明書の形での引渡し）を用いて、対応する暗号かぎ（例えば公開かぎ／専用かぎ対のうちの公開かぎ）を獲得することを必要とするだろう。もう１つの例においては、ＤＤＳ作成手段８００は、それが製造された時点で暗号かぎを備えていた可能性があり、ＰＰＥからのかぎの代わりにこれらの暗号かぎを使用することができるが、一般にこの技術は、経験豊かなコンピュータハッカーによる改ざんをより受けやすいものとなり、従って、ターゲット環境による信頼度は幾分か低くなるかもしれない。
【００９３】
さらに加えて、又は代替的に（例えば、暗号技術が適切でないか又は望まれない場合）、ソースメッセージは、ソース環境に対応する一意的識別子を含んでいてよい。
【００９４】
ＤＤＳ作成手段８００（図１０Ａ参照）はこのとき、結果として得られたＤＤＳ２００を、付随するオブジェクト８３０と共に安全コンテナ１００へとパッケージ化することができる。もう１つの例においては、ＤＤＳ作成手段８００は、ターゲット環境構文解析系８５２にＤＤＳを解放するための方法を提供するオブジェクト８３０'内に、ＤＤＳ２００を埋め込むかそうでなければこのオブジェクトとＤＤＳを結びつけることができる。このとき、ＤＤＳ２００及びその付随するオブジェクト８３０を、処理のため単数又は複数のターゲット環境８５０に引渡すことが可能である。
【００９５】
ターゲット環境構文解析系８５２（及び／又は翻訳プログラム８５４）は、例えば、アプリケーションプログラムの一部分、オペレーティングシステムの一部分、又はアプリケーションプログラム及び／又はオペレーティングシステムによって使用される又はこれと合わせて使用されるユーティリティプログラムの一部分であってよい。ターゲット環境構文解析系８５２はＤＤＳ２００を受理し、それをオペランド解析して、ターゲット環境８５０（ｋ）に対応するターゲットデータブロック８０１（Ｋ）を位置設定する。構文解析系８５２はこのとき、対応するターゲットデータブロック８０１から、ターゲットデータブロックが含有するルールを決定することができる。構文解析系８５２は好ましくは、それに対応する適切なターゲットデータブロックを（例えば図１０Ｂに示されたヘッダ情報を用いて）発見し、同様にターゲットデータブロック内のルールを理解するため充分なだけＤＤＳ２００の構造について理解している。ターゲット環境構文解析系８５２は、コンテナ１００内にパッケージ化されているか又はその他の形でオブジェクト８３０と共に引渡される可能性のあるあらゆる付加的なルール３１６を理解する必要性は無いものの、望ましい場合（例えば、特定のターゲット環境８５０についてＤＤＳ２００内にいかなるターゲットデータブロック８０１も発見しないとき（例えば、発行された仕様及び／又は標準に基づくルールを持つ幾つかの他のターゲットデータブロック８０１を理解する能力をもつ場合））、このようなあらゆる付加的なルールを使用することができる。
【００９６】
ターゲット環境構文解析系８５２は、ターゲットデータブロック８０１から適用可能なターゲットルールを得、これらのルールをアプリケーションプログラム機能８５６に提供することができる。アプリケーションプログラム機能８５６は、例えば以下のようなオブジェクト８３０に関連するあらゆるオペレーションを定義づけることができる。
【００９７】
・カット
・コピー
・印刷
・ペースト
・セーブ
・変更
・削除
・その他のあらゆるオペレーション
【００９８】
構文解析系８５２によって提供されたターゲットルールは、例えば、或る種のオペレーションを許可、要求及び／又は防止するため、或る種のオペレーションを実施できる程度を定義づけるため（例えばコピー回数の制限、カット範囲の定義づけ、その後の使用においてカット情報に適用されるべきルールなど）、及び／又は特定のオペレーションを実施したことの結果を定義づけるため（例えば、オブジェクト８３０の全て又は一部分を印刷又はその他の形で使用及び／又はアクセスすることに対しユーザーに料金を請求すること、実施されたかかるオペレーションの時間及び／又は回数の記録を維持すること）に使用可能である。
【００９９】
構文解析系８５２は同様に又は代替的に、それがターゲットデータブロック８０１から得たルールのいくつか又は全てを、例えば「他の権利管理機能」ブロック８５８といったようなルールを適用するためのその他の配置に対し提供することもできる。ブロック８５８は、あらゆる種類の権利管理機能を提供することができる。
【０１００】
アプリケーションプログラム機能８５６及び／又は「その他の権利管理」ブロック８５８がルールを理解できるようにするのに必要な場合には、翻訳プログラム８５４を使用することができる。１例としては、ターゲットデータブロック８０１から得られたルール情報をさら精緻化し、パラメータ化し及び／又は機密保護するために翻訳プログラム８５４を用いることができ、従ってこれらは「その他の権利管理機能」ブロック８５８とさらに又は完全に互換性あるものとなっている。
【０１０１】
有用なデータ構造定義づけの方法及び配置について、その最も実用的かつ現在好まれている実施例との関係において記述してきた。本発明は、これらの実施形態に制限されるべきものではなく、反対に、請求の範囲に記載の精神及び範囲内に定義づけされている通りの変形形態及び等価態様を包含することを意図するものである。
【図面の簡単な説明】
【０１０２】
【図１Ａ】コンテンツ・コンテナの実施例を示す図である。
【図１Ｂ】コンテンツ・コンテナの実施例を示す図である。
【図２Ａ】記述的データ構造の実施例に関連するコンテンツ・コンテナの実施例を示す図である。
【図２Ｂ】記述的データ構造の実施例に関連するコンテンツ・コンテナの実施例を示す図である。
【図３】記述的データ構造の作成および使用プロセスの実施例を示す図である。
【図４】作成および使用プロセスの別の実施例を示す図である。
【図５】記述的データ構造を使用したシステム構造の実施例を示す図である。
【図５Ａ】図５のシステムにより実行されるプロセスの実施例を示す図である。
【図６】階層的な記述的データ構造組織を示す図である。
【図６Ａ】記述的データ構造が如何にして詳細トランザクション・データと共に使用され得るかの実施例を示す図である。
【図７】記述的データ構造フォーマットの実施例を示す図である。
【図８】記述的データ構造を作成するグラフィカル・インタフェースの実施例を示す図である。
【図９】記述的データ構造の権利マネジメント関連データを追跡するプロセスの実施例を示す図である。
【図１０Ａ】記述的データ構造を使用して周囲との間の相互運用性を提供する実施例を示す図である。
【図１０Ｂ】図１０Ａの記述的データ構造実施例が如何にして構成されるかを更に詳細に示す図である。
【符号の説明】
【０１０３】
１００    コンテナ
１００Ａ    コンテナ
１００Ｃ    コンテナ
１０２    新聞
１０６    雑誌
２００    記述的データ構造
【図１Ａ】
2006059383.tif 000003
【図１Ｂ】
2006059383.tif 000004
【図２Ａ】
2006059383.tif 000005
【図２Ｂ】
2006059383.tif 000006
【図３】
2006059383.tif 000007
【図４】
2006059383.tif 000008
【図５】
2006059383.tif 000009
【図５Ａ】
2006059383.tif 000010
【図６】
2006059383.tif 000011
【図６Ａ】
2006059383.tif 000012
【図７】
2006059383.tif 000013
【図８】
2006059383.tif 000014
【図９】
2006059383.tif 000015
【図１０Ａ】
2006059383.tif 000016
【図１０Ｂ】
2006059383.tif 000017
【手続補正書】
【提出日】平成17年11月24日(2005.11.24)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
安全コンテナを作成し使用する方法であって、
相互運用可能で互換性のコンテナ構造のクラスを総称的に定義する、記述的データ構造を定義するステップと、
少なくとも１個の安全コンテナを作成するために、前記記述的データ構造を使用するステップと、
複数の電子機器に前記記述的データ構造を配信するステップと、
情報を安全コンテナ内に配置しおよび／または特定するために、少なくとも部分的に前記記述的データ構造を使用することにより、前記複数の電子機器において前記安全コンテナを相互運用するステップ、を含む、安全コンテナを作成し使用する方法。
【請求項２】
請求項１に記載の方法であって、前記記述的データ構造は原子トランザクションに対応し、前記方法はさらに、少なくとも部分的に前記記述的データ構造に基づいて、前記複数の電子機器の少なくとも１個上で前記原子トランザクションを実行するステップを含む、安全コンテナを作成し使用する方法。
【請求項３】
請求項１に記載の方法において、さらに、前記記述的データ構造に関係する制御を独立して使用しおよび／または提供するステップを含む、安全コンテナを作成し使用する方法。
【請求項４】
請求項１に記載の方法において、さらに、少なくとも１個のパラメータに基づいて記述的データ構造の少なくとも１個のクラスを定義するステップを含む、安全コンテナを作成し使用する方法。
【請求項５】
請求項１に記載の方法において、前記記述的データ構造は、前記安全コンテナコンテンツの、要求されあるいは望まれる編成を少なくとも部分的に記述する編成情報を含む、安全コンテナを作成し使用する方法。
【請求項６】
請求項１に記載の方法において、前記記述的データ構造は、前記安全コンテナの作成に必要とされあるいは望まれる一個のステップを少なくとも部分的に特定するメタデータ情報を含む、安全コンテナを作成し使用する方法。
【請求項７】
請求項１に記載の方法において、当該方法は少なくとも部分的に安全電子機器上で実施される、安全コンテナを作成し使用する方法。
【請求項８】
請求項２に記載の方法において、前記記述的データ構造は、原子トランザクション内のイベントに関係するエントリーを含む、安全コンテナを作成し使用する方法。
【請求項９】
請求項８に記載の方法において、前記エントリーは、前記コンテナ内の何処で前記イベントが見出されるかを定義する、安全コンテナを作成し使用する方法。
【請求項１０】
請求項８に記載の方法において、前記エントリーは、前記イベントに相当する追加の特性を提供する、安全コンテナを作成し使用する方法。
【請求項１１】
請求項１０に記載の方法において、前記メタデータは、前記イベントがどのように表示されるかに関する情報を提供する、安全コンテナを作成し使用する方法。
【請求項１２】
請求項３に記載の方法において、前記制御は、前記安全コンテナの少なくとも一部分をどのように使用するかを少なくとも部分的に管理する、安全コンテナを作成し使用する方法。
【請求項１３】
請求項１に記載の方法において、前記記述的データ構造を複数の電子機器に配信するステップは電子ネットワーク上で実行される、安全コンテナを作成し使用する方法。
【請求項１４】
請求項１に記載の方法において、前記記述的データ構造は、安全コンテナを作成するために前記複数の電子機器によって使用される、安全コンテナを作成し使用する方法。
【請求項１５】
請求項１に記載の方法において、前記記述的データ構造は、別の安全コンテナへのアクセスを制御するルールを特定する電子データを有する、前記別の安全コンテナ内に含まれる、安全コンテナを作成し使用する方法。
【請求項１６】
請求項１に記載の方法において、前記記述的データ構造は、トランザクション／コンテナ構造内のイベント（データフィールド）に関係するエントリーを含む、安全コンテナを作成し使用する方法。
【請求項１７】
請求項１６に記載の方法において、前記エントリーは、コンテナの何処にそのイベントが見出されるかを定義する、安全コンテナを作成し使用する方法。
【請求項１８】
請求項１６に記載の方法において、前記エントリーは、前記イベントに相当する追加の特性を提供するメタデータを含む、安全コンテナを作成し使用する方法。
【請求項１９】
請求項１８に記載の方法において、前記メタデータは、そのイベントがどのようにして表示されるべきかに関する情報を提供する、安全コンテナを作成し使用する方法。