(57)【要約】      （修正有）【課題】ディジタルワークの使用または配給を制御するシステム及びリポジトリを提供する。【解決手段】システムは複数のリポジトリを有し、前記リポジトリの少なくとも一つは、リクエスタ動作モード、ならびに、サーバ動作モードを有する処理手段と、ディジタルワークと使用権を記憶する記憶手段と、を備えている。前記処理手段は、リクエスタ動作モードのときは、他のリポジトリに対してディジタルワークへのアクセス要求を行い、該ディジタルワークを受け取る。サーバ動作モードのときは、前記記憶手段に記憶されているディジタルワークへのアクセス要求を受け取り、該アクセス要求に関わる所定の使用または配給目的に対応する使用権が当該アクセス対象のディジタルワークにアタッチされているか否かチェックし（１０５）、該アクセス要求の許可、拒絶を決定し、アクセス要求が許可される場合は、ディジタルワークの使用、または配給が許される。【選択図】図１
2010020788.tif 000002
【特許請求の範囲】
【請求項１】
ディジタルワークの使用または配給を制御するシステムであって、
該システムは、複数のリポジトリを有し、該リポジトリ間でのディジタルワークの使用または配給を制御し、
ディジタルワークにはディジタルワークがいかに使用され得るか、または、ディジタルワークがさらに配給され得るかを定義する使用権がアタッチされており、
前記リポジトリは、当該システムのディジタルワークの使用または配給の制御を、ディジタルワークにアタッチされている前記使用権に基づいて行い、
前記リポジトリの少なくとも一つは、
リクエスタ動作モード、ならびに、サーバ動作モードを有する処理手段と、
ディジタルワークと使用権を記憶する記憶手段と、を備えており、
前記処理手段は、
リクエスタ動作モードのときは、他のリポジトリに対してディジタルワークへのアクセス要求を行い、該ディジタルワークを受け取る一方、
サーバ動作モードのときは、前記記憶手段に記憶されているディジタルワークへの所定の使用または配給目的のためのアクセス要求を受け取り、該アクセス要求に関わる所定の使用または配給目的に対応する使用権が当該アクセス対象のディジタルワークにアタッチされているか否かチェックし、該チェックに基づき、該アクセス要求の許可、拒絶を決定し、アクセス要求が許可される場合は、ディジタルワークの使用、または配給が許される
ことを特徴とするディジタルワークの使用または配給を制御するシステム。
【請求項２】
前記他のリポジトリは、ディジタルワークと使用権を記憶する記憶手段を有することを特徴とする請求項１に記載のディジタルワークの使用または配給を制御するシステム。
【請求項３】
他のリポジトリとの間でディジタルワークの使用または配給を制御するリポジトリであって、
ディジタルワークには、該ディジタルワークがいかに使用され得るか、または、ディジタルワークがさらに配給され得るかを定義する使用権がアタッチされており、
前記リポジトリは、ディジタルワークにアタッチされている前記使用権に基づいて、ディジタルワークの使用または配給の制御を行い、
前記リポジトリは、
リクエスタ動作モード、ならびに、サーバ動作モードを有する処理手段と、
ディジタルワークと使用権を記憶する記憶手段を備えており、
前記処理手段は、
リクエスタ動作モードのときは、他のリポジトリに対してディジタルワークへのアクセス要求を行い、該ディジタルワークを受け取る一方、
サーバ動作モードのときは、前記記憶手段に記憶されているディジタルワークへの所定の使用または配給目的のためのアクセス要求を受け取り、該アクセス要求に関わる所定の使用または配給目的に対応する使用権が当該アクセス対象のディジタルワークにアタッチされているか否かチェックし、該チェックに基づき、該アクセス要求の許可、拒絶を決定し、アクセス要求が許可される場合は、ディジタルワークの使用、または配給が許されるようにした、
ことを特徴とするディジタルワークの使用または配給を制御するリポジトリ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタルワークを、前記デジタルワークに関連し前記デジタルワークがいかに使用されるかを示す使用態様を指定する使用権に従って、ディジタルワークの使用または配給を制御するシステム及びリポジトリに関する。
【背景技術】
【０００２】
電子出版と見なされる出版（パブリッシング）及び情報産業が直面している基本的な問題は、電子出版された資料（データ）の無許可、料金請求されない配給又は使用を如何にして阻止するかにある。電子出版される資料は、一般的にディジタル形式で配給され、これらの資料を再作成する（recreate）能力を有するコンピュータベースシステムにおいて再作成される。オーディオ及びビデオレコーディング、ソフトウェア、書籍、並びにマルチメディアワークは、全て電子出版されている。これらの業界における企業は、小売り店におけるオーディオＣＤの販売のような資料のデリバリについて責任を負うことに対するローヤリティを受け取る。ワーク（作品、著作物、著書を全般的に称する）の料金請求されない配給は結果的に支払われないローヤリティを生じることになる（例えば、オーディオレコーディングＣＤを他のディジタル媒体へコピーすること）。
【０００３】
電子出版されたワークが、「完全に」再生され、配給されることができる簡単さが主な問題である。ネットワーク全体におよぶディジタルワークの転送は今や常識である。このように広範囲に使用される一つのネットワークは、Internet（インターネット）である。インターネットは、多くの大学、企業、及び政府機関におけるコンピュータのユーザが通信し、アイデアや情報を交換する広範囲なネットワークファシリティである。CompuServe及びProdigy のようなインターネット及び商業ネットワーク上に設けられたコンピュータ掲示板は、ディジタル情報のポスティング及び検索を許容する。Dialog及びLEXIS/NEXIS のような情報サービスは、幅広いトピックに対して現在情報のデータベースを提供する。さらに状況を悪化させる他のファクタは、ＮＩＩ（米国における全国情報基盤整備政策）の開発と拡大である。ＮＩＩが成長するにつれて、ネットワーク全体にわたるディジタルワークの転送が何回でも繰り返されて増大することが予想される。従って、広範囲な無許可コピーの危険性を伴わずに、ディジタルワークの配給のためにＮＩＩを使用することが所望される。
【０００４】
料金請求されない配給を抑制する最も簡単な方法は、無許可コピー及び転送を防止することにある。ディジタル形式で配給された現存の資料に関しては、種々の保護手段が使用されている。ソフトウェアの場合、作成され得るコピー数を制限したり又はコピー（複製）が検出された時に出力した物を改悪するようなコピー保護方式（スキーム）が用いられてきた。他の方式は、所定期間を経過すると、ソフトウェアを動作禁止にする。ワークステーションベースのソフトウェアに使用される技術は、ソフトウェアをランするには特別なハードウェアデバイスがワークステーション上に存在すべきであることを要求する。これに関しては、例えば、"Method and Apparatus for Protecting Computer Software Utilizing Coded Filter Network in conjuntion with an Active Coded Hardware Device" と題された米国特許第4,932,054 号を参照されたい。このような装置は、一般に、"dongles" と呼ばれるソフトウェアを備えている。
【０００５】
さらに他の方式は、ソフトウェアを動作可能にするための「キー」を必要とするソフトウェアを配給することである。これは、ソフトウェアの"demos" （デモンストレーションの意）がプロダクト全体と共に媒体上に提供されるような配給方式において使用される。demos は自由に使用されることができるが、実際のプロダクトを使用する為には、キーが購入されなければならない。まず最初にキーを購入すれば、これらの方式はソフトウェアのコピーを妨害しない。
【発明の概要】
【課題を解決するための手段】
【０００６】
本発明の一態様は、ディジタルワークの使用または配給を制御するシステムであって、  該システムは、複数のリポジトリを有し、該リポジトリ間でのディジタルワークの使用または配給を制御し、ディジタルワークにはディジタルワークがいかに使用され得るか、または、ディジタルワークがさらに配給され得るかを定義する使用権がアタッチされており、前記リポジトリは、当該システムのディジタルワークの使用または配給の制御を、ディジタルワークにアタッチされている前記使用権に基づいて行い、前記リポジトリの少なくとも一つは、リクエスタ動作モード、ならびに、サーバ動作モードを有する処理手段と、ディジタルワークと使用権を記憶する記憶手段と、を備えており、前記処理手段は、リクエスタ動作モードのときは、他のリポジトリに対してディジタルワークへのアクセス要求を行い、該ディジタルワークを受け取る一方、サーバ動作モードのときは、前記記憶手段に記憶されているディジタルワークへの所定の使用または配給目的のためのアクセス要求を受け取り、該アクセス要求に関わる所定の使用または配給目的に対応する使用権が当該アクセス対象のディジタルワークにアタッチされているか否かチェックし、該チェックに基づき、該アクセス要求の許可、拒絶を決定し、アクセス要求が許可される場合は、ディジタルワークの使用、または配給が許されることを特徴とする。
【０００７】
前記他のリポジトリは、ディジタルワークと使用権を記憶する記憶手段を有していてもよい。
【０００８】
本発明の別の態様は、他のリポジトリとの間でディジタルワークの使用または配給を制御するリポジトリであって、ディジタルワークには、該ディジタルワークがいかに使用され得るか、または、ディジタルワークがさらに配給され得るかを定義する使用権がアタッチされており、前記リポジトリは、ディジタルワークにアタッチされている前記使用権に基づいて、ディジタルワークの使用または配給の制御を行い、前記リポジトリは、リクエスタ動作モード、ならびに、サーバ動作モードを有する処理手段と、ディジタルワークと使用権を記憶する記憶手段を備えており、前記処理手段は、リクエスタ動作モードのときは、他のリポジトリに対してディジタルワークへのアクセス要求を行い、該ディジタルワークを受け取る一方、サーバ動作モードのときは、前記記憶手段に記憶されているディジタルワークへの所定の使用または配給目的のためのアクセス要求を受け取り、該アクセス要求に関わる所定の使用または配給目的に対応する使用権が当該アクセス対象のディジタルワークにアタッチされているか否かチェックし、該チェックに基づき、該アクセス要求の許可、拒絶を決定し、アクセス要求が許可される場合は、ディジタルワークの使用、または配給が許されるようにしたことを特徴とする。
【０００９】
ディジタルワークは、ディジタル形式で変換されるか又は作成されると共にソフトウェアプログラムのような適切なレンダリング手段を用いて再作成され得るあらゆる書き込み、聴覚、グラフィカル、又はビデオベースのワークである。一つ以上のディジタルワークを含むフォルダは、ディジタルワークとして処理されることができる。本発明はディジタルワークのオーナーが彼らのワークに使用権をアタッチするのを可能にする。これらの使用権はディジタルワークがいかにして使用され、配給されるかを定義する。これらの使用権はディジタルワークの一部となり常に遵守される。
【００１０】
使用権のインスタンスはフレキシブルで拡張可能な使用権文法を用いて定義される。概念的には、使用権文法における権利は権利を行使することに対する所定の行動と条件に対応したラベルである。例えば、COPY right（著作権）はディジタルワークのコピーが行われてもよいことを表記する。この権利の行使に対する条件は、リクエスタがいくらかのセキュリティ（機密保護）基準を渡さなければならない事にある。条件は権利其れ自体を制限するためにもアタッチされる。例えば、LOAN right（貸出し権）はワーク（作品）が貸し出される期間を制限するために定義されてもよい。
【００１１】
本発明においては、使用権は、権利を行使するための種々の条件と一緒に権利コードを備えている。このような条件は、権利が同時に行使される回数を制限するコピーカウント（複製回数）の条件（例えば、所定回数ローンでのコピー数制限）、リクエスタが適切なレベルのセキュリティを有していることを確実とするセキュリティクラス条件、渡されるべきアクセステストを指定するためのアクセス条件、権利を行使するためのタイムベースの制約条件を示すタイム仕様、及び権利の行使に対する使用料を示す料金仕様を含む。ディジタルワークはディジタルワークへアタッチされた権利の異なるバージョンを有することができる。権利のバージョンは他のバージョンと同じ権利コードを有するが、条件（及び一般的には料金）は異なる。
【００１２】
ディジタルワークとそれらのアタッチされた使用権はリポジトリ内に記憶される。ディジタルワークはリポジトリ同士の間で転送される。リポジトリは使用トランザクションステップの所定のセットに従ってディジタルワーク同士を交換するように対話する。使用権の行動は使用トランザクションステップの所定のセット内に組み込まれる。当該使用トランザクションステップは権利が行使される前に満たされるべき全ての条件を更にチェックする。これらの使用権トランザクションステップは権利の行使の要求と権利の実行のためにリポジトリによって使用されるプロトコルを定義する。
【００１３】
本発明の他の態様は、アタッチされた一つ以上の使用権を有するディジタルワークを配給するための配給システムであって、関連するディジタルワークの所有者が前記関連するディジタルワークを伝送する方法を示す使用権のインスタンスを作成する文法を備え、前記文法から使用権を作成する手段を備え、作成された使用権をディジタルワークへアタッチする手段を備え、ディジタルワークへアクセスするためのリクエスタリポジトリを備え、前記要求リポジトリが使用トランザクションを発生する手段を有し、前記使用トランザクションの各々が使用権を指定し、アタッチされた作成された使用権を有するディジタルワークを記憶するサーバリポジトリを備え、前記サーバリポジトリが、前記リクエスタリポジトリからの使用トランザクションを処理してディジタルワークへのアクセスが許諾されるか否かを決定する手段を有していることよりなるディジタルワーク配給システムである。
【００１４】
本発明の他の態様は、ディジタルワークの配給及び使用を制御するためのコンピュータベースシステムであって、ディジタルワークがいかにして使用され又は配給されるかを定義する使用権のインスタンスを作成する使用権文法を備え、前記使用権文法が使用権の伝送を定義するための第１の複数の文法エレメントと使用権のレンダリングを定義するための第２の複数の文法エレメントとを有し、使用権をディジタルワークへアタッチする手段を備え、ディジタルワークを記憶すると共に交換するための複数のリポジトリを備え、前記複数のリポジトリの各々が、ディジタルワークとそれらのアタッチされた使用権を記憶する手段と、トランザクション処理手段であって、要求されたディジタルワークへのアクセスを要求するためのリクエスタ動作モードを有し、前記要求が使用権を指定し、前記要求において指定された使用権と前記要求されたディジタルワークへアタッチされた使用権とに基づいて、前記要求されたディジタルワークへアクセスするための要求を処理するためのサーバ動作モードを有する、前記トランザクション処理手段と、通信媒体を介して前記複数のリポジトリの他のリポジトリと結合する結合手段と、を有することよりなるディジタルワークの配給及び使用の制御用コンピュータベースシステムである。
【発明の効果】
【００１５】
ディジタルワークの使用または配給を制御するシステム及びリポジトリを提供する。
【図面の簡単な説明】
【００１６】
【図１】本発明の好ましい実施の形態の動作の単純なインスタンス生成を示すフローチャートである。
【図２】本発明の好ましい実施の形態において、種々のリポジトリのタイプを示し、リポジトリ同士間でのリポジトリ・トランザクション・フローを示すブロック図である。
【図３】本発明の好ましい実施の形態において、クレジットサーバに連結されたリポジトリのブロック図である。
【図４】図４の（ａ）は、本発明の実施の形態において使用され得るレンダリングシステムの実施例を示す図である。図４の（ｂ）は、本発明の実施の形態において使用され得るレンダリングシステムの実施例を示す図である。
【図５】本発明の好ましい実施の形態において使用され得るディジタルワークに対する内容ファイルレイアウトを示す図である。
【図６】本発明の好ましい実施の形態において使用され得る図５のディジタルワークの個々のディジタルワークに対する内容ファイルレイアウトを示す図である。
【図７】本発明の好ましい実施の形態の記述ブロックの構成要素を示す図である。
【図８】図５に示されたディジタルワークの内容ファイルレイアウトに対する記述ツリーを示す図である。
【図９】図６に示された個々のディジタルワークに対応している記述ツリーの部分を示す図である。
【図１０】本発明の実施の形態において使用される記述ブロックの権利部分に対するレイアウトを示す図である。
【図１１】いくつかのd-ブロックがPRINT 使用権を有する記述ツリーであり、当該記述ツリーが使用権の競合を解消するための「厳格」及び「寛大」なルールを示すために使用される図である。
【図１２】本発明の好ましい実施の形態において使用されるリポジトリのハードウェア構成要素のブロック図である。
【図１３】本発明の好ましい実施の形態において使用されるリポジトリの機能的（論理的）構成要素のブロック図である。
【図１４】本発明の好ましい実施の形態における使用権の基本構成要素を示すブロック図である。
【図１５】本発明の好ましい実施の形態の使用権文法のプログラム表示例である。
【図１６】本発明の好ましい実施の形態で実行されるように、登録トランザクションにおいて実行される証明書デリバリ、ホットリストチェック及びパフォーマンステストのステップを示すフローチャートである。
【図１７】登録トランザクションにおける各リポジトリが図１６に示したステップを無事に完了した後で、本発明の好ましい実施の形態において実行されるセッション情報交換とクロック同期のステップを示すフローチャートである。
【図１８】本発明の好ましい実施の形態で実行されるように、共通のオープニング及びクロージングステップを含む使用トランザクションに対する基本フローを示すフローチャートである。
【図１９】本発明の好ましい実施の形態で実行されるように、ディジタルワークをサーバからクライアントリポジトリへ移動する時にフォローされる伝送プロトコルに従ったサーバ及びクライアントリポジトリの状態のブロック図である。
【発明を実施するための形態】
【００１７】
レンダリングシステムが開示されている。本発明はディジタルワークを含む商業的トランザクション（取引）をサポートすることに関する。
【００１８】
本明細書中において、用語「ディジタルワーク」、「ワーク」及び「内容」は、ディジタル表現に縮小されたあらゆるワーク（作品、著作物、著書等）を称する。これは、あらゆるオーディオ、ビデオ、テキスト又はマルチメディアワーク、及びワークを再作成するために必要とされ得るあらゆる付随するインタープリタ（例えば、ソフトウェア）を含む。用語「複合ワーク」は、他のディジタルワークの集合からなるディジタルワークを称する。用語「使用権」又は「権利」は、ディジタルワークの配布先として許諾された権利を称する用語である。一般に、これらの権利は、ディジタルワークがいかにして使用され得るか、及び当該ディジタルワークが更に配給され得るか否かを定義する。各使用権は、権利が行使される前に満たされなければならない一つ以上の指定条件を有している。
【００１９】
図１は、種々の詳細は省略しているが、本発明の基本的な動作を示す高レベルフローチャートである。図１に関しては、ステップ１０１において、クリエータがディジタルワークを作成する。ステップ１０２において、クリエータは適切な使用権及び料金を決定し、ディジタルワークにそれらをアタッチし、次いでそれらをリポジトリ１内に記憶する。適切な使用権及び料金の決定は様々な経済的ファクタによる。アクセス要求が受信されるまで、ディジタルワークはリポジトリ１内に安全に残されている。アクセス要求は、他のリポジトリによるセッション開始から始まる。この時、ステップ１０３において、リポジトリ２は、リポジトリ１とセッションを開始する。以下により詳細に記述されているように、このセッション開始は、それぞれのリポジトリが信頼できることを確実とするのを助けるステップを含む。セッションが設定されることができると仮定すると、ステップ１０４において、リポジトリ２は主張された目的のためにDigital Work（ディジタルワーク）へのアクセスを要求することができる。この目的は、例えば、ディジタルワークをプリントすること又はディジタルワークのコピーを入手することであってもよい。この目的は、特定の使用権に対応している。いかなる場合でも、ステップ１０５において、リポジトリ１はディジタルワークへのアクセスが許諾されたか否かを決定するためにディジタルワークに対応する使用権をチェックする。使用権のチェックは、本質的に、アクセス要求に対応している権利がディジタルワークにアタッチされているか否か、及びこの権利に対応している全ての条件が満たされているか否かについての決定を含んでいる。アクセスが拒絶された場合、ステップ１０６において、リポジトリ１はエラーメッセージによってセッションを終了する。アクセスが許諾された場合、ステップ１０７において、リポジトリ１はディジタルワークをリポジトリ２へ転送する。ディジタルワークがリポジトリ２へ転送されると、ステップ１０８において、リポジトリ１及び２はそれぞれアクセスに対して請求情報を発生し、当該請求情報はクレジットサーバへ転送される。このような２重の請求報告は、請求処理を不正に欺こうとする企てから守るために行われる。
【００２０】
図２は、本発明におけるリポジトリタイプ同士間の基本的な対話を示す。図２から明らかになるように、種々のリポジトリタイプは異なる機能を供給する。安全であると共に信頼できる通信を可能とする機能のコアセットをリポジトリが共有することが基本である。図２に関しては、リポジトリ２０１はリポジトリの一般的なインスタンスを示す。リポジトリ２０１は、サーバモードとリクエスタモードの二つの動作モードを有している。サーバモードの時、リポジトリは、ディジタルワークへのアクセス要求を受け取ったり、処理したりする。リクエスタモードの時、リポジトリは、ディジタルワークへアクセスするための要求を開始する。リポジトリ２０１は、その主な目的がディジタルワークのための交換媒体である点で一般的である。動作の過程において、当該リポジトリ２０１は、複数の他のリポジトリ、即ち、オーソライゼーションリポジトリ２０２、レンダリングリポジトリ２０３及びマスタリポジトリ２０４と通信してもよい。リポジトリ同士の間の通信は、リポジトリ・トランザクション・プロトコル２０５を用いて行われる。
【００２１】
オーソライゼーションリポジトリ２０２との通信は、アクセスされているディジタルワークがオーソライゼーションを要求する条件を有している時に行われる。概念的に、オーソライゼーションとは、ディジタル的証明書であり、ディジタルワークへのアクセスを得る為にこの証明書の所有が要求される。オーソライゼーションとは、リポジトリ同士の間で移動できると共に料金や使用権の条件に当てられるディジタルワークそれ自体である。オーソライゼーションは、ディジタルワークへのアクセスにおいて関係する両リポジトリによって要求されてもよい。
【００２２】
レンダリングリポジトリ２０３との通信は、ディジタルワークのレンダリングに関して行われる。以下に詳細に記述されるように、レンダリングリポジトリはレンダリングシステムを備えるレンダリングデバイスと連結されている（例えば、プリンタデバイス）。
【００２３】
マスタリポジトリ２０５との通信は、識別証明書を入手することに関して行われる。識別証明書は、リポジトリが「信頼できる」として識別されるための手段である。識別証明書の使用は、登録トランザクションに関して以下に記述されている。
【００２４】
図３は、クレジットサーバ３０１に連結されたリポジトリ２０１を示す。クレジットサーバ３０１は、リポジトリ２０１に対する請求情報を累積するデバイスである。このクレジットサーバ３０１は、請求トランザクションを記録するために請求トランザクション３０２を介してリポジトリ２０１と通信する。請求トランザクションは、クレジットサーバによって請求クリアリングハウス（情報機関）３０３へ定期的に報告される。クレジットサーバ３０１は、クリアリング・ハウストランザクション３０４を介して請求クリアリングハウス３０３と通信する。クリアリングハウス・トランザクション３０４は請求クリアリングハウス３０３への情報の安全な転送、即ち暗号化された転送を可能とする。
【００２５】
レンダリングシステムは、リポジトリと、所望される形式でディジタルワークをレンダリングすることができるレンダリングデバイスとを備えたシステムとして一般に定義される。レンダリングシステムの実施例は、コンピュータシステム、ディジタルオーディオシステム、又はプリンタであってもよい。レンダリングシステムはリポジトリと同じセキュリティ（機密保護）特性を有している。レンダリング・リポジトリのレンダリングデバイスとの連結はレンダリングデバイスのタイプに適した方法で行われてもよい。
【００２６】
図４（ａ）は、レンダリングシステムの実施例としてのプリンタを示している。図４に関しては、プリンタシステム４０１は、プリンタリポジトリ４０２及びプリンタデバイス４０３を含んでいる。なお、当該プリンタシステム４０１を画定するダッシュラインは、セキュリティシステム境界を画定している。境界との通信は安全であると仮定されている。セキュリティレベルによって、境界は、物理的な完全性を提供するように意図されたバリアも示す。プリンタリポジトリ４０２は、図２のレンダリングリポジトリ２０５のインスタンス生成である。当該プリンタリポジトリ４０２は、幾つかのインスタンスにおいて、プリンタエンジン４０３によってプリントアウトされるまで残るディジタルワークの一回切りのコピーも含んでいる。他のインスタンスにおいては、当該プリンタリポジトリ４０２は、使用に基づいて残ったり請求されることができるフォントのようなディジタルワークを含む。このデザインは、プリンタとプリント装置との間の全通信ラインが、物理的に安全な境界の中にない場合に、暗号化されることを確実とする。このデザイン形態によって、ディジタルワークが不正に得られるような潜在的な「フォルト」ポイントが取り除かれる。プリンタデバイス４０３は、プリントされた出力を作成するために使用されるプリンタ構成要素を示す。
【００２７】
図４の（ａ）にはリポジトリ４０４も示されている。当該リポジトリ４０４はプリンタリポジトリ４０２に連結されている。当該リポジトリ４０４はディジタルワークを含む外部リポジトリを示す。
【００２８】
図４の（ｂ）は、レンダリングシステムとしてのコンピュータシステムの実施例である。コンピュータシステムは、ディジタルワーク（例えば、ソフトウェアプログラム）を実行（execute ）し、ディジタルワーク（例えば、ディジタル化された写真）をディスプレイするので、「多機能（multi-function）」デバイスを備えていてもよい。論理的には、物理的リポジトリを一つだけしか必要としないにもかかわらず、各レンダリングデバイスはそれ自体のリポジトリを有しているように見える。図４の（ｂ）に関しては、コンピュータシステム４１０は、ディスプレイ／実行リポジトリ４１１を含んでいる。当該ディスプレイ／実行リポジトリ４１１は、ディスプレイデバイス４１２及び実行デバイス４１３に連結されている。当該コンピュータシステム４１０を囲むダッシュラインボックスは、通信が安全であると仮定されるセキュリティ境界を示している。当該ディスプレイ／実行リポジトリ４１１は、ディジタルワークへのアクセスに対して請求された料金を通知するためにクレジットサーバ４１４と、記憶されたディジタルワークにアクセスするためにリポジトリ４１５と、に更に連結されている。
【００２９】
使用権は、ディジタルワークに直接アタッチされている。従って、ディジタルワークの構造を理解することは重要である。特別な複合ディジタルワークにおいては、ディジタルワークの構造は、当然、階層のような非循環構造になるように編成されている。例えば、雑誌は、色々な人によって作成され所有されている可能性のある様々な記事や写真を載せている。これらの記事や写真の各々は階層構造におけるノードを示すことができる。結果的に、制御、即ち使用権は、クリエータ（作成者）によって各ノードへ配置されてもよい。制御と料金の請求が各ノードに対応付けされるのを可能とすることによって、ワークのクリエータは、権利及び料金が不正に欺かれないことを保証することが可能である。
【００３０】
本発明の実施の形態においては、ディジタルワークに対するファイル情報は、「内容」ファイルと「記述ツリー」ファイルの二つのファイルへ分割される。リポジトリから見ると、「内容」ファイルは、そのフォーマットが、当該ディジタルワークを再生し、ディスプレイし、又はプリントするために使用されるインタープリタに完全に依存しているアドレス可能なバイトの流れである。「記述ツリー」ファイルは、ディジタルワークの内容とは無関係に、ワークに対する権利や料金を検討することを可能とする。なお、本明細書中で使用されている用語「記述ツリー」は、ディジタルワークの種々の構成要素同士の間の関係を示すために使用される任意のタイプの非循環構造を称する。
【００３１】
図５は、内容ファイルのレイアウトを示す。図５に関しては、ディジタルワーク５０９は、ストーリーＡ：５１０、広告５１１、ストーリーＢ：５１２、及びストーリーＣ：５１３を備える。ディジタルワークは相対アドレス０からスタートして記憶されると仮定される。ディジタルワークの部分の各々は線形で記憶され、これによりストーリーＡ：５１０は、大体、０から30,000番目までのアドレスに記憶され、広告５１１は30,001から40,000番目までのアドレスに記憶され、ストーリーＢ：５１２は40,001から60,000番目までのアドレスに記憶され、ストーリーＣ：５１３は60,001から90,000番目までのアドレスに記憶される。ストーリーＡ：５１０の詳細は図６に示されている。図６に関しては、ストーリーＡ５１０はさらに小さく分けられて、大体、０から1500番目までのアドレスに記憶されたテキスト６１４、1501から10,000番目までのアドレスに記憶されたレンガ状に積まれた写真６１５、10,000から25,000番目までのアドレスに記憶されたグラフィックス６１６、25,001から30,000番目までのアドレスに記憶されたサイドバー６１７を示している。なお、内容ファイルにおけるデータは圧縮されるか（記憶保存のため）又は暗号化（セキュリティのため）されてもよい。
【００３２】
ディジタルワークが階層としてのその構成要素部分によって示されることができることが容易に観察される。ディジタルワークに対する記述ツリーは、関連した記述子ブロック（ｄ−ブロック）のセットを備える。各ｄ−ブロックの内容は、図７に関して記述されている。図７に関しては、ｄ−ブロック７００は、リポジトリ内のワークに対する唯一の識別子である識別子７０１と、当該ワークの第１バイトの開始アドレスを提供する開始アドレス７０２と、当該ワーク内のバイトの数を付与するレングス７０３と、許諾された使用権及びそれらの状態データが保持されている権利部分７０４と、親のｄ−ブロックを指す親ポインタ７０５と、子のｄ−ブロックを指す子ポインタ７０６とを含んでいる。好ましい実施の形態において、識別子７０１は二つの部分を有している。第１の部分は、製造時にリポジトリへ割り当てられる唯一の数である。第２の部分は、作成時にワークへ割り当てられる唯一の数である。権利部分７０４は、権利に対応する種々の情報が保持されているルックアップテーブルのようなデータ構造を含む。それぞれの使用権によって要求された情報は、以下にもっと詳細に記述される。ｄ−ブロックは厳格な階層を形成する。ワークのトップのｄ−ブロックは親を有しておらず、他の全てのｄ−ブロックは一つの親を有する。親と子のｄ−ブロック同士の間の使用権の関係と、競合の解消の方法が以下に説明されている。
【００３３】
特別なタイプのｄ−ブロックは「シェル」ｄ−ブロックである。シェルｄ−ブロックはその部分の内容以外の新しい内容を追加しない。シェルｄ−ブロックは権利と料金の情報を追加するために一般的にディジタルワークのディストリビュータによって使用される。
【００３４】
図８は、図５のディジタルワークに対する記述ツリーを示す。図８に関しては、ディジタルワークに対するトップのｄ−ブロック８２０は、内部に含まれた種々のストーリーと広告を指示する。この時点で、トップのｄ−ブロック８２０は、（ストーリーＡ：５１０を表す）ｄ−ブロック８２１、（広告５１１を表す）ｄ−ブロック８２２、（ストーリーＢ：５１２を表す）ｄ−ブロック８２３、及び（ストーリーＣ：５１３を表す）ｄ−ブロック８２４を指示する。
【００３５】
図９にはストーリーＡ：５１０に対する記述ツリーの部分が示されている。ｄ−ブロック９２５はテキスト６１４を表し、ｄ−ブロック９２６は写真６１５を表し、ｄ−ブロック９２７はグラフィックス６１６を表し、ｄ−ブロック９２８はサイドバー６１７を表す。
【００３６】
記述子ブロックの権利部分７０４は、図１０に更に示されている。図１０は、各権利に対して権利部分７０４において反復される構造を示している。図１０に関しては、各権利は、権利コードフィールド１０５０及び状態情報フィールド１０５２を有している。権利コードフィールド１０５０は権利に割り当てられた唯一のコードを有する。状態情報フィールド１０５２は、権利の状態とディジタルワークに関する情報を含む。このような情報は以下の表１に示されている。権利部分７０４内に記憶される権利は、一般に、権利コードに基づく数の順序であってもよい。
【００３７】
【表１】
2010020788.tif 000003
【００３８】
記述データを内容から分離することによってディジタルワークを示すアプローチは、ファイルの各部分が同一の境界内に存在するが、内容の実際表示には関わっていないことを仮定している。特に、それは、内容表示がオブジェクト指向のアプローチを取るか否かの問題には中立である。内容をオブジェクトとして示すことは自然である。原理的に、請求構造を含む内容オブジェクトと、ｄ−ブロック内で示される権利情報とを有することは都合が良い。表示のデザインにおいてこのようなバリエーションは可能であり、また代替的に実行可能であるが、例えば、オブジェクトの解読のような処理オーバーヘッドを導入することもある。
【００３９】
ディジタルワークは階層ファイルシステムの一部としてリポジトリ内に記憶される。フォルダ（ディレクトリ及びサブディレクトリとも呼ばれる）は、ディジタルワークと共に他のフォルダを含む。フォルダ内のディジタルワーク及びフォルダは、アルファベット順に並べられる。これらのディジタルワークはこれらのファイルがいかにして使用されるかを反映するようにタイプされる。フォルダそれ自体がディジタルワークとして取り扱われるように、使用権はフォルダにアタッチされ得る。フォルダへのアクセスは、あらゆる他のディジタルワークと同じ方法で処理される。以下により詳細に記述されるように、フォルダの内容はそれら自体の権利に従属する。さらに、ファイルマネジメント権利がフォルダにアタッチされて、いかにしてフォルダ内容が管理され得るかを定義する。
【００４０】
使用権がディジタルワークの一部として取り扱われることは本発明にとっての基本である。ディジタルワークが配給されると、許諾された使用権の範囲はそのまま変わらないか又は狭められる。例えば、ディジタルワークがドキュメントサーバからリポジトリへ転送されると、使用権は、コピーを所定期間貸出す権利を含む（オリジナル権と呼ばれる）。リポジトリがディジタルワークのコピーを貸出す時、貸し手のコピーの使用権（次の権利のセットと呼ばれる）は、コピーを貸出すための任意の付加的権利を禁止するようにセットされることができる。基本的な考えは、彼らが持っている権利より以上の権利は許諾できないということである。
【００４１】
使用権のディジタルワークへのアタッチメントは種々の方法で行われることができる。ディジタルワーク全体に対して使用権が同じである場合、ディジタルワークがディジタルワークサーバにおけるデポジットのために処理される時、当該使用権が（ディジタルワークへ）アタッチされる。種々の構成要素毎に異なる使用権を有するディジタルワークの場合、（使用権のアタッチは）ディジタルワークの作成中に実行され得る。使用権アタッチの自動化されたプロセスを提供する著作ツール又はディジタルワークアセンブリングツールが使用され得る。
【００４２】
以下に記述されるように、ディジタルワークがコピーされ、転送され、又は貸出される時、「次の権利のセット」が指定され得る。この「次の権利のセット」はそれが伝送される時にディジタルワークへアタッチされる。
【００４３】
ディジタルワークの各部分がそれ自体の使用権を有するかもしれないので、「含まれている部分」の権利がその親又はコンテナ（container ）部分とは異なるインスタンスがある。これにより、何時、どのように権利が行使されるかを指定するために競合ルールが設定されなければならない。ディジタルワークの階層ストラクチュア（構造）はこのようなルールの実施を円滑にする。「厳格な」ルールとは次のようになる：その部分と、その部分を含む先祖のｄ−ブロックと、全ての子孫のｄ−ブロックに対して許諾された場合、及びその場合だけにおいて、ディジタルワークの当該部分に対する権利が許諾される。許諾されることにより、（１）それぞれの部分の各々が権利を有していなくてはならないことと、（２）その権利を行使するためのあらゆる条件が満たされることとが示される。
【００４４】
もっと寛大なルールを用いて本発明を実行することも可能である。もっと寛大なルールにおいては、その部分へのアクセスが、権利を有する子孫の部分に対しては動作可能とされるが、権利を有さない子孫に対しては拒絶される。
【００４５】
厳格なルール及び寛大なルールの使用例が図１１に関して示されている。図１１に関しては、ルートｄ−ブロック１１０１は子ｄ−ブロック１１０２乃至１１０５を有している。この場合、ルートｄ−ブロックは雑誌を示し、子ｄ−ブロック１１０２乃至１１０５の各々は雑誌における記事を示す。厳格なルールに従ったルートｄ−ブロック１１０１によって示されたディジタルワークをPRINT するための要求が行われると仮定する。次に、このルートｄ−ブロック１１０１と子ｄ−ブロック１１０２乃至１１０５に対する権利が検討される。ルートｄ−ブロック１１０１と子ｄ−ブロック１１０２と１１０５のPRINT 権は許諾される。子ｄ−ブロック１１０３のPRINT 権は許諾されないが、子ｄ−ブロック１１０４は使用料の支払いを条件としてPRINT 権を得る。
【００４６】
厳格なルール下では、子ｄ−ブロックがPRINT 権（単体）を有していないので、PRINT 権は行使されることができない。寛大なルール下では、結果が異なる。子ｄ−ブロック１１０２と１１０５によって示されたディジタルワークは、プリントされることができ、ｄ−ブロック１１０４によって示されたディジタルワークは、使用料が支払われれば、プリントされることができる。ｄ−ブロック１１０３によって示されるディジタルワークだけがプリントされることができない。要求が個別ディジタルワークの各々に指定された場合、厳格なルール下では同じ結果が達成される。
【００４７】
本発明は、アクセスの許容及び非許容の様々なコンビネーションをサポートする。さらに、以下に説明されるように、使用権文法は、ディジタルワークの所有者が、制約条件がコンテナ部分によってワークに課せられるか否かを指定するのを許容する。ディジタルワークが使用権競合のために認可され得る方法は、実施に関する特性であり、この方法は、ディジタルワークの性質に依存する。
【００４８】
図２の記述において、リポジトリが種々の形式を取ることが示されている。全てのリポジトリはディジタルワーク転送のためのサービスのコアセットを提供する。ディジタルワークが交換される方法は、リポジトリ同士の間の全てのトランザクションに対する基本である。種々のリポジトリタイプはそれらが実行する最終的な機能が異なっている。リポジトリはそれら自体がデバイスであってもよいし、又は他のシステムに組み込まれてもよい。図２のレンダリングリポジトリ２０３がその一例である。
【００４９】
リポジトリはリポジトリ識別子と自身を対応付ける。一般的に、リポジトリ識別子は製造時に当該リポジトリへ割り当てられた唯一の数字である。各リポジトリはまた、特別なセキュリティクラス内にあるものとして分類される。いくつかの通信及びトランザクションは、特別なセキュリティクラス内にあるリポジトリ上で条件が付与される。種々のセキュリティクラスは以下に詳細に記述される。
【００５０】
動作に欠くことのできないものとして、リポジトリは識別証明書の所有を必要とする。識別証明書は偽造を防止するために暗号化され、Master repository （マスタリポジトリ）によって発行される。マスタリポジトリはリポジトリがディジタルワークを受け取るのを可能にするオーソライゼーションエージェントの役割を果たす。識別証明書は定期的に更新されなければならない。識別証明書は登録トランザクションに関して以下により詳細に説明される。
【００５１】
リポジトリはハードウェアと機能表現の両方を備えている。機能表現は、一般に、ハードウェアの具体化部分で実行されるソフトウェアである。或いは、機能表現は、Application Specific Integrated Circuit （ASIC）チップのようなハードウェアの具体化部分に埋め込まれてもよい。
【００５２】
リポジトリのハードウェアの具体化部分は、合意が得られれば、リポジトリを動作不可能にさせるセキュリティハウジングに囲まれている。リポジトリのハードウェアの具体化部分の基本的構成要素は図１２に関して記述されている。図１２に関しては、リポジトリは、処理手段１２００、記憶システム１２０７、クロック１２０５及び外部インタフェース１２０６からなる。処理手段１２００はプロセッサエレメント１２０１とプロセッサメモリ１２０２を備える。当該処理手段１２００は、コントローラと、リポジトリトランザクションと、このリポジトリのための使用権トランザクション機能とを提供する。ディジタルワークとトランザクションメッセージの復号及び／又は圧縮解除のようなリポジトリの動作上の種々の機能も処理手段１２００によって実行される。プロセッサエレメント１２０１は、マイクロプロセッサ又は他の適切な演算構成要素であってもよい。プロセッサメモリ１２０２は、一般的に、ＲＯＭ（リードオンリーメモリ）及びＲＡＭ（ランダムアクセスメモリ）を更に備える。このようなメモリは、リポジトリの機能を実行する時に、プロセッサエレメント１２０１によって使用されるソフトウェア命令を含む。
【００５３】
記憶システム１２０７は、記述子記憶装置１２０３及び内容記憶装置１２０４を更に備える。記述子記憶装置１２０３は、ディジタルワーク用の記述ツリーを記憶し、内容記憶装置１２０４は対応する内容を記憶する。記述子記憶装置１２０３及び内容記憶装置１２０４は、同じタイプの記憶媒体である必要はないし、また、必ずしも同じ物理的デバイス上に置かれる必要もない。ここで、例えば、記述子記憶装置１２０３は、（記述ツリー情報の迅速な検索のための）固体記憶装置上に記憶されてもよいが、内容記憶装置１２０４は光ディスクのような高容量記憶装置上に置かれてもよい。
【００５４】
クロック１２０５は、使用権のための又はディジタルワークに対応され得る使用料を課金するための種々のタイムベースの条件をタイムスタンプするために使用される。当該クロック１２０５は、タイムスタンプの完全性を維持するため、途絶しない電源、例えば、バッテリを有する。外部インタフェース手段１２０６は、他のリポジトリ及びクレジットサーバへ信号接続を提供する。外部インタフェース手段１２０６は、ＲＳ−２３２又はPersonal Computer Manufacturers Card Industry （ＰＣＭＣＩＡ）規格、又はＦＤＤＩのような標準インタフェースを介して信号の交換を提供する。外部インタフェース手段１２０６はネットワーク接続性を提供してもよい。
【００５５】
リポジトリの機能的な具体化部分は図１３に記述されている。図１３に関しては、機能的な具体化部分は、オペレーティングシステム１３０１、コアリポジトリサービス１３０２、使用トランザクションハンドラ１３０３、リポジトリ特定機能１３０４、及びユーザインタフェース１３０５を備える。オペレーティングシステム１３０１はリポジトリにとって特定であり、一般的に使用されているプロセッサのタイプに依存する。オペレーティングシステム１３０１は、リポジトリの基本的構成要素同士の間で制御し、インタフェースするための基本的サービスも提供する。
【００５６】
コアリポジトリサービス１３０２は、各リポジトリ及び全てのリポジトリによって要求される機能のセットを備える。このコアリポジトリサービス１３０２は、以下に詳細に定義されるセッション開始トランザクションを含む。このサービスのセットは、ディジタルチケットを「パンチ」するために使用されるジェネリックチケットエージェントと、オーソライゼーション仕様を処理するためのジェネリックオーソライゼーションサーバとを含んでいる。ディジタルチケット及びオーソライゼーションは、ディジタルワークの配給及び使用を制御するための特定メカニズムであり、以下により詳細に説明されている。複数の識別証明書１３０６がコアリポジトリサービスに連結されていることに注目されたい。識別証明書１３０６はリポジトリの使用を可能とするために必要とされる。
【００５７】
使用トランザクションハンドラ１３０３は、ディジタルワークへのアクセス要求を処理すると共にアクセスに基づいて料金を請求する機能を備えている。サポートされている使用トランザクションはリポジトリタイプにより異なる。例えば、ディジタルワークに対するアクセス要求をハンドル（処理）することが必要ではないリポジトリもある。
【００５８】
リポジトリ特定機能１３０４はリポジトリにとって唯一の機能を備える。例えば、マスタリポジトリはディジタル的証明書を発行すると共に暗号化キーを保持するための特別な機能を有している。このリポジトリ特定機能１３０４は、リポジトリに対するユーザインタフェースの実行を含む。
【００５９】
幾つかのディジタルワークに対しては、オーソライズされていないコピーのあらゆる個々のインスタンスによって生じる損失は重要ではなく、主な経済的関心は、アクセスの利便性やロー・オーバーヘッドの請求を確実とすることにある。このような場合において、セキュリティの対策や保証が充分でなくても、単純かつ廉価なハンドヘルド・リポジトリやネットワークベースのワークステーションが適切なリポジトリであるかもしれない。
【００６０】
封切られたばかりの映画、有価証券、又は株式証券のような幾つかのディジタルワークの他の極端なケースは、非常に価値が高いため、それらがコピーされたり、偽造されることがないのを確実にするために、警戒やかなり入念なセキュリティ（機密保護）対策を取ることが賢明である。このようなディジタルワークを保持するのに適したリポジトリは、物理的完全性を確実にするための、及び使用前のオーソライゼーションを検証するための念入りな対策を有することができる。
【００６１】
汎用プロトコルを配列することによって、全ての種類のリポジトリは原則として相互通信することができる。しかしながら、幾つかのワーク（著作物）のクリエータは、彼らのワークがセキュリティレベルが充分に高いリポジトリへのみ転送を指定したいと望む。このため、ドキュメントリポジトリはセキュリティのクラス及びレベルに対してランキングシステムを有する。本発明の好ましい実施の形態におけるセキュリティクラスは表２に説明されている。
【００６２】
【表２】
2010020788.tif 000004
2010020788.tif 000005
2010020788.tif 000006
【００６３】
表２に記述されたセキュリティレベルの特性表示は固定的なものではない。もっと重要なのは、異なるリポジトリに対して異なるセキュリティレベルを有することの考えである。新しいセキュリティクラス及び必要条件が社会的状況やテクノロジの変化に応じて進化することが望まれる。
【００６４】
リポジトリ・ユーザ・インタフェース
ユーザインタフェースは、ユーザがリポジトリと対話してディジタルワークへのアクセスを得るためのトランザクションを呼出すか又は使用権を行使するメカニズムとして広く定義付けられている。上記のように、リポジトリは種々の形式で組み込まれる。リポジトリに対するユーザインタフェースは、特定の実施例によって異なる。ユーザインタフェースは、ディジタルワークを示すアイコンや実行され得る種々のトランザクションを有するグラフィカルユーザインタフェース（ＧＵＩ）であってもよい。ユーザインタフェースは情報がユーザにプロンプトされる生成ダイアログであってもよい。
【００６５】
ユーザインタフェース自体はリポジトリの一部である必要はない。リポジトリが他のデバイス内に埋め込まれてもよい場合、ユーザインタフェースは、リポジトリが埋め込まれるデバイスの一部であるにすぎない。例えば、リポジトリはコンピュータシステム内の利用可能なスロットに挿入される「カード」内に埋め込まれることができる。ユーザインタフェースは、コンピュータシステムで実行されるディスプレイ、キーボード、カーソル制御デバイス及びソフトウェアの組み合わせである。
【００６６】
最低でも、ユーザインタフェースは、ユーザが、アクセス要求及び英数字データのような情報を入力すると共にトランザクション状態に対してフィードバックを提供するのを可能にしなければならない。ユーザインタフェースは、次に、要求を保守するために、リポジトリに対して、適切なトランザクションを開始させる。特別なユーザインタフェースの他のファセットはリポジトリが提供する機能に依存する。
【００６７】
本発明において、料金は権利の行使に対応付けられる。料金支払の必要条件は、使用権言語における使用権の各バージョンと共に記述される。このような料金の記録及び通知はクレジットサーバによって行われる。料金を権利に対応付けることによって可能とされるいくつかの可能性の内の一つは、広範囲の請求モデルをサポートすることの可能性である。従来のソフトウェアによって使用された最も簡単なモデルは、購入時には単一料金しか設定されておらず、その後は、購入者は彼又は彼女が望む限り何度もワークを使用できる無制限の権利を得たのである。他のモデルとしては、課金される使用及び可変料金を含む。単一ワークは異なる使用に対して異なる料金を有することができる。例えば、ディスプレイ上の写真を見ることは、ハードコピーを作成すること又は当該ハードコピーを新しく作成されたワークに組み込むこととは別の料金を有する。これらの他の請求モデルへのキーは、料金を設定してこれらのトランザクションに対する料金計算を行うロー・オーバーヘッド手段を有することにある。
【００６８】
クレジットサーバは、料金が請求され支払われるよう、これらのトランザクションを確実にオーソライズし、記録する計算システムである。当該クレジットサーバは料金を請求クリアリングハウスへ通知する。当該請求クリアリングハウスは、金融トランザクションが発生するとこれらのトランザクションを管理する。結果的には、請求書が発生され、その料金が清算される。好ましくは、クレジットサーバは、料金トランザクションを記憶し、清算のためにネットワークを介して請求クリアリングハウスと周期的に通信する。このような実施例において、請求クリアリングハウスとの通信は、完全性とセキュリティの理由のために暗号化される。他の実施例において、クレジットサーバは、ユーザの勘定に対してトランザクションが「リアルタイム」で発生する「デビット（借り方）カード」として作用する。
【００６９】
クレジットサーバは、メモリ、処理手段、クロック、並びにリポジトリ及び金融機関と結合するためのインタフェース手段（例えば、モデム）からなる。クレジットサーバは、セキュリティ及び認証の機能を有する必要もある。これらのエレメントはリポジトリのエレメントと本質的に同じエレメントである。従って、単一デバイスが対応する機能とプロトコルを実行するための適切な処理エレメントを有していると仮定すれば、それはリポジトリとクレジットサーバの両方であることができる。一般的に、しかしながら、クレジットサーバは、リポジトリに結合され、以下に説明されるように金融トランザクションを介して対話する。金融機関との対話は、金融機関自体によって設定されたプロトコルを介して行われてもよい
【００７０】
本発明の実施の形態において、サーバとリポジトリの両方に対応しているクレジットサーバは、請求クリアリングハウス（情報の中心機関）へ金融トランザクションを通知する。例えば、ディジタルワークがその料金に関して一つのリポジトリから他のリポジトリへコピーされる時、リポジトリの各々に結合されたクレジットサーバはこのトランザクションを請求クリアリングハウスに通知する。このことは、クレジットサーバと請求クリアリングハウスの通信が中断された場合でも、トランザクションの料金計算が行われることを保証する観点から望ましい。しかしながら、幾つかの実施例では、いくつかのトランザクションを失う危険性のある時にトランザクションの処理を最小とするように当該トランザクションへ通知する単一クレジットサーバのみを組み込むことができる。
【００７１】
本発明は、ディジタルワークとそれらの部分に対応している権利を定義するために高レベル「使用権言語」のステートメントを用いる。使用権ステートメントはリポジトリによって解読され、あるディジタルワークに対してどのトランザクションが無事に遂行され得るかを決定するため、及びこれらのトランザクションに対するパラメータを決定するために使用される。例えば、言語におけるセンテンスは、所与のディジタルワークがコピーされ得るか否か、何時そしていかにしてそれが使用され得るか、及びその使用に対していくら（あれば）請求されるべきかを決定する。使用権ステートメントが発生すると、これらは、トランザクションの処理中にアクセスするために適切な形式でコード化される。
【００７２】
使用権をディジタルワークの階層表現と組み合わせて言語で定義することによって、（ディジタルワークの）広範囲の配給と料金方式のサポートが可能となる。一つの例は、権利の複数のバージョンをワークにアタッチする可能性である。そこで、クリエータは１０ドルで５部のコピーを作成するPRINT 権や、１００ドルでコピーを無制限に作成するPRINT 権をアタッチすることができる。次に、購入者は、どのオプションが彼のニーズに一番適しているかを選択することができる。他の例としては、権利と料金が加算されるものである。ここで、複合ワークの場合、構成要素ワークの各々の権利及び料金は、全体としてワークに対する権利及び料金を決定するときに使用される。
【００７３】
権利の基本的な内容は、図１４に示されている。図１４に関しては、権利１４５０は、トランザクショナル構成要素１４５１及び仕様構成要素１４５２を有する。権利１４５０は、権利によって組み込まれる使用又は配給の特権を示すラベル（例えば、COPY又はPRINT ）を有する。トランザクショナル構成要素１４５１は、ディジタルワークが使用されるか又は配給される特別な方法に対応している。当該トランザクショナル構成要素１４５１は、一般的に、権利についての使用又は配給の特権を実行するリポジトリ内のソフトウェア命令の中に組み込まれている。仕様構成要素１４５２は、権利が行使される前に満たされなければならない条件を指定するか又は種々のトランザクションに関連したパラメータを指定するために使用される。本発明の好ましい実施の形態においては、これらの仕様は、コピーカウント１４５３、料金と報酬１４５４、タイム１４５５、アクセスとセキュリティ１４５６、及び制御１４５７を含む。これらの仕様の各々は、言語文法エレメントに関して以下に詳細に説明されている。
【００７４】
使用権言語は以下に説明される文法に基づく。文法は、言語に対するシンボルの有効なシーケンスを定義するために便利な手段である。文法を説明する際、代替物からの明確な選択を示すために表記［ａ｜ｂ｜ｃ］が使用される。この例において、センテンスは、"ａ"、"ｂ"、又は"ｃ"のいずれかを有することができる。センテンスはその内の一つを正確に含んでいなければならない。ブレース｛｝が選択項目を示すために使用される。ブラケット［］やバーやブレースが使用権センテンスの言語を記述するために使用されるが、言語の実際のセンテンス内には現れない。
【００７５】
これに対して、括弧（）は使用権言語の部分である。括弧はリストされた項目をグループ化するために使用される。表記（ｘ* ）は可変長リスト、即ち、タイプｘの一つ以上の項目を含むリストを示すために使用される。表記（ｘ）* はｘを含む可変数リストを示すために使用される。
【００７６】
文法におけるキーワードはコロンが付加されるワードである。キーワードは言語における共通で、非常に特別なケースである。これらは単一値、一般には識別子を示すために時々使用される。多くの場合、キーワードとパラメータは全体的にオプショナルである。キーワードが与えられると、その値として単一の識別子を取る。いくつかの場合において、キーワードは識別子のリストを取る。
【００７７】
使用権言語において、時間は、hours:minutes:seconds(又はhh:mm:ss) 表現で指定される。タイムゾーンインジケータ、例えば、ＰＤＴ(Pacific Daylight Time）も指定されることができる。日付は年／月／日（又はＹＹＹＹ／ＭＭＭ／ＤＤ）として示される。これらの時間及び日付の表現は、時刻即ち時間の単位を指定することができる。お金の単位はドルに換算して指定される。
【００７８】
使用権言語において、種々の「もの」が互いに対話する必要がある。例えば、使用権のインスタンスは、銀行トランザクション、ディジタルチケット等を指定する。このような物は、識別される必要があり、本発明においては接尾辞"-ID" を用いて指定される。
【００７９】
使用権文法は図１５にその全体のリストが作成されており、以下に詳細に記述されている。
【００８０】
文法エレメント１５０１"Digital Work Rights=(Rights* )"は、ディジタルワーク権利を権利のセットとして定義する。ディジタルワークにアタッチされる権利のセットはそのディジタルワークがいかにして転送され、使用され、実行され又は再生されるかを定義する。権利のセットは全体的なディジタルワークにアタッチされ、複合ディジタルワークの場合はディジタルワークの構成要素の各々にアタッチされる。ディジタル構成要素の使用権は異なる。
【００８１】
文法エレメント１５０２"Right:=（Right-Code｛Copy-Count｝｛Control-Spec｝｛Time-Spec ｝｛Access-Spec ｝｛Fee-Spec｝)"は、権利の内容を列挙している。各使用権は権利コードを指定しなければならない。各使用権は権利が行使され得る前に満たされなければならない条件も選択的に指定することができる。これらの条件とは、コピーカウント、制御、タイム、アクセス、及び料金の条件である。本発明の好ましい実施の形態において、オプショナルエレメントに関しては、以下のデフォルトが適用される。即ち、１のコピーカウント、権利の使用に関する時間制限の非設定、権利を使用するために要求されるアクセステスト又はセキュリティレベルの非設定、及び無料。これらの条件はそれぞれ以下により詳細に記述される。
【００８２】
それぞれが同じ権利コードを有する複数の権利バージョンをディジタルワークが有していてもよいことに注目することは重要である。複数のバージョンは、ディジタルワークにアクセスするための代替条件や料金を提供する。
【００８３】
文法エレメント１５０３"Right-Code:= Render-Code ｜Transport-Code｜File-Management-Code｜Derivative-Works-Code Configuration-Code" は、（各権利が異なる権利コードによって識別されるが、）特定権利の各々を特別の権利タイプに区別する。このように、文法は、ディジタルワークの部分に対応し得る可能性のある権利のカタログを提供する。以下において、権利はそれらを記述する便宜上、カテゴリ別に分けられる。
【００８４】
文法エレメント１５０４"Render-Code:= Play: ｛Player:Player-ID｝｜Print:｛Printer:Printer-ID｝ "は、全てがディジタルワークの一時的で、短命の、又はノンディジタルのコピーの作成を含む権利のカテゴリのリストである。これらのコピーは使用された後は消去される。
・Play−幾つかのプロセッサ上でディジタルワークをレンダリング又は実行するプロセス。これはディジタル映画の再生、ディジタル音楽の再生、ビデオゲームの再生、コンピュータプログラムの実行、又はディスプレイ上でのドキュメントの再生などのものを含む。
・Print −使用権によってこれ以上は保護されない媒体へワークをレンダリングすること、例えば、用紙にプリントすること。
【００８５】
文法エレメント１５０５"Transport-Code:= Copy｜Transfer｜Loan｛Remaining-Rights:Next-Set-of-Rights ｝ ｛(Next-Copy-Rights:Next-Set of Rights) ｝" は、持続性があり、他のリポジトリ上で使用可能なディジタルワークのコピーの作成を含む権利のカテゴリのリストである。オプショナルなNext-Copy-Rightsは、伝送された後のワークの権利を決定する。これが指定されない場合、伝送されたコピーの権利はオリジナルの権利と同じである。オプショナルなRemaining-Rightsは、コピーが貸出された時にディジタルワークと共に残っている権利を指定する。この権利が指定されない場合、デフォルトは、コピーが貸し出された時に権利が行使されないデフォルトである。
・Copy−ワークの新しいコピーを作成する。
・Transfer−ワークを一つのリポジトリから他のリポジトリへ移動する。
・Loan−指定された期間、コピーを他のリポジトリへ貸し出す。
【００８６】
文法エレメント１５０６"File-Management-Code:=Backup ｛Back-Up-Copy-Rights:Next-Set-of Rights｝｜Restore ｜Delete｜Folder｜Directory ｛Name:Hide-Local ｜Hide-Remote ｝｛Parts:Hide-Local｜Hide-Remote ｝" は、コピー所有者を悲惨な機器の故障から保護するためにバックアップコピーのようなファイルマネージメントのための動作を含む権利のカテゴリのリストである。
【００８７】
多数のソフトウェアライセンス及び著作権法は、コピー所有者を悲惨な機器の故障から保護するためにバックアップコピーを作成する権利をコピーの所有者に与える。しかしながら、制御されないバックアップコピーの作成は、オーソライズされたコピーが販売された後でも制御されないバックアップコピーが保存され復元されることもできるので、本質的に使用を制御する能力とならない。
【００８８】
File-Management （ファイルマネージメント）の権利は、使用権を尊重する方法でバックアップコピーの作成及び復元を可能とし、コピー所有者と権利授与者及び収入所有者の双方の要求条件を尊重する。ワーク記述のバックアップコピー（使用権及び料金データを含む）は、適切なプロトコル及び使用権制御下において、充分に高度なセキュリティを有する他のドキュメントリポジトリへ送られ得る。更なる権利によってディジタルワークのフォルダへの編成が許容される。これらのフォルダはこれら自体がディジタルワークとして扱われ、それらの内容が、リポジトリの内容を決定しようとするパーティから「隠蔽」されてもよい。
・Backup−媒体の故障に対する保護としてディジタルワークのバックアップコピーを作成すること。
・Restore −ディジタルワークのバックアップコピーを復元すること。
・Delete−ディジタルワークのコピーを削除又は消去すること。
・Folder−フォルダを作成及びネーミングし、フォルダ同士の間でファイル及びフォルダを移動すること。
・Directory −フォルダ又はその内容を隠蔽すること。
【００８９】
文法エレメント１５０７"Derivative-Works-Code:= Extract｜Embed ｜Edit｛Process:Process-ID｝ ｛Next-Copy-Rights:Next-Set-of-Rights ｝" は、新しいワークを作成するためのディジタルワークの使用を含む権利のカテゴリのリストである。
・Extract −新しいワークの作成目的のため、ワークの部分を取り除くこと。
・Embed −現存のワーク内にワークを組み込むこと。
・Edit−現存のディジタルワークの部分をコピー、選択、及び変更することによりディジタルワークを変更すること。
【００９０】
文法エレメント１５０８"Configuration-Code:=Install｜Uninstall"は、リポジトリ（一般的にレンダリングリポジトリ）上でソフトウェアをインストールする権利及びインストールしない権利のカテゴリのリストである。これは一般的にレンダリングリポジトリ内での新しいタイプの再生手段のインストールに対して発生する。
・Install −リポジトリ上で新しいソフトウェアをインストールすること。
・Uninstall −リポジトリから現存のソフトウェアを除去すること。
【００９１】
文法エレメント１５０９"Next-Set-Of-Rights:= ｛ Add: Set-Of-Rights)｝｛(Delete:Set-Of-Rights)｝｛(Replace:Set-Of-Rights｝｛(Keep:Set-Of-Rights)｝" は、ディジタルワークのコピーに対する権利がどのように進められるかを定義する。Next-Copy-Rightsが指定されない場合、次のコピーに対する権利は現在コピーの権利と同じである。さもなければ、次のコピーに対する権利のセットが指定され得る。Add の後の権利のバージョンは、権利の現在セットに加算される。Deleteの後の権利は、権利の現在セットからデリートされる。権利コードだけがDeleteの後にリストされた場合、これらのコードを有する権利の全てのバージョンがデリートされる。Replace の後の権利のバージョンは、権利の現在セットにおける同じタイプの権利の全てのバージョンを包含する。
【００９２】
Remaining-Rightsが指定されない場合は、全てのローンコピーが貸し出された後、オリジナルに対する権利はない。Remaining-Rightsが指定された場合、背後でどの権利をキープすべきかについての表現を単純化するためにKeep: トークンが使用されることができる。キープ手段に続く権利コードのリストは、リストされた権利のバージョンの全てが残りのコピーの中に保持されていることを意味する。この仕様は、引き続くDelete: 又はReplace:仕様によって無効にされることができる。
【００９３】
種々のトランザクションに関しては、権利に対して同時に行使され得るワークの「コピー」の数について何らかの制限を行うことが所望される。例えば、一度に貸し出され、一度に閲覧され得るディジタルワークのコピー数を制限することが所望される。
【００９４】
文法エレメント１５１０"Copy-Count:= （Copies:positive-integer ｜0 ｜unlimited)" は、権利を得ることを条件とするワークの「コピー」数を定義する条件を提供する。コピーカウントはゼロ、固定数、又は無制限である。ディジタルワークに対して単一のコピーカウントが存在していることに対抗して、コピーカウントは各権利に対応している。権利に対するCopy-Countは権利が行使される度にデクリメントされる。権利に対するCopy-Countがゼロに等しい場合、この権利はもう行使されない。Copy-Countが指定されない場合、デフォルト値は１である。
【００９５】
権利と料金は、概して、クリエータによって許諾された権利に依存すると共に、新しいディストリビュータによって課される更なる制限にも左右される。制御仕様は、クリエータと、更なる制限及び料金の賦課を支配する彼らのディストリビュータと、の間での対話を処理する。例えば、ディジタルワークのディストリビュータは、ディジタルワークの最終的な消費者が、購入されたディジタルワークを商業的に活用して料金をつり上げたり、さもなければ、利益を得たりすることを望まない。
【００９６】
文法エレメント１５１１"Control-Spec:= （Control:｛Restrictable｜Unrestrictable｝｛Unchargeable｜Chargeable｝)"は、権利の行使に対する親の使用権及び料金の影響を指定するための条件を提供する。より高いレベルのｄ−ブロックが、権利に対して更なる制限（タイム仕様及びアクセス仕様）を課すことができる場合、ディジタルワークは制限可能である。更なる制約が課せられない場合は制限不可能である。デフォルトの設定は制限可能である。それ以上の料金を権利の使用に課すことができない場合、権利は請求不可能である。それ以上の料金を権利の使用に課すことができる場合、権利は請求可能である。このデフォルトは請求可能である。
【００９７】
何時権利が行使されるかの開始日を割当てたり又は期間を指定することがしばしば望まれる。文法エレメント１５１２"Time-Spec:=（｛Fixed-Interval｜Sliding-Interval｜Meter-Time｝Until:Expiration-Date)" は、権利の行使への時間の条件を指定することを備える。権利は指定された時間の間、許諾され得る。異なる時間仕様の種類は異なる種類の権利に対して適正である。幾つかの権利は決められた所定の期間、行使されことができる。幾つかの権利は、あるトランザクションにより権利が呼び出される時刻からスタートするインターバルの間だけ行使されてもよい。幾つかの権利は、ある種類の課金時間に従って行使されるか又は請求されることができ、この課金時間は、分離されたインターバルへ分割され得る。例えば、絵画を１時間見る権利は、１０分の閲覧を６回、１５分の閲覧を４回、及び２０分の閲覧を３回に分割されてもよい。
【００９８】
用語「タイム」及び「デート」は同義語として使用されて時刻を表している。いくつかの種類の時間仕様がある。各仕様は、使用権が適用される時間に対して制限を示す。Expiration-Date は使用権が終了する時刻を指定する。例えば、Expiration-Date が「１９９５年１月１日」である場合、権利は１９９５年の最初の時刻に終了する。Expiration-Date が *forever * と指定された場合、権利は終了せずに継続するものとして解読される。満期日だけが与えられている場合、その権利はその満期日までに所望されるだけ行使されることができる。
【００９９】
文法エレメント１５１３"Fixed-Interval:= From:Start-Time"は開始時間から満期日までランされる所定のインターバルを定義するために使用される。
【０１００】
文法エレメント１５１４"Sliding-Interval:= Interval:Use-Duration"は、不定の（又は「オープン」）なスタート時間を定義するために使用される。該エレメントは、内容がアクセス可能である時間の連続期間に制限をセットする。この期間は、最初のアクセスの時にスタートし、この期間が経過した後か又は満期日に達した後かのいずれか早い方で終了する。例えば、権利が１０時間の連続アクセスを付与する場合、使用期間は、最初のアクセスが行われた時に開始し、１０時間後に終了する。
【０１０１】
文法エレメント１５１５"Meter-Time:=Time-Remaining:Remaining-Use"が「課金時間」、即ち、権利が実際に行使された時間の測定、を定義するために使用される。これは、ディジタルワーク使用中の時間（期間）が連続的である必要がない点で、Sliding-Interval仕様とは異なる。例えば、権利が三日間のアクセスを保証する場合、これらの日数は、一ケ月以上にわたり分散されることができる。この仕様によって、これらの権利は、課金時間を使い果すか又は満期日に達するかのいずれか早い方まで行使される。
【０１０２】
Remaining-Use:=Time-Unit
Start-Time:=Time-Unit 
Use-Duration:=Time-Unit 
時間仕様の全てはそれらの最終的なインスタンス生成においてタイムユニット仕様を含む。
【０１０３】
本発明は、配給又は使用方式へ導入される種々のセキュリティメカニズムを提供する。文法エレメント１５１６"Access-Spec:=( ｛SC:Security-Class ｝｛Authorization:Authorization-ID* ｝｛Other-Authorization:Authorization-ID* ｝｛Ticket:Ticket-ID｝) はアクセス及び転送を限定する手段を提供する。アクセス仕様は権利を行使するためにリポジトリに対して要求されたセキュリティクラス又は満たされなければならない要求されたオーソライゼーションテストを指定することができる。
【０１０４】
キーワード"SC:" はアクセスにおいて含まれるリポジトリに対する最小のセキュリティレベルを指定するために使用される。"SC:" が指定されない場合、最低のセキュリティレベルが受容可能である。
【０１０５】
オプショナルな"Authorization" キーワードは、ワークと同じリポジトリでの要求されるオーソライゼーションを指定するために使用される。オプショナルな"Other-Authorization" キーワードは、トランザクションにおける他のリポジトリへ要求されるオーソライゼーションを指定するために使用される。
【０１０６】
オプショナルな"Ticket:" キーワードはトランザクションに要求されたチケットの識別を指定する。ディジタルチケットを含むトランザクションは、トランザクションが進められる前に「パンチ」することができるか又はこのチケットを有効にすることができる適切なディジタルチケットエージェントを検索しなければならない。チケットは以下により詳細に記述されている。
【０１０７】
リポジトリとドキュメントサーバを含むトランザクションにおいて、いくつかの使用権は、リポジトリが特定のオーソライゼーションを有すること、サーバがいくつかのオーソライゼーションを有すること、又は両リポジトリが（恐らく異なる）オーソライゼーションを有することを要求することができる。オーソライゼーション自体は、他のディジタルワークと同様にリポジトリ同士の間で移動することができるディジタルワーク（これ以降、オーソライゼーションオブジェクトと呼ばれる）である。これらのコピー及び転送は、他のディジタルワークと同じオーソライゼーション及び料金を受けることができる。リポジトリはこのオーソライゼーションオブジェクトがこのリポジトリ内に含まれる場合、オーソライゼーションを有すると言われる。
【０１０８】
いくつかのケースにおいて、オーソライゼーションはドキュメントサーバ及びリポジトリ以外のソースから要求されてもよい。Authorization-IDによって参照されるオーソライゼーションオブジェクトは、リポジトリとオーソライゼーションソースの間での通信リンクをセットアップするために使用されるディジタルアドレス情報を含むことができる。これらは電話番号に類似している。このようなアクセステストに対しては、通信が設定される必要があり、権利が行使される前にオーソライゼーションを得なければならない。
【０１０９】
一度だけの使用権に関するこの方式の変形は、ディジタルチケットを持つことである。チケットはディジタルチケットエージェントに提供され、チケットにそのタイプが指定される。最も単純なケースにおいては、全てのリポジトリへ利用可能な、保証されたジェネリックチケットエージェントが、このチケットを「パンチ」するために利用可能である。他のケースにおいては、チケットは「特別」のチケットエージェントを検索するためのアドレス情報を含むことができる。チケットは一旦パンチされると、同じ種類のトランザクションに再度使用することはできない（以下に説明されるように、非パンチ状態にされる、即ちリフレッシュされる場合は除く）。パンチングは、チケットが使用される日時のタイムスタンプでチケットにマーキングすることを含む。チケットはディジタルワークであり、これらのディジタルワークの使用権に従って、リポジトリ同士の間でコピー又は転送され得る。
【０１１０】
本発明の好ましい実施の形態において、「パンチされた」チケットは、それがコピーされるか又は抽出される時、「非パンチ状態にされる」即ち「リフレッシュされる」。Copy及びExtract 動作はそのディジタルチケットの特性として日時を保存する。チケットエージェントがチケットを付与された時、当該ディジタルエージェントは、それが、パンチされた最終時間の後でコピーされたか否かを単純にチェックすることができる。ディジタルチケットは、当然、そのコピーを有するか、又は当該コピーにアタッチされた使用権を抽出しなければならない。
【０１１１】
チケットをパンチしない能力は以下の場合に重要である。
・ディジタルワークが一回だけの使用に限定されて低コストで頒布される。
・ディジタルワークが、他のワークの購入の際の割引をするために一回使用可能なチケットによって頒布される。
・ディジタルワークが、未来のアップグレード用に使用することができる（購入価格に含まれ、恐らくそのワーク内に埋め込まれた）チケットによって頒布される。
【０１１２】
これらの各ケースにおいて、購入されたコピーが、（チケットを含む）ディジタルワークから成される場合、新しい所有者は、そのコピーの販売者がそのワークを使用してもしなくても、フレッシュ（パンチされてない）チケットを得ることを期待する。これに対して、ワークの貸出し又はワークを単に他のリポジトリへ転送することは、チケットを再利用することではない。
【０１１３】
ディジタルワークの使用に対する請求は、商業的流通システムに対する基本である。文法エレメント１５１７"Fee-Spec:= ｛Scheduled-Discount｝Regular-Fee-Spec｜Scheduled-Fee-Spec｜Markup-Spec"はディジタルワークの使用に対する請求のオプションの範囲を提供する。
【０１１４】
この方法の主要な特徴は潜在的に少量のトランザクションに対するローオーバーヘッド請求の開発である。これにより、数千のトランザクションの各々に対してほんの数セントの料金を集めることが容易となる。
【０１１５】
文法は、使用毎に請求が発生する使用と、タイムユニットによって課金される使用と、を区別する。トランザクションは、ディジタルワークを使用するためにユーザが支払う料金だけでなく、ユーザを誘導してディジタルワークを使用又は配給させるために権利許諾者がユーザに支払った報酬をサポートすることができる。
【０１１６】
オプショナルなスケジュールされた割引は、料金仕様の残りの部分に対応し、所定割合の時間だけ料金を割り引く。指定されない場合、スケジュールされた割引はない。規定の料金仕様は時間当たりで一定している。スケジュールされた料金仕様は、料金仕様が変化する日付のスケジュールを付与する。マークアップ仕様は既に請求されている料金に対して手数料を加算するためにｄ−ブロック内で使用される。
【０１１７】
文法エレメント１５１８"Scheduled-Discount:=(Scheduled-Discount:(Time-Spec Percentage) * )"。Scheduled-Discountは、本質的に、ディジタルワークの権利の当該バージョンに対する他の料金仕様のスケジュールされた変更子である。（これは子又は親のディジタルワーク又は他の権利バージョンに対応しない）。これは時間とパーセンテージのペアリストである。トランザクションの時にまだ経過していないリスト内の最新時間が、実施される時間である。このパーセンテージは割引パーセントを付与する。例えば、数字１０は１０％の割引を示す。
【０１１８】
文法エレメント１５１９"Regular-Fee-Spec:=(｛Fee:｜Incentive:｝ Per-Use-Spec ｜Metered-Rate-Spec ｜Best-Price-Spec ｜Call-For-Price-Spec ｛Min:Money-Unit Per:Time-Spec｝｛Max:Money-Unit Per:Time-Spec｝To:Account-ID)" は数種類の料金仕様を提供している。
【０１１９】
Fee:が指定されたならば、料金はコピー所有者／ユーザによって総収入所有者へ支払われる。Incentive:が指定されると、報酬は収入所有者によってユーザへ支払われる。Min:仕様が付与されると、その使用に対してタイム仕様毎に請求される最小の料金が示される。次に、Max:仕様が与えられると、その使用に対してタイム仕様毎に請求される最大の料金が示される。Fee:が指定されると、Account-IDは料金が支払われる勘定書を識別する。Incentive:が指定されると、Account-IDは料金が支払われる勘定書を識別する。
【０１２０】
文法エレメント１５２０"Per-Use-Spec:= Per-Use:Money-Unit" は、トランザクションに掛かった時間に関係なく、権利が行使される度に支払われる単純な料金を定義する。
【０１２１】
文法エレメント１５２１"Metered-Rate-Spec:= Metered:Money-Unit Per:Time-Spec"は権利が行使された時間に応じて支払われる課金レート料金を定義する。このように、トランザクションを終了するのに掛かった時間がこの料金を決定する。
【０１２２】
文法エレメント１５２２"Best-Price-Spec:= Best-Price:Money-unit Max:Money-unit"は勘定書が設定された時に決定される最適価格を指定するために使用される。この仕様は、リポジトリが利用できない情報に依存する特別な取引(deal)、リベート、及び価格表示を含む。全ての料金仕様は、消費者が問屋であるか若しくは好ましい顧客であるか、又は販売者が何らかの方法でオーソライズされていることなどを示すことができるチケット又はオーソライゼーションと合成されることができる。 Max: フィールドにおける金額は使用にかかる経費の最大の額である。これは、クレジットサーバに仮請求された金額である。しかしながら、最終的に取引が成立した時にいかなる超過金額も別のトランザクションで消費者へ返却される。
【０１２３】
文法エレメント１５２３"Call-For-Price-Spec:= Call-For-Price"は、価格が変動する場合を含むことを意図している点で、"Best-Price-Spec" に類似している。Call-For-Price-Spec は、価格を決定するためにディーラーとの情報交換を要求する。権利が行使される時にリポジトリがディーラーと通信できない場合、このオプションは行使されることができない。このことは、ディーラーが、権利を行使するためにプライスを付け、取引証明を渡す安全なトランザクションに基づいており、この取引証明は請求プロセスにおいて参照されたり又は取込まれる。
【０１２４】
文法エレメント１５２４"Scheduled-Fee-Spec:=(Schedule:(Time-Spec Regular-Fee-Spec) * ) は、料金仕様が変化する日付のスケジュールを提供するために使用される。最新の過去の日付を有するこの料金仕様が、実施される料金仕様である。これは料金の合意を各期間ごとに変更するための手段を提供するので、より一般的である。
【０１２５】
文法エレメント１５２５"Markup-Spec:=Markup:percentage To: Account-ID" は、既に請求されている料金に手数料を加算するために提供される。例えば、５％のマークアップはこれまでの累積料金の５％の料金がディストリビュータに割り当てられることを示す。マークアップ仕様は他の種類の料金仕様の全てに適用されることができる。当該マークアップ仕様はディストリビュータによって提供されたシェル内に一般に使用される。これは現在ｄ−ブロックの部分であるｄ−ブロックに対応する料金に当てはまる。これは税金又はディストリビュータオーバーヘッドに使用するために役立つ仕様である。
【０１２６】
ユーザがディジタルワークへのアクセスを要求する時、リポジトリは種々のトランザクションを開始する。呼び出されたトランザクションの組み合わせは使用権に割り当てられた仕様に依存する。セッション開始トランザクション、金融トランザクション及び使用トランザクションの三つの基本的なタイプのトランザクションがある。概して、セッション開始トランザクションは有効なセッションを設立するために最初に開始される。有効なセッションが設定されると、種々の使用権に対応するトランザクションが呼び出される。最後に、特定トランザクションリクエスト（request specific transactions ）が実行される。
【０１２７】
トランザクションは、二つのリポジトリ（一つがサーバとして作用する）の間、リポジトリとドキュメント再生プラットフォーム（例：実行及び閲覧用）の間、リポジトリとクレジットサーバの間、又はリポジトリとオーソライゼーションサーバの間で発生する。トランザクションが一つ以上のリポジトリ同士の間で発生する時、これらのリポジトリ同士の間に信頼できる通信チャネルがあると仮定される。この通信チャネルは、例えば、転送エラーを検出し、補正するための組込み（built-in）機能を有するＴＣＰ／ＩＰチャネル又は他の市販されているチャネルであってもよい。しかしながら、通信チャネルが安全であるとは仮定されない。セキュリティ及びプライバシーの提供は、リポジトリを指定、実行するための必要条件の一部であり、これにより、種々のトランザクションに対する必要性が構成される。
【０１２８】
トランザクションはリポジトリ同士の間のいくつかの通信があることを要求する。リポジトリ同士の間の通信はメッセージと称されるユニットにおいて発生する。通信ラインは安全でないと仮定されるので、最低セキュリティクラスより上にある全てのリポジトリとの通信は、パブリックキー暗号技術を用いて暗号化される。パブリックキー暗号化は暗号化技術において周知の技術である。用語「キー」は暗号化及び復号のアルゴリズムと共に使用される。キーはペアで現れ、そこでは、「書き込みキー」がデータを暗号化するために使用され、「チェッキング・キー」がデータを復号するために使用される。書き込み及びチェッキング・キーは共にパブリック又はプライベートであってもよい。パブリックキーは他に配給されるキーである。プライベートキーは秘密保持される。
【０１２９】
キーの管理とセキュリティはパブリックキー暗号化システムの成功において有用である。本発明の好ましい実施の形態において、一つ以上のマスタリポジトリはこれらのキーを保持し、リポジトリによって使用される識別証明書を作成する。
【０１３０】
発送リポジトリが受信リポジトリにメッセージを転送する時、この発送リポジトリは、当該受信リポジトリのパブリックな書き込みキーを用いてそのデータの全てを暗号化する。発送リポジトリは、それ自体の名前、受信リポジトリの名前、（以下に記述される）臨時語（nonce ）のようなセッション識別子、及び各メッセージにおけるメッセージカウンタを含む。
【０１３１】
このように、通信は、復号に対してプライベートなチェッキング・キーを保持する受信リポジトリによってのみ（高い確率で）読み出されることができる。補助データはセキュリティを様々な再生攻撃から保護するために使用される。メッセージが誤ったカウンタ又は古い臨時語と共に到着した場合、リポジトリは、誰かが通信を妨害し、トランザクションが終了したと仮定することができる。
【０１３２】
暗号化のために使用されるリポジトリのためのそれぞれのパブリックキーは以下に記述される登録トランザクションにおいて得られる。
【０１３３】
使用トランザクションはリポジトリ同士の間のセッションにおいて実行される。一つ以上のリポジトリを含む使用トランザクションに対して、又はリポジトリとクリジットサーバの間の金融トランザクションに対して、登録トランザクションが実行される。ログイントランザクションと呼ばれる第２のトランザクションが、セッションを開始するために要求されることもある。リポジトリ同士の間の通信チャネルは信頼できるが、安全ではないと仮定されるので、非リポジトリがリポジトリへの合法的でないアクセスを得るためにプロトコルを模倣するかもしれない危険性がある。
【０１３４】
二つのリポジトリ間の登録トランザクションは、図１６及び１７に関して記述されている。記述されているステップは、識別を「リポジトリ−２」に登録する「リポジトリ−１」の観点からである。その識別をリポジトリ−１に登録しているリポジトリ−２に対して同じセットのステップが反復されるよう、登録は対称的でなければならない。図１６に関しては、ステップ１６０１においてリポジトリ−１は最初に暗号化された登録識別子を発生し、ステップ１６０２において登録メッセージを発生する。登録メッセージは、マスタリポジトリの識別子、リポジトリ−１に対する識別証明書、及び暗号化されたランダム登録識別子で構成されている。識別証明書は、そのプライベートキーでマスタリポジトリによって暗号化され、当該リポジトリ（ここではリポジトリ−１）が本物のリポジトリであることを証明する。識別証明書はリポジトリ、リポジトリセキュリティレベル、及び（その時間を過ぎれば証明書がもはや有効ではないことを示す）タイムスタンプのためのパブリックキーも含む。登録識別子はこの登録のためのリポジトリによって発生された数字である。当該登録識別子はセッションに対して唯一であり、リポジトリ−１のプライベートキーで暗号化される。当該登録識別子はいくつかの種類の通信ベース攻撃を検出することによって認証のセキュリティを改善するために使用される。次に、ステップ１６０３において、リポジトリ−１は、登録メッセージをリポジトリ−２へ転送する。
【０１３５】
登録メッセージを受け取ると、ステップ１６０４において、リポジトリ−２は当該メッセージがマスタリポジトリに必要とされるパブリックキーを持っているか否かを決定する。リポジトリ−２が識別証明書を復号するのに必要とされるパブリックキーを持たない場合、ステップ１６１８において、登録トランザクションはエラーで終了する。
【０１３６】
リポジトリ−２が適当なパブリックキーを有すると仮定すると、ステップ１６０５において、識別証明書が復号される。ステップ１６０６において、リポジトリ−２は暗号化された登録識別子を保存し、ステップ１６０７において、リポジトリ識別子を抽出する。ステップ１６０８において、抽出されたリポジトリ識別子は、採用されたドキュメントリポジトリの「ホットリスト」に対してチェックされる。本発明の好ましい実施の形態において、各リポジトリは採用されたリポジトリの「ホットリスト」を含む。そのリポジトリが「ホットリスト」に載っている場合、ステップ１６１８において、登録トランザクションはエラーで終了する。リポジトリはそれらの証明書の期限が切れると、ホットリストから除外されることができ、これによりリストは際限なく成長しなくてもよい。さらに、リポジトリは以前に受け取ったホットリスト証明書のショートリストを保持することによって、当該リポジトリは実際にこのリストを検討する作業を避けることができる。これらのリストはマスタリポジトリによって暗号化される。能率を改善するためのアプローチのためのマイナーな変形は、ホットリスト証明書の名前のリストを最初に交換するリポジトリを有し、結果的に、以前に受け取ったことのないリストのみが交換される。「ホットリスト」はマスタリポジトリによって保持され、配給される。
【０１３７】
トランザクションがエラーで終了する代わりに、トランザクションが、他の登録メッセージが他のマスタリポジトリによって作成された識別証明書に基づいて送られることを要求することができることに注目されたい。これは、申し分のない識別証明書が見つかるまで又は信頼が確立されないことが決定するまで反復される。
【０１３８】
リポジトリがホットリスト上にないと仮定した場合、リポジトリ識別は検証されなければならない。言い換えれば、リポジトリ−２は、（リンクの）他端におけるリポジトリが実際にリポジトリ−１であることを検証する必要がある。これはパフォーマンステストと呼ばれ、リポジトリ−１とリポジトリ−２の間の前のセッション開始のレコードを再生する偽リポジトリを介してリポジトリへの無効なアクセスを防止するために実行される。パフォーマンステストは、ステップ１６０９においてパフォーマンスメッセージを発生するリポジトリ−２によって開始される。パフォーマンスメッセージは、臨時語（ノンス）、それぞれのリポジトリの名前、時間、及びリポジトリ−１から受け取られた登録識別子からなる。ノンスは、いくつかの任意の可変情報（例えば、時間又は温度）に基づいて生成されたメッセージである。このノンスは、リポジトリ−１がメッセージ上で今まで一度も見たことが要求されるプライベートキーを用いて、当該リポジトリ−１がメッセージの正確な暗号化を実際に展開することができるか否かをチェックするために使用される。パフォーマンスメッセージはリポジトリ−１の登録メッセージ内で指定されたパブリックキーを用いて暗号化される。このパフォーマンスメッセージは、ステップ１６１０において、リポジトリ−１へ転送され、ステップ１６１１において、そのプライベートキーを用いてリポジトリ−１によって復号される。次に、リポジトリ−１は、ステップ１６１２において二つのリポジトリの名前が正しいか、ステップ１６１３において時間が正確か、ステップ１６１４において登録識別子がリポジトリ−１が送った識別子に対応しているか否かを確かめるためにチェックする。これらのテストのうちのどれかが不合格ならば、トランザクションはステップ１６１６で終了する。これらのテストが合格すれば、ステップ１６１５において、リポジトリ−１はノンスをリポジトリ−２へ暗号化しないで転送する。次に、リポジトリ−２は、ステップ１６１７において、受け取ったノンスを元のノンスと比較する。これらが一致しない場合、ステップ１６１８において、登録トランザクションはエラーで終了する。これらが同じ場合は、登録トランザクションは無事に終了する。
【０１３９】
この時、このトランザクションが終了しなかったと仮定すると、これらのリポジトリは、セッションの間の全ての通信において使用されるセッションキーを含むメッセージを交換し、クロックを同期する。図１７は、セッション情報交換及びクロック同期ステップを示す（再度、リポジトリ−１の観点から）。図１７に関しては、ステップ１７０１においてリポジトリ−１はセッションキーのペアを作成する。第１のキーは、プライベートに保持され、メッセージを暗号化するためにリポジトリ−１によって使用される。第２のキーはリポジトリ−２によって使用されるパブリックキーであり、メッセージの復号を行う。この第２のキーは、ステップ１７０２において、リポジトリ−２のパブリックキーを用いて暗号化され、ステップ１７０３において、リポジトリ−２へ送られる。受け取ったら、ステップ１７０４において、リポジトリ−２は当該第２のキーを復号する。第２のキーは次に続く通信においてメッセージを復号するために使用される。各リポジトリがこのステップを終了すると、これらのリポジトリは共に、もう一方のリポジトリが本物であり、これらのリポジトリがオリジナルのリポジトリと通信していることが確認される。各リポジトリはセッション中の更なる通信を復号するときに使用されるキーをもう一方のリポジトリへ付与する。このキーはそれ自体が受信リポジトリのみのパブリックキーで転送されるので、引き続くメッセージを復号するために使用されるキーを復号することが可能である。
【０１４０】
セッションの情報が交換された後、リポジトリはこれらのクロックの同期をとらなければならない。クロックの同期は、これらのリポジトリの互いのトランザクションの金融記録に対して合意が得られたタイムベースを設定するために当該リポジトリによって使用される。図１７に戻って、ステップ１７０５において、リポジトリ−２は、タイムスタンプ交換メッセージを発生することによって、クロック同期を開始し、ステップ１７０６においてこのメッセージをリポジトリ−１へ転送する。受信すると、ステップ１７０７においてリポジトリ−１はそれ自体のタイムスタンプメッセージを発生し、ステップ１７０８においてそのメッセージをリポジトリ−２へ戻すように転送する。ステップ１７０９において、リポジトリ−２は現在時間を記し、ステップ１７１０において、リポジトリ−１から受け取った時間を記憶する。ステップ１７１１において、現在時間がリポジトリ−１から受け取った時間と比較される。ステップ１７１２において、この差は、所定の許容値（例えば、１分）を超過しているかを見るためにチェックされる。超過している場合、ステップ１７１３において、リポジトリ−２は、当該リポジトリ−２がリポジトリの偽造を示すかもしれないのでトランザクションを終了する。超過していない場合、ステップ１７１４において、リポジトリ−２は調整されたタイムデルタを計算する。調整されたタイムデルタは、リポジトリ−２のクロックタイムとリポジトリ−１及びリポジトリ−２からの時間の平均との差である。
【０１４１】
より高い精度を達成するために、リポジトリ−２は時間を一定回数（例えば、５回）まで再び要求し、クロック同期ステップを反復し、その結果を平均する。
【０１４２】
第２のセッション開始トランザクションはLogin transaction （ログイン・トランザクション）である。Login transaction はトランザクションを要求するユーザの真偽をチェックするために使用される。Login transaction は、クレジットサーバへ請求される金融トランザクションのオーソライゼーションに関して特に慎重である。Login transaction は、ユーザインタフェースにおけるユーザとリポジトリに対応しているクレジットサーバとの対話を含む。ここで交換される情報は、ユーザに対して自体を識別するためにリポジトリ／クレジットサーバによって供給されるログインストリングと、クレジットサーバに対して自身を識別するためにユーザによって提供されるPersonal Identification Number(PIN) （個人識別番号）である。ユーザが、ユーザインタフェースが常駐しているリポジトリとは異なるリポジトリでクレジットサーバへアクセスしている場合、情報の交換はそれぞれのリポジトリのパブリック及びプライベートキーを用いて暗号化される。
【０１４３】
Billing Transaction （請求トランザクション）はクレジットサーバとの金銭上のトランザクションに関する。請求トランザクションは全ての他の条件が満たされた時に実行され、この要求を許諾するために使用料が要求される。大抵の場合、請求トランザクションは当該技術分野においては良く理解される。これらのトランザクションは、リポジトリとクレジットサーバの間、又はクレジットサーバと請求クリアリングハウスの間にある。つまり、要求されるトランザクションは以下を含む：
・リポジトリとユーザがそれらの本物をクレジットサーバへ設定するための登録及びLOGIN トランザクション。リポジトリとクレジットサーバが単一システムとして実行される場合、これらのトランザクションは完全に内部トランザクションである。
・クレジットサーバがその本物を請求クリアリングハウスへ設定する登録及びLOGIN トランザクション。
・料金を割り当てるためのAssign-fee transaction。このトランザクションにおける情報は、トランザクション識別子、トランザクションにおけるリポジトリの同一性、及びディジタルワークの該当部分からの請求のリストを含む。トランザクションにおいて何らかの異常事態、例えば、通信妨害などが発生した場合、この情報も含まれる。
・請求を割り当てるためのBegin-charge transaction（請求開始トランザクション）。このトランザクションは、課金使用に用いられることを除いては料金割当てトランザクション（Assign-fee transaction）とほぼ同様である。なお、このトランザクションは、料金割当てトランザクションと共に使用料情報を含む。次に、クレジットサーバはクロックをランする役割を果たす。
・課金使用に対する請求を終了するEnd-charge transaction。（このアプローチの変形ではリポジトリは時間ブロック毎に周期的請求情報を交換する。）
・パーソナルクレジットサーバと請求クリアリングハウスの間のReport-charges
transaction（請求通知トランザクション）。このトランザクションは請求(billing) 期間において少なくとも一度は呼び出される。これは、請求に関する情報を渡すために使用される。貸借カード上で、このトランザクションは、必要に応じて、バランス（貸借対照）情報及びクレジットの制限を更新するために使用される。
【０１４４】
全ての請求トランザクションにはトランザクションＩＤが付与され、サーバとクライアントの両方によってクレジットサーバへ通知される。これによって、トランザクションのパーティの一人が銀行カードを無くした場合、請求情報の損失の可能性を軽減し、システムの偽造に対するチェックを行う。
【０１４５】
セッション開始トランザクションが終了した後で、使用の要求が処理されてもよい。使用要求を処理する時に実行されるステップの記述を簡素化するため、用語「リクエスタ」は要求を開始するリクエスタモードのリポジトリを称するために使用される。用語「サーバ」は、サーバモードのリポジトリを称するために使用されると共に、所望されるディジタルワークも含む。ワークをプリントするか又は閲覧するかの要求のような多数のケースにおいては、リクエスタ及びサーバは同じデバイスであってもよいし、以下に記述されているトランザクションは完全に内部トランザクションであってもよい。このようなインスタンスにおいて、登録トランザクションのようないくつかのトランザクションステップが実行されなくてもよい。
【０１４６】
使用権トランザクションの全てのセマンティックス（意味論）の一部であるいくつかの共通のステップがある。これらのステップは共通トランザクションステップと呼ばれる。「オープニング」ステップと「クロージング」ステップの二つのステップがある。簡素化のために、これらは使用権トランザクションの全ての記述においてそれらを反復するよりも、本発明においてはリストされている。
【０１４７】
トランザクションは、ディジタルワークの一部、完全なディジタルワーク、又は他のディジタルワークを含むDigital workを指示することができる。本明細書中には詳細に記述されていないが、トランザクションは複数のディジタルワークからなるフォルダさえも指示することができる。用語「ワーク」はアクセスされているディジタルワークの任意の部分又は任意のセットを指示するために使用される。
【０１４８】
ステップの多くは特定の条件が満たされているか否かを決定することを含む。各使用権は、権利が行使される前に満たされなければならない一つ以上の条件を有することもあることを思い出して頂きたい。ディジタルワークは部分を有し、部分は部分を有する。異なる部分は異なる権利及び料金を有することができる。従って、トランザクションに含まれる全ての部分に対して必要条件が満たされることを検証することが必要である。要するに、権利が存在しているか及び行使するための条件が満たされているかのチェックに指示される時、全てのこのようなチェックがワークの関連部分のそれぞれに対して発生するように意図されている。
【０１４９】
図１８はトランザクションのための最初の共通のオープニング及びクロージングステップを示している。この時点で、登録が発生し、「信頼できる(trusted) 」セッションが適所に置かれていると仮定される。汎用テストは、ワークを含むフォルダ又はファイルシステム階層内の高位にあるフォルダを含む幾つかのフォルダに対応している使用権に対するテストである。これらのテストは、ワークがワークそれ自体にアタッチされていることに対抗して、ワークが特定のリポジトリ上にあった結果としてのワークに課せられた必要条件に対応している。図１８に関しては、ステップ１８０１において、使用トランザクションを開始する前に、リクエスタは当該トランザクションに対応している権利が行使される前に、要求されるあらゆる汎用テストを実行する。例えば、（ソフトウェアの）インストール権、アンインストール権及びデリート権が、権利が行使される前にリクエスタがオーソライゼーション証明書を有することを要求するために実行されてもよい。他の例は、ディジタルワークがリクエスタへコピーされる前に、ディジタルチケットが提示され、パンチされるという必要条件である。汎用テストのいずれかが不合格ならば、ステップ１８０２において、トランザクションは開始されない。使用要求を受けて、このように要求されたテストに合格したと仮定すると、ステップ１８０３において、サーバは、トランザクションの記録又は通知に使用されるトランザクション識別子を発生する。次に、サーバは、ステップ１８０４において、要求されたトランザクションに対応している権利がディジタルワークに対して許諾されたか否かをチェックする。当該要求に対応している権利がディジタルワークに対して許諾されなかった場合、ステップ１８０５においてトランザクションは終了する。要求された権利がディジタルワークに対して許諾された場合、サーバは、権利を行使するための種々の条件が満たされたか否かを決定する。ステップ１８０６において、タイムベースの条件が検討される。これらの条件は権利のバージョンに対するタイム仕様を検討することによってチェックされる。いずれの条件も満たされなかった場合、ステップ１８０５においてトランザクションは終了する。
【０１５０】
タイムベースの条件が満たされた場合、ステップ１８０７においてサーバはセキュリティ及びアクセス条件をチェックする。このようなセキュリティ及びアクセス条件は以下の場合に満たされる。
１）リクエスタが指定されたセキュリティクラス又はそれより高位のセキュリティクラスにあること。
２）サーバがあらゆる指定されたオーソライゼーションテストに合格していること。
３）リクエスタがあらゆる指定されたオーソライゼーションテストに合格し、あらゆる要求されたディジタルチケットを有していること。
いずれの条件も満たされなかった場合、ステップ１８０５においてトランザクションは終了する。
【０１５１】
セキュリティ及びアクセス条件がすべて満たされたと仮定すると、ステップ１８０８においてサーバはコピーカウント条件をチェックする。コピーカウントがゼロに等しい場合、トランザクションは完了することができず、ステップ１８０５においてトランザクションは終了する。
【０１５２】
コピーカウントがゼロに等しくないと仮定すると、ステップ１８０９において、サーバは、要求された権利のために使用されているコピーが、要求された権利（又は関連部分）のためのコピーカウントに等しいか又はそれ以上であるか否かをチェックする。使用中のコピーがコピーカウントより大きいか又は等しい場合、これはトランザクションのバージョンに対する使用権が使い果たされたことを示す。従って、ステップ１８０５において、サーバはトランザクションを終了する。コピーカウントがトランザクションに使用されているコピーより少ない場合、トランザクションは続けられ、ステップ１８１０においては、使用されているコピーが当該トランザクションにおいて要求されたディジタルワークの数だけインクリメントされる。
【０１５３】
次に、サーバは、ステップ１８１１においてディジタルワークが"Loan"アクセス権利を有しているか否かをチェックする。"Loan"アクセス権利は、全てのコピーが貸し出されても権利が残存していることがあるので、特別のケースである。ディジタルワークが"Loan"アクセス権利を有している場合、ステップ１８１２において、全てのコピーが貸し出されたか否かを見るためにチェックされる。貸し出されたコピーの数はディジタルワークの貸出権利の全てのバージョンに対するCopy-Counts の合計である。複合ワークに関しては、関連する数字は、複合ワークの各構成要素の合計のような最小数である。全てのコピーが貸し出された場合、ステップ１８１３において、残りの権利が決定される。残りの権利は、"Loan"の権利のバージョンからの残りの権利仕様から決定される。"Loan"の権利が一つだけの場合、決定は簡単である。残りの権利はLoanの権利のバージョンにおいて仕様された権利か、又はRemaining-Rights: が指定されていない場合は無しである。Loanの権利の複数バージョンがある場合、及び全てのバージョンの全てのコピーが貸し出された場合、残りの権利は、Loanの権利の全てのバージョンに渡って残っている権利の最小セット（共通部分）として取られる。ステップ１８１４において、サーバは要求されたセットが残りの権利のセット内にあるか否かを決定する。要求されたセットが残りの権利のセット内にない場合、ステップ１８０５において、サーバはトランザクションを終了する。
【０１５４】
Loanがディジタルワークの使用権ではない場合、又は全てのコピーが貸し出されず、又は要求された権利が残りの権利のセット内にある場合、ステップ１８１５において、その権利に対する料金の条件がチェックされる。これはリポジトリとそれに対応するクレジットサーバの間の種々の金融トランザクションを開始する。さらに、ディジタルワークの使用のあらゆる課金が開始される。任意の金融トランザクションが失敗すると、ステップ１８０５においてトランザクションは終了する。
【０１５５】
条件がチェックされる順番がステップ１８０６乃至１８１５の順序に従わなくともよいことに注目されたい。
【０１５６】
この時点で、権利特定ステップは今や実行され、ステップ１８１６として表される。この権利特定ステップは以下により詳細に記述されている。
【０１５７】
共通のクロージングトランザクションステップが実行される。クロージングトランザクションステップの各々は、トランザクションが無事に完了した後で、サーバによって実行される。図１８に戻ってみると、ステップ１８１７において、要求された権利に対して使用されているコピーの値は当該トランザクションに含まれているコピー数だけデクリメントされる。次に、権利が計量による使用料金仕様を有する場合、ステップ１８１８において、サーバはトランザクションに含まれている全ての部分に対する権利に対応しているRemaining-Use-Timeから経過した時間を減算する。最後に、権利に対応している料金仕様がある場合、ステップ１８１９において、サーバは請求を確認するためにEnd-Charge（請求終了）金融トランザクションを開始する。
【０１５８】
考慮すべき重要な部分は、サーバからリクエスタへのディジタルワークの転送である。本明細書中に記述されている転送プロトコルは有効セッションが作成された後で発生する事象に関する。転送プロトコルは、リポジトリ同士の間での通信中断ケースを取り扱わなければならない。通信チャネルへのノイズ注入のような妨害は完全性チェック（例えば、パリティ、チェックサム等）によって検出されることができる。当該完全性チェックは、伝送プロトコルの中へ組み込まれているが本明細書中では詳細に説明しない。
【０１５９】
転送プロトコルの基盤となる目標は、通信チャネルの故意又は事故による妨害のようないくつかの故障モードを阻止することである。例えば、トランザクションの終りに近い特定の時間においてユーザがクレジットサーバを有するカードを引いたと仮定する。「カードを引く」ことによってリポジトリが作成されたワークのコピー数を正確に数え損なうような無防備な時間があってはならない。要するに、ディジタルワークを使った後で、支払いを避けるための手段としてパーティが接続を破壊できるような時間があってはならない。
【０１６０】
トランザクションが妨害（及び失敗）された場合、両方のリポジトリは、ディジタルワークと、失敗前の当該ディジタルワークの状態に対する会計、及び失敗それ自体のモジュール記録を回復する。
【０１６１】
図１９は、トランザクション中に情報を転送する過程におけるステップを示す状態ブロックである。各ボックスは、サーバモード（中央の点線１９０１の上）又はリクエスタモード（点線１９０１の下）のいづれかにおいてリポジトリの状態を示す。実線の矢印は状態同士の間の遷移を表す。ダッシュラインの矢印は、リポジトリ同士の間のメッセージ通信を表す。実線の遷移矢印を指し示すダッシュラインのメッセージ矢印は、メッセージが受け取られた時、遷移が発生することを意味すると解釈される。ラベル付けされてない遷移の矢印は、無条件で発生する。状態遷移矢印における他のラベルは遷移をトリガーする条件を記述する。
【０１６２】
図１９に関しては、サーバは最初に新しいトランザクションがスタートメッセージ１９０３を介して開始される１９０２の状態にある。このメッセージはトランザクション識別子と、転送されるデータのブロックのカウントとを含むトランザクション情報を含む。最初は、１９０４において待機状態にあるリクエスタはデータ待機状態１９０５を実行する。
【０１６３】
サーバはデータ転送状態１９０６を実行し、データブロック１９０７を転送し、次にアクノレッジ状態１９０８の待機を実行する。データが受け取られると、リクエスタはデータ受け取り状態１９０９を実行し、データブロックが完全に受け取られた時それはアクノレッジ状態１９１０を実行し、Acknowledgement message （アクノレッジ・メッセージ）１９１１をサーバへ転送する。
【０１６４】
より多くのブロックを送る場合、サーバはリクエスタからAcknowledgement message を受け取るまで待機する。Acknowledgement message が受け取られると、サーバは次のブロックをリクエスタへ送り、アクノレッジを再び待機する。このリクエスタも同じ状態サイクルを反復する。
【０１６５】
サーバが最終ブロックを送る前に通信の失敗を検出した場合、当該サーバはトランザクションが取り消されるキャンセル状態１９１２に入る。同様に、リクエスタが最終ブロックを受け取る前に通信の失敗を検出した場合、当該リクエスタは取消状態１９１３に入る。
【０１６６】
送ろうとするブロックがなくなった場合、サーバはトランザクションにコミット（委任）し、状態１９１４における最終のAcknowledgement （アクノレッジ）を待機する。サーバが最終のAcknowledgement message を受け取る前に通信の失敗があった場合、サーバはやはりトランザクションにコミットするが、状態１９１５におけるそのクレジットサーバへの事象に関する通知を含む。この通知は二つの目的を果たす。この通知は、完全には受け取られなかったディジタルワークを受け取ったものとして請求されたことについてのユーザによる主張を合法とするのを補助する。さらに、これは、疑わしい使用パターン及び妨害を有するリポジトリや通信ラインを識別するのを補助する。サーバは、次に、その完了状態１９１６を実行する。
【０１６７】
受け取ろうとするブロックがもうないリクエスタサイドでは、リクエスタは状態１９１７においてこのトランザクションにコミットする。リクエスタがこの状態における通信の失敗を検出すると、リクエスタは状態１９１８におけるその失敗をクレジットサーバへ通知するが、依然としてそのトランザクションにコミットし続ける。リクエスタがコミットした時、それはアクノレッジ・メッセージをサーバへ送る。サーバは、次に、その完了状態１９１９に入る。
【０１６８】
キー特性は、サーバ及びリクエスタの両方が、全てのデータブロックが引き渡される前にトランザクションが妨害された場合にトランザクションをキャンセルすると共に、全てのデータブロックが引き渡された場合に当該トランザクションにコミットすることである。
【０１６９】
サーバが全てのデータブロックを送った（及びコミットした）が、リクエスタは全部を受け取っていなかったり、そのトランザクションをキャンセルするような可能性がある。この場合、恐らくは、両方のリポジトリが通信の失敗を検出し、それをこのリポジトリのクレジットサーバへ通知する。通信の失敗の非常に正確なタイミングに依存するのでこのケースは恐らくは稀である。唯一の結果は、リクエスタリポジトリにおけるユーザは、クレジットサービスからの払戻しを望み、この払戻しに対するケースは両リポジトリによる通知により実証されることである。
【０１７０】
データの損失を防止するために、サーバは、リクエスタからの最終アクノレッジを受け取るまで、あらゆる転送されたディジタルワークをデリートしてはならない。しかし、サーバ又はファイルを使用してもならない。この状態を処理する周知の方法は、「２相コミット」又は２ＰＣ（2 phase commit）と呼ばれる。
【０１７１】
「２相コミット」は以下のように作用する。第１フェーズは上記に示された方法と同様に作用する。サーバはリクエスタへ全てのデータを送る。両方のリポジトリは、トランザクション（及び適切なファイル）にコミットされなかったものとしてマークする。サーバは、ready-to-commit メッセージをリクエスタへ送る。リクエスタはアクノレッジをリターンする。次に、サーバはコミットし、リクエスタにコミットメッセージを送る。リクエスタがコミットメッセージを受け取った時、リクエスタはファイルにコミットする。
【０１７２】
通信の失敗又は他のクラッシュがあった場合、リクエスタはトランザクションの状況を決定するためにサーバと共にチェックバックしなければならない。サーバはこれに対して最終ワードを有している。リクエスタが全てのデータを受け取っているかもしれないが、リクエスタが最終メッセージを得ていなかった場合、リクエスタはコミットしてはいない。サーバが一旦コミットすると、ファイルが完全に転送されたことが２ＰＣサイクルを開始する前にわかっているので、サーバは先へ進んで（トランザクション記録を除いて）ファイルをデリートすることができる。
【０１７３】
同じ効果を達成するために使用されることができる技術的に公知の変形がある。例えば、サーバがワークをクライアントへ転送する時に付加的暗号化レベルを使用することができる。クライアントがメッセージアクノレッジの受領情報を送った後でのみ、このクライアントはキーを送る。次に、クライアントはディジタルワークに対しての支払いに合意する。この変形のポイントは、クライアントがワークを受け取ったことの明白な会計履歴を提供することにある。しかしながら、信用のあるシステムに関しては、この変形は暗号化レベルの追加によって会計処理能力の実利得をもたらさない。
【０１７４】
特定の使用権に対するトランザクションを以下に説明する。
Copy Transaction（コピートランザクション）は、同等か又はやや少ない使用権を有するワークの一つ以上の独立コピーを作成するための要求である。コピーは、それがディジタルワーク全体又はディジタルワークを含むフォルダ全体を指示する点で後で説明される抽出権とは異なる。コピー動作はディジタルワークのある部分を取り除くために使用することはできない。
・リクエスタはサーバへCopy Transactionを開始するようにメッセージを送る。このメッセージはコピーされるワーク、トランザクションに使用される著作権のバージョン、ワークを配置するための宛て先アドレス（フォルダ内の位置）情報、ワークに対するファイルデータ（サイズを含む）、要求されたコピー部数を示す。
・リポジトリは共通のオープニング・トランザクション・ステップを実行する。
・サーバは、転送プロトコルに従って、要求された内容及びデータをクライアントへ転送する。Next-Set-Of-Rightsが権利のバージョンに提供された場合、これらの権利がワークに対する権利として転送される。そうでない場合、オリジナルの権利が転送される。あらゆる場合において、送られているディジタルワークのコピーに対するCopy-Countフィールドが、要求されたコピー部数にセットされる。
・リクエスタは、ワークの内容、データ、及び使用権を記録し、このワークを記憶する。リクエスタはコピーが作成された日付と時間をディジタルワークの属性の中に記録する。
・リポジトリは、共通のクロージングトランザクションステップを実行する。
【０１７５】
Transfer transaction（転送トランザクション）は、同等又はやや少ない使用権を有するワークのコピーを他のリポジトリへ移動するための要求である。Copy
Transactionとは対照的に、これはサーバからワークコピーを除去することになる。
・リクエスタはサーバへTransfer transactionを開始するようにメッセージを送る。このメッセージは転送されるワーク、当該トランザクションにおいて使用される転送権のバージョン、ワークを配置するための宛て先アドレス情報、このワークのためのファイルデータ、及び含まれるコピー数を示す。
・リポジトリは共通のオープニングトランザクションステップを実行する。
・サーバは、転送プロトコルに従って、要求された内容及びデータをリクエスタへ転送する。Next-Set-Of-Rightsが権利のバージョンに提供された場合、これらの権利がワークに対する権利として転送される。そうでない場合、オリジナルの権利が転送される。両方のケースにおいて、転送された権利に対するCopy-Countフィールドは、要求されたコピー部数にセットされる。
・リクエスタはワークの内容、データ、及び使用権を記録し、このワークを記憶する。
・サーバは当該トランザクションに含まれるコピー数だけそのコピーカウントをデクリメントする。
・リポジトリは共通のクロージングトランザクションステップを実行する。
・サーバ内に残っているコピー数が現在ゼロである場合、ディジタルワークはメモリから消去される。
【０１７６】
Loan transaction（貸出しトランザクション）はディジタルワークのコピーを貸し出すためのメカニズムである。この貸出しの最大期間はディジタルワークの内部パラメータによって決定される。ワークは所定期間の後で自動的に返却される。
・リクエスタはサーバへLoan transactionを開始するようにメッセージを送る。このメッセージは貸し出されるワーク、当該トランザクションにおいて使用される貸出権のバージョン、ワークを配置するための宛て先アドレス情報、包含されるコピー数、ワークのためのファイルデータ、及び貸出しの期間を示す。
・サーバは、要求された貸出期間の有効性をチェックし、この期間が有効でない場合は、エラーで終了する。貸出されたコピーに対する貸出しは、サーバへのオリジナルの貸出期間を超過することができない。
・リポジトリは共通のオープニングトランザクションステップを実行する。
・サーバは、要求された内容及びデータをリクエスタへ転送する。Next-Set-Of-Rightsが提供された場合、これらの権利がワークに対する権利として転送される。そうでない場合、オリジナルの権利が、貸出期間を反映するように更新されてから、転送される。
・リクエスタはワークの内容、データ、使用権、及び貸出期間を記録し、このワークを記憶する。
・サーバは貸し出されたコピー数を反映するようにディジタルワークにおける使用権情報を更新する。
・リポジトリは、共通のクロージングトランザクションステップを実行する。
・サーバは、ディジタルワークに対する使用権データを更新する。これは、ワークが返却されるまで、このワークの使用を除外する。リクエスタプラットフォームにいるユーザは、ここで、ディジタルワークの転送されたコピーを使用することができる。オリジナルリポジトリにアクセスしているユーザは、コピーが残っていない限り、ディジタルワークを使用することができない。次に発生することは、時間における事象の順序に依存する。
ケース１：貸出し期間の時間はまだ使い切られておらず、リクエスタがリポジトリへReturn message（返却メッセージ）を送る場合、
・返却メッセージはリクエスタ識別、及びトランザクションＩＤを含む。
・サーバは、返却されたコピー部数だけ使用中のコピーをデクリメントする。（返却されたディジタルワークの数が実際に貸し出された数より大きい場合はエラーとして処理される。）このステップは、ここで、他のユーザに対するサーバにおいてワークを有効にすることができる。
・リクエスタはそのコピーを無効にして、メモリからその内容を除去する。
リクエスタは全ての現在使用を終了し、メモリからディジタルワークコピーを消去する。いずれにしろワークは自動的に返却されるのであるが、リクエスタは貸出し期間より早くワークを返却することが想定される。早めの返却理由の一つは、貸出しコストを決定する計量による料金の存在である。早期返却はこの料金を削減することができる。
ケース２：貸出し期間の時間が使い果たされ、リクエスタがまだReturn messageを送っていない場合、
・サーバは、使用中のコピーフィールドを、貸し出されたディジタルワークの数だけデクリメントする。
・リクエスタは、ディジタルワークのコピーを自動的に無効にする。当該リクエスタは全ての現在使用を終了し、メモリからディジタルワークコピーを消去する。ワークはいずれにしろ自動的に返却されるのにもかかわらず、リクエスタは貸出し期間より早くワークを返却することが想定される。早期返却理由の一つは、貸出しコストを決定する計量による料金の存在である。早期返却はこの料金を削減することができる。
【０１７７】
Play Transaction（再生トランザクション）はワークの内容を使用するための要求である。一般に、ワークを「再生（play）」することは、スピーカ又はディスプレイデバイスのようなある種類のトランスデューサを介してディジタルワークへ送ることである。この要求は、これらの内容が他のシステムへディジタル式に通信されないように意図されていることを示唆している。例えば、これらの内容はプリンタへ送られるか、ディジタル媒体に記録されるか、トランザクション後に保持されるか、又は他のリポジトリへ送られる。
【０１７８】
用語「再生（Play）」は、音楽の再生、映画の再生、又はビデオゲームの再生などの例に対して自然である。再生の一般的な形態は、ディジタルワークを使用するために「プレーヤー」が使用されることを意味する。しかしながら、この用語「再生」は、全ての記録媒体及び記録種類を網羅する。従って、ある人がディジタルワークを「再生」するとは、それを読み出すためにレンダリングすることを意味し、又はコンピュータプログラムを「再生」するとは、それを実行することを意味する。ディジタルチケットに関しては、プレーヤーはディジタルチケットエージェントにもなり得る。
・リクエスタはサーバへPlay Transactionを開始するようにメッセージを送る。このメッセージは、再生されるワーク、当該トランザクションにおいて使用される再生権のバージョン、使用されているプレーヤーの識別、及びワークに対するファイルデータを示す。
・サーバは、プレーヤーの識別の有効性と、このプレーヤー識別と権利上のプレーヤー仕様の互換性をチェックする。これらが満たされない場合、エラーで終了する。
・リクエスタは、共通のオープニングトランザクションステップを実行する。
・サーバ及びリクエスタは、転送プロトコルに従って、プレーヤーによって要求された通りに、データのブロックの読み出し、書き込みを行う。リクエスタはプレーヤーを用いてワークの内容を再生する。
・プレーヤーが終了した時、プレーヤーとリクエスタはそれらのメモリから内容を除去する。
・リポジトリは共通のクロージングトランザクションステップを実行する。
【０１７９】
Print transaction （プリント・トランザクション）はワークの内容を「プリンタ」上でレンダリング（描画）するために当該ワークの内容を得るための要求である。我々は、インクで用紙に書き込む一般的なケースを含むように、用語「プリンタ」を使用する。しかしながら、我々のこの用語の使用における「プリンティング」の主な態様は、使用権の保護の外側にある場所で、ディジタルワークのコピーを作成することにある。全ての権利と同様に、これは特別のオーソライゼーション証明書を要求してもよい。
【０１８０】
ディジタルワークが一旦プリントされると、発行者及びユーザは、どんな著作権法が効力があるかによって制限される。しかしながら、プリンティングはそれらの内容をリポジトリの制御外へ移動する。例えば、他の実施メカニズムがない場合、ディジタルワークが一旦用紙にプリントされると、ディジタルワークは使用料金を集金するリポジトリによって妨害されずに通常の複写機でコピーされることができる。ディジタルデスクへのプリンタが許容された場合、このディジタルコピーは使用権の制御外にある。クリエータはこのような著作権法を侵すコピーに絶対に暗黙に同意しないが、クリエータとユーザは共にこのことを知っている。
・リクエスタは、サーバへPrint transaction を開始するようにメッセージを送る。このメッセージは再生されるワーク、使用されるプリンタの識別、ワークのためのファイルデータ、及び要求されているコピー数を示す。
・サーバは、プリンタ識別の有効性、及びプリンタ識別と権利上のプリンタ仕様の互換性をチェックする。これらの条件が満たされない場合、エラーで終了する。
・リポジトリは共通のオープニングトランザクションステップを実行する。
・サーバは、転送プロトコルに従って、データのブロックを転送する。
・リクエスタは、プリンタを用いて、ワーク内容をプリントする。
・プリンタが終了した時、プリンタとリクエスタはそれらのメモリからこれらの内容を除去する。
・リポジトリは共通のクロージングトランザクションステップを実行する。
【０１８１】
Backup transaction（バックアップ・トランザクション）は、媒体の故障に対する保護としてディジタルワークのバックアップコピーを作成するための要求である。リポジトリの内容において、セキュリティバックアップコピーは、以下の三つの点において他のコピーとは異なる。（１）これらのセキュリティバックアップコピーはCopy transactionではなく、Backup transactionの制御下で作成される。（２）これらは正規のコピーとしてカウントしない。（３）これらは正規のコピーとして使用可能ではない。概して、バックアップコピーは暗号化されている。
【０１８２】
バックアップコピーはこれらに割り当てられる権利に依って転送されたり又はコピーされたりするが、それらの再生、プリント又は埋め込み（embedding ）のためにバックアップコピーを有用にするための唯一の方法はそれらを復元することである。
【０１８３】
Backup operation（バックアップ動作）の出力は、ワークの内容及び記述を含む暗号化されたデータファイルと、暗号化された内容を復元する暗号化キーを有する復元ファイルとの両方である。多くの場合において、暗号化されたデータファイルは、セキュリティのための暗号化のみに頼って、この出力を保護システムの外側のディスクに「プリント」するための権利を有する。このようなファイルは、物理的に安全であり便利な所に記憶されることができる。復元ファイルはリポジトリ内に保持される。このファイルは、バックアップコピーの復元のために必要である。このファイルは、リポジトリ同士の間での転送のための権利を有することができる。
・リクエスタは、サーバへBackup transactionを開始するようにメッセージを送る。このメッセージはバックアップされるワーク、当該トランザクションにおいて使用されるバックアップ権のバージョン、バックアップコピーを配置するための宛て先アドレス情報、及びワークに対するファイルデータを示す。
・リポジトリは共通のオープニングトランザクションステップを実行する。
・サーバは、要求された内容及びデータを、リクエスタへ転送する。Next-Set-Of-Rightsが提供された場合、これらの権利がワークに対する権利として転送される。そうでない場合、オリジナルのバックアップファイルに対するデフォルトの権利セットがサーバによってセットされる。
・リクエスタは、ワークの内容、データ、及び使用権を記録する。それは、次に、一回使用のキーを作成し、内容ファイルを暗号化する。それはキー情報を復元ファイル内に保存する。
・リポジトリは共通のクロージングトランザクションステップを実行する。
【０１８４】
いくつかのケースにおいて、磁気光学的記憶装置システム又は磁気テープのようなオフライン記憶装置を守るために大量の暗号化された内容ファイルをアーカイブ（保管）することができることは便利である。非リポジトリアーカイブファイルの作成は暗号化プロセスと同じ程安全である。このような非リポジトリアーカイブ記憶装置は、「プリンティング」の形式と見なされ、特定の「アーカイブ・プリンタ」を有するプリント権によって制御される。アーカイブプリンタデバイスは、検索されることができるように、暗号化された内容ファイル（しかし、記述ファイルではない）をオフライン保存するようにプログラムされる。
【０１８５】
Restore transaction （復元トランザクション）は、ディジタルワークの暗号化されたバックアップコピーを使用可能なコピーへ変換するための要求である。復元動作は、災害による媒体の故障を補償するために使用されるように意図されている。全ての使用権と同様に、復元権はオーソライゼーションチェックを含む料金及びアクセステストを含むことができる。
・リクエスタは、Restore transaction を開始するようにサーバへメッセージを送る。このメッセージは復元されるワーク、当該トランザクションにおいて使用される復元権のバージョン、ワークを配置するための宛て先アドレス情報、及びワークに対するファイルデータを示す。
・サーバは、内容ファイルが使用可能であることを検証する（即ち、この要求に対応したディジタルワークがバックアップされている）。内容ファイルが使用可能でない場合、トランザクションはエラーで終了される。
・リポジトリは、共通のオープニングトランザクションステップを実行する。
・サーバは、復元ファイルからキーを検索する。当該サーバは、ワーク内容、データ、及び使用権の暗号を解読する。
・サーバは、転送プロトコルに従って、要求された内容及びデータをリクエスタへ転送する。Next-Set-Of-Rightsが提供された場合、これらの権利がワークに対する権利として転送される。そうでない場合、オリジナルのバックアップファイルに対するデフォルトの権利セットがサーバによって転送される。
・リクエスタは、ディジタルワークを記憶する。
・リポジトリは共通のクロージング・トランザクション・ステップを実行する。
【０１８６】
Delete transaction（デリート・トランザクション）は、ディジタルワーク又はリポジトリからのディジタルワークの多数のコピーをデリートする。実際的には、全てのディジタルワークがデリート権を有している。
・リクエスタは、Delete transactionを開始するようにサーバへメッセージを送る。このメッセージは、デリートされるワーク、当該トランザクションのためのデリート権のバージョンを示す。
・リポジトリは、共通のオープニングトランザクションステップを実行する。
・サーバはファイルをデリートし、それをファイルシステムから消去する。
・リポジトリは共通のクロージング・トランザクション・ステップを実行する。
【０１８７】
Directory transaction （ディレクトリ・トランザクション）は、フォルダ、ディジタルワーク、及びそれらの部分についての情報に対する要求である。これは、フルパワーの使用権言語のアクセス仕様へ汎用化されることを除いては、TENEX のような従来のファイルシステムにおける保護コードとほぼ同じ考え方である。
【０１８８】
Directory transaction は、ディジタルワークに対応している権利及び料金の記述を渡す重要な役割を有している。ユーザが権利を行使したいと思う時、ユーザのリポジトリのユーザインタフェースは、使用可能な権利のバージョンを決定するためにディレクトリ要求を暗黙に作成する。一般に、例えば、権利の行使に対する異なる請求の選択候補を有して、これらはユーザに提供される。このように、多くのDirectory transaction は、ユーザの眼に見えないし、全ての権利を行使することの通常のプロセスの一部として行使される。
・リクエスタは、Directory transaction を開始するようにサーバへメッセージを送る。このメッセージはディレクトリ要求の根源であるファイル又はフォルダ、及び当該トランザクションに使用されたディレクトリ権のバージョンを示す。
・サーバはリクエスタへの情報がアクセス可能であることを検証する。特に、これらのディレクトリ仕様においてHIDE-NAME （名前の隠蔽）状態を有するあらゆるファイルのネームをリターンしないし、これらの仕様においてHIDE-PARTS（部分の隠蔽）を有するあらゆるフォルダ又はファイルの部分をリターンしない。情報がアクセス可能でない場合、サーバはエラーでこのトランザクションを終了する。
・リポジトリは、共通のオープニングトランザクションステップを実行する。
・サーバは、転送プロトコルに従って、要求されたデータをリクエスタへ送る。
・リクエスタはデータを記憶する。
・リポジトリは共通のクロージングトランザクションステップを実行する。
【０１８９】
Folder transaction（フォルダトランザクション）は、フォルダを作成及びリネーム（名前の変更）し、又はワークをフォルダ同士の間で移動するための要求である。Directory rights（ディレクトリ権）と共に、Folder rights （フォルダ権）は、リポジトリの構成が他のリポジトリからアクセス又は修正されることができる度合いを制御する。
・リクエスタは、サーバへ、Folder transactionを開始するようにメッセージを送る。このメッセージは、フォルダ要求の根源であるフォルダ、及び当該トランザクションのためのフォルダ権のバージョン、動作、及びデータを示す。動作は、ファイルの作成、リネーム、及び移動の内の一つであってもよい。このデータは、フォルダ又はディジタルワーク及びネームの仕様のような動作に対して要求される仕様である。
・リポジトリは、共通のオープニングトランザクションステップを実行する。
・サーバは、要求された動作を実行する。例えば、フォルダ作成、フォルダ・リネーム、又はフォルダ間のワークの移動、を実行する。
・リポジトリは、共通のクロージングトランザクションステップを実行する。
【０１９０】
Extract transaction （抽出トランザクション）は、ディジタルワークの一部をコピーし、それを含む新たなワークを作成するための要求である。Extract transaction は、ディジタルワークの一部を、追加の制限又は料金が配置されたｄ−ブロック又はシェルから分離させるために使用され得るという点でコピーとは異なる。抽出動作は、それが、ワークのｄ−ブロック内への埋め込みだけで、ワークの内容を変更しないという点で編集動作とも異なる。抽出は新しいディジタルワークを作成する。
・リクエスタは、サーバへ、Extract transaction を開始するようにメッセージを送る。このメッセージは、抽出されるワークの部分、当該トランザクションにおいて使用される抽出権のバージョン、その部分を新しいワークとして配置するための宛て先アドレス情報、ワークのためのファイルデータ、及び含まれるコピー数を示す。
・リポジトリは共通のオープニングトランザクションステップを実行する。
・サーバは、転送プロトコルに従って、要求された内容及びデータをリクエスタへ転送する。Next-Set-Of-Rightsが提供された場合、これらの権利が新しいワークに対する権利として転送される。そうでない場合、オリジナルの権利が転送される。この権利に対するCopy-Countフィールドは要求されるコピー数にセットされる。
・リクエスタは、内容、データ、及び使用権を記録し、このワークを記憶する。リクエスタは、ワークの属性において新しいワークが作成された日時を記録する。
・リポジトリは共通のクロージング・トランザクション・ステップを実行する。
【０１９１】
Embed transaction （埋め込みトランザクション）は、ディジタルワークを他のディジタルワークの一部とするか、又はワークのディストリビュータによって料金の追加を可能とさせるためにシェル又はｄ−ブロックを追加するための要求である。
・リクエスタは、Embed transaction を開始するようにサーバへメッセージを送る。このメッセージは、組み込まれるワーク、当該トランザクションに使用される埋め込み権のバージョン、部分をワークとして配置するための宛て先アドレス情報、ワーク用のファイルデータ、及び含まれるコピー数を示す。
・サーバは、部分及び宛て先における全ての権利に対する制御仕様をチェックする。互換性がない場合、サーバはエラーでトランザクションを終了する。
・リポジトリは共通のオープニング・トランザクション・ステップを実行する。
・サーバは、転送プロトコルに従って、要求された内容及びデータをリクエスタへ転送する。Next-Set-Of-Rightsが提供された場合、これらの権利がワークに対する権利として転送される。そうでない場合、オリジナルの権利が転送される。この権利に対するCopy-Countフィールドが要求されるコピー数へセットされる。
・リクエスタは内容、データ、及び使用権を記録し、宛て先ファイルにワークを組み込む。
・リポジトリは共通のクロージング・トランザクション・ステップを実行する。
【０１９２】
Edit transaction（編集トランザクション）は、現存のディジタルワークの部分をコピー、選択、及び変更することによって新しいディジタルワークを作成するための要求である。この動作は、実際、ディジタルワークの内容を変更することができる。許容される変更の種類は、使用されているプロセスに依存する。抽出動作と同様に、編集はディジタルワークの部分上で動作する。抽出動作とは対照的に、編集は、ワークの権利又は位置に影響しない。許容される変更の種類はこれらの権利において指定されたプロセッサのタイプ仕様によって決定される。本発明の好ましい実施の形態において、Edit transactionは、ワーク自体を変更し、新しいワークを作成しない。しかしながら、ワークの新しいコピーを作成させるには合理的な変化である。
・リクエスタは、サーバへ、Edit transactionを開始するようにメッセージを送る。このメッセージは、編集されるワーク、当該トランザクションに使用される編集権のバージョン、ワーク用のファイルデータ（サイズを含む）、当該プロセスのためのプロセス−ＩＤ、及び含まれるコピー数を示す。
・サーバは、リクエスタによって使用されるプロセス−ＩＤの権利におけるあらゆるプロセス−ＩＤ仕様に対して互換性をチェックする。互換性がない場合、このトランザクションをエラーで終了する。
・リポジトリは、共通のオープニングトランザクションステップを実行する。
・リクエスタは、ディジタルワークの内容を所望されるように変更するために当該プロセスを使用する。（例えば、リクエスタは、ディジタルワークの一部を選択し、複写し、それを他の情報と連結し、又は情報に基づいて関数を演算することができる。これは、結局、テキスト、音楽、又は画像（絵）を編集すること、又はデリバティブ（系列）ワークを作成するのに有用な他のステップを任意に使うことに相当する。）
・リポジトリは、共通のクロージング・トランザクション・ステップを実行する。
【０１９３】
Edit transaction（編集トランザクション）は、広範囲の種類のワークを網羅するために使用される。ディジタルワークの任意の部分を入力として取り、次に、何らかの方法でこの入力を変更するプロセスが該トランザクションのカテゴリである。例えば、テキストに関しては、このテキストを編集するためのプロセスは、編集権を要求する。テキスト中のワードを「要約」し、又はカウントするプロセスも編集と見なされる。音楽ファイルに関しては、プロセッシングは、ピッチやテンポの変更、若しくは反響（エコー）の追加、又はあらゆる他のオーディオ効果を含むことができる。ディジタルビデオに関しては、画像を変更するものは編集権を必要とする。例としては、着色、スケーリング（拡大縮小）、スチール写真の抽出、フレームを選択し結合してストーリーボードを作成すること、信号プロセッシングによる画像の鮮明化、その他である。
【０１９４】
何人かのクリエータは、（ワーク上で）実行されるプロセスの種類を制限することによって彼らのワーク（作品）の認証を保護したがるかもしれない。編集権がない場合、プロセッシングは全く許容されない。どの種類のプロセスが許容されるかを指定するためにプロセッサ識別子が含まれることができる。プロセッサ識別子が指定されなかった場合、任意のプロセッサが使用され得る。特定プロセスの一例に関しては、写真家は彼の写真の使用をオーソライズしようとするかもしれないが、着色されるのをいやがるかもしれない。音楽家は彼の作品の部分の抽出をオーソライズしようとするかもしれないが、階調特性を変更するのはいやがるかもしれない。
【０１９５】
オーソライゼーショントランザクションが定義されるには多数の方法がある。以下において、一つの好ましい方法は、我々がリポジトリのために既に必要とする他のトランザクションに関してそれらを簡単に定義することである。このように、「オーソライゼーショントランザクション」を述べるのはしばしば簡単ではあるが、これらのトランザクションは実際にはリポジトリが既に有している他のトランザクションから構成されている。
【０１９６】
使用権は、オーソライゼーションオブジェクト（標準フォーマットファイルにおけるディジタルワーク）を識別するオーソライゼーション−ＩＤを指定することができ、このオーソライゼーションオブジェクトは、リポジトリが所有していなければならないと共に当該リポジトリが処理しなければならない。オーソライゼーションは、当該オーソライゼーションの解読を開始するリポジトリのジェネリックオーソライゼーション（又はチケット）サーバへ付与される。
【０１９７】
前に述べたように、オーソライゼーションはサーバ識別子を含み、該サーバ識別子はジェネリックオーソライゼーションサーバ又は他のサーバであってもよい。遠隔オーソライゼーションサーバが要求される時、サーバはディジタルアドレスを含むことができる。当該サーバはさらにディジタル証明書を含むことができる。
【０１９８】
遠隔オーソライゼーションサーバが要求される場合、オーソライゼーションプロセスは最初に以下のステップを実行する。
・ジェネリックオーソライゼーションサーバは、通信チャネルをセットアップ（設定）しようとする。（チャネルがセットアップされない場合、オーソライゼーションはエラーで失敗する。）
・チャネルがセットアップされた場合、遠隔リポジトリによって登録プロセスを実行する。（登録に失敗した場合、オーソライゼーションはエラーで失敗する。）
・登録が終了すると、ジェネリックオーソライゼーションサーバは遠隔リポジトリによって「再生」トランザクションを呼び出し、再生されるディジタルワークとしてのオーソライゼーションドキュメントと、「プレーヤー」としての遠隔オーソライゼーションサーバ（プログラム）を供給する。（プレーヤーが見つからないか又はプレーヤーがいくつかの他のエラーを有していた場合、オーソライゼーションはエラーで終了する。）
・オーソライゼーションサーバは、次に、オーソライゼーションを「再生」する。これは、証明書を発行したマスタリポジトリのパブリックキー又はそれを転送したリポジトリからのセッションキーのいずれかを使ってそれを復号することを含む。オーソライゼーションサーバは、種々のテストを実行する。これらのテストはオーソライゼーションサーバによって変化する。これらは、オーソライゼーションの発行及び有効期間をチェックし、知られている無効オーソライゼーションのホットリストをチェックするようなステップを含む。オーソライゼーションサーバは、リポジトリ上においても、ディレクトリをチェックし、パスワードを送ってくれる誰かを見つけ、又は幾つかの他のディジタルワークの再生のようなあらゆる他のトランザクションを実行することを要求することができる。オーソライゼーションサーバは、さらに、位置又は最近の事象に関する情報をチェックするためにいくつかの特別なプロセスを呼び出してもよい。このようなステップに関する「スクリプト」はオーソライゼーションサーバ内に含まれている。
・要求されるステップの全てが申し分なく終了した場合、オーソライゼーションサーバはトランザクションを正常に終了し、このオーソライゼーションが許諾されたことを合図する。
【０１９９】
Install transaction （インストール・トランザクション）はリポジトリ上で実行可能なソフトウェアとしてディジタルワークをインストールするための要求である。一般的なケースにおいて、リクエスタ・リポジトリはレンダリングリポジトリであり、このソフトウェアは新しい種類又は新しいバージョンのプレーヤーである。さらに一般的なケースにおいて、ソフトウェアは、リクエスタリポジトリがインストールされる前に、当該リクエスタリポジトリのファイルシステムにコピーされる。
・リクエスタはサーバへInstall メッセージを送る。このメッセージは、インストールされるワーク、呼び出されるインストール権のバージョン、及びそのワークのためのファイルデータ（そのサイズを含む）を指示する。
・リポジトリは、共通のオープニングトランザクションステップを実行する。
・リクエスタは、ソフトウェアのためのディジタル証明書のコピーを抽出する。この証明書が見つからず、又はこの証明書に対するマスタリポジトリがリクエスタに知らされていない場合、トランザクションはエラーで終了する。
・リクエスタは、マスタリポジトリのパブリックキーを用いてディジタルワーク証明書を復号すると共に、供給者とクリエータの識別、ソフトウェアを復号するためのキー、互換性情報、及び偽造チェックコードを記録する。（このステップはソフトウェアを認証する。）
・リクエスタは、証明書からのキーを用いてソフトウェアを復号し、単方向ハッシュ関数を用いてチェックコードをリクエスタ上で演算する。チェックコードが証明書からの偽造チェックコードと符号しない場合、インスタレーション・トランザクションはエラーで終了する。（このステップは、種々のスクリプトを含むソフトウェアの内容が偽造されていなかったことを確実とする。）
・リクエスタは互換性チェックスクリプトにおいて命令を検索し、それらをフォローする。ソフトウェアがリポジトリと互換性がない場合、インスタレーション・トランザクションはエラーで終了する。（このステップはプラットフォームの互換性をチェックする。）
・リクエスタはインスタレーションスクリプトにおいて命令を検索し、それらをフォローする。このプロセスにおいてエラーがあった場合（例えば、不十分なリソース）、トランザクションはエラーで終了する。インスタレーションプロセスは、他のトランザクションを実行する時のリポジトリ動作の一部としてソフトウェアを実行すること以外の任意の使用権を行使するためのワークとしてもはやアクセスできないリポジトリに、実行可能なソフトウェアを配置することに注目されたい。
・リポジトリは共通のクロージングトランザクションステップを実行する。
【０２００】
Uninstall transaction （アンインストール・トランザクション）は、リポジトリからソフトウェアを除外するための要求である。リポジトリからのソフトウェアの制御されない又は不正確な除外がその行動上の完全性を損傷し得るので、このステップは制御される。
・リクエスタは、Uninstall メッセージをサーバへ送る。このメッセージは、インストールされないワーク、呼び出されるUninstall 権のバージョン、及びこのワークのためのファイルデータ（そのサイズを含む）を示す。
・リポジトリは、共通のオープニングトランザクションステップを実行する。
・ソフトウェアのためのディジタル証明書のコピーを抽出する。この証明書が見つからず、又はこの証明書のためのマスタリポジトリがリクエスタに知らされていない場合、トランザクションはエラーで終了する。
・リクエスタは、ソフトウェアがインストールされたか否かをチェックする。ソフトウェアがインストールされない場合、トランザクションはエラーで終了する。
・リクエスタは、マスタリクエスタのパブリックキーを用いてディジタル証明書を復号すると共に、供給者とクリエータの識別、ソフトウェアを復号するためのキー、互換性情報、及び偽造チェックコードを記録する。（このステップは、ソフトウェアを除外するためのスクリプトを含むソフトウェアの証明書を認証する。）
・リクエスタは、証明書からのキーを用いてソフトウェアを復号し、単方向ハッシュ関数を用いてチェックコードをリクエスタ上で演算する。チェックコードが証明書からの偽造チェックコードと符号しない場合、インスタレーション・トランザクションはエラーで終了する。（このステップは、種々のスクリプトを含むソフトウェアの内容が偽造されていなかったことを確実とする。）
・リクエスタは、アンインスタレーション（除外設定）スクリプトにおける命令を検索し、これらの命令をフォローする。このプロセスにエラーが発生した場合（例えば、不十分なリソース）、当該トランザクションはエラーで終了する。
・リポジトリは共通のクロージング・トランザクション・ステップを実行する。
【符号の説明】
【０２０１】
２０１  リポジトリ
３０１  クレジットサーバ
４０１  プリントシステム
４０２  プリンタリポジトリ
４０３  プリントデバイス
４１０  マルチ機能システム
【図１】
2010020788.tif 000007
【図２】
2010020788.tif 000008
【図３】
2010020788.tif 000009
【図４】
2010020788.tif 000010
【図５】
2010020788.tif 000011
【図６】
2010020788.tif 000012
【図７】
2010020788.tif 000013
【図８】
2010020788.tif 000014
【図９】
2010020788.tif 000015
【図１０】
2010020788.tif 000016
【図１１】
2010020788.tif 000017
【図１２】
2010020788.tif 000018
【図１３】
2010020788.tif 000019
【図１４】
2010020788.tif 000020
【図１５】
2010020788.tif 000021
【図１６】
2010020788.tif 000022
【図１７】
2010020788.tif 000023
【図１８】
2010020788.tif 000024
【図１９】
2010020788.tif 000025