(57)【要約】【課題】アプリケーションは複数の機能を備える。アプリケーションに対応する製品ライセンスを取得する取引が小売店と交わされる。使用できるアプリケーションの少なくとも１つの機能を定義する製品ライセンスを提供すること。【解決手段】アプリケーションの基本コピーは、ディストリビュータから取得され、作動される。製品ライセンスに対応する使用ライセンスは、ユーザ、コンピューティングデバイス、およびコンピューティングデバイス上で動作している信頼できるコンポーネントのうちの少なくとも１つの識別子とともに製品ライセンスをライセンサに送る、作動されたアプリケーションを使って、ライセンサから取得される。使用ライセンスは、製品ライセンスで定義されているそれぞれの機能を使用する権利を付与する機能ポリシーを含む。【選択図】図４
2006216041.tif 000002
【特許請求の範囲】
【請求項１】
コンピューティングデバイス上で、複数の機能を含むアプリケーションを使用するための使用ライセンスを取得する方法において、
小売店から前記アプリケーションに対応する製品ライセンスを取得するために前記小売店と取引を交わすことであって、前記製品ライセンスは、前記製品ライセンスに基づいて使用することができる前記アプリケーションの少なくとも１つの機能を定義することと、
ディストリビュータから前記アプリケーションの基本コピーを取得し、前記アプリケーションを作動させることと、
ユーザ、前記コンピューティングデバイス、および前記コンピューティングデバイス上で動作している信頼できるコンポーネントのうちの少なくとも１つの識別子とともに前記製品ライセンスを前記ライセンサに送る前記作動されたアプリケーションを使って、前記製品ライセンスに対応する使用ライセンスをライセンサから取得することであって、前記使用ライセンスは、前記製品ライセンスで定義されているそれぞれの機能を使用する権利を付与する機能ポリシーを含むこととを
備えることを特徴とする方法。
【請求項２】
小売店により提供される前記アプリケーションの少なくとも１つの機能を定義し、かつ、前記アプリケーションの使用可能なエディションを表す、製品ライセンスを取得するために、前記小売店と取引を交わすことを備えることを特徴とする請求項１に記載の方法。
【請求項３】
前記製品ライセンスの取得者により選択された前記アプリケーションの少なくとも１つの機能を定義する製品ライセンスを取得するために、小売店と取引を交わすことを備えることを特徴とする請求項１に記載の方法。
【請求項４】
前記アプリケーションの前記基本コピーが得られる特定のディストリビュータを含む照会情報とともにパッケージングされた製品ライセンスを取得するために、小売店と取引を交わすことを備えることを特徴とする請求項１に記載の方法。
【請求項５】
前記アプリケーションの少なくとも一部は、鍵（ＫＤ）に従って、暗号化されかつ暗号解読可能であり、
前記鍵（ＫＤ）を暗号化する前記識別子から暗号鍵を含む使用ライセンスを取得し、それによって前記信頼できるコンポーネントは、前記鍵（ＫＤ）を取り出し、該鍵を使用して前記アプリケーションの少なくとも一部を暗号解読することができることを備えることを特徴とする請求項１に記載の方法。
【請求項６】
前記コンピューティングデバイスは、前記コンピューティングデバイスに対応するハードウェアＩＤ（ＨＷＩＤ）を含み、
前記ＨＷＩＤを含む使用ライセンスを取得し、それによって、前記信頼できるコンポーネントは、前記ＨＷＩＤを取り出し、該ＨＷＩＤを使用して、前記ライセンスが前記ＨＷＩＤを持つ前記コンピューティングデバイス上で使用されることを意図されていると判定することができることを備えることを特徴とする請求項１に記載の方法。
【請求項７】
前記アプリケーションのそれぞれの機能の少なくとも一部は、鍵（ＫＤ）に従って、暗号化されかつ暗号解読可能であり、
前記鍵（ＫＤ）を暗号化する前記識別子から暗号鍵を含む使用ライセンスを取得することを備え、さらに、
前記アプリケーションの特定の機能を使用する要求を受け取ることと、
前記取得された使用ライセンスを特定することと、
前記特定された使用ライセンスの機能ポリシーが前記特定の機能の前記要求された使用を許可すると判定することと、
前記特定された使用ライセンスから前記暗号化された鍵（ＫＤ）を取り出すことと、
前記暗号化された鍵（ＫＤ）の暗号解読をし、該鍵を使用して前記アプリケーションの前記特定の機能の少なくとも一部を暗号解読することと、
前記アプリケーションの前記特定の機能を使用することと
を備えることを特徴とする請求項１に記載の方法。
【請求項８】
さらに、前記特定された使用ライセンスの妥当性を確認することを備えることを特徴とする請求項７に記載の方法。
【請求項９】
前記使用ライセンスを使用した後に該使用ライセンスを返却し、前記製品ライセンスが取得されたときの前記取引を逆転することをさらに備え、前記使用ライセンスを返却することは、
それによって提供される前記対応する製品ライセンスを含む返却要求を前記小売店に送信することと、
信頼できる方法で前記使用ライセンスを前記コンピューティングデバイスから削除する、実行可能ファイルおよびコマンドのうちの一方を前記小売店から受け取ることと、
前記使用ライセンスを削除し、かつ、前記使用ライセンスの削除が成功したことを示すメッセージを前記小売店に送信するために、前記実行可能ファイル／コマンドを実行することとを含み、それによって、前記小売店は、前記製品ライセンスは無効である旨を前記ライセンサに通知し、前記ライセンサは、その旨をデータベースに記録し、前記製品ライセンスに基づく使用ライセンスのどのような要求も今後受け付けられないようにすることを特徴とする請求項１に記載の方法。
【請求項１０】
前記取得された使用ライセンスは、前記コンピューティングデバイスに結び付けられ、前記使用ライセンスを取得した後、該使用ライセンスを返却して他のコンピューティングデバイスに結び付けられている他の使用ライセンスを取得することをさらに備え、前記使用ライセンスを返却することは、
前記小売店によって提供される前記対応する製品ライセンスを含む転送要求を前記ライセンサに送信することと、
信頼できる方法で前記使用ライセンスを前記コンピューティングデバイスから削除する実行可能ファイルおよびコマンドのうちの一方を前記ライセンサから受け取ることと、
前記使用ライセンスを削除し、かつ、前記使用ライセンスの削除が成功したことを示すメッセージを前記ライセンサに送信するために、前記実行可能ファイル／コマンドを実行することとを含み、それによって、前記製品ライセンスは有効であり続け、前記ライセンサは、前記製品ライセンスを再び使用して前記他のコンピューティングデバイスに結び付けられている前記他の使用ライセンスを取得可能であることを注意することを特徴とする請求項１に記載の方法。
【請求項１１】
コンピューティングデバイス上で使用されるアプリケーションおよび前記アプリケーションを使用するための使用ライセンスであって、アプリケーションは複数の機能を備え、
前記コンピューティングデバイス上で前記アプリケーションをインスタンス化するための、および、鍵（ＫＤ）に従って暗号化されかつ暗号解読可能な、インスタンス化部分と、
それぞれの機能部分が１つの機能に対応する、複数の機能部分とを備え、
前記使用ライセンスは、
前記インスタンス化部分を使用して前記アプリケーションをインスタンス化することができるかどうかを判定するインスタンス化ポリシーと、
前記アプリケーションのそれぞれの機能を使用できるかどうかを判定する機能ポリシーと、
前記コンピューティングデバイスの信頼できるコンポーネントから利用できる鍵に従って暗号化されかつ暗号解読可能な前記鍵（ＫＤ）とを備え、
それによって、前記信頼できるコンポーネントは、前記使用ライセンスの前記インスタンス化ポリシーが前記インスタンス化部分を実際に使用して前記アプリケーションをインスタンス化できると判定した場合に、前記使用ライセンスから前記鍵（ＫＤ）を取り出し、前記取り出された（ＫＤ）を使用して、前記インスタンス化部分を暗号解読し、前記暗号解読されたインスタンス化部分はアプリケーションのインスタンス化に使用され、
それによって、その使用に先立つ条件として、前記使用ライセンスの前記機能ポリシーが前記機能部分の前記使用を許可することを、前記信頼できるコンポーネントが判定するように、それぞれの機能部分が要求することを特徴とするアプリケーションおよび使用ライセンス。
【請求項１２】
前記コンピューティングデバイスは前記コンピューティングデバイス３４に対応するハードウェアＩＤ（ＨＷＩＤ）を含み、前記使用ライセンスは前記ＨＷＩＤを含み、それによって、前記信頼できるコンポーネントは、前記ＨＷＩＤを取り出し、該ＨＷＩＤを使用して、前記ライセンスが前記ＨＷＩＤを有する前記コンピューティングデバイス上で使用されることを意図されている、と判定することができることを特徴とする請求項１１に記載のアプリケーションおよび使用ライセンス。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピューティングデバイスなどでデジタルアプリケーションを動作させるためのライセンスを供与するためのライセンシングアーキテクチャに関する。より詳細には、本発明は、使用可能な複数の機能とともにデジタルアプリケーションの１つのバージョンのみをリリースするだけでよく、特定のユーザに発行される特定のライセンスで使用可能などの機能をそのユーザが採用できるかを指定する場合などのライセンシングアーキテクチャに関する。そのため、アプリケーションの発行者（ｐｕｂｌｉｓｈｅｒ）は、同じアプリケーションの複数のバージョンをリリースする必要はなく、ユーザはライセンスを取得する際に複数の使用可能な機能のうちどれがライセンスされるべきかを選択することができる。
【背景技術】
【０００２】
権利管理および権利行使は、デジタルアプリケーションなどのデジタルコンテンツに関して、そのようなデジタルアプリケーションが１人または複数のユーザに配布される場合に、非常に望ましい。標準的な配布形態は、磁気（フロッピー（登録商標））ディスク、磁気テープ、光（コンパクト）ディスク（ＣＤ）などの有形のデバイス、および、電子掲示板、電子ネットワーク、インターネットなどの無形の媒体を含む。ユーザによってそのコンピューティングデバイス上で受信されたとき、そのようなユーザは、コンピューティングデバイス上の適切なオペレーティングシステムの助けを借りてアプリケーションを稼働させることが可能である。
【０００３】
通常、アプリケーションの作者および／または発行者は、ライセンス料またはその他の何らかの対価と引き換えに、そのようなアプリケーションを多数のユーザまたは受取人のそれぞれに配布することを望んでいる。そのような状況では、アプリケーションは、ワードプロセッシングアプリケーション、スプレッドシートアプリケーション、ブラウザアプリケーション、ゲームアプリケーション、メディアプレーヤアプリケーション、それらの組み合わせなどとすることができる。そのような作者／発行者またはその他の類似のエンティティ（これ以降「発行者」と呼ぶ）は、選択できれば、それぞれのユーザがそのような発行されたアプリケーションを用いてできることを制限することを望む可能性がある。例えば、発行者は、少なくとも発行者がそのような第２のユーザからライセンス料を受け取らないような形で、ユーザがそのようなアプリケーションをコピーして第２のユーザに再配布することを制限したい。
【０００４】
しかし、発行された後、そのような発行者は、アプリケーションを実際に制御できたとしてもほんの少しである。これは、事実上すべてのパーソナルコンピュータが、そのようなアプリケーションの正確なデジタルコピーを作成し、そのような正確なデジタルコピーを書き込み可能磁気または光ディスクにダウンロードする、またはそのような正確なデジタルコピーをインターネットなどのネットワークを介してどこかの宛先に送信するために必要なソフトウェアおよびハードウェアを備えるという事実に鑑みて特に問題である。
【０００５】
もちろん、アプリケーションを配布する取引の一部として、発行者は、アプリケーションのユーザ／受取人に、そのようなアプリケーションを歓迎されない方法で再配布しないことを約束することを要求することができる。しかし、そのような約束は、簡単に交わされ、簡単に破られる。発行者は、通常暗号化と暗号解読を伴ういくつかの知られているセキュリティデバイスを介してそのような再配布を防止しようと試みることができる。しかし、多少その気になった（ｄｅｔｅｒｍｉｎｅｄ）ユーザが、暗号化されたアプリケーションを暗号解読し、そのようなアプリケーションを暗号化されていない形式で保存し、それからそのアプリケーションを再配布することを防ぐことはほとんど不可能である（ｌｉｋｅｌｙ）。
【０００６】
さらに、発行者は、ユーザがさまざまなタイプまたはエディションのアプリケーションを手軽に購入できることを望んでいる場合がある。例えば、発行者は、フル機能エディションを高価格で、入門エディションを低価格で提供することを望む場合がある。同様に、発行者は、ビジネス用および家庭用、学生向け、および教師向けなどのエディションを提供すること望んでいる場合がある。しかし、従来技術では、アプリケーションのそれぞれのそのようなエディションでは、発行者側で別々の操作コード群を配布することが必要になることに留意されたい。そのため、理解されるように、同じアプリケーションの複数のエディションを提供するには、発行者側で、多額の支出を費やして、そのようなそれぞれのエディションのメンテナンス、パッケージング、および販売を個別に行う必要がある。さらに、そのようなそれぞれのエディションは、個別にサポートされ、個別に更新され、個別にデバッグされ、しかもさらにかなりの費用がかかる可能性が高い。また、アプリケーションにエラーまたはバグが見つかった場合、実際にすべてのそのようなエディションにエラーが存在するならば、またもやかなりの費用をかけて、それぞれのそのようなエディションは個別に検討され是正されなければならない可能性が高い。
【０００７】
ユーザがアプリケーションの異なるエディションを手軽に購入できるようにするために、発行者は、さまざまな種類の使用ライセンスをさまざまなライセンス料で提供し、それと同時に、実際に購入されたライセンスの種類の契約条件をユーザに守らせることができる。例えば、アプリケーションが複数の使用可能な機能を備えている場合、発行者は、ライセンスされるそのような使用可能な機能／エディションのユーザメニューを用意するか、またはさらにユーザにライセンスされる使用可能な機能のうちの特定の機能を選択させるようにしたい可能性がある。そうすることで、ユーザは、そのようなライセンスを購入すると、そのライセンスにより有効化されたアプリケーションの使用可能な機能を使用することができ、そのライセンスにより有効化されていないアプリケーションの使用可能な機能を使用することを制限される。おそらく、ライセンスの料金は、そのライセンスによって有効化される使用可能な機能に応じて異なるであろう。
【０００８】
重要なことに、アプリケーションの複数の種類のライセンスを提供することにより、またはアプリケーションのカスタマイズされたライセンスを提供することにより、発行者は、使用可能な機能のうちの特定の機能群に合わせてそれぞれ手直しされた、アプリケーションの複数の異なるエディションを配布する作業を回避することが可能である。その代わりに、発行者は、使用可能なすべての機能とともにアプリケーションの単一の基本コピーを配布し、その後そのようなすべての使用可能な機能の特定の部分集合のみを有効化するライセンスを提供するだけでよい。理解されるように、アプリケーションの単一の基本コピーが、有効なライセンスがないと動作不能になる形態で配布されれば、そのようなアプリケーションは、自由に配布し、再配布することができ、しかも、ユーザが発行者またはそのエージェントからライセンスを取得した場合のみそのようなユーザによる操作ができる。
【０００９】
権利管理（ＲＭ）および権利行使アーキテクチャおよび方法は、すでに実現されており、任意の形態のデジタルアプリケーションの動作を制御することができ、そのような制御は、そのようなアプリケーションの発行者により手軽に行うことができ、かつ、定義可能である。通常、デジタルライセンスは、アプリケーションを動作させるために提供され、アプリケーションは、そのようなライセンスがないと意味のある方法で作動させることができない。例えば、アプリケーションの少なくとも一部が暗号化され、ライセンスはそのような暗号化された部分を暗号解読するための暗号解読鍵を含む場合が考えられる。さらに、ライセンスはユーザまたはそのユーザのコンピューティングデバイスに結び付けられ、そのようなコンピューティングデバイスはライセンスの契約条件が必ず受け入れられるようにするセキュリティ機能を備える場合が考えられる。
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかし、使用可能な複数の機能またはエディションとともにデジタルアプリケーションの１つのコピーのみをリリースするだけでよく、かつ、特定のユーザに発行される特定のライセンスで使用可能な機能／エディションのうちそのユーザが使用できる機能／エディションを指定する、ライセンシングアーキテクチャを実現するために、そのようなＲＭアーキテクチャはこれまで使用されていない。したがって、アプリケーションの発行者が同じアプリケーションの複数のエディションをリリースする必要はなく、またユーザはライセンスを取得する際に複数の使用可能な機能／エディションのうちどれがライセンスされるべきかを選択することが可能な、そのようなライセンシングアーキテクチャが必要である。
【課題を解決するための手段】
【００１１】
そのような必要は、コンピューティングデバイス上で複数の機能を備えるアプリケーションを使用するための使用ライセンスを取得する方法が実現される本発明により少なくとも一部は満たされる。この方法では、小売店からアプリケーションに対応する製品ライセンスを取得するために、そのような小売店と取引が交わされ、製品ライセンスは、そのような製品ライセンスに基づいて使用することができるアプリケーションの少なくとも１つの機能を定義する。さらに、アプリケーションの基本コピーは、ディストリビュータから取得され、作動される。使用ライセンスは、製品ライセンスに対応し、ユーザ、コンピューティングデバイス、およびコンピューティングデバイス上で動作している信頼できるコンポーネントのうちの少なくとも１つの識別子とともに製品ライセンスをライセンサに送る、作動されたアプリケーションを使って、ライセンサにより取得され、その使用ライセンスは、製品ライセンスで定義されているそれぞれの機能を使用する権利を付与する機能ポリシーを含む。
【００１２】
前述の概要、ならびに本発明の実施形態の以下の詳細な説明は、付属の図面と併せ読めばよりよく理解できる。本発明を説明するため、現在好ましいいくつかの実施形態が図面に示されている。ただし、理解されるように、本発明は、図に示されている正確な配置および手段に限定されない。
【発明を実施するための最良の形態】
【００１３】
（コンピュータ環境）
図１および以下の説明は、本発明を実施できる適当なコンピューティング環境について簡潔に述べた一般的な説明である。しかし、すべての種類のハンドヘルドデバイス、ポータブルデバイス、およびその他のコンピューティングデバイスを本発明とともに使用することについて考えられることは理解されるであろう。以下では汎用コンピュータについて説明しているが、これは一例にすぎず、本発明は、ネットワークサーバ相互運用性および対話機能を持つシンクライアントのみを必要とする。したがって、本発明は、非常に小さなまたは最小限のクライアント資源が関連する、ネットワーク接続されホスティングされたサービスの環境、例えば、クライアントデバイスがワールドワイドウェブに接続するブラウザまたはインターフェイスとしてのみ使用されるネットワーク接続環境で実装することができる。
【００１４】
必要というわけではないが、本発明は、開発者による使用のためアプリケーションプログラミングインターフェイス（ＡＰＩ）を介して実装されることが可能であり、および／または、クライアントワークステーション、サーバ、またはその他のデバイスなどの１つまたは複数のコンピュータにより実行されるプログラムモジュールなどのコンピュータ実行可能命令の一般的文脈において説明されるネットワーク閲覧ソフトウェアに含まれることが可能である。一般に、プログラムモジュールは、特定のタスクを実行する、または特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。通常、プログラムモジュールの機能は、さまざまな実施形態で望まれているように組み合わせるか、または分散させることができる。さらに、当業者であれば、本発明が他のコンピュータシステム構成でも実施できることを理解するであろう。本発明とともに使用するのに好適であると思われる他のよく知られているコンピューティングシステム、環境、および／または構成は、限定はされることはないが、パーソナルコンピュータ（ＰＣ）、現金自動預け払い機、サーバコンピュータ、ハンドヘルドまたはラップトップデバイス、マルチプロセッサシステム、マイクロプロセッサベースのシステム、プログラム可能な家電製品、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータなどを含む。また、本発明は、通信ネットワークまたは他のデータ伝送媒体を通じてリンクされているリモート処理デバイスによりタスクが実行される分散コンピューティング環境で実施することもできる。分散コンピューティング環境では、プログラムモジュールをメモリ記憶デバイスなどのローカルとリモートの両方のコンピュータ記憶媒体に配置できる。
【００１５】
図１は、本発明を実装できる好適なコンピューティングシステム環境１００の一例を示しているが、上記の説明から明らかなように、コンピューティングシステム環境１００は、好適なコンピューティング環境の一例にすぎず、本発明の使用または機能の範囲に関して限定を示唆する意図はない。コンピューティング環境１００は、典型的な動作環境１００に例示されている１つのコンポーネントまたはその組み合わせに関係する何らかの依存関係または要求条件がその環境にあるものと解釈すべきでない。
【００１６】
図１では、本発明を実装する典型的なシステムは、コンピュータ１１０の形態の汎用コンピューティングデバイスを備える。コンピュータ１１０が備えるコンポーネントは、限定されることはないが、演算処理装置１２０、システムメモリ１３０、および、システムメモリを含めてさまざまなシステムコンポーネントを演算処理装置１２０に結合するシステムバス１２１を含むことができる。システムバス１２１は、メモリバスまたはメモリコントローラと、周辺機器バスと、さまざまなバスアーキテクチャを使用するローカルバスとを含む数種類のバス構造のうちのいずれでもよい。例えば、限定はしないが、このようなアーキテクチャとしては、Ｉｎｄｕｓｔｒｙ  Ｓｔａｎｄａｒｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ（ＩＳＡ）バス、Ｍｉｃｒｏ  Ｃｈａｎｎｅｌ  Ａｒｃｈｉｔｅｃｔｕｒｅ（ＭＣＡ）バス、Ｅｎｈａｎｃｅｄ  ＩＳＡ（ＥＩＳＡ）バス、Ｖｉｄｅｏ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｓｔａｎｄａｒｄｓ  Ａｓｓｏｃｉａｔｉｏｎ（ＶＥＳＡ）ローカルバス、およびＰｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ（ＰＣＩ）バス（Ｍｅｚｚａｎｉｎｅバスとも呼ばれる）がある。
【００１７】
コンピュータ１１０は、通常、さまざまなコンピュータ読取可能媒体を含む。コンピュータ読取可能媒体は、コンピュータ１１０によってアクセス可能な媒体であればどのような媒体でも使用可能であり、揮発性および不揮発性媒体、取り外し可能および取り外し不可能媒体の両方を含む。例えば、限定されることはないが、コンピュータ読取可能媒体は、コンピュータ記憶媒体および通信媒体を含むことができる。コンピュータ記憶媒体は、コンピュータ読取可能命令、データ構造体、プログラムモジュール、またはその他のデータなどの情報を格納する方法または技術で実装される揮発性および不揮発性、取り外し可能および取り外し不可能媒体の両方を含む。コンピュータ記憶媒体は、限定されることはないが、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリまたはその他のメモリ技術、ＣＤＲＯＭ、デジタル多目的ディスク（ＤＶＤ）またはその他の光ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置またはその他の磁気記憶デバイス、または、所望の情報を格納するために使用することができしかもコンピュータ１１０によりアクセス可能なその他の媒体が含まれる。通信媒体は、通常、コンピュータ読取可能命令、データ構造体、プログラムモジュール、または搬送波もしくはその他のトランスポートメカニズムなどの変調データ信号によるその他のデータを具現するものであり、任意の情報配信媒体を含む。「変調データ信号」という用語は、信号における情報を符号化するような方法でその特性のうちの１つまたは複数が設定または変更された信号を意味する。例えば、限定はされないが、通信媒体は、有線ネットワークまたは直接配線接続などの有線媒体、および音響、ＲＦ、赤外線、およびその他の無線媒体などの無線媒体を含む。上記のいずれの組み合わせもコンピュータ読取可能媒体の範囲に含まれなければならない。
【００１８】
システムメモリ１３０は、読み取り専用メモリ（ＲＯＭ）１３１およびランダムアクセスメモリ（ＲＡＭ）１３２などの揮発性および／または不揮発性メモリの形態のコンピュータ記憶媒体を含む。起動時などにコンピュータ１１０内の要素間の情報伝送を助ける基本ルーチンを含む基本入出力システム１３３（ＢＩＯＳ）は、通常、ＲＯＭ１３１に格納される。通常、ＲＡＭ１３２は、演算処理装置１２０に直接アクセス可能な、および／または演算処理装置１２０によって現在操作されているデータおよび／またはプログラムモジュールを格納する。例えば、限定されることはないが、図１は、オペレーティングシステム１３４、アプリケーションプログラム１３５、その他のプログラムモジュール１３６、およびプログラムデータ１３７を例示している。
【００１９】
コンピュータ１１０はさらに、その他の取り外し可能／取り外し不可能な揮発性／不揮発性コンピュータ記憶媒体を備えることもできる。例にすぎないが、図１は、取り外し不可能な不揮発性磁気媒体の読み書きを行うハードディスクドライブ１４１、取り外し可能な不揮発性磁気ディスク１５２の読み書きを行う磁気ディスクドライブ１５１、およびＣＤＲＯＭまたはその他の光媒体などの取り外し可能な不揮発性光ディスク１５６の読み書きを行う光ディスクドライブ１５５を例示している。動作環境の実施例で使用できる他の取り外し可能／取り外し不可能な揮発性／不揮発性コンピュータ記憶媒体としては、限定されることはないが、磁気テープカセット、フラッシュメモリカード、デジタル多目的ディスク、デジタルビデオテープ、ソリッドステートＲＡＭ、ソリッドステートＲＯＭなどがある。ハードディスクドライブ１４１は、通常、インターフェイス１４０などの取り外し不可能なメモリインターフェイスを介してシステムバス１２１に接続され、磁気ディスクドライブ１５１および光ディスクドライブ１５５は、通常、インターフェイス１５０などの取り外し可能なメモリインターフェイスによりシステムバス１２１に接続される。
【００２０】
図１に例示されている上記のドライブおよび関連コンピュータ記憶媒体は、コンピュータ１１０用のコンピュータ読取可能命令、データ構造体、プログラムモジュール、およびその他のデータを格納する機能を備える。例えば、図１では、ハードディスクドライブ１４１は、オペレーティングシステム１４４、アプリケーションプログラム１４５、その他のプログラムモジュール１４６、およびプログラムデータ１４７を格納するものとして例示されている。これらのコンポーネントは、オペレーティングシステム１３４、アプリケーションプログラム１３５、その他のプログラムモジュール１３６、およびプログラムデータ１３７と同じである場合も異なる場合も可能であることに留意されたい。オペレーティングシステム１４４、アプリケーションプログラム１４５、その他のプログラムモジュール１４６、およびプログラムデータ１４７に対しては、ここで、異なる番号を割り当てて、最低でも、それらが異なるコピーであることを示している。ユーザは、キーボード１６２、および、マウス、トラックボールまたはタッチパッドと一般に呼ばれるポインティングデバイス１６１などの入力デバイスを介してコンピュータ１１０にコマンドおよび情報を入力できる。他の入力装置（図に示されていない）は、マイク、ジョイスティック、ゲームパッド、衛星パラボラアンテナ、スキャナなどを含むことができる。これらの入力デバイスおよびその他の入力デバイスは、システムバス１２１に結合されているユーザ入力インターフェイス１６０を通じて演算処理装置１２０に接続されることが多いが、パラレルポート、ゲームポート、またはＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）などの他のインターフェイスおよびバス構造により接続されることもできる。
【００２１】
モニタ１９１またはその他の種類の表示デバイスも、ビデオインターフェイス１９０などのインターフェイスを介してシステムバス１２１に接続される。Ｎｏｒｔｈｂｒｉｄｇｅなどのグラフィックスインターフェイス１８２は、さらに、システムバス１２１に接続されることもできる。Ｎｏｒｔｈｂｒｉｄｇｅは、ＣＰＵまたはホスト演算処理装置１２０と通信するチップセットであり、ＡＧＰ（Ａｃｃｅｌｅｒａｔｅｄ  Ｇｒａｐｈｉｃｓ  Ｐｏｒｔ）との通信を受け持つ。１つまたは複数のＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１８４は、グラフィックスインターフェイス１８２と通信することができる。この点に関して、ＧＰＵ１８４は、一般に、レジスタ記憶装置などのオンチップメモリ記憶装置を含み、ＧＰＵ１８４は、ビデオメモリ１８６と通信する。しかし、ＧＰＵ１８４は、コプロセッサの一例に過ぎず、したがって、さまざまなコプロセッシングデバイスをコンピュータ１１０に組み込むことができる。モニタ１９１またはその他の種類の表示デバイスも、ビデオメモリ１８６とさらに通信することができる、ビデオインターフェイス１９０などのインターフェイスを介してシステムバス１２１に接続される。モニタ１９１のほかに、コンピュータはさらにスピーカ１９７およびプリンタ１９６などの他の周辺出力デバイスも含むことができ、これらは出力周辺機器インターフェイス１９５を介して接続することができる。
【００２２】
コンピュータ１１０は、リモートコンピュータ１８０などの１つまたは複数のリモートコンピュータへの論理接続を使用してネットワーク接続環境で動作することができる。リモートコンピュータ１８０は、パーソナルコンピュータ、サーバ、ルータ、ネットワークＰＣ、ピアデバイス、またはその他の共通ネットワークノードでもよく、通常は、コンピュータ１１０に関係する上述の要素の多くまたはすべてを含むが、メモリ記憶デバイス１８１だけが図１に例示されている。図１に示されている論理接続は、ＬＡＮ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１７１およびＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）１７３を含むが、他のネットワークを含むこともできる。このようなネットワーキング環境は、オフィス、企業全体にわたるコンピュータネットワーク、イントラネット、およびインターネットでは一般的である。
【００２３】
ＬＡＮネットワーキング環境で使用される場合、コンピュータ１１０は、ネットワークインターフェイスまたはアダプタ１７０を介してＬＡＮ１７１に接続される。ＷＡＮネットワーキング環境で使用される場合、コンピュータ１１０は、通常、インターネットなどのＷＡＮ１７３上で通信を確立するためのモデム１７２またはその他の手段を含む。モデム１７２は、内蔵でも外付けでもよいが、ユーザ入力インターフェイス１６０またはその他の適切なメカニズムを介してシステムバス１２１に接続されうる。ネットワーク接続環境では、コンピュータ１１０またはその一部に関して示されているプログラムモジュールは、リモートメモリ記憶デバイスに格納されうる。例えば、限定されることはないが、図１はリモートアプリケーションプログラム１８５をメモリデバイス１８１に置かれているものとして例示している。図に示されているネットワーク接続は実施例であり、コンピュータ間の通信リンクを確立するのに他の手段が使用可能であることは理解されるであろう。
【００２４】
当業者であれば、コンピュータ１１０またはその他のクライアントデバイスをコンピュータネットワークの一部として配備できることを理解できるであろう。この点に関して、本発明は、任意の数のメモリまたは記憶装置ユニット、および任意の数の記憶装置ユニットまたはボリュームにまたがって実行される任意の数のアプリケーションおよびプロセスを備える任意のコンピュータシステムに関係する。本発明は、リモートまたはローカル記憶装置を備える、サーバコンピュータおよびクライアントコンピュータがネットワーク環境に配備された環境に適用することができる。本発明は、さらに、プログラミング言語機能、インタプリタ機能、および実行機能を有する、スタンドアロンのコンピューティングデバイスに適用することもできる。
【００２５】
分散コンピューティングにより、コンピューティングデバイスとシステムとの間の直接的なやり取りによるコンピュータ資源およびサービスの共有が円滑になる。これらの資源およびサービスは、情報の交換、キャッシュ記憶、およびファイルのディスクへの格納を含む。分散コンピューティングでは、ネットワーク接続を利用しており、これにより、クライアントは全体のパワーを活かすことができ、企業全体にとって有益である。この点に関して、さまざまなデバイスが、アプリケーション、オブジェクト、または資源を備え、これらは相互作用して、信頼できる（複数の）グラフィックスパイプラインについて本発明の認証手法を伴うことができる。
【００２６】
図２は、ネットワーク接続されたコンピューティング環境または分散コンピューティング環境の例の概略図である。分散コンピューティング環境は、コンピューティングオブジェクト１０ａ、１０ｂなど、およびコンピューティングオブジェクトまたはデバイス１１０ａ、１１０ｂ、１１０ｃなどを備える。これらのオブジェクトは、プログラム、メソッド、データストア、プログラム可能ロジックなどを備えることができる。これらのオブジェクトは、ＰＤＡ、テレビ、ＭＰ３プレーヤー、テレビ、パーソナルコンピュータなどの同じまたは異なるデバイスの一部を備えることができる。それぞれのオブジェクトは、通信ネットワーク１４により他のオブジェクトと通信することが可能である。このネットワークは、それ自体、サービスを図２のシステムに提供する他のコンピューティングオブジェクトおよびコンピューティングデバイスを備えることができる。本発明の一態様によれば、それぞれのオブジェクト１０または１１０は、信頼できる（複数の）グラフィックスパイプラインについて本発明の認証手法を要求する可能性のあるアプリケーションを含むことができる。
【００２７】
さらに、１１０ｃなどのオブジェクトが他のコンピューティングデバイス１０または１１０上などでホスト（ｈｏｓｔ）されうることも理解できるであろう。したがって、表されている物理的環境は、接続デバイスをコンピュータとして示している場合があるが、そのような例示は単に例にすぎず、物理的環境は、別法として、ＰＤＡ、テレビ、ＭＰ３プレーヤーなどのさまざまなデジタルデバイス、インターフェイス、ＣＯＭオブジェクトなどのソフトウェアオブジェクトを備えるものとして表すか、または説明することができる。
【００２８】
分散コンピューティング環境をサポートするシステム、コンポーネント、およびネットワーク構成はさまざまなものがある。例えば、コンピューティングシステムは、有線または無線システム、ローカルネットワークまたは広域分散ネットワークにより接続して一体とすることができる。今のところ、ネットワークの多くは、広域分散コンピューティングのインフラストラクチャを提供し、多数の異なるネットワークを包含するインターネットに結合されている。
【００２９】
ホームネットワーキング環境では、それぞれがパワーラインなどの一意的なプロトコル、データ（無線および有線の両方）、音声（例えば電話）、および娯楽媒体をサポートすることができる少なくとも４つの異種ネットワークトランスポート媒体がある。ライトスイッチおよびアプライアンスなどのほとんどのホームコントロールデバイスでは、接続のために送電線を使用することができる。データサービスは、家庭にブロードバンドとして入ることができ（例えば、ＤＳＬまたはケーブルモデムのいずれか）、無線（例えば、ＨｏｍｅＲＦまたは８０２．１１ｂ）または有線（例えば、ＨｏｍｅＰＮＡ、Ｃａｔ５、さらには送電線）接続を使用して家庭内でアクセス可能である。音声トラフィックは、有線（例えば、Ｃａｔ３）または無線（例えば、携帯電話）として家庭に入り、Ｃａｔ３配線を使用して家庭内に分配することができる。娯楽媒体は、衛星またはケーブルを通じて家庭に入ることができ、通常は、同軸ケーブルを使用して家庭内に分配される。ＩＥＥＥ１３９４およびＤＶＩは、さらに、メディアデバイスのクラスタに対するデジタル相互接続としても登場している。これらのネットワーク環境およびプロトコル標準として現れる可能性のある他の環境は、すべて相互接続することにより、インターネットを使って外部世界に接続できるイントラネットを形成することができる。つまり、データの記憶および伝送のためのさまざまな異種ソースが存在し、したがって、コンピューティングデバイスを実現する（ｍｏｖｅ  ｆｏｒｗａｒｄ）ためには、データ処理パイプラインのすべての部分でコンテンツを保護する複数の手段を必要とする。
【００３０】
「インターネット」とは、一般に、ＴＣＰ／ＩＰプロトコル群を利用するネットワークおよびゲートウェイの集合体のことであり、コンピュータネットワーキングの技術ではよく知られている。ＴＣＰ／ＩＰは、「Ｔｒａｎｓｐｏｒｔ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ／Ｉｎｔｅｒｆａｃｅ  Ｐｒｏｇｒａｍ」の頭字語である。インターネットは、ユーザ同士が複数のネットワーク上で情報をやり取りして情報を共有することを可能とするネットワーキングプロトコルを実行するコンピュータにより相互接続された、地理的に分散し離れている複数のコンピュータネットワークからなる１つのシステムとして説明することができる。このように広域に分散している情報を共有するため、これまでに、一般的にいって、インターネットなどのリモートネットワークは、開発者が本質的な制約なしで専用のオペレーションまたはサービスを実行するソフトウェアアプリケーションを設計可能なオープンシステムに発展してきたのである。
【００３１】
したがって、ネットワークインフラストラクチャにより、クライアント／サーバ、ピアツーピア、またはハイブリッドアーキテクチャなどの多数のネットワークトポロジが使用可能となる。「クライアント」は、関係しない他のクラスまたはグループのサービスを使用するクラスまたはグループのメンバである。そのため、コンピューティングでは、１つのクライアントは、他のプログラムによって提供されるサービスを要求する１つのプロセス、つまり、おおまかにいうと、一組の命令またはタスクである。クライアントプロセスは、他のプログラムまたはサービス自体について仕組み面の詳細を「知る」ことなしに、要求されたサービスを利用する。クライアント／サーバアーキテクチャ、特にネットワーク接続システムでは、クライアントは、通常、他のコンピュータ、例えば、サーバによって提供される共有ネットワーク資源にアクセスするコンピュータである。図２の例では、コンピュータ１１０ａ、１１０ｂなどは、クライアントと考えることが可能であり、コンピュータ１０ａ、１０ｂなどは、サーバと考えることが可能であるが、サーバ１０ａ、１０ｂなどは、その後クライアントコンピュータ１１０ａ、１１０ｂなどで複製されるデータを保持する。
【００３２】
サーバは、通常、インターネットなどのリモートネットワーク上でアクセス可能なリモートコンピュータシステムである。クライアントプロセスは、第１のコンピュータシステム内でアクティブであり、サーバプロセスは、第２のコンピュータシステム内でアクティブであって、通信媒体を介して互いに通信し、それにより、分散機能を実現して、複数のクライアントがサーバの情報収集機能を利用できるようにする。
【００３３】
クライアントおよびサーバは、プロトコルレイヤによって提供される機能を利用して互いに通信することができる。例えば、ＨＴＴＰ（Ｈｙｐｅｒｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）は、ＷＷＷ（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ）とともに使用される共通プロトコルである。通常、ＵＲＬ（Ｕｎｉｖｅｒｓａｌ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）またはＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）アドレスなどのコンピュータネットワークアドレスは、サーバまたはクライアントコンピュータ同士を識別するのに使用される。このネットワークアドレスは、Ｕｎｉｖｅｒｓａｌ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒアドレスと呼ぶことが可能である。例えば、通信は、通信媒体上で実現できる。特に、クライアントおよびサーバは、大容量通信用のＴＣＰ／ＩＰ接続を介して互いに結合することができる。
【００３４】
そこで、図２は、本発明を採用でき、ネットワーク／バスを介してクライアントコンピュータと通信するサーバを備える、ネットワーク接続環境または分散環境の例を示している。詳しく述べると、多数のサーバ１０ａ、１０ｂなどが、ＬＡＮ、ＷＡＮ、イントラネット、インターネットなどとすることができる通信ネットワーク／バス１４を介して、ポータブルコンピュータ、ハンドヘルドコンピュータ、シンクライアント、ネットワーク接続アプライアンス、またはＶＣＲ、ＴＶ、オーブン、照明、暖房、および本発明によるものなどの他のデバイスなど、多数のクライアントまたはリモートコンピューティングデバイス１１０ａ、１１０ｂ、１１０ｃ、１１０ｄ、１１０ｅなどと相互接続される。したがって、本発明は、コンピューティングデバイスに適用でき、それに関連して信頼できるソースからの安全なコンテンツを処理、格納、またはレンダリングすることが望ましいことが考えられる。
【００３５】
通信ネットワーク／バス１４がインターネットであるネットワーク環境で、例えば、サーバ１０は、クライアント１１０ａ、１１０ｂ、１１０ｃ、１１０ｄ、１１０ｅなどがＨＴＴＴＰなどの多数の知られているプロトコルのどれかを介して通信する相手となるＷｅｂサーバとすることが可能である。サーバ１０は、さらに、分散コンピューティング環境の特徴的なものとすることができるように、クライアント１１０として働くこともできる。通信は、適切であれば、有線でも無線でもよい。クライアントデバイス１１０は、通信ネットワーク／バス１４を介して通信することができる場合もできない場合もあり、また独立の通信が関連している場合もある。例えば、ＴＶまたはＶＣＲの場合、その制御のネットワーク接続に対応する態様がある場合もない場合もある。それぞれのクライアントコンピュータ１１０およびサーバコンピュータ１０は、さまざまなアプリケーションプログラムモジュールまたはオブジェクト１３５を備えることができ、またさまざまな種類の記憶素子またはオブジェクトとの接続またはアクセスが行え、それらにファイルを格納したり、ファイルの一部をそこにダウンロードまたは移行することができる。したがって、本発明は、コンピュータネットワーク／バス１４にアクセスしやり取りすることが可能なクライアントコンピュータ１１０ａ、１１０ｂなど、およびクライアントコンピュータ１１０ａ、１１０ｂなどおよび他のデバイス１１１とやり取りすることができるサーバコンピュータ１０ａ、１０ｂなどおよびデータベース２０を有するコンピュータネットワーク環境で使用することが可能である。
【００３６】
（権利管理（ＲＭ）の概要）
知られているように、図３を参照すると、権利管理（ＲＭ）および実施は、ユーザに配布されるデジタルアプリケーション（ＡＰ）３２に関して非常に望ましい。ユーザによって受信された後、そのようなユーザは、適切なコンピューティングデバイス３４などの助けを借りてアプリケーション３２をインスタンス化する。
【００３７】
通常、アプリケーションの作者または発行者（これ以降「発行者」と呼ぶ）４４は、そのようなデジタルアプリケーション３２を配布する場合に、ユーザがそのような配布アプリケーション３２で実行可能な内容を制限することを望む。例えば、発行者４４は、ユーザがそのようなアプリケーション３２をコピーして第２のユーザに再配布することを制限することを望んでいるか、または、配布アプリケーション３２が、限定された回数のみ、特定の総時間数のみ、特定の種類のマシン上でのみ、特定の種類のレンダリングプラットフォーム上でのみ、特定の種類のユーザのみなどで、動作するように望んでいる場合がある。
【００３８】
しかし、配布が実行された後、そのような発行者４４は、アプリケーション３２を制御できたとしてもほんのわずかである。ＲＭシステム３０は、アプリケーション３２の作動を制御することを許可し、そのような制御は、そのようなアプリケーション３２の発行者４４により柔軟に行え、また定義可能である。通常、アプリケーション３２は、何らかの適切な配布チャネルを使ってパッケージ３３の形でユーザに配布される。パッケージ３３は、配布されるときに、対称暗号／暗号解読鍵（ＫＤ）（つまり、（ＫＤ（ＡＰ）））とともに、アプリケーション３２を識別する他の情報、そのようなアプリケーション３２に対するライセンスを取得する方法などにより暗号化されたアプリケーション３２またはその一部を含むことができる。
【００３９】
信頼に基づくＲＭシステム３０は、アプリケーション３２の発行者４４が、そのようなアプリケーション３２をユーザのコンピューティングデバイス３４上で作動させることが許可される前に満たされていなければならないライセンスルールを指定することができるようにする。そのようなライセンスルールは、上述の時間的要件を含むことが可能であり、またユーザ／ユーザのコンピューティングデバイス３４（そのような条件は状況により別の扱いを必要としない限り取り替え可能である）が発行者４４またはそのエージェントから取得しなければならないデジタルライセンスまたは使用ドキュメント（これ以降「ライセンス」と呼ぶ）３６の中に実現することができる。そのようなライセンス３６は、さらに、おそらくユーザのコンピューティングデバイス３４により暗号解読可能な鍵に従って暗号化されている、アプリケーション３２の暗号化された部分を暗号解読するための暗号解読鍵（ＫＤ）も含む。図３からわかるように、そのような暗号化鍵は、ユーザのコンピューティングデバイス３４の公開鍵（ＰＵ−ＢＢ）とすることができ、またユーザのコンピューティングデバイス３４は、（ＰＵ−ＢＢ（ＫＤ））を暗号解読するために使用される対応する秘密鍵（ＰＲ−ＢＢ）を持つと考えられる。
【００４０】
ライセンス３６の中でそのような発行者４４によって指定されたルールおよび要件にユーザのコンピューティングデバイス３４が従うこと、つまり、アプリケーション３２は、ライセンス３６内のルールおよび要件が満たされない限り作動されないということを、アプリケーション３２の発行者４４は信頼しなければならない。そこで、ユーザのコンピューティングデバイス３４は、アプリケーション３２に関連付けられた、またユーザにより取得されたライセンス３６内に実現されるライセンスルールに従わないとアプリケーション３２を作動させない、信頼できるコンポーネントまたはメカニズム３８を備えるのが好ましい。
【００４１】
信頼できるコンポーネント３８は、通常、ライセンス３６が有効かどうかを判定し、そのような有効なライセンス３６の中のライセンスルールおよび要件をレビューし、レビューされたライセンスルールおよび要件に基づいて、とりわけ求められている方法で、対応するアプリケーション３２を作動させる権利を要求側ユーザが有するかどうかを判定するライセンスエバリュエータ４０を有する。理解されるように、ライセンスエバリュエータ４０は、ＲＭシステム３０内で、ライセンス３６の中のルールおよび要件に従ってアプリケーション３２の発行者４４の望みを遂行すると信頼されており、ユーザは、無法な、あるいは他の何らかの目的のためにそのような信頼できる要素を容易に変更できるようであってはならない。
【００４２】
理解されるように、ライセンス３６内のルールおよび要件で、ユーザが誰であるか、ユーザがどこにいるか、ユーザがどのような種類のコンピューティングデバイス３４を使用しているか、どのようなオペレーティングシステムがＲＭシステム３０を呼び出しているか、日付、時刻など、複数のファクタのどれかに基づいてアプリケーション３２を作動する権利をユーザが有するかどうかを指定することが可能である。さらに、ライセンス３６のルールおよび要件は、例えば、ライセンス３６を所定の作動回数、または所定の動作時間に制限することができる。そのため、信頼できるコンポーネント３８は、コンピューティングデバイス３４上のクロック４２を参照する必要があると考えられる。
【００４３】
ルールおよび要件は、任意の適切な言語および構文に従ってライセンス３６において指定することができる。例えば、言語は、条件が満たされなければならない属性および値（例えば、ＤＡＴＥはＸ以降でなければならない）を単純に指定することができるか、または指定されたスクリプト（例えば、ＩＦ  ＤＡＴＥ  ｇｒｅａｔｅｒ  ｔｈａｎ  Ｘ，ＴＨＥＮ  ＤＯ．．．）に従って機能を実行する必要があると思われる。
【００４４】
ライセンスエバリュエータ４０が、ライセンス３６が有効でありユーザがその中のルールおよび要件を満たしていると判定した後、アプリケーション３２を作動させることができる。特に、アプリケーション３２を作動させるために、暗号解読鍵（ＫＤ）がライセンス３６から取得され、パッケージ３３から（ＫＤ（ＡＰ））に適用され、その結果実際のアプリケーション３２が得られ、その実際のアプリケーション３２が、ライセンス３６内で規定されている方法により実際に作動される。
【００４５】
上述のように、（ＰＵ−ＢＢ（ＫＤ））が有効であるライセンス３６では、（ＰＲ−ＢＢ）を所有するエンティティが（ＫＤ）にアクセスし、それにより、そのような（ＫＤ）に従って暗号化されたアプリケーション３２にアクセスすることを許可するが、もちろん、エンティティがライセンス３６内に規定されているすべての条件に従っていることが想定される。しかし、理解されるように、他の種類のライセンス３６が、ＲＭシステム３０内に存在する場合もある。
【００４６】
例えば、一状況では、アプリケーション３２の発行者４４は、１つまたは複数の特定のライセンサ４６がパブリッシングライセンス３６ｐをライセンサ４６に提供することによりアプリケーション３２に対するライセンス３６の発行を許可できることは理解されるであろう。理解されるように、そのようなパブリッシングライセンス３６ｐは、そのようなパブリッシングライセンス３６ｐが、ライセンサ４６の公開鍵（ＰＵ−ＢＢ）に従ってここで暗号化されたアプリケーション３２の暗号解読を行うための暗号解読鍵（ＫＤ）を含む可能性があるという点で、ライセンス３６に類似している。同様に、パブリッシングライセンス３６ｐは、コンテンツ３２をレンダリングするためのルールおよび要件を含む可能性がある。しかし、ここで、そのようなルールおよび要件は、ライセンサ４６により発行されるとおりにライセンス３６の中に挿入され、そのようなライセンサ４６に特に適用可能というわけではない。
【００４７】
ただし、パブリッシングライセンス３６ｐは、実際には、ライセンサ４６に実際に適用可能である他のルールおよび要件を含むことができることに留意されたい。したがって、ライセンサ４６は、ユーザのコンピューティングデバイス３４と類似の方法で、ライセンスエバリュエータ４０とともに信頼できるコンポーネント３８を含まなければならない。通常提供されるようなそれぞれの種類のライセンス３６、３６ｐなど（これ以降「ライセンス３６」と呼ぶ）は、認証／検証を目的とする電子署名を含み、それぞれの電子署名は、ライセンス３６が受け付けられる前に信頼できるコンポーネント３８により妥当性の確認が行われることに注目すべきである。もちろん、妥当性確認が失敗した場合、プロセスは終了し、ライセンス３６は受け入れられない。
【００４８】
（デジタルアプリケーションのライセンスを供与するための柔軟なライセンシングアーキテクチャ）
上述のように、発行者４４は、ユーザにさまざまな種類またはエディションのアプリケーション３２を手軽に購入できるようにすることを望んでいる場合がある。例えば、ここでもまた、発行者４４は、フル機能エディション、入門エディション、ビジネスエディション、ホームエディションなどを提供することを望んでいる場合がある。しかし、従来技術によれば、アプリケーション３２のそのようなそれぞれのエディションは、コードセット（つまり、コンピュータファイルまたは一連のそのようなファイルなど）として別々に発行される。そのようなそれぞれ別々に発行されるコードセットのサポート、メンテナンス、マーケティングおよび配布は、特に、一般に発行される単一のコードセットに関するそのような雑用を実行することに比べて、かなり込み入った作業になる可能性があることは明らかであろう。
【００４９】
したがって、本発明の一実施形態では、発行者は、アプリケーション３２の共通コードセットを実際に発行するが、異なる対応するＲＭライセンス３６を発行することによりアプリケーション３２の複数のエディションを区別する。共通コードセット内で規定されているようなアプリケーション３２は、複数の機能などを備えるように定義され、それぞれのライセンス３６は、定義された機能のうちの特定の機能を有効にし、および／または定義された機能のうちの特定の機能を無効にするように定義されることに注目すべきである。ＲＭアーキテクチャ３０内でアプリケーション３２用のそのようなライセンス３６を作成し、使用することは当業者に知られているか、または明らかであろうから、したがってここでは詳細に述べる必要はない。したがって、そのようなライセンス３６を作成し使用するそのような方法は、本発明に関して規定されている精神から逸脱することなく使用することができる。
【００５０】
例えば、アプリケーション３２は、コンピューティングデバイス３４上でそのインスタンス化部分をインスタンス化するインスタンス化部分を備え、そのようなインスタンス化部分は、ライセンス３６からの鍵（ＫＤ）に従って暗号化され、まだ暗号解読可能である場合が考えられる。そのため、ユーザからの適切なコマンドなどがあると、信頼できるコンポーネント３８は、そのようなライセンス３６によって許可されている場合にライセンス３６からそのような鍵（ＫＤ）を取り出し、その取り出された（ＫＤ）を使用してインスタンス化部分を暗号解読し、その暗号解読されたインスタンス化部分は、その後、アプリケーション３２をインスタンス化するために使用される。
【００５１】
同様に、アプリケーション３２は、複数の機能部分を持ち、それぞれが１つの機能に対応するように定義され、その使用に先立つ条件として、ライセンス３６がそのように許可することを、信頼できるコンポーネント３８が確認するように、それぞれの機能部分が要求する場合がありうる。そのため、アプリケーション３６が機能Ａ、Ｂ、およびＣを持つ場合、アプリケーション３２の第１のエディションに対応する第１のライセンス３２により機能Ａのみを使用することができ、アプリケーション３２の第２のエディションに対応する第２のライセンス３２により機能ＢおよびＣのみを使用でき、アプリケーション３２の第３のエディションに対応する第３のライセンス３２により機能Ａ、Ｂ、およびＣの全てを使用することができること等が理解されるであろう。ここで、エディションは、特定の型の対応するライセンス３６のみを提供することにより発行者４４により定義することができるか、または特定のライセンス３６を取得する過程でユーザによりカスタマイズすることができるが、その際に、発行者は実際にそのようなカスタマイズされたライセンス３６を提供すると仮定する。特定の型のライセンス３６を取得する際に、ユーザは、ライセンス３６により有効化されるアプリケーション３２の使用可能な機能を使用することができ、ライセンス３６により有効化されていないアプリケーション３２の使用可能な機能を使用することを制限される。おそらく、ライセンス３６が料金ベースの購入として取得される場合、そのような料金は、それにより有効化されたアプリケーション３２内の使用可能な機能に基づいて変化することになる。
【００５２】
アプリケーション３２は上で述べたように少なくとも３つのエディションで提供できるが、３つのエディションすべては、すべての使用可能な機能が含まれるアプリケーション３２の単一の基本コピーに基づくことができることに注目すべきである。理解されるように、それぞれの機能は、ライセンスによりそのような機能が有効にされるか、またはそのような機能が無効にされていない場合に、特定のライセンス３６を持つ特定のユーザが利用できる。さらに、アプリケーション３２は適切に取得されたライセンス３６でのみ使用可能であるため、単一の基本コピーは、不適切な使用を危惧することなく広く配布され、また再配布されることができる。
【００５３】
とりわけ、アプリケーションに対しそのようなライセンス３６を発行することを達成するために、また本発明の一実施形態では、図４に示されているようなライセンシングアーキテクチャ５０が実現される。そのような図４からわかるように、ライセンシングアーキテクチャ５０は、発行者４４および図３のライセンサ４６を含み、またアプリケーション３２をユーザに小売りする小売店５２を含むことができる。もちろん、発行者４４は、さらに、本発明の精神および範囲から逸脱することなく小売店５２とすることもできる。
【００５４】
そのような小売店５２は、アプリケーション３２を取得するため、および／または、それに対応するライセンス３６を取得するために、ユーザとの小売り取引を実行する小売りの場所であると考えられる。そうする際に、小売店５２は、アプリケーション３２自体を取得するために、ユーザを配布サイトなどを運営するディストリビュータ５４などに誘導する、および／または、ユーザをライセンス３６自体のライセンサ４６に誘導する。おそらく、必ずというわけではないが、小売店５２、ライセンサ４６、およびディストリビュータ５４は、インターネットなどのネットワークを使用してすべてネットワーク接続され、ユーザは小売店５２を訪れて、アプリケーション３２をディストリビュータ５４から取得し、そのようなネットワークを使用してライセンス３６（これ以降、「使用ライセンス３６」）をライセンサ４６から取得する。
【００５５】
本発明の一実施形態では、図４に示されているように、発行者４４により提供されるアプリケーション３２は、アプリケーション３２をインスタンス化し使用する場合に使用される実行可能コードを含む。発行者４４により提供されるようなアプリケーション３２は、さらに、定義ライセンス３６、初期ライセンス３６、および非ネットワークライセンス３６を含む、多数の特別ライセンス３６も含み、そのような特別ライセンス３６は、これまでに参照されている使用ライセンス３６と異なることに注目すべきである。
【００５６】
定義ライセンス３６は、ここでもまた、それ自体は、アプリケーション３２を使用するためにライセンサ４６から取得できる使用ライセンス３６ではなく、その代わりに、適切な使用ライセンス３６を使ってアプリケーション３２で使用可能な機能のすべてを定義する特別ライセンス３６である。そのような定義ライセンス３６は、アプリケーション３２のすべての機能を使用可能な権利として規定するが、実際にはそのような権利のどれも付与しない。その代わり、特定の機能を有効化する際に取得された使用ライセンス３６は、対応する権利を付与する。
【００５７】
したがって、上記の実施例を続けるために、アプリケーション３２が３つの定義済み機能Ａ、Ｂ、およびＣを含んでいた場合、定義ライセンス３６は、それらに関連する情報とともにそのような機能Ａ、Ｂ、およびＣのそれぞれを規定する。そのような関連する機能は、例えば、アプリケーション３２内の機能、説明、およびたぶんそのような機能を含むアプリケーション３２のエディションに関するエディション情報への参照を含むことができる。したがって、そのような機能を有効化する使用ライセンス３６は、例えば、そのような情報を使用することで、ユーザがその情報を使用することを許可できる。同様に、使用ライセンス３６がそのような機能を有効化しない場合、それにもかかわらず、そのような情報を使用して、そのような機能が使用可能であることをユーザに通知し、おそらくさらには、ユーザをライセンサ４６に誘導し、そのような機能を有効化する他の使用ライセンス３６を取得させることができる。
【００５８】
定義ライセンス３６とは異なり、初期ライセンス３６は、アプリケーション３２を採用するために使用することができる使用ライセンス３６にそれ自体類似している。しかし、そのような使用ライセンス３６は、例えば、ユーザがアプリケーション３２を例えば定められた量だけまたは期間だけ試用することを許可するなど、最初の方法でのみそのような使用ライセンス３６を使用できるという点で、特別ライセンス３６である。ここで、使用ライセンス３６はユーザまたはユーザのコンピューティングデバイス３４に結び付けられていないことに留意されたい。
【００５９】
そのような初期ライセンス３６は、発行者４４がそのような初期ライセンス３６を作成した方法に応じて、定義ライセンス３６内で規定されているように、アプリケーション３２のすべての機能に対する権利を付与できるか、または付与できない。一般に、初期ライセンス３６は、一定期間使用ライセンス３６を購入しなくてもアプリケーション３２を試用することを見込み客ユーザに許可する、使用ライセンス３６を取得しなくてもアプリケーション３２の入門エディションに自由にアクセスすることをユーザに許可する、などのために提供することができる。前者の場合、初期ライセンス３６は、すべての機能への権利を付与できるが、比較的短期間であり、後者の場合、初期ライセンスは、一部の機能への権利を付与できるが、比較的長期間である。そのため、状況に応じて、ユーザが使用ライセンス３６を取得するかまたはそれ以上アプリケーションを使用しないかを決定するまでユーザは初期ライセンス３６を一時的な形で使用することができるか、または、ユーザは初期ライセンス３６を使用してアプリケーション３２の入門エディションを使用できる。
【００６０】
定義ライセンス３６のように、非ネットワークライセンス３６はそれ自体、アプリケーション３２を採用するために使用することができる使用ライセンス３６に類似している。しかし、そのような非ネットワークライセンス３６は、ユーザがライセンサ４６へのネットワークアクセス権を持たないが、それでもアプリケーション３２を使用することを望んでいる場合の特別ライセンス３６である。通常、このような場合、非ネットワークライセンス３６は、例えば電話またはメールなどにより、料金と引き換えに取得できる確認コードをユーザが取得しない限り、使用することができない。そのため、そのような確認コードを使用する場合、非ネットワークライセンス３６は、ユーザがライセンサ４６から何らかの種類の使用ライセンス３６を取得済みであるかのようにアプリケーション３２を使用することを可能にする。ここでもまた、非ネットワークライセンス３６は、少なくとも直接的にではなく、ユーザまたはそのコンピューティングデバイス３４に結び付けられていないが、そのような確認コードを取得する過程でユーザがおのずから識別されると想定して、確認コードを取得することにより、少なくとも間接的に、非ネットワーク接続ライセンス３６がユーザに結び付けられる。
【００６１】
初期ライセンス３６の場合のように、非ネットワーク接続ライセンス３６は、発行者４４がそのような非ネットワーク接続ライセンス３６を作成した方法に応じて、定義ライセンス３６内で規定されているようにアプリケーション３２のすべての機能に対する権利を付与できるか、または付与できない。非ネットワーク接続ライセンス３６は、アプリケーション３２のすべての機能への権利を付与することができるが、そのようにすることは、取得された特別コードが、アプリケーション３２のすべてのそのような機能にアクセスできる他のユーザに、ユーザによって転送可能である限り勧められないことに留意されたい。
【００６２】
通常、小売店５２は、直接または前述のディストリビュータ５４を利用して、アプリケーション３２を前述の特別ライセンス３６とともにユーザに提供することが可能である。しかし、ユーザは、さらに、本発明の精神および範囲から逸脱することなく、そのようなアプリケーション３２を発行者４４から、または他のソースから取得することもできることに留意されたい。実際、以下で詳しく述べるように、ユーザはアプリケーション３２を知人または第三者から取得し、その後、小売店５２を利用して使用ライセンス３６を取得するということが考えられる。
【００６３】
いずれの場合も、本発明の一実施形態では、アプリケーション３２は、ユーザに配布されるときに、特定の小売店５２の識別子を含む照会情報とともにさらにパッケージングすることができる。そのため、ユーザがアプリケーション３２を小売店５２以外のソースから取得する状況では、そのような照会情報により、そのようなユーザはそのような小売店５２を紹介され、そのようなアプリケーション３２の特定のエディションに対する使用ライセンス３６を取得する取引を達成する。さらに、ユーザが使用ライセンス３６を取得した後であっても、ユーザが小売店５２に戻りそのような使用ライセンス３６を返却するか、またはそのようなアプリケーション３２の他のエディションの異なる使用ライセンス３６を取得する場合に、そのような照会情報を使用することができる。
【００６４】
上述のように、アプリケーション３２の単一の基本コピーを所有するユーザは、もちろんユーザが前述の初期ライセンス３６または非ネットワークライセンス３６を使用しない限り、アプリケーション３２の特定の対応するエディションを使用するために何らかの種類の使用ライセンス３６を必要とする。しかし、理解されるように、そのような使用ライセンス３６は、アプリケーション３２の暗号化部分にアクセスするための暗号解読鍵（ＫＤ）を含み、ユーザまたはそのコンピューティングデバイス３４に結び付けられ、したがって、アプリケーション３２とともに通常のようには進行しない。
【００６５】
本発明の一実施形態では、続いて、またアプリケーション３２が上述のように定義ライセンス３６を含むことを思い出すと、そのような使用ライセンス３６を取得する過程で、ユーザは、まず、小売店５２などから、定義ライセンス３６で規定されているように機能の少なくとも一部を指定する製品ライセンス３６を取得する。そのような実施形態では、製品ライセンス３６は、それ自体、アプリケーション３２を使用するために使用可能な使用ライセンス３６ではない。その代わりに、小売店５２などにより提供される製品ライセンス３６は、ユーザが取得したアプリケーション３２のエディションを定義するか、さもなければユーザが要求した定義ライセンス３６で規定されているような機能を定義し、したがって、製品ライセンス３６は、ユーザが使用ライセンス要求取引の過程でライセンサ４６に提示し、そのようなユーザがアプリケーション３２の特定のエディションに対する対応する使用ライセンス３６の資格を有することをそのようなライセンサ４６に通知するトークンまたは許可である。
【００６６】
簡単に言うと、ユーザは、小売店５２とやり取りして、使用ライセンス３６の権利を取得するが、実際にはそのような小売店５２から使用ライセンス３６を受け取らない。その代わりに、ユーザは、製品ライセンス３６を、ライセンサ４６に提示されるトークンとして受け取り、ライセンサ４６は、それに応答して、ユーザがアプリケーション３２の対応するエディションを使用するために実際に使用できる対応する使用ライセンス３６をユーザに実際に発行する。発行された使用ライセンス３６は、使用ライセンス３６で与えられた権利が製品ライセンス３６で規定されているエディションまたは機能に対応するという点で製品ライセンス３６に対応する。
【００６７】
理解されるとおり、ライセンサ４６との直接取引の過程で使用ライセンス３６をユーザに取得してもらうことにより製品ライセンス３６なしで済ませることができるが、ライセンサ４６は、そのような直接取引の小売り態様を取り扱わないことを好む場合がある。さらに、本明細書で規定されているような方法で製品ライセンス３６を使用することにより、それぞれのライセンサ４６が小売店５２との取引と連携して使用ライセンス３６を発行できる、１ライセンサまたは少数のライセンサ４６のみを持ちながら、複数の小売店５２は、ユーザと小売り取引を実施することができる。最後に、ライセンサ４６による使用ライセンス３６の発行と小売店５２との小売り取引とを分離することにより、発行者４４は、そのような発行に対しより強い制御を効かせることができ、またより高いセキュリティを達成することもできる。
【００６８】
小売店５２によりユーザに提供される製品ライセンス３６は、そのような製品ライセンス３６に対応する使用ライセンス３６を発行するための、ユーザがライセンサ４６を見つけられる場所に関する適切な情報を含むことが考えられる。さらに、本発明の一実施形態では、小売店５２によりユーザに提供される製品ライセンス３６は、アプリケーション３２を取得できる販売元のディストリビュータ５４の識別子を含む照会情報とともにパッケージングすることができる。そのため、ユーザがアプリケーション３２に先だって製品ライセンス３６を取得する状況では、そのような照会情報により、そのようなユーザはそのようなディストリビュータ５４を紹介され、そのようなアプリケーション３２の基本コピーを取得する。さらに、ユーザがアプリケーション３２を取得した後でも、ユーザがディストリビュータ５４に戻り、そのようなアプリケーション３２のそのような基本コピーの他のコピーを求めるか、またはさらにはそのようなアプリケーション３２のそのような基本コピーの新しいまたは更新されたバージョンを求める場合、そのような照会情報を使用することができる。
【００６９】
次に、要約すると、ユーザは、製品ライセンス３６の前または後にアプリケーション３２を取得することができる。前であれば、アプリケーション３２とともにパッケージングされている照会情報が使用され、ユーザが使用ライセンス３６を取得することができる特定の小売店５２が特定される。後であれば、アプリケーション３６とともにパッケージングされている照会情報が使用され、ユーザがアプリケーション３２の基本コピーを取得することができる特定のディストリビュータ５４が特定される。
【００７０】
１つの典型的な状況では、次に図５を参照すると、アプリケーション３２および対応する使用ライセンス３６を購入するかまたは何らかの形で取得するユーザは、そのアプリケーションおよびライセンスを求めて小売店５２を訪れ、アプリケーション３２の中の望まれている特定の機能またはアプリケーション３２の特定のエディションを選択する取引を小売店と交わす（ステップ５０１）。そのような取引の一部として、ユーザは料金を小売店５２に払うことができる。通常、必ずというわけではないが、小売店５２は、取引を制御し、アプリケーション３２に関係する情報およびオプションと、支払いの受諾可能な形態との提示を決定し、ユーザからの承認があった後、取引を履行する。
【００７１】
また、取引の一部として、小売店５２は、ユーザから、ユーザ選択に対応する適切な製品ライセンス３６を作成または取得するために必要な情報を収集し、実際にそのような製品ライセンス３６を作成または取得する（ステップ５０３）。上述のように、そのような製品ライセンス３６は、アプリケーション３２の基本コピーを取得できる特定のディストリビュータ５４を含む照会情報とともにパッケージングすることができる。いずれにせよ、そのような製品ライセンス３６は、小売店５２からユーザに伝達される（ステップ５０５）。さらに、小売店５２は、取引を確認する取引確認メッセージをユーザに送信することができる。そうする場合、メッセージに、そのような製品ライセンス３６がユーザに自動的に送信されない場合に製品ライセンス３６を取得できる場所を含めることができる。
【００７２】
製品ライセンス３６を小売店５２から受け取った後、ユーザはその製品ライセンス３６をインストールする（ステップ５０７）か、または後から取り出してインストールできるように製品ライセンス３６を保存することができる。一般に、また以下でさらに詳しく説明するように、インストールは、署名を含むパブリッシングライセンス３６の妥当性を確認することおよびユーザのコンピューティングデバイス３４上にそのパブリッシングライセンス３６を格納することを含む。製品ライセンス３６に対応する使用ライセンス３６はこの時点で取得できるが、その代わり、対応するアプリケーション３２がインストール済みであることを最初に確認することが賢明であると考えられる。製品ライセンス３６が後で取り出せるように保存される場合、そのような製品ライセンス３６は、特に、製品ライセンス３６が他のユーザによって取り出され使用される可能性がある場合に、暗号化形式で保存しなければならないことに留意されたい。
【００７３】
製品ライセンス３６を受け取った後、ユーザのコンピューティングデバイス３４は、対応するアプリケーション３２がインストール済みであるかどうかを判定する（ステップ５０９）。そのようなチェックは、例えば、コンピューティングデバイス３４上のレジストリの値が適切かチェックすることにより実行することができる。すでにインストールされている場合、次にアプリケーション３２を作動させて、使用ライセンス３６の購入プロセスを完了することができる（ステップ５１１）。インストールされていない場合、アプリケーション３２を、製品ライセンス３６とともに含まれる照会情報で規定されているディストリビュータ５４から取得するか、またはコンピューティングデバイス３４で利用できる記憶媒体から取得し、取得されたアプリケーション３２をそのようなコンピューティングデバイス３４上にインストールし（ステップ５１３）、その後インストールされたアプリケーション３２をステップ５１１の場合と同様に作動させる。
【００７４】
この時点で、コンピューティングデバイス３４上に別の取得済みの使用ライセンス３６がすでにあるかもしれず、その場合、取得される使用ライセンス３６は追加使用ライセンス３４になることに留意されたい。いずれにせよ、インストールされたアプリケーション３２が作動されると、製品ライセンス３６の存在に基づき、コンピューティングデバイス３４は、それに対応する使用ライセンス３６を取得する（ステップ５１５）。特に、製品ライセンス３６およびおそらくアプリケーション３２からの定義ライセンス３６は、ユーザおよび／またはそのコンピューティングデバイス３４および／またはその信頼できるコンポーネント３８などの識別子とともに、製品ライセンス３６内で識別されているライセンサ４６に送られる（ステップ５１７）。
【００７５】
ライセンサ４６は、すべてのライセンス３６および識別子の妥当性を確認し、そのような妥当性確認が成功したと仮定して、ライセンサ４６は、それに基づき適切な使用ライセンス３６を作成し（ステップ５１９）、使用ライセンス３６を要求側ユーザに返す（ステップ５２１）。顕著なのは、使用ライセンス３６を作成する際に、ライセンサ４６は、ユーザの公開鍵（ＰＵ）など複数の識別子のうちの少なくとも１つから暗号鍵を取得し、アプリケーション３２の前述の暗号解読鍵（ＫＤ）をそのような（ＰＵ）で暗号化して（ＰＵ（ＫＤ））を出力し、そのような（ＰＵ（ＫＤ））を、作成され返される使用ライセンス３６に含めることである。さらに顕著なのは、これらの識別子は、ユーザのコンピューティングデバイス３４に対応するハードウェアＩＤ（ＨＷＩＤ）を含むことができ、そのようなＨＷＩＤは、さらに、生成され返される使用ライセンス３６に含めることもできることである。さらに顕著なのは、ライセンサ４６は、製品ライセンス３６がサブミットされたこと、および対応する使用ライセンス３６が発行されたことを適切なデータベース内に記録し、さらにこれらに関して小売店に通知することもできることである。
【００７６】
ユーザのコンピューティングデバイス３４は、返される使用ライセンス３６をライセンスストアなどの適切な場所に格納することができ、そのような格納されている使用ライセンス３６は、アプリケーションのいくつかの機能を使用するために使用することができる。特に、図６を参照すると、アプリケーション３２の特定の機能を使用する要求があると（ステップ６０１）、アプリケーション３２のそのような機能は、実際に、コンピューティングデバイス３４上の使用ライセンス３６がそのような機能のそのような使用を許可するかどうかを判定するよう、信頼できるコンポーネント３８に要求することができる（ステップ６０３）。これに応答して、信頼できるコンポーネント３８は、取得された使用ライセンス３６をライセンスストア内で特定し（ステップ６０５）、使用ライセンス３６の妥当性確認を行い（ステップ６０７）、そのような妥当性確認された使用ライセンス３６がその機能の使用を許可するかどうかを判定する（ステップ６０９）ことができる。
【００７７】
妥当性確認された使用ライセンス３６が実際に機能の使用を許可すると仮定すると、そのような信頼できるコンポーネント３８は、その後、そのような使用ライセンス３６から（ＰＵ（ＫＤ））を取り出し、対応する秘密鍵（ＰＲ）を（ＰＵ（ＫＤ））に適用し、暗号解読鍵（ＫＤ）を明らかにし（ステップ６１１）、それから、そのような暗号解読鍵（ＫＤ）を適切な方法で適用し、アプリケーション３２の適切な部分を暗号解読することができる（ステップ６１３）。それ以降、要求された機能を使用できる（ステップ６１５）。
【００７８】
理解されるように、ある時点において、ユーザは使用ライセンス３６を取得した後、さまざまな理由から使用ライセンス３６を返すことを決定する場合がある。批判的に言えば、ユーザがそのような使用ライセンス３６を返すことが許可された場合、そのようなユーザはそのような使用ライセンス３６のコピーを保持することを許可されるべきではない。したがって、本発明の一実施形態では、図７を参照すると、そのような返却は、それによって提供されるような対応する製品ライセンス３６を含む小売店５２への要求を使用することで達成される（ステップ７０１）。それに対して、小売店５２は、実行可能ファイルまたはコマンドをユーザのコンピューティングデバイス３４に返し（ステップ７０３）、そこで、実行可能ファイル／コマンドはユーザのコンピューティングデバイスから使用ライセンス３６を信頼できる方法で事実上削除する。特に、そのようなコンピューティングデバイス３４上の信頼できるコンポーネント３８は、実行可能ファイル／コマンドを実行し、発行時の使用ライセンス３６を削除し（ステップ７０５）、その後、削除が成功したことを示すメッセージを小売店５２に送信する（ステップ７０７）。それ以降、小売店５２は、対応する製品ライセンス３６は無効である旨をライセンサ４６に通知し（ステップ７０９）、ライセンサ４６はその旨をデータベースに記録し、そのような製品ライセンス３６に基づく使用ライセンス３６の要求が今後受け付けられないようにする。
【００７９】
これもまた理解されるように、使用ライセンス３６が、そのようなコンピューティングデバイス３４のＨＷＩＤをそのような使用ライセンス３６に含めることにより、特定のコンピューティングデバイス３４に結び付けられるということを思い出すと、ここでもまたさまざまな理由から、ユーザは使用ライセンス３６を異なるＨＷＩＤとともに他のコンピューティングデバイス３４に転送することを望んでいる場合があることがわかるであろう。前と同様に、ユーザがそのような使用ライセンス３６を第１のデバイス３４から第２のデバイス３４に転送することを許可された場合、そのようなユーザは第１のデバイス３４に結び付けられたそのような使用ライセンス３６のコピーを保持することを許可されるべきではない。したがって、本発明の一実施形態では、再び図７を参照すると、そのような転送は、返却と類似の方法で達成される。特に、そのような転送は、小売店５２により提供される、対応する製品ライセンス３６を含むライセンサ４６への要求を使用して達成される（ステップ７０１）。それに対して、ライセンサ４６は、実行可能ファイルまたはコマンドをユーザのコンピューティングデバイス３４に返し（ステップ７０３）、そこで、実行可能ファイル／コマンドは、信頼できる方法で、使用ライセンス３６をユーザのコンピューティングデバイスから実質的に削除する。ここでもまた、そのようなコンピューティングデバイス３４上の信頼できるコンポーネント３８は、実行可能ファイル／コマンドを実行し、発行時の使用ライセンス３６を削除し（ステップ７０５）、その後、削除が成功したことを示すメッセージをライセンサ４６に送信する（ステップ７０７）。
【００８０】
転送という状況において、ライセンサ４６は、製品ライセンス３６に対応する他の使用ライセンス３６を、この場合は異なるユーザのコンピューティングデバイス３４に発行することができなければならないことに注目すべきである。したがって、転送の状況では、ライセンサ４６は、対応する製品ライセンス３６が再び使用可能である（ステップ７０９）ことに注意し、そのような製品ライセンス３６に基づく使用ライセンス３６に対する今後のどのような要求も実際に受け付けられる。
【００８１】
本発明の一実施形態では、発行者４４は、ライセンスファイルなどを使ってライセンス３６を定義することができ、その後、ライセンスファイルを販売するため小売店５２に送ることができる。さらに、発行者４４は、アプリケーション３２の基本コピーを作成し、その基本コピーをディストリビュータ５４に供給することができる。小売店５２は、その後、ライセンス３６をユーザに販売し、Ｗｅｂページなどを運営するライセンサ４６を利用してそのライセンス３６を配信することができる。ユーザがディストリビュータ５４からアプリケーション３２を取得する必要がある場合に、ライセンス３６は、ユーザをディストリビュータ５４に差し向ける情報とともにパッケージングされ得る。ユーザがライセンサ４６からライセンス３６を取得する必要がある場合に、アプリケーション３２は、ユーザをライセンサ４６に差し向ける情報とともにパッケージングされ得る。そのため、アプリケーション３２を所有しているユーザは、ライセンサ４６を見つけてライセンス３６を取得し、ライセンス３６を所有するユーザは、ディストリビュータ５４を見つけてアプリケーション３２を取得することが可能である。
【００８２】
（結論）
本発明と連携して実行されるプロセスを実現するために必要なプログラミングは、比較的容易であり、関連するプログラミングに従事する当業者には明白なことであろう。したがって、本明細書にそのようなプログラミングを添付しない。そこで、本発明の精神および範囲から逸脱することなく本発明を実施するために、どの特定のプログラミングを採用することもできる。
【００８３】
本発明では、ＲＭアーキテクチャ３０は、使用可能な複数の機能またはエディションとともにデジタルアプリケーション３２の１つのコピーのみをリリースするだけでよく、特定のユーザに発行される特定の使用ライセンス３６で使用可能な機能／エディションのうちそのユーザが使用できる機能／エディションを指定する、ライセンシングアーキテクチャ５０を実現するために使用される。そのため、アプリケーション３２の発行者４４は、同じアプリケーション３２の複数のエディションをリリースする必要はなく、ユーザは使用ライセンス３６を取得する際に、複数の使用可能な機能／エディションのうちどれがライセンスされるべきかを選択することができる。
【００８４】
本発明の概念から逸脱することなく、上述の実施形態に対し変更を加えられることは理解されるであろう。したがって、本発明は、開示されている特定の実施形態に限定されず、添付の請求項の定義に従って本発明の精神および範囲内にある修正形態を対象とすることが意図されている。
【図面の簡単な説明】
【００８５】
【図１】本発明を実装可能である例示的な限定されないコンピューティング環境を表すブロック図である。
【図２】本発明を実装可能であるさまざまなコンピューティングデバイスを備える例示的なネットワーク環境を表すブロック図である。
【図３】本発明の一実施形態によるデジタルライセンスを含む、信頼に基づいたシステムの一実施例の実施アーキテクチャを示すブロック図である。
【図４】本発明の一実施形態による図３のアプリケーションのエディションを使用する使用ライセンスを発行するためのライセンスアーキテクチャを示すブロック図である。
【図５】本発明の一実施形態による図３および４の使用ライセンスを取得する際に実行される、主要なステップを示す流れ図である。
【図６】本発明の一実施形態による図３のアプリケーションを使用するため図３および４の使用ライセンスを取得するときに実行される、主要なステップを示す流れ図である。
【図７】本発明の一実施形態による図３および４の使用ライセンスを返す、または転送する際に実行される、主要なステップを示す流れ図である。
【符号の説明】
【００８６】
５０  ライセンシングアーキテクチャ
４４  作者／発行者
５２  小売店
４６  ライセンサ
５４  ディストリビュータ
３６  製品ライセンス
３６  使用ライセンス
３３  ＡＰ．パッケージ
３４  ユーザのコンピューティングデバイス
【図１】
2006216041.tif 000003
【図２】
2006216041.tif 000004
【図３】
2006216041.tif 000005
【図４】
2006216041.tif 000006
【図５】
2006216041.tif 000007
【図６】
2006216041.tif 000008
【図７】
2006216041.tif 000009