(57)【要約】【課題】データをメータリングしメータリングデータをメータリングサービスに報告することを達成するアーキテクチャ又は方法を提供する。【解決手段】メータリングデータは累積され、メータリングＩＤ（ＭＩＤ）及びコンテンツに関連付けられたＩＤ（ＫＩＤ）に基づいてクライアントのメータリングデータベースでインデックスが付けられ、クライアントは特定のＭＩＤ及び選択されたＭＩＤを有する当該データベース内の当該データを選択し、選択された当該データに基づくチャレンジを構築しメータリングサービスに送信し、当該サービスはチャレンジから当該データを取得して格納しレスポンスを構築する。クライアントはチャレンジ内の選択された当該データのＫＩＤリストを含むレスポンスを受信し、リスト内の各ＫＩＤに関して、選択されたＭＩＤ及びＫＩＤを有する当該データベースから当該データを削除してＫＩＤリストを処理する。【選択図】  図３
2005317009.tif 000002
【特許請求の範囲】
【請求項１】
クライアントからメータリングサービスへ累積されたメータリングデータを報告する方法であり、各メータリングデータは、メータリングＩＤ（ＭＩＤ）に基づいて前記クライアントのメータリングデータベース内でインデックスを付けられ、コンテンツに関連付けられたＩＤ（ＫＩＤ）に基づいて前記メータリングデータベース内でサブインデックスを付けられ、前記方法はクライアントを含み、前記クライアントは、
特定のＭＩＤを選択し、
前記選択されたＭＩＤを有する前記メータリングデータベース内の前記メータリングデータの少なくとも一部を選択し、前記選択されたメータリングデータはＫＩＤに基づいて編成され、
前記選択されメータリングデータに基づきチャレンジを構築し、
前記構築されたチャレンジを前記メータリングサービスへ送信し、前記メータリングサービスは、前記チャレンジから前記メータリングデータを取得し、それを格納し、前記チャレンジに基づき前記クライアントに返すべきレスポンスを構築し、
前記チャレンジ内の前記選択されたメータリングデータのＫＩＤリストを含む前記メータリングサービスから前記レスポンスを受信し、
前記レスポンスが前記チャレンジに対応することを確認し、
前記リスト内の各ＫＩＤに関して、前記選択されたＭＩＤ及びＫＩＤを有する前記メータリングデータベースから前記メータリングデータを削除することにより前記レスポンス内の前記ＫＩＤリストを処理することを特徴とする方法。
【請求項２】
前記ＭＩＤ、
前記メータリングサービスの位置の識別表示、
前記チャレンジに対して選択されたトランザクションＩＤ（ＴＩＤ）、及び
前記選択されたメータリングデータを含む前記チャレンジを構築することを含むことを特徴とする請求項１に記載の方法。
【請求項３】
対称パス・キーに基づいて暗号化された前記選択されたメータリングデータを含み、結果として（パス・キー（メータリングデータ））を生じ、さらに、前記メータリングサービスの公開キー（ＰＵ−Ｍ）に基づいて暗号化された前記パス・キーを含み、結果として（ＰＵ−Ｍ（パス・キー））を生じる前記チャレンジを構築することを含み、前記メータリングサービスは、（ＰＵ−Ｍ）に対応する秘密キー（ＰＲ−Ｍ）を、前記チャレンジからの（ＰＵ−Ｍ（パス・キー））に適用して前記パス・キーを取得し、前記取得したパス・キーを前記チャレンジからの（パス・キー（メータリングデータ））に適用して前記メータリングデータを取得し、その後、前記取得したメータリングデータを格納することを特徴とする請求項２に記載の方法。
【請求項４】
前記パス・キーに基づき前記チャレンジの少なくとも一部のハッシュから導き出されたハッシュ値をさらに含む前記チャレンジを構築し、その後、前記チャレンジの前記少なくとも一部が変更される場合、前記ハッシュ値は確認を失敗し、前記メータリングサービスは、前記パス・キーに基づき前記チャレンジからの前記ハッシュ値を確認することを特徴とする請求項３に記載の方法。
【請求項５】
前記クライアントが、前記選択されたＭＩＤに関して前記メータリングデータベース内の累積された全てのメータリングデータを含む前記チャレンジを構築できない場合に、セット・パーシャル・データ・フラグをさらに含む前記チャレンジを構築することを含むことを特徴とする請求項２に記載の方法。
【請求項６】
前記チャレンジ内に記述されたＭＩＤ、
前記チャレンジ内に記述されたトランザクションＩＤ（ＴＩＤ）、及び
前記チャレンジ内に記述された前記選択されたメータリングデータの少なくとも一部を含む前記レスポンスを受信することを含むことを特徴とする請求項１に記載の方法。
【請求項７】
前記選択されたメータリングデータの少なくとも一部の前記ＫＩＤリストを含む前記レスポンスを受信することを含むことを特徴とする請求項６に記載の方法。
【請求項８】
対称パス・キーに基づいて暗号化された前記選択されたメータリングデータの少なくとも一部を含み、結果として（パス・キー（メータリングデータ））を生じる前記レスポンスを受信することを含み、さらに、前記パス・キーを取得し、前記取得したパス・キーを前記レスポンスからの（パス・キー（メータリングデータ））に適用し、前記メータリングデータの前記少なくとも一部を取得することを特徴とする請求項６に記載の方法。
【請求項９】
前記パス・キーに基づき前記レスポンスの少なくとも一部のハッシュから導き出されたハッシュ値をさらに含む前記チャレンジを受信することを含み、前記パス・キーに基づき前記レスポンスから前記ハッシュ値を確認する前記クライアントをさらに含むことを特徴とする請求項８に記載の方法。
【請求項１０】
前記チャレンジがセット・パーシャル・データ・フラグを含む場合に、前記クライアントが、前記選択されたＭＩＤに関する前記メータリングデータベース内に累積された全てのメータリングデータを含む前記チャレンジを構築することができなかったこと、及び、前記クライアントが、前記チャレンジの前記選択されたＭＩＤに関して前記メータリングサービスに報告されるべき追加のメータリングデータを有することを示すセット・パーシャル・データ・フラグをさらに含む前記レスポンスを受信することを含むことを特徴とする請求項６に記載の方法。
【請求項１１】
前記レスポンスが前記セット・パーシャル・データ・フラグを含む場合に、
前記選択されたＭＩＤを有する前記メータリングデータベース内の前記追加のメータリングデータの少なくとも一部を選択し、
前記選択された追加のメータリングデータに基づき追加のチャレンジを構築し、
前記構築された追加のチャレンジを前記メータリングサービスに送信することをさらに含むことを特徴とする請求項１０に記載の方法。
【請求項１２】
前記レスポンスが前記チャレンジに対応することを確認することは、前記レスポンス内のＴＩＤ及びＭＩＤが、前記選択されたＭＩＤを有する前記メータリングデータベースに格納されたＴＩＤに一致することを確認することを含むことを特徴とする請求項６に記載の方法。
【請求項１３】
前記選択されたＭＩＤに基づいて前記メータリングデータベースに格納されたトランザクションＩＤ（ＴＩＤ）を検索すること、前記ＴＩＤを含む前記チャレンジを構築することをさらに含み、前記レスポンスを受信することは、前記ＴＩＤをさらに含む前記メータリングサービスを形成し、前記レスポンス内の前記ＫＩＤリストを処理するときに、前記ＭＩＤに対する次のチャレンジに対する新たなＴＩＤを生成し、前記ＭＩＤに対する前記次のチャレンジに関連する検索及び使用のために前記選択されたＭＩＤに基づいて前記メータリングデータベース内に前記生成されたＴＩＤを格納することを特徴とする請求項１に記載の方法。
【請求項１４】
累積されたメータリングデータをクライアントからメータリングサービスへ報告する方法であって、各メータリングデータは、メータリングＩＤ（ＭＩＤ）に基づいて前記クライアントのメータリングデータベース内でインデックスが付けられ、コンテンツに関連付けられたＩＤ（ＫＩＤ）に基づいて前記メータリングデータベース内でサブインデックスが付けられ、前記方法がクライアントを含み、前記クライアントは、
特定のメータリング証明書を選択し、そこに記述されるＭＩＤから決定し、
前記選択されたメータリング証明書から決定されたＭＩＤを有するメータリングデータベース内の前記メータリングデータの少なくとも一部を選択し、前記選択されたメータリングデータはＫＩＤに基づいて編成され、
前記選択されたメータリングデータ及び前記選択されたメータリング証明書に基づきチャレンジを構築し、
前記構築されたチャレンジを前記メータリングサービスへ送信し、前記メータリングサービスは、前記チャレンジから前記メータリングデータを取得し、それを格納し、前記チャレンジに基づき前記クライアントに返されるべきレスポンスを構築し、
前記チャレンジ内の前記選択されメータリングデータのＫＩＤリストを含む前記メータリングサービスから前記レスポンスを受信し、
前記レスポンスが前記チャレンジに対応することを確認し、
前記リスト内の各ＫＩＤに関して、前記決定されたＭＩＤ及びＫＩＤを有する前記メータリングデータベースから前記メータリングデータを削除することによって前記レスポンス内の前記ＫＩＤリストを処理することを特徴とする方法。
【請求項１５】
前記メータリング証明書からの前記ＭＩＤ、
前記メータリング証明書からの前記メータリングサービスの位置の識別表示、
前記チャレンジに対して選択されたトランザクションＩＤ（ＴＩＤ）、
前記選択されメータリングデータを含む前記チャレンジを構築することを含むことを特徴とする請求項１４に記載の方法。
【請求項１６】
対称パス・キーに基づいて暗号化された前記選択されメータリングデータを含み、結果としてパス・キー（メータリングデータ））生じ、さらに、前記メータリング証明書からの公開キー（ＰＵ−Ｍ）に基づいて暗号化された前記パス・キーを含み、結果として（ＰＵ−Ｍ（パス・キー））生じる前記チャレンジを構築することを含み、前記メータリングサービスは、（ＰＵ−Ｍ）に対応する秘密キー（ＰＲ−Ｍ）を前記チャレンジからの（ＰＵ−Ｍ（パス・キー））に適用し、前記パス・キーを取得し、前記取得したパス・キーを前記チャレンジからの（パス・キー（メータリングデータ））に適用し、前記メータリングデータを取得し、その後、前記取得したメータリングデータを格納することを特徴とする請求項１５に記載の方法。
【請求項１７】
前記クライアントが、前記選択されたメータリング証明書からの前記決定されたＭＩＤに関して、前記メータリングデータベース内に累積された全てのメータリングデータを含む前記チャレンジを構築できない場合に、セット・パーシャル・データ・フラグをさらに含む前記チャレンジを構築することを含むことを特徴とする請求項１５に記載の方法。
【請求項１８】
前記チャレンジ内に記述されたＭＩＤ、
前記チャレンジ内に記述されたトランザクションＩＤ（ＴＩＤ）、
前記チャレンジ内に記述された前記選択されたメータリングデータの少なくとも一部を含む前記レスポンスを受信することを含むことを特徴とする請求項１４に記載の方法。
【請求項１９】
前記チャレンジがセット・パーシャル・データ・フラグを含む場合に、前記クライアントが、前記選択されたメータリング証明書からの前記決定されたＭＩＤに関する前記メータリングデータベース内に累積された全てのメータリングデータを含む前記チャレンジを構築することができなかったこと、及び、前記クライアントが、前記チャレンジの前記決定されたＭＩＤに関して前記メータリングサービスに報告されるべき追加のメータリングデータを有することを示すセット・パーシャル・データ・フラグをさらに含む前記レスポンスを受信することを含むことを特徴とする請求項１８に記載の方法。
【請求項２０】
前記レスポンスが前記セット・パーシャル・データ・フラグを含む場合に、
前記選択されたメータリング証明書からの前記決定されたＭＩＤを有する前記メータリングデータベース内の前記追加のメータリングデータの少なくとも一部を選択し、
前記選択された追加のメータリングデータ及び前記選択されたメータリング証明書に基づき追加のチャレンジを構築し、
前記メータリングサービスに前記構築された追加のチャレンジを送信することをさらに含むことを特徴とする請求項２０に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、特にコンテンツ保護システムのコンテンツ内のディジタルコンテンツ等のアクセスのメータリング(metering)を可能にするアーキテクチャ及び方法に関する。より詳細には、本発明は、メータリングされたコンテンツのアクセスを表すデータが収集されメータリングサービスに報告されるアーキテクチャ及び方法に関する。
【背景技術】
【０００２】
周知の通り、また、図１からわかるように、コンテンツの保護及び実施システムは、ディジタルオーディオ、ディジタルビデオ、ディジタルテキスト、ディジタルデータ、ディジタルマルチメディア等のディジタルコンテンツ１２がユーザに配信される場合、ディジタルコンテンツ１２との関連において非常に望ましい。ディジタルコンテンツがユーザによって受信されると、ユーザは、パーソナルコンピュータ１４のメディアプレーヤ、ポータブル再生デバイス等の適切なレンダリングデバイスを用いてディジタルコンテンツをレンダリング、すなわち「プレイ」する。
【０００３】
一般に、ディジタルコンテンツ１２を配信するコンテンツオーナは、ユーザが配信されたディジタルコンテンツ１２を用いて行うことができることを制限することを望む。例えば、コンテンツオーナは、ユーザがコピーすること及びコンテンツ１２を第２のユーザに再配信することを制限することを望む場合があり、又は、配信されたディジタルコンテンツ１２が、例えば、制限された回数だけ、所定の全時間だけ、所定の種類のマシンでだけ、所定の種類のメディアプレーヤでだけ、又は、所定の種類のユーザによってだけ、プレイされることを許可することを望む場合がある。
【０００４】
しかしながら、ディジタルコンテンツが配信された後、コンテンツオーナは、できたとしても、ディジタルコンテンツ１２に対して非常にわずかな制御を行えるにすぎない。コピー保護システム１０は、任意の形態のディジタルコンテンツ１２のレンダリング又はプレイの制御を可能にし、その制御は、柔軟性があり、ディジタルコンテンツのコンテンツオーナが規定することができる。一般に、コンテンツ１２は、任意の適切な配信チャネルを介してパッケージ１３の形態でユーザに配信される。配信されたディジタルコンテンツパッケージ１３は、対称的な暗号／復号キー（ＫＤ）で暗号化されたディジタルコンテンツ１２（すなわち、（ＫＤ（コンテンツ）））の他にコンテンツを識別する他の情報、コンテンツのためのライセンスの取得方法等を含むことができる。
【０００５】
信頼に基づく(trust-based)コピー保護システム１０は、ディジタルコンテンツ１２のレンダリングが可能になる前に満足されなければならない規則をディジタルコンテンツ１２のオーナが指定することを可能にする。規則は、上述の要件及び／又はその他を含むことができ、規則は、ユーザ／ユーザのコンピューティングデバイス１４が（以降、そのような用語は、状況がその他の点で必要としない限り置き換え可能能である）、コンテンツオーナ及び／又はそのエージェントから取得しなければならないディジタルライセンス１６内で具体化される場合がある。規則は、コンテンツ１２に既に添付されている場合がある。ライセンス１６及び／又は規則は、例えば、ユーザのコンピューティングデバイス又は他の再生デバイスによって復号可能な別のキーに基づいておそらく暗号化される、ディジタルコンテンツ１２を復号するための復号キー（ＫＤ）を含むことができる。
【０００６】
ディジタルコンテンツ１２のコンテンツオーナは、ユーザがライセンス１６又は他の場所でコンテンツオーナによって指定された規則に従うであろうと信用できる場合を除いては、ユーザにコンテンツ１２を配信することを好まない。好ましくは、ユーザのコンピューティングデバイス１４又は他の再生デバイスは、規則に従う以外はディジタルコンテンツ１２をレンダリングしない信頼性のある(trusted)コンポーネント又は機構１８を備える。
【０００７】
信頼性のあるコンポーネント１８は、通常、規則をレビューする評価器２０を有し、レビューした規則に基づいて、特に、要求元のユーザが、求められる方法で、要求されたディジタルコンテンツ１２をレンダリングする権利を有するかどうかを決定する。評価器２０は、コピー保護システム１０において信頼され、規則に従ってディジタルコンテンツ１２のオーナの望みを実行する。不法な目的等のために信頼性のあるコンポーネント１８及び／又は評価器２０がユーザによって容易に変更されることができないようにすべきである。
【０００８】
コンテンツ１２をレンダリングするための規則は、ユーザが誰であるか、ユーザがどこに位置するか、ユーザが使用するコンピューティングデバイス又は他の再生デバイスは何の種類なのか、何のレンダリングアプリケーションがコピー保護システムを呼び出しているか、データ、時間等を含む様々な要素のいずれかに基づいて、レンダリングする権利をユーザが有するかどうかを指定することができる。さらに、規則は、例えば、レンダリングを所定回数のプレイ又は所定のプレイ時間に制限することができる。
【０００９】
規則は、任意の適切な言語及びシンタックスに基づいて指定することができる。例えば、言語は、満足されなければならない属性及び値を単に指定することができ（例えば、ＤＡＴＥは、Ｘより後でなければならない等）、又は、指定のスクリプトに基づいて機能の実行を要求することができる（例えば、ＤＡＴＥがＸより大きいなら、ＴＨＥＮ  ＤＯ．．．等）。
【００１０】
規則が満足されると評価器２０が決定すると、次に、ディジタルコンテンツ１２はレンダリングされる。特に、コンテンツ１２をレンダリングするため、復号キー（ＫＤ）は、前述のライセンス１６等の予め規定されたソースから取得され、コンテンツパッケージ１３からの（ＫＤ（コンテンツ））に適用され、実際のコンテンツ１２が結果として生じ、次に、実際のコンテンツ１２は実際にレンダリングされる。
【００１１】
信頼性のあるコンポーネント１８は、時々、特定のコンテンツ１２のレンダリング及び／又は特定のライセンス１６の使用に関係した状態情報を維持する必要があることに留意されたい。例えば、特定のライセンス１６がプレイカウント要件を有する場合があり、これにより、信頼性のあるコンポーネント１８は、対応するコンテンツ１２をレンダリングするためにライセンス１６が何回用いられたか、又は対応するコンテンツ１２をレンダリングするためにライセンス１６が何回用いられることができるかを覚えていなくてはならない。したがって、信頼性のあるコンポーネント１８は、少なくとも１つの持続性のあるセキュアストア(secure store)２２も含み、持続性のあるセキュアストア２２内で、状態情報は安全な方法で持続的に維持される。したがって、信頼性のあるコンポーネント１８は、状態情報を持続性のある方法でセキュアストア２２内に格納し、状態情報はコンピューティングデバイス１４で使用のセッションにまたがって維持される。セキュアストア２２を代わりに他の場所に配置することもできるが、セキュアストア２２は信頼性のあるコンポーネント１８のコンピューティングデバイス１４上に配置される可能性が高い。
【００１２】
コピー保護システム１０において、コンテンツ１２は、コンテンツ１２を暗号化し、コンテンツ１２を１組の規則に関連付けることによって、ユーザによる使用のためにパッケージ化され、それによって、コンテンツ１２は、規則に従うだけでレンダリングされる。コンテンツ１２は、規則に従ってレンダリングされるだけなので、コンテンツ１２を自由に配信することができる。通常、コンテンツ１２は、上述のキー（ＫＤ）等の対称キーに基づいて暗号化され、結果として（ＫＤ（コンテンツ））が生じ、（ＫＤ（コンテンツ））は（ＫＤ）に基づいてまた復号され、結果としてコンテンツ１２が生じる。（ＫＤ）は、今度は、コンテンツ１２に対応するライセンス１６内に含まれる。しばしば、（ＫＤ）は、コンテンツ１２がレンダリングされるべきとき、コンピューティングデバイス１４（ＰＵ−Ｃ）の公開キー等の公開キーに基づいて暗号化され、結果として（ＰＵ−Ｃ（ＫＤ））が生じる。しかし、例えばユーザの公開キー、ユーザがメンバであるグループの公開キー等の他の公開キーを用いることができることに留意されたい。
【００１３】
ユーザが、配信されたディジタルコンテンツ１２を用いてできることを制限することに加えて、コンテンツオーナ等は、ユーザによって、コンピューティングデバイスによって等、コンテンツ１２の使用をメータリングすることを望む場合もある。例えば、コンテンツオーナは、ユーザが料金に基づいて料金を請求されるという理由のため、コンテンツオーナが料金に基づいて恩恵を受けるという理由等のため、コンテンツ１２が何回レンダリングされたかを知りたい場合がある。同様に、コンテンツオーナは、オプションが利用可能であることを想定して、コンテンツ１２が何回コピーされたかを、再びそのようなオプションが利用可能であることを想定して、コンテンツ１２が何回他のコンテンツに組み込まれたかを、コンテンツがどれぐらい長くレンダリングされたかを、コンテンツがレンダリングされた日時等を知りたい場合がある。要するに、コンテンツオーナ等は、実際に、メータリングされ、他の方法でカウントされ又は累積(accumulate)されるコンテンツの使用を任意の方法でメータリングすることを望む場合がある。したがって、コンピューティングデバイス１４上の信頼性のあるコンポーネント１８を、メータリング機能を実行しセキュアストア２２にメータリング機能から取得されたメータリングデータを格納するために用いることができる。
【００１４】
一般に、メータリングは、コンテンツ１２に関する量(amount)の計数又は累積として呼ぶことがあり、量は、コンテンツオーナ等の望みに基づいて測定されるべき量(quantity)を表す。上述したように、メータリングは、通常、レンダリングされることによって、コピーされることによって、転送されることによって等のいずれかによってコンテンツ１２がアクセスされた回数、コンテンツ１２がレンダリングされた時間の量等に基づく。もちろん、他の形態のメータリングは存在し、任意の他のメータリングの形態を、以下に示される本発明に関連させて用いることができる。
【００１５】
メータリングは、フィードバック、マネタリーベース(monetary bases)等を含む多くの理由で有用である。一例として、コンテンツ１２の使用に関する統計は、コンテンツ１２が、人気が高いかどうか、役に立つかどうか、評価されているかどうか、喜ばれているかどうか等に関する目安として、コンテンツオーナにとっては重要である。他の例として、コンテンツ１２の使用に関する統計を、著者が、非常に多くの著者の内の一人であるときでさえ、コンテンツ１２の著者に報酬を支払うために用いることができる。さらに他の例としては、コンテンツ１２の使用に関する統計を、コンテンツオーナに支払うべき金銭的価値(monetary value)を計算するために用いることができる。特に後者の場合、音楽作品等のコンテンツ１２は、使用基準毎、単一の支払い基準、又はそれらの組み合わせに基づきライセンスされる。したがって、コンテンツ１２の使用によってコンテンツオーナに対して発生するライセンス料金は、ライセンシング基準に基づき完全に変化し、特に、ライセンス料金が固定額に基づくか又は使用量毎に基づくかどうかを基準にする。
【００１６】
さらに、今のところ詳細なメータリングが行われていないため、詳細なメータリングを実施する能力を提供することによって今まで利用できない将来のビジネスモデルが創造される可能性は非常に高い。一例として、主に前もって設定されかつ固定されたレートに基づく広告（コンテンツ１２）を提示するためのコストは、本発明がメータリングする広告／コンテンツ１２のレンダリングの回数に基づくことができる。他の例として、ＴＶプログラム（コンテンツ１２）は、レーティングサービスによって測定される市場シェアに基づいて、少なくともある程度は評価(rating)されるが、評価は、かなりわずかな統計サンプリングに基づく推定値に過ぎない。一方、本発明を用いた評価は、プログラム／コンテンツ１２の視聴者／ユーザを非常に詳細にメータリングした測定値に基づく。
【００１７】
コンピューティングデバイス１４のユーザによるコンテンツ１２へのアクセス及び使用は、比較的単純な方法でメータリングすることができるが、（１）メータリングされるべきものを規定し、（２）メータリングから導き出されたデータをどのようにコンピューティングデバイス１４に格納すべきかを規定し、（３）様々なコンピューティングデバイスの各々からメータリングデータ(metered data)を収集するためのメータリングサービスを規定し、又は（４）メータリングデータをどのようにメータリングサービスを報告すべきかを規定するためのアーキテクチャや方法は存在しないことに留意されたい。
【発明の開示】
【発明が解決しようとする課題】
【００１８】
したがって、データをメータリングしメータリングデータをメータリングサービスに報告することを実現するアーキテクチャ又は方法が必要である。特に、何がメータリングされるべきかを規定し、メータリングから導き出されたデータをコンピューティングデバイス１４にどのように格納すべきかを規定し、様々なコンピューティングデバイスの各々からメータリングデータを収集するメータリングサービスを規定し、メータリングデータをどのようにメータリングサービスに報告すべきかを規定するためのアーキテクチャ又は方法が必要である。
【課題を解決するための手段】
【００１９】
累積されたメータリングデータをクライアントからメータリングサービスに報告する方法を提供する本発明によれば、前述の必要性の少なくともある程度は満たされる。メータリングデータは、メータリングＩＤ（ＭＩＤ）に基づいてクライアントのメータリングデータベース内でインデックスを付けられ、コンテンツと関連付けられたＩＤ（ＫＩＤ）に基づいてメータリングデータベース内でサブインデックスが付けられる。
【００２０】
本方法において、クライアントは、特定のＭＩＤを選択し、選択されたＭＩＤを有するメータリングデータベース内のメータリングデータの少なくとも一部を選択する。メータリングデータベースにおいて、選択されたメータリングデータはＫＩＤに基づいて編成されている。クライアントは、選択されたメータリングデータに基づくチャレンジ(challenge)を構築し、メータリングサービスに対して構築されたチャレンジを送信する。メータリングサービスは、チャレンジからメータリングデータを取得し、それを格納し、チャレンジに基づき、クライアントに返すべきレスポンスを構築する。
【００２１】
クライアントは、チャレンジ内の選択されたメータリングデータのＫＩＤリストを含むレスポンスをメータリングサービスから受信し、レスポンスがチャレンジに対応することを確認する。その後、クライアントは、リスト内の各ＫＩＤに関して、選択されたＭＩＤ及びＫＩＤを有するメータリングデータベースからメータリングデータを削除することによって、レスポンス内のＫＩＤリストを処理する。
【００２２】
前述の概要、ならびに本発明の実施形態の以下の詳細な記載は、添付の図面とともに読むときにより良く理解されよう。本発明を例示する目的のために、好ましい実施形態を図面に示す。しかしながら、本発明は、例示の正確な構成及び機器に制限されない。
【発明を実施するための最良の形態】
【００２３】
（コンピュータ環境）
図１及び以下の議論は、本発明及び／又はその一部を実装するのに適したコンピューティング環境の一般的な簡単な説明を提供することを意図する。必須ではないが、本発明は、クライアントワークステーション又はサーバ等のコンピュータによって実行される、プログラムモジュール等のコンピュータで実行可能な命令の一般的なコンテキストで記載される。一般に、プログラムモジュールは、特定のタスクを実行し、又は特定の抽象データ型を実装する、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造等を含む。さらに、本発明及び／又はその一部は、ハンドヘルドデバイス、マルチプロセッサシステム、マイクロプロセッサベースの又はプログラム可能なコンシューマ用電子機器、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータ等を含む他のコンピュータシステム構成で実行されることができる。本発明は、また、タスクが通信ネットワークを介して結合される遠隔処理デバイスによって実行される分散コンピューティング環境で実行される。分散コンピューティング環境において、プログラムモジュールをローカル及び遠隔メモリ格納デバイスの両方に配置することができる。
【００２４】
図２に示すように、例示的な汎用コンピューティングシステムは、プロセッシングユニット１２１、システムメモリ１２２、システムメモリを含む様々なシステムコンポーネントをプロセッシングユニット１２１に結合するシステムバス１２３を含む、従来のパーソナルコンピュータ１２０等を含む。システムバス１２３は、メモリバス又はメモリコントローラ、周辺バス、及び任意の様々なバスアーキテクチャを使用するローカルバスを含む、任意のいくつかの種類のバス構造であり得る。システムメモリは、リードオンリーメモリ（ＲＯＭ）１２４、ランダムアクセスメモリ（ＲＡＭ）１２５を含む。開始時等にパーソナルコンピュータ１２０内の要素間で情報を転送することを助ける基本ルーチンを含む基本入力／出力システム１２６（ＢＩＯＳ）は、ＲＯＭ１２４内に格納される。
【００２５】
パーソナルコンピュータ１２０は、さらに、図示しないハードディスクから読み出しかつハードディスクへ書き込むためのハードディスクドライブ１２７、着脱式磁気ディスク１２９から読み出しかつ着脱式磁気ディスク１２９へ書き込むための磁気ディスクドライブ１２８、及びＣＤ−ＲＯＭ又は他の光学メディア等の着脱式光学ディスク１３１から読み出しかつ着脱式光学ディスク１３１へ書き込むための光学ディスクドライブ１３０を含むことができる。ハードディスクドライブ１２７、磁気ディスクドライブ１２８、及び光学ディスクドライブ１３０は、それぞれハードディスクドライブインタフェース１３２、磁気ディスクドライブインタフェース１３３、及び光学ディスクドライブインタフェース１３４によって、システムバス１２３に接続される。ドライブ及びそれらに結合されるコンピュータ読み取り可能なメディアは、コンピュータ読み取り可能な指示の不揮発性ストレージ、データ構造、プログラムモジュール、及びパーソナルコンピュータ１２０のための他のデータを提供する。
【００２６】
本明細書に記載される例示的な環境は、ハードディスク、着脱式磁気ディスク１２９、及び着脱式光学ディスク１３１を用いるが、コンピュータによってアクセス可能なデータを格納することができる他の種類のコンピュータ読み取り可能なメディアも、例示的な動作環境において使用されることができることは理解されるべきである。そのような他の種類のメディアは、磁気カセット、フラッシュメモリカード、ディジタルビデオディスク、Ｂｅｒｎｏｕｌｌｉカートリッジ、ランダムアクセスメモリ（ＲＡＭ）、リードオンリーメモリ（ＲＯＭ）等を含む。
【００２７】
多数のプログラムモジュールは、オペレーティングシステム１３５、１つ以上のアプリケーションプログラム１３６、他のプログラムモジュール１３７、プログラムデータ１３８を含む、ハードディスク、磁気ディスク１２９、光学ディスク１３１、ＲＯＭ１２４、ＲＡＭ１２５に格納されることができる。ユーザは、キーボード１４０、ポインティングデバイス１４２等の入力デバイスを介して、パーソナルコンピュータ１２０にコマンドと情報を入力することができる。図示しない他の入力デバイスは、マイクロフォン、ジョイスティック、ゲームパッド、サテライトディスク、スキャナ等を含むことができる。これらと他の入力デバイスは、システムバスに結合されるシリアルポートインタファース１４６を介して、プロセッシングユニット１２１にしばしば接続されるが、パラレルポート、ゲームポート、ユニバーサルシリアルバス（ＵＳＢ）等の他のインタフェースによって接続されることができる。モニタ１４７や他のタイプのディスプレイデバイスは、ビデオアダプタ１４８等のインタフェースを介して、システムバス１２３に接続される。モニタ１４７に加えて、パーソナルコンピュータは、一般に、スピーカやプリンタ等の図示しない他の周辺出力デバイスを含む。図２の例示的なシステムは、また、ホストアダプタ１５５、スモールコンピュータシステムインタフェース（ＳＣＳＩ）バス１５６、ＳＣＳＩバス１５６に接続された外部ストレージデバイス１６２を含む。
【００２８】
パーソナルコンピュータ１２０は、遠隔コンピュータ１４９等の１つ以上の遠隔コンピュータへの論理接続を使用するネットワーク化された環境で動作することができる。遠隔コンピュータ１４９は、他のパーソナルコンピュータ、サーバ、ルータ、ネットワークＰＣ、ピアデバイス、他の共通ネットワークノードであることができ、かつ一般的には、メモリストレージデバイス１５０だけが図２に示されているが、パーソナルコンピュータ１２０に対して上述された多くの要素又は全ての要素を含む。図２に示される論理接続は、ローカルエリアネットワーク（ＬＡＮ）１５１やワイドエリアネットワーク（ＷＡＮ）１５２を含む。そのようなネットワーク環境は、オフィス、企業間コンピュータネットワーク、イントラネット、インターネットにおいて一般的である。
【００２９】
ＬＡＮネットワーク環境において使用されるとき、パーソナルコンピュータ１２０は、ネットワークインタフェースやアダプタ１５３を介してＬＡＮ１５１に接続される。ＷＡＮネットワーク環境において使用されるとき、パーソナルコンピュータ１２０は、一般に、インターネット等のワイドエリアネットワーク１５２にわたる通信を確立するために、モデム１５４や他の手段を含む。内蔵又は外付けのモデム１５４は、シリアルポートインタフェース１４６を介してシステムバス１２３に接続される。ネットワーク環境において、パーソナルコンピュータ１２０又はそれらの一部に対して示されるプログラムモジュールは、遠隔メモリストレージデバイスに格納されることができる。図示されるネットワーク接続は例示的であり、コンピュータ間の通信リンクを確立する他の手段を使用できることが理解される。
【００３０】
（コンテンツ１２へのアクセスのメータリング）
本発明において、コンテンツ保護システム１０にしたがった、コンピューティングデバイス１４によるコンテンツ１２へのアクセスは、何がメータリングされるべきかの規定に基づいてメータリングされ、メータリングから導き出されるデータは、コンピューティングデバイス１４又は他の場所に格納される。メータリングデータは、様々なコンピューティングデバイス１４の各々からメータリングデータを収集するメータリングサービス２４（図１）に定期的に報告され、特に、１組の手順に基づいてメータリングサービス２４に報告される。
【００３１】
コンテンツ保護は、ディジタルコンテンツ１２の保護のための方法及び技術の領域を示し、これにより、コンテンツ１２は、コンテンツオーナ及び／又はプロバイダの望みと矛盾した方法では使用できないことに留意されたい。方法は、特に、コピー保護（ＣＰ）、リンク保護（ＬＰ）、コンディショナルアクセス（ＣＡ）、権利管理（ＲＭ）、ディジタル権利管理（Digital Right Management：ＤＲＭ）を含む。任意のコンテンツ保護システム１０の基礎は、保護されるコンテンツ１２の使用に関する暗黙の規則及び／又は明示の規則を適切に順守することを保障する信頼性のあるアプリケーションだけが、保護されていない形態(unprotected form)でコンテンツにアクセスできることである。通常、コンテンツ１２は、信頼性のあるパーティだけがそれを復号することができる様々な方法で暗号化されることによって保護される。
【００３２】
厳密には、コピー保護は、特に、ストレージデバイスに存在するコンテンツ１２に適用され、一方、リンク保護は、伝送信媒体上でアプリケーション／デバイス間を流れるコンテンツ１２に適用される。コンディショナルアクセスは、より洗練されたリンク保護の形態と考えることができ、そこでは、プレミアムプログラム(premium program)、チャネル及び／又は動画は、通過中に暗号化される。コンテンツ１２へのアクセスに対して代金を払った加入者だけに対して、それを復号するのに必要なキーを提供する。
【００３３】
ディジタル権利管理は、拡張可能なアーキテクチャであり、そこでは、特定のコンテンツ１２の許可された使用に関する規則が明示され、コンテンツ１２自体に結合され又はコンテンツ１２自体に関連付けられる。ＤＲＭ機構は、個々のコンテンツ又はそのコンテンツのサブコンポーネントのレベルでより優れた制御及び柔軟性を提供しながら、他の方法より上等でかつより表現に富んだ規則をサポートすることができる。ディジタル権利管理システムの一例は、１９９９年４月１２日に出願された米国特許出願第０９／２９０３６３号（特許文献１）に示される。
【００３４】
権利管理は、コンテンツが編成(organization)又はそれのサブセット内だけでアクセス可能であるように保護される、ということに組織的に基づくＤＲＭの一形態である。権利管理システムの一例は、それぞれ２００２年６月２８日に出願された米国特許出願第１０／１８５５２７号（特許文献２）、米国特許出願第１０／１８５２７８号（特許文献３）、米国特許出願第１０／１８５５１１号（特許文献４）に示される。
【００３５】
（メータリングされるべきものの規定）
本発明の一実施形態において、コンピューティングデバイスのメータリングは、対応するコンテンツ１２をレンダリングするためにライセンス１６を用いる過程で、コンピューティングデバイス１４の信頼性のあるコンポーネント１８の制御及び後援に基づいて実行される。その実施形態において、ライセンス１６がＸＭＬ（ｅＸｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）ベースのライセンス１６等で用いられることができる等のメータリングタグを含む場合に、コンテンツ１２の使用／コンテンツ１２へのアクセス／コンテンツ１２のレンダリングはメータリングされる。したがって、メータリングするかどうかの決定がライセンス１６内のメータリングタグの存在に基づいたとしても、メータリングはコンテンツ１２に対して実行される。
【００３６】
例えば、ライセンス１６の以下の部分は、ＭＩＤ（メータリングＩＤ）タグを含み、したがって、対応するコンテンツ１２は、コンテンツ１２のレンダリングの過程で信頼性のあるコンポーネント１８によってメータリングされる。
【００３７】
【表１】
2005317009.tif 000003
【００３８】
ＭＩＤタグと関連付けられたデータ（以降、「ＭＩＤ」）は、ｂａｓｅ６４で符号化された１６バイト識別表示(identification)であることに留意されたい。本発明の一実施形態において、ＭＩＤは、以下により詳細に示されるように、ライセンス１６に関連して収集されたメータリングデータの受信者を識別する。ＫＩＤタグは、ライセンス１６が結合されるコンテンツ１２を識別し、少なくともいくつかの場合において、ＫＩＤタグと関連付けられたデータ（以降、「ＫＩＤ」）は、コンテンツ１２を復号するコンテンツキー（ＫＤ）を導き出す値を表すことにも留意されたい。
【００３９】
信頼性のあるコンポーネント１８は、本発明の精神及び範囲から逸脱することなく、コンテンツ１２の使用に関して任意の特定の種類のメータリングデータを収集することができる。本発明の一実施形態において、信頼性のあるコンポーネント１８は、各レンダリング権利（ＰＬＡＹ、ＣＯＰＹ、ＴＲＡＮＳＦＥＲ、ＥＤＩＴ等）のためのセキュアストア２２におけるカウントを維持し、権利がコンテンツ１２をアクセスするために用いられるときに、各カウントをインクリメントする。セキュアストア２２は、メータリングデータを格納するために用いられ、ユーザ又はその他がメータリングデータを改竄するのを防ぐ。さもなければ、例えば、使用毎の基準で支払いを請求される不法なユーザは、メータリングデータを変更し、実際よりも少ない使用を反映する可能性がある。
【００４０】
本発明の別の実施形態において、ＭＩＤタグは、権利がカウントされるべきデータ（図示せず）及び／又は測定されるべきコンテンツ１２の他の使用の態様におけるデータ、及び測定方法（図示せず）を含むことができる。したがって、信頼性のあるコンポーネント１８は、コンテンツ１２がレンダリングされる時間量、レンダリングが開始される回数、レンダリングが終了される回数、レンダリング中のキーストローク又はマウスの移動回数等のメータリングを実行することができ、セキュアストア２２に適切にメータリングデータを格納する。
【００４１】
（メータリングから導き出されたデータの格納）
信頼性のあるコンポーネント１８は、対応するライセンス１６の使用に関連してコンテンツ１２に関するメータリングデータを収集し、コンテンツ１２をレンダリング（すなわち、アクセス）し、図３に示されるように、セキュアストア２２内に、収集されたメータリングデータを適切に格納する。さらに、信頼性のあるコンポーネント１８は、ライセンス１６の使用に関するライセンスデータを収集し、レンダリングすることができ、セキュアストア２２（図示せず）内に、収集されたライセンスデータを適切に格納することもできる。
【００４２】
本発明の一実施形態においては、及び、図３から分かるように、信頼性のあるコンポーネント１８は、メータリングデータを結果として生じるメータリングをトリガしたライセンス１６内のＭＩＤに基づいて、及び、ライセンス１６に記述された対応するメータリングされたコンテンツ１２のＫＩＤに基づいて、メータリングデータベース２６内のセキュアストア２２にメータリングデータを格納する。特に、信頼性のあるコンポーネント１８は、一次インデックス値としてのＭＩＤに基づいて、メータリングデータベース２６内のセキュアストア２２にメータリングデータを格納し、ＫＩＤは二次インデックス値である。したがって、特定のＫＩＤを有するコンテンツ１２をレンダリングするために特定のＭＩＤ及びＫＩＤを有するライセンス１６のある特定の使用に関して、信頼性のあるコンポーネント１８は、セキュアストア２２におけるデータベース２６内の対応するＭＩＤ、ＫＩＤインデックス値を更新し、使用を反映する。例えば、コンテンツが、２回プレイされかつ１回コピーされる場合、信頼性のあるコンポーネント１８は、セキュアストア２２におけるデータベース２６内の対応するＭＩＤ、ＫＩＤインデックス値に基づいて、プレイカウント値を２回、コピーカウント値を１回インクリメントする。
【００４３】
マルチプルライセンス１６は、コンテンツ１２の同じ部分をレンダリングすることをそれぞれ可能にするが、それらに同一又は異なるＭＩＤを有することができる。したがって、２つのライセンス１６の各々が同じＭＩＤを有しコンテンツ１２をプレイするために１回使用される場合には、ＭＩＤ、ＫＩＤインデックス値に基づいたプレイカウントは、２回のプレイに対して２回インクリメントされる。同様に、２つのライセンス１６の各々が異なるＭＩＤ（ＭＩＤ１とＭＩＤ２）を有しコンテンツ１２をＰＬＡＹするために１回使用される場合には、ＭＩＤ１、ＫＩＤインデックス値に基づいたプレイカウントは１回のＰＬＡＹに対して１回インクリメントされ、ＭＩＤ２、ＫＩＤインデックス値に基づいたプレイカウントは１回のＰＬＡＹに対して同様に１回インクリメントされる。
【００４４】
（メータリングサービス）
セキュアストア２２におけるメータリングデータベース２６内の信頼性のあるコンポーネント１８によって累積されたメータリングデータは、集中メータリングサービス(centralized metering service)２４に定期的に転送され、それによって、メータリングサービス２４は、複数のコンピューティングデバイスからメータリングデータを受信し、それを適切に処理することができる。その処理は、本発明の精神及び範囲から逸脱することなく任意の適切な処理であればよい。例えば、コンテンツ１２の著者が使用毎の基準でロイヤリティを収集する予定である場合、メータリングサービスは、コンテンツ１２に関する時間帯にわたる使用の全てのカウントを合計し、それを著者及び／又はロイヤリティ支払いエンティティに報告する。また、メータリングサービスは、処理を実行する他のサービスによって検索するメータリングデータを単に受信し格納することができ、又は、他のサービスに対して格納されたメータリングデータを定期的に転送することができる。
【００４５】
どのサービスがメータリングデータを実際に処理するかに関わらず、各メータリングデータがＭＩＤ、ＫＩＤインデックス値に基づいてメータリングデータベース２６に格納されるため、データをＭＩＤ、ＫＩＤインデックス値とともにメータリングサービス２４に転送することができ、またＭＩＤ、ＫＩＤインデックス値に基づいて処理される。したがって、転送されたメータリングデータの処理は、ＭＩＤ、ＫＩＤインデックス値に基づいて実行される。したがって、一例として、コンテンツ１２の全ての使用の全体集合(total aggregate)が所定の値に達する場合、コンテンツ１２のコンテンツオーナは、定額料金(flat fee)を収集することになり、集合(aggregation)は、メータリングサービス２４へのコンテンツ１２に対応するメータリングデータに関連するＫＩＤインデックス値に基づき行われる。
【００４６】
本発明の一実施形態において、転送されたメータリングデータを受信する複数のメータリングサービス２４の例を示し、各メータリングデータは、メータリングデータに関連するＭＩＤに基づき特定のメータリングサービス２４に転送される。各メータリングサービス２４は、１又は複数のＭＩＤに関連付けされ、その結果、１又は複数のＭＩＤに関連するメータリングデータを受信する。
【００４７】
メータリングサービス２４とＭＩＤとの関係は、ＭＩＤ、ＵＲＬ（Ｕｎｉｖｅｒｓａｌ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）等のメータリングサービス２４に対応する識別表示、公開キー（ＰＵ−Ｍ）、署名を含むメータリング証明書３０を発行するコンテンツ管理機関によって確立されることができる。したがって、対応するメータリングサービス２４に関連する特定のＭＩＤを有するメータリングデータを報告する予定の各コンピューティングデバイス１４上の信頼性のあるコンポーネント１８は、特定のＭＩＤをメータリングサービス２４で識別するだけの場合、対応するメータリング証明書３０を有さなければならない。通常、信頼性のあるコンポーネント１８は、初期化されるとき及び通常の更新の一部として、１又は複数のメータリング証明書３０を提供される。
【００４８】
（メータリングサービスへのメータリングデータの報告）
コンピューティングデバイス１４（以降、「クライアント１４」）は、時間をかけてメータリングデータベース２６内にメータリングデータを蓄積し、その結果、メータリングデータを１つ又は複数のメータリングサービス２８に定期的に報告することを期待される。報告期間(reporting period)の周期性は、本発明の精神及び範囲を逸脱することなく、任意の適切な周期とすることができる。例えば、周期性は、毎日、毎週、２週間毎、毎月等である。また、周期性は、所定のサイズに到達し、又は、所定の量のメータリングデータを有する、メータリングデータベース２６に基づくことができる。
【００４９】
メータリングデータを報告するとき、クライアント１４は、メータリングデータベース２６内に蓄積されたメータリングデータを全て報告することができ、又は、メータリングデータベース２６内に蓄積されたメータリングデータの一部だけを報告することができる。特に、本発明の一実施形態において、クライアント１４は、メータリング証明書３０基準によって、メータリングデータベース２６内に累積されたメータリングデータを報告する。その結果、クライアント１４が、メータリングデータベース２６内の所定のメータリングデータに対応するメータリング証明書３０を有さない場合、所定のメータリングデータは報告されない。
【００５０】
図４に転じ、本発明の一実施形態において、クライアント１４は、以下の手順に基づいて、メータリング証明書３０基準によって、メータリングデータベース２６内に蓄積されたメータリングデータを報告する。予め、クライアント１４は、特定のメータリング証明書３０を選択し、署名に基づきそれを確認し（ステップ４０１）、次に、確認されたメータリング証明書３０からそこに記述されたＭＩＤを判定する（ステップ４０３）。その後、ＭＩＤに基づき、クライアント１４は、関連付けられたＭＩＤを有するメータリングデータベース２６内のメータリングデータの少なくとも一部を選択し、所定のフォーマットでコピーする（ステップ４０５）。
【００５１】
メータリングデータベース内の全てのメータリングデータに、関連付けられたＭＩＤに基づき一次的にインデックスが付けられるため、特定の関連付けられたＭＩＤを有するメータリングデータは、少なくとも論理的な意味で共に配置され、したがって、特定の関連付けられたＭＩＤを有するメータリングデータを選択することは、比較的簡単なタスクであることに留意されたい。メータリングデータベース内の全てのメータリングデータに、関連付けられるＫＩＤに基づき二次的にインデックスが付けられるため、選択されたメータリングデータは、関連付けられるＫＩＤに基づいて既に編成されることにも留意されたい。したがって、選択されたメータリングデータは、ＫＩＤに基づいて編成されたカウントのリスト等であり、例えば以下のようなＸＭＬフォーマットに配置することができる。
【００５２】
【表２】
2005317009.tif 000004
【００５３】
メータリングデータは、クライアント１４のメータリングデータベース２６内にＸＭＬフォーマットで既に存在し得、この場合、メータリングデータを、チャレンジ内に逐語的にコピーできることに留意されたい。
【００５４】
本発明の一実施形態において、選択されフォーマットされたメータリングデータを有するクライアント１４は、フォーマットされたメータリングデータ及びメータリング証明書３０に基づいてチャレンジを構築する（ステップ４０７）。チャレンジは、例えば、メータリング証明書３０からのＭＩＤ、ＵＲＬ、又は、メータリング証明書３０からの対応するメータリングサービス２４の他の識別表示、チャレンジに関して選択されたトランザクションＩＤ（ＴＩＤ）、フォーマットされたメータリングデータを含む。フォーマットされメータリングデータが他のエンティティにより見られることから保護するために、チャレンジ内のフォーマットされたメータリングデータは、対称パス・キー(symmetric)に基づいて暗号化され、結果として（パス・キー(pass key)（メータリングデータ））が生じる。パス・キーは、メータリング証明書３０からの（ＰＵ−Ｍ）に基づいて暗号化されたチャレンジ内にそれ自体が配置され、結果として（ＰＵ−Ｍ（パス・キー））が生じることに留意されたい。パス・キーは、本発明の精神及び範囲から逸脱することなく、任意の適切なキーであることができる。例えば、パス・キーは、一方向に再現可能な方法でＭＩＤからある程度、クライアント１４によって導き出されることができる。
【００５５】
ＴＩＤは、ｂａｓｅ６４で符号化された１６バイト識別表示であり、チャレンジがうまく送信されかつ応答される度にランダムに生成され、対応するメータリングデータは、以下により詳細に示されるように、メータリングデータベース２６から削除されることに留意されたい。以下により詳細に示されるように、クライアント１４は、ＭＩＤに対する前のチャレンジがうまく完了したとき、ＭＩＤに対する現在のチャレンジのＴＩＤを既に生成し、ＭＩＤに対する現在のチャレンジに関連する検索及び使用に対する現在のチャレンジのＭＩＤに基づいて、メータリングデータベース２６に生成されたＴＩＤを格納する。
【００５６】
所定の環境下で、クライアント１４は、フォーマットされた全てのメータリングデータを含むチャレンジを構築することができないことがある。例えば、クライアント１４が、限られたメモリを有する比較的簡単なデバイスの場合、チャレンジのサイズは、クライアント１４内の利用可能なバッファ空間によって制限される。実際にクライアント１４は、フォーマットされた全てのメータリングデータを含むチャレンジを構築することができない場合、チャレンジは、セット・パーシャル・データ・フラグ(set partial data flag)を含む。以下により詳細に示されるように、チャレンジを受信すべきメータリングサービス２４は、受信されたチャレンジがフォーマットされた全てのメータリングデータを含むかどうかについての特別の関心を有する場合も、有さない場合もある。しかし、チャレンジに応答するメータリングサービス２４は、クライアント１４に追加のフォーマットされたメータリングデータとともに他のチャレンジを送信することを気付かせるためのセット・パーシャル・データ・フラグを含む。
【００５７】
上述されたように、チャレンジ内のフォーマットされたメータリングデータは、他のエンティティによって見られることからそれを保護するために、パス・キーによって暗号化されたフォーマットされたメータリングデータを含む。同様に、チャレンジ又はその少なくともその一部は、パス・キーに基づいてハッシュ値にハッシュ化されるべきであり、ハッシュ値は、他のエンティティによる任意の変更を検出するために、チャレンジとともに含まれる。ハッシュ値が導き出された後、チャレンジ又はその少なくとも一部が変更される場合、意図的に又は何かの事情で、ハッシュ値は確認に失敗する。
【００５８】
上述されるようにフォーマットされたメータリングデータを有する構築されたチャレンジの一例は、以下に示される。
【００５９】
【表３】
2005317009.tif 000005
【００６０】
チャレンジは、チャレンジのために型属性セット(a type attribute set)をＭＥＴＥＲＤＡＴＡタグとともに含むことによって識別されることに留意されたい。
【００６１】
クライアント１４によって構築されるチャレンジは、ネットワーク接続等の適切な接続によってメータリングサービス２４に送信される（ステップ４０９）。接続は、本発明の精神及び範囲から逸脱することなく、任意の接続であることができる。例えば、１つのシナリオにおいて、接続は、インターネット等のネットワークでＨＴＴＰ等の相互に条件を満たしたプロトコルを介して、メータリングサービス２４と直接会話するクライアント／コンピューティングデバイス１４である。クライアント１４及びメータリングサービス２４が束縛される他のシナリオにおいて、接続は、ＵＢＳ−１３９４等の直接接続技術である。
【００６２】
受信されると、メータリングサービス２４は、（ＰＲ−Ｍ）を、受信されたチャレンジからの（ＰＵ−Ｍ（パス・キー））に適用し、パス・キーを取得し（ステップ４１１）、取得したパス・キーに基づき、受信されたチャレンジからハッシュ値を確認する（ステップ４１３）。ある理由によりハッシュ値が確認することを失敗する場合、メータリングサービス２４は、同じＭＩＤに関して別のチャレンジをクライアント１４に要求することができ、又は、単にチャレンジを無視することができる。その場合、クライアント１４が２つ前の報告期間からのＭＩＤに関するメータリングデータを有効に報告するためにチャレンジを送るときに、次の報告期間が終了するまで、クライアント１４は、ＭＩＤに関するメータリングデータを蓄積し続ける。
ハッシュ値が確かに確認すると仮定して、メータリングサービス２４は、次に、（パス・キー）を、受信されたチャレンジからの（パス・キー（メータリングデータ））に適用し、メータリングデータを取得し（ステップ４１５）、次に適切な方法で、取得したメータリングデータを格納する（ステップ４１７）。取得したメータリングデータを格納することは、本発明の精神及び範囲から逸脱することなく、任意の適切な方法で実行されることができることに留意されたい。特定の位置及び格納方法は、格納されたメータリングデータを検索し使用する別のサービス３２（図１）と主に関連する。
【００６３】
トランザクションを完了するために、メータリングサービスは、チャレンジに基づきクライアント１４に返すべきレスポンスを構築する（ステップ４１９）。レスポンスに基づき、クライアント１４は、クライアント１４のメータリングデータベース２６からのチャレンジの根拠である選択されたメータリングデータを削除する。
【００６４】
本発明の一実施形態において、構築されたレスポンスのコンテンツは、対応するチャレンジのコンテンツに類似し、実際に、それらにコピーされたチャレンジの一部を含むことができる。したがって、レスポンスは、例えば、チャレンジからのＭＩＤ及びＴＩＤと、フォーマットされたメータリングデータの少なくとも一部とを含むことができる。最後のアイテムに関して、メータリングサービス２４は、レスポンスによって、所定のＫＩＤを有するメータリングデータが処理されたことをクライアント１４に伝えるだけでよく、実際に処理されたメータリングデータを含む必要はないことに留意されたい。したがって、レスポンスに含まれるべきフォーマットされたメータリングデータの一部は、処理済みのメータリングデータのＫＩＤリストである。
【００６５】
前述のように、レスポンス内のＫＩＤリストが他のエンティティによって見られることから保護するために、チャレンジ又は別のキーから取得されるパス・キーに基づいてリストを暗号化することができる。ただし、リストが本質的にセンシティブと考えられない場合にはリストを暗号化する必要はない。チャレンジからのパス・キーが用いられる場合、クライアント１４がＭＩＤから又は他のあるソースからそれを導き出すことができれば、パス・キーは暗号化された形態でレスポンス内に配置される必要はない。
【００６６】
上述したように、クライアント１４がフォーマットされた全てのメータリングデータを含むチャレンジを構築することができない場合、チャレンジは、その中にセット・パーシャル・データ・フラグを含む。そのような場合、チャレンジを受信しかつそれに応答するメータリングサービス２４は、クライアント１４に、追加のフォーマットされたメータリングデータとともに別のチャレンジに送ることを気づかせるために、セット・パーシャル・データ・フラグをレスポンスに含む。最後に、レスポンス又はその少なくとも一部は、パス・キーに基づいてハッシュ値にハッシュ化され、ハッシュ値は、他のエンティティによる任意の変更を削除するためにレスポンスと共に含められる。ハッシュ値が導き出された後、レスポンス又はその少なくとも一部が変更される場合、意図的に又は何らかの事情で、ハッシュ値は確認に失敗する。
【００６７】
構築されたレスポンスの一例は、以下の通りである。
【００６８】
【表４】
2005317009.tif 000006
【００６９】
レスポンスは、レスポンスのために、型属性セットをＭＥＴＥＲＤＡＴＡタグと共に含むことによって識別されることに留意されたい。またレスポンスは、ＲＥＳＥＴコマンドを含む。ＲＥＳＥＴコマンドは、本質的には、メータリングデータベース２６からの選択されたメータリングデータをクライアント１４が削除することの許可である。
【００７０】
メータリングサービス２４によって構築されるレスポンスは、その間の接続によってクライアント１４に送信される（ステップ４２１）。受信されたとき、クライアント１４は、再びそれを導き出すことによって、又は格納されたそのコピーを検索することによってパス・キーを取得し、取得したパス・キーに基づいて、受信されたレスポンスからハッシュ値を確認する（ステップ４２３）。ある理由で、ハッシュ値が確認に失敗すると、クライアント１４は、同じチャレンジに対する別のレスポンスをメータリングサービス２４に要求することができ、又は、単にレスポンスを無視することができ、その場合、クライアント１４は、２つ前の報告期間からのＭＩＤに関するメータリングデータを有効に報告するためにチャレンジを送るときに、次の報告期間が終了するまで、ＭＩＤに関するメータリングデータを蓄積し続ける。
【００７１】
ハッシュ値が確かに確認すると仮定し、クライアント１４は、次に、レスポンスにおけるＴＩＤ及びＭＩＤが、同じＭＩＤを有するメータリングデータベース２６内に格納されたＴＩＤに一致することを確認する（ステップ４２５）。クライアント１４は、次に、必要であれば、受信したレスポンスからの暗号化されたＫＩＤリストにパス・キーを適応し、リストを取得し、リスト内の各ＫＩＤに関して、ＭＩＤ、ＫＩＤインデックス値を有するメータリングデータベース２６からメータリングデータを削除することによって、ＫＩＤリストを処理する（ステップ４２７）。したがって、メータリングデータがうまく報告されたとき、メータリングデータは、メータリングデータベース２６からクリアされ、その結果、新たなメータリングデータが次の報告期間の間に累積される。
【００７２】
メータリングデータを削除することが、本発明の精神及び範囲から逸脱することなく任意の適切な方法で実行されることができることに留意されたい。例えば、ＭＩＤ、ＫＩＤインデックス値、及びそれらに関連付けられる全てのデータを削除することができ、又は、ＭＩＤ、ＫＩＤインデックス値を残すことができ、それらに関連付けられるデータだけが削除される。
【００７３】
レスポンスのリスト内の全てのＫＩＤがうまく処理されたとき、上述したように、クライアント１４は、ＭＩＤに関する次のチャレンジのＴＩＤを生成し、ＭＩＤに対する次のチャレンジに関連する検索及び使用に対する現在のチャレンジのＭＩＤに基づいて、メータリングデータベース２６内に、生成されたＴＩＤを格納する（ステップ４２９）。ＴＩＤを予め生成することは、ＭＩＤが最初にメータリングデータベース２６内に導入されるとき、各ＭＩＤに対してＴＩＤの初期生成を必要とする。
【００７４】
チャレンジ及び結果として生じるレスポンスにおけるＴＩＤの使用は、クライアント１４によって報告される累積されたメータリングデータが、メータリングサービス２４によって複数回カウントされないことを保証する。特に、ある理由で、第１の報告期間からのメータリングデータを有する第１のチャレンジが受信され、メータリングサービス２４によって格納されるが、クライアント１４は、それらからのレスポンスを受信することを失敗し、クライアントは、チャレンジのＭＩＤに対する新たなＴＩＤを生成せず、また第１の報告期間のメータリングデータを削除しない。そのような場合、新たなＴＩＤを生成しないという結果は、第１の報告期間及び次の報告期間の両方からのメータリングデータを有するＭＩＤに対する次のチャレンジは、受信され、メータリングサービス２４によって格納され、かつ、メータリングサービス２４に従う。しかしながら、次のチャレンジが、第１のチャレンジと同じＴＩＤを有する場合は、第１の報告期間からのメータリングデータを複製するために、メータリングサービス２４は、第１の報告期間と、第１のチャレンジで記述された第１の報告期間からのメータリングデータとともに次のチャレンジで示される次の報告期間との両方からのメータリングデータを累積すべきでない。そうすることは、第１の報告期間からのメータリングデータを２回カウントすることになる。代わりに、メータリングサービス２４は、第１のチャレンジで記述された第１の報告期間からのメータリングデータを、第１の報告期間と、次のチャレンジで記述された次の報告期間との両方からのメータリングデータで上書きする。結果として、第１の報告期間からのメータリングデータは、実際には２回カウントされない。もちろん、メータリングサービス２４が次のチャレンジが第１のチャレンジと同じＴＩＤを有することを認識するために、メータリングサービス２４は、ＴＩＤのデータベース及び関連付けられたメータリングデータを維持する。
【００７５】
最後に、チャレンジのＭＩＤに関する新たなＴＩＤを生成すると、クライアント１４は、レスポンスがセット・パーシャル・データ・フラグを含むかどうかを判定する（ステップ４３１）。含む場合には、クライアント１４は、チャレンジのＭＩＤに関して、メータリングサービス２４に報告されるべき追加のメータリングデータを有し、ステップ４０５〜４３１のように、１又は複数の追加のチャレンジを構築し送信し、追加のメータリングデータを報告する。追加のチャレンジは、即時でないにしても迅速に、次の報告期間が終了することを待つことなく送信されることに留意されたい。
【００７６】
これまで、クライアント１４がメータリングサービス２４に識別されることを仮定しなかったことに留意されたい。実際、例えばプライバシー事に基づいて、メータリングサービスからクライアントの識別を維持することは、望ましく、必要でもあるかもしれない。しかしながら、クライアント１４のユーザが例えばメータリングされた使用に基づく料金を支払うことに同意するという理由でクライアント１４が少なくとも部分的にメータリングサービス２４にメータリングデータを報告する場合、ユーザがメータリングされた使用に関して適切に料金を請求されることを保証するためだけであれば、クライアント１４は、メータリングサービスから識別されるべきである。通常、識別は、クライアント１４、ユーザ等を識別するディジタル証明書を、チャレンジとともに含むことによって達成され、その場合、ディジタル証明書は、公開キー（ＰＵ−Ｕ）と署名を含み、署名はもちろん確認される。したがって、パス・キーに基づきチャレンジ内にハッシュを含むのではなく、チャレンジは、（ＰＲ−Ｕ）に基づき、かつ、含まれるディジタル証明書からの（ＰＵ−Ｕ）に基づき確認できる署名を代わりに含むことができる。同様な方法で、パス・キーに基づきレスポンス内にハッシュを含むのではなく、レスポンスは、ディジタル証明書３０に関連付けられ、かつメータリング証明書３０から対応する（ＰＵ−Ｍ）に基づき確認できる秘密キー（ＰＲ−Ｍ）に基づく署名を代わりに含むことができる。
【００７７】
（結論）
本発明は、クライアント１４及びメータリングサービス２４が、適切な信頼性のあるコンポーネント１８であると仮定して、任意の適切なクライアント１４及びメータリングサービス２４に関して実施され得る。本明細書に示される本発明により、クライアント１４でのコンテンツ１２のアクセス及び他の使用は、メータリングされ、メータリングデータは、メータリングデータがメータリングサービス２４によって又は別のサービス３２によっていかなる目的で使用されても、メータリングサービス２４に適切に報告される。
【００７８】
本発明に関連して実施される処理を実行するのに必要なプログラミングは、比較的簡単であり、関連する公開プログラミングで明らかであるべきである。したがって、そのようなプログラミングは、本明細書に添付されない。適切なプログラミングは、本発明の精神及び範囲から逸脱することなく、本発明を実施するために用いられることができる。
【００７９】
前述の記載において、本発明は、メータリングデータを実行し、クライアント１４からメータリングサービス２４へのメータリングデータの報告を実行する新規で有用なアーキテクチャ及び方法を含む。アーキテクチャ及び方法は、何をメータリングすべきか、メータリングから導き出されたデータをどのようにコンピューティングデバイス１４に格納すべきか、いくつかのコンピューティングデバイス１４の各々からメータリングデータを収集するメータリングサービス２４、メータリングデータをどのようにメータリングサービス２４に報告すべきであるかを規定する。
【００８０】
チャレンジは、その発明概念から逸脱することなく上述された実施形態でなされることができる。本発明は、特定の開示される実施形態に制限されないが、添付の特許請求の範囲のよって規定されるように本発明の精神及び範囲内の変更を包含することを目的とする。
【図面の簡単な説明】
【００８１】
【図１】メータリングデータベースを有するクライアント、及びそれからメータリングデータを受信するメータリングサービスを含む、信頼に基づくシステムの一例の実行アーキテクチャを示すブロック図である。
【図２】本発明の態様及び／又はその一部を組み込むことができる汎用コンピュータシステムを表すブロック図である。
【図３】ディジタルコンテンツと、そのコンテンツと結合した１又は複数のディジタルライセンスと、本発明の一実施形態による図１のメータリングデータベース内のメータリングデータとの関係を示すブロック図である。
【図４】本発明の一実施形態による、メータリングデータをクライアントからメータリングサービスに報告する、図１のクライアント及びメータリングサービスによって実行される主要なステップを示すフロー図である。
【符号の説明】
【００８２】
１０  コンテンツ保護システム
１２  ＫＤ（コンテンツ）
１３  コンテンツパッケージ
１４  クライアント／コンピューティングデバイス
１６  ライセンス
１８  信頼性のあるコンポーネント
２０  評価器
２２  セキュアストア（Ｗ／メータリングＤＢ２６）
２４  メータリングサービス
３０  メータリング証明書  Ｗ／（ＰＵ−Ｍ）、Ｓ（ＰＲ−Ｍ）
３２  他のサービス
１２０  コンピュータ
１２１  処理ユニット
１２２  システムメモリ
１２３  システムバス
１２７  ハードドライブ
１２８  フロッピー（登録商標）ドライブ
１２９  ストア
１３０  光学ドライブ
１３１  ストア
１３２  ハードディスクドライブＩ／Ｆ
１３３  磁気ディスクドライブＩ／Ｆ
１３４  光学ドライブＩ／Ｆ
１３６  アプリケーションプログラム
１３７  他のプログラム
１３８  プログラムデータ
１４０  キーボード
１４２  マウス
１４６  シリアルポートＩ／Ｆ
１４７  モニタ
１４８  ビデオアダプタ
１４９  遠隔コンピュータ
１５０  メモリ
１５３  ネットワークＩ／Ｆ
１５４  モデム
１５５  ホストアダプタ
１５６  ＳＣＳＩバス
１６２  ストレージデバイス
【図１】
2005317009.tif 000007
【図２】
2005317009.tif 000008
【図３】
2005317009.tif 000009
【図４】
2005317009.tif 000010