(57)【要約】【課題】コンテンツが作成されても、処理システムの設計／製造者がその販売利益をシェアできない。コンテンツの実行を制限すると、シェアウエアやフリーウエアのメリットが生きない。【解決手段】処理システムの提供者２０２とコンテンツ提供者２００は購入条件に合意し（２０４）、後者が前者へ支払いを行う。コンテンツ提供者２００は支払いの見返りとして、コンテンツを暗号化し、デジタル署名を生成するための情報を処理システム提供者２０２から得る（２０６、２０８）。処理システムでは、ローカルに記憶された第２の鍵を用いて暗号化されたコンテンツ２８０を復号する。復号されたコンテンツからデジタル署名を取得してその正当性を確認し、正当な場合に限り、プログラムコードから処理リソースの使用を許可する。【選択図】図２
2006221629.tif 000002
【特許請求の範囲】
【請求項１】
プログラムコードおよびデータを含むコンテンツを記憶するためのメモリと、
動作時に前記メモリと接続可能であり、前記コンテンツの少なくとも一部を実行するための要求を行うことが可能なプロセッサと、
前記プログラムコードの実行を容易にする１以上の処理リソースと、を備え、
前記プロセッサは、前記コンテンツが承認されたデジタル署名を含む場合を除き、前記１以上の処理リソースの使用を禁止するよう動作可能であることを特徴とする情報処理装置。
【請求項２】
前記プロセッサは、
承認されたデジタル署名がないのにも拘わらず、前記プログラムコードの少なくとも一部の実行を許可する処理と、
承認されたデジタル署名がないのにも拘わらず、前記処理リソースのうちの少なくともひとつの使用を許可する処理と、
のうち少なくとも一方を実行することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記処理リソースは不揮発性メモリのサブシステムと、処理システムの１以上の機能回路のいずれかを含み、
不揮発性メモリのサブシステムを含む場合、当該サブシステムは、電磁メモリ媒体、電子メモリ媒体、シリコンメモリ媒体、ＣＤ−ＲＯＭメモリ媒体、ＤＶＤ−ＲＯＭメモリ媒体、外部メモリ媒体などのソフトウエアおよび／またはハードウエアの一部を含み、
１以上の機能回路を含む場合、当該機能回路は、少なくとも、グラフィック処理回路、ネットワークインタフェイス回路、ローカルデータの入力および／または出力インタフェイスを備えることを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
プログラムコード、データおよびデジタル署名を含み、第１の鍵により暗号化されたコンテンツを受信可能なメモリと、
装置内にローカルに記憶した第２の鍵を用いて前記暗号化されたコンテンツを復号し、復号したコンテンツから前記デジタル署名を取得し、取得したデジタル署名の正当性を確認するよう動作可能なプロセッサと、を備え、
前記プロセッサのオペレーティングシステムは、前記デジタル署名が正当な場合、前記プログラムコードの実行を容易にする１以上の処理リソースの使用を許可するように動作可能であることを特徴とする情報処理装置。
【請求項５】
前記デジタル署名は、前記コンテンツを暗号化する前に、前記コンテンツの少なくとも一部に対してハッシュアルゴリズムを作用させて得たハッシュ値であり、
前記プロセッサはさらに、
ｉ）復号されたコンテンツの前記一部に対して前記ハッシュアルゴリズムを作用させることによって第２のハッシュ値を得、
ｉｉ）前記デジタル署名と第２のハッシュ値とを比較してその正当性を確認することを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記コンテンツは、前記プログラムコードによっていずれの処理リソースの使用が許されるかを示すリソースリストを含み、
前記プロセッサは、前記デジタル署名を確認した上で、前記リソースリストに記載された処理リソースの使用を許可するように動作可能であることを特徴とする請求項４または５に記載の情報処理装置。
【請求項７】
前記第１の鍵と第２の鍵は、秘密鍵／公開鍵のペアを形成することを特徴とする請求項４から６のいずれかに記載の情報処理装置。
【請求項８】
前記プロセッサは、
ｉ）正当なデジタル署名がなく、および／またはデジタル署名が正当ではないにも拘わらず、前記プログラムコードの少なくとも一部の実行を許可する処理と、
ｉｉ）正当なデジタル署名がなく、および／またはデジタル署名が正当ではないにも拘わらず、前記処理リソースのうちの少なくともひとつの使用を許可する処理と、
のうち少なくとも一方を実行することを特徴とする請求項４から７のいずれかに記載の情報処理装置。
【請求項９】
前記処理リソースは不揮発性メモリのサブシステムと、処理システムの１以上の機能回路のいずれかを含み、
不揮発性メモリのサブシステムを含む場合、当該サブシステムは、電磁メモリ媒体、電子メモリ媒体、シリコンメモリ媒体、ＣＤ−ＲＯＭメモリ媒体、ＤＶＤ−ＲＯＭメモリ媒体、外部メモリ媒体などのソフトウエアおよび／またはハードウエアの一部を含み、
１以上の機能回路を含む場合、当該機能回路は、少なくとも、グラフィック処理回路、ネットワークインタフェイス回路、ディスプレイインタフェイス回路、プリンタインタフェイス回路、ローカルデータの入力および／または出力インタフェイスを備えることを特徴とする請求項４から８のいずれかに記載の情報処理装置。
【請求項１０】
内蔵するプロセッサにアクションを実行させるソフトウエアを実行することが可能な処理システムを含む情報処理装置であって、前記アクションは、
プログラムコード、データおよびデジタル署名を含み、第１の鍵により暗号化されたコンテンツを処理システムのメモリにて受信する処理と、
処理システムにローカルに記憶された第２の鍵を用いて前記暗号化されたコンテンツを復号  する処理と、
復号されたコンテンツから前記デジタル署名を取得するとともに、そのデジタル署名の正当性を確認する処理と、
前記デジタル署名が正当な場合、前記処理システムのプロセッサによって前記プログラムコードの実行を容易にすることが可能な１以上の処理リソースの使用を許可する処理と、
を実行することを特徴とする情報処理装置。
【請求項１１】
前記デジタル署名は、前記コンテンツを暗号化する前に、前記コンテンツの少なくとも一部に対してハッシュアルゴリズムを作用させて得たハッシュ値であり、前記アクションはさらに、
ｉ）復号されたコンテンツの前記一部に対して前記ハッシュアルゴリズムを作用させることによって第２のハッシュ値を得、
ｉｉ）前記デジタル署名と第２のハッシュ値とを比較してその正当性を確認することを特徴とする請求項１０に記載の情報処理装置。
【請求項１２】
前記コンテンツは、前記プログラムコードによっていずれの処理リソースの使用が許されるかを示すリソースリストを含み、
前記アクションは、前記デジタル署名を認証した上で、前記リソースリストにより示される処理リソースの使用を許可することを含むことを特徴とする請求項１０または１１に記載の情報処理装置。
【請求項１３】
前記第１の鍵と第２の鍵は、秘密鍵／公開鍵のペアを形成することを特徴とする請求項１０から１２のいずれかに記載の情報処理装置。
【請求項１４】
前記アクションはさらに、
正当なデジタル署名がなく、および／またはデジタル署名が正当ではないにも拘わらず、前記プログラムコードの少なくとも一部の実行を許可する処理と、
正当なデジタル署名がなく、および／またはデジタル署名が正当ではないにも拘わらず、前記処理リソースのうちの少なくともひとつの使用を許可する処理と、
を実行することを特徴とする請求項１０から１３のいずれかに記載の情報処理装置。
【請求項１５】
プログラムコードおよびデータを含むコンテンツを処理システムのメモリに格納する処理と、
動作時に前記メモリと接続可能なプロセッサによる実行のために、前記コンテンツの少なくとも一部を要求する処理と、
前記コンテンツが承認されたデジタル署名を含まなければ、前記プログラムコードによってコールされても、該プログラムコードの実行を容易にする１以上の処理リソースの使用を禁止する処理と、
を実行することを特徴とする情報処理方法。
【請求項１６】
承認されたデジタル署名がないにも拘わらず、前記プログラムコードの少なくとも一部の実行を許可する処理と、
承認されたデジタル署名がないにも拘わらず、前記処理リソースのうちの少なくともひとつの使用を許可する処理と、
を実行することを特徴とする請求項１５に記載の情報処理方法。
【請求項１７】
前記処理リソースは不揮発性メモリのサブシステムと、処理システムの１以上の機能回路のいずれかを含み、
不揮発性メモリのサブシステムを含む場合、当該サブシステムは、電磁メモリ媒体、電子メモリ媒体、シリコンメモリ媒体、ＣＤ−ＲＯＭメモリ媒体、ＤＶＤ−ＲＯＭメモリ媒体、外部メモリ媒体などのソフトウエアおよび／またはハードウエアの一部を含み、
１以上の機能回路を含む場合、当該機能回路は、少なくとも、グラフィック処理回路、ネットワークインタフェイス回路、ディスプレイインタフェイス回路、プリンタインタフェイス回路、ローカルデータの入力および／または出力インタフェイスを備えることを特徴とする請求項１５または１６に記載の情報処理方法。
【請求項１８】
情報を要求する主体からの配慮の代償として、承認されたデジタル署名を前記コンテンツへ提供することを容易にする目的で、前記処理システムに関連する主体に対して前記情報を要求する処理をさらに含むことを特徴とする請求項１５から１７のいずれかに記載の情報処理方法。
【請求項１９】
前記処理システムに関連する主体は、前記処理システムの設計者、製造者のうちの少なくとも一方であることを特徴とする請求項１８に記載の情報処理方法。
【請求項２０】
前記情報を要求する主体はコンテツ提供者であり、
前記配慮は、前記処理システムの前記１以上の処理リソースの使用許可に対する料金の支払いであることを特徴とする請求項１８または１９に記載の情報処理方法。
【請求項２１】
要求される前記情報は、暗号鍵とデジタル署名情報のうちの少なくとも一方を含むことを特徴とする請求項１８から２０のいずれかに記載の情報処理方法。
【請求項２２】
前記デジタル署名情報は、前記承認されたデジタル署名の少なくとも一部として利用されるハッシュ値を生成するために、前記コンテンツの少なくとも一部に作用させられるハッシュアルゴリズムの識別情報を含むことを特徴とする請求項２１に記載の情報処理方法。
【請求項２３】
前記承認されたデジタル署名を前記コンテンツに内蔵せしめる処理と、
前記暗号鍵で該コンテンツを暗号化する処理と、
暗号化されたコンテンツを処理システムに伝送する処理と、
をさらに実行することを特徴とする請求項２１または２２に記載の情報処理方法。
【請求項２４】
前記プログラムコードによっていずれの処理リソースの使用が許されるかを示すリソースリストを前記コンテンツへ内蔵せしめる処理をさらに実行することを特徴とする請求項２１から２３のいずれかに記載の情報処理方法。
【請求項２５】
プログラムコード、データおよびデジタル署名を含み、第１の鍵により暗号化されたコンテンツを処理システムのメモリにて受信する処理と、
処理システムにローカルに記憶された第２の鍵を用いて前記暗号化されたコンテンツを復号  する処理と、
復号されたコンテンツから前記デジタル署名を取得するとともに、そのデジタル署名の正当性を確認する処理と、
前記デジタル署名が正当な場合、前記処理システムのプロセッサによって前記プログラムコードの実行を容易にすることが可能な１以上の処理リソースの使用を許可する処理と、
を実行することを特徴とする情報処理方法。
【請求項２６】
前記デジタル署名は、前記コンテンツを暗号化する前に、前記コンテンツの少なくとも一部に対してハッシュアルゴリズムを作用させて得たハッシュ値であり、本方法はさらに、
復号されたコンテンツの前記一部に対して前記ハッシュアルゴリズムを作用させることによって第２のハッシュ値を得、
前記デジタル署名と第２のハッシュ値とを比較してその正当性を確認することを特徴とする請求項２５に記載の情報処理方法。
【請求項２７】
前記コンテンツは、前記プログラムコードによっていずれの処理リソースの使用が許されるかを示すリソースリストを含み、
本方法はさらに、前記デジタル署名を認証した上で、前記リソースリストにより示される処理リソースの使用を許可することを含むことを特徴とする請求項２５または２６に記載の情報処理方法。
【請求項２８】
前記第１の鍵と前記第２の鍵は、秘密鍵／公開鍵のペアを形成することを特徴とする請求項２５から２７のいずれかに記載の情報処理方法。
【請求項２９】
正当なデジタル署名がなく、および／またはデジタル署名が正当ではないにも拘わらず、前記プログラムコードの少なくとも一部の実行を許可する処理と、
正当なデジタル署名がなく、および／またはデジタル署名が正当ではないにも拘わらず、前記処理リソースのうちの少なくともひとつの使用を許可する処理と、
をさらに実行することを特徴とする請求項２５から２８のいずれかに記載の情報処理方法。
【請求項３０】
前記処理リソースは不揮発性メモリのサブシステムと、処理システムの１以上の機能回路のいずれかを含み、
不揮発性メモリのサブシステムを含む場合、当該サブシステムは、電磁メモリ媒体、電子メモリ媒体、シリコンメモリ媒体、ＣＤ−ＲＯＭメモリ媒体、ＤＶＤ−ＲＯＭメモリ媒体、外部メモリ媒体などのソフトウエアおよび／またはハードウエアの一部を含み、
１以上の機能回路を含む場合、当該機能回路は、少なくとも、グラフィック処理回路、ネットワークインタフェイス回路、ディスプレイインタフェイス回路、プリンタインタフェイス回路、ローカルデータの入力および／または出力インタフェイスを備えることを特徴とする請求項２５から２９のいずれかに記載の情報処理方法。
【請求項３１】
プログラムコード、データおよびデジタル署名を含み、第１の鍵により暗号化されたコンテンツを処理システムのメモリにて受信する処理と、
処理システムにローカルに記憶された第２の鍵を用いて前記暗号化されたコンテンツを復号  する処理と、
復号されたコンテンツから前記デジタル署名を取得するとともに、そのデジタル署名の正当性を確認する処理と、
前記デジタル署名が正当な場合、前記処理システムのプロセッサによって前記プログラムコードの実行を容易にすることが可能な１以上の処理リソースの使用を許可する処理と、
をコンピュータに実行させることを特徴とするコンピュータプログラム。
【請求項３２】
前記デジタル署名は、前記コンテンツを暗号化する前に、前記コンテンツの少なくとも一部に対してハッシュアルゴリズムを作用させて得たハッシュ値であり、このプログラムはさらに、
ｉ）復号されたコンテンツの前記一部に対して前記ハッシュアルゴリズムを作用させることによって第２のハッシュ値を得、ｉｉ）前記デジタル署名と第２のハッシュ値とを比較してその正当性を確認する処理をコンピュータに実行せしめることを特徴とする請求項３１に記載のコンピュータプログラム。
【請求項３３】
前記コンテンツは、前記プログラムコードによっていずれの処理リソースの使用が許されるかを示すリソースリストを含み、この方法はさらに、前記デジタル署名を確認した上で、前記リソースリストに記載された処理リソースの使用を許可する処理をコンピュータに実行せしめることを特徴とする請求項３１または３２に記載のコンピュータプログラム。
【請求項３４】
前記第１の鍵と前記第２の鍵は、秘密鍵／公開鍵のペアを形成することを特徴とする請求項３１から３３のいずれかに記載のコンピュータプログラム。
【請求項３５】
正当なデジタル署名がなく、および／またはデジタル署名が正当ではないにも拘わらず、前記プログラムコードの少なくとも一部の実行を許可する処理と、
正当なデジタル署名がなく、および／またはデジタル署名が正当ではないにも拘わらず、前記処理リソースのうちの少なくともひとつの使用を許可する処理と、
をさらにコンピュータに実行せしめることを特徴とする請求項３１から３４のいずれかに記載のコンピュータプログラム。
【請求項３６】
請求項３１から３５のいずれかに記載のコンピュータプログラムを格納したことを特徴とする記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は所望の商業的な目的を達成するために処理リソースを管理する方法と装置に関する。
【背景技術】
【０００２】
近年、最先端のコンピュータアプリケーションは複雑になる一方であり、処理システムに対する要求も増すばかりである。そのため、コンピュータ処理によるより高速なデータスループットに対する要請はとどまるところを知らない。そうした中でも、グラフィックスのアプリケーションの処理システムに対する要求はもっとも高い。グラフィックスアプリケーションは、思い通りの表示結果を得るために、比較的短時間に多数のデータアクセス、データ計算、およびデータ操作を必要とするためである。
【０００３】
より複雑なソフトウエアプリケーションを実行するために、処理システムの設計および製造者は、より高速な処理を実現する努力を続けている。従来のビジネスモデルでは、処理システムの設計／製造者は、処理システムを購入し、その上でコンテンツ（すなわち、プログラム）を実行しようとするユーザから求められるシステム能力に応じた価格設定をする必要がある。さらに、従来のビジネスモデルでは、コンテンツはサードパーティか、処理システムの設計／製造者によって作成されてもよいことになっている。処理システムの設計／製造者は、処理システムで実行されるべきコンテンツの作成をサードパーティにライセンスしてもよい。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
処理システムのアーキテクチャおよびそこで動くオペレーティングシステムに依存しているため、従来のビジネスモデルおよび処理システムは、ライセンスなりその他の形の補償なりが得られないかぎり、サードパーティが処理システムで実行されるコンテンツを作成することを防止できるようにする保証はない。ユーザが楽しめるよう、新しくてより進んだコンテンツの開発を促進するために、例えばオープンシステムアーキテクチャ（ハードウエアおよびソフトウエア）を採用することは望ましい。しかし、残念ながら、オープンシステムアーキテクチャは、設計／製造者からすると、処理システムにおけるコンテンツの実行をコントロールする機会を十分に与えるものではない。その結果、設計／製造者はコンテンツの販売利益をシェアすることが難しい。
【０００５】
以上のことから、この技術分野では、オープンシステムアーキテクチャの有利な点が活かされ、設計／製造者がコンテンツ販売利益のシェアを得ることができるよう、処理システムの処理リソースを管理する新たな方法や装置が求められている。
【課題を解決するための手段】
【０００６】
本発明のある態様は処理システムに関し、この処理システムでは、処理システムのオペレーティングシステムにより、アプリケーションプログラムによって処理システムのリソースを使用する能力が厳密に制限される。ビデオゲームのコンソールのような処理システムのリソースの例に、ディスクコントローラ（ＣＤ、ＤＶＤなど）、グラフィックチップ、ハードディスク（ＨＤ）部品、チューナ回路、ネットワークインタフェイス回路などがある。本発明のある態様では、ゲーム開発者のようなコンテンツ提供者は、自分が実行させたいコンテンツを動かすための処理システムのリソースを利用する能力を購入しなければならない。そうした購入はさまざまな形態をとり、例えば１回払いやロイヤルティベースの支払いなどの方途がある。利用も無制限でもよいし、制限してもよい。
【０００７】
本発明のある態様によれば、処理システムに対する認証コードとデジタル署名のいずれかまたは双方を用いて利用情報を提示させることにより、処理システムのリソースへのアクセスを制限することができる。支払いの見返りに、認証主体（例えば処理システムの設計／製造者）はコンテンツ提供者に秘密鍵／公開鍵のペアのうち秘密鍵を提供してもよい。コンテンツ提供者は、コンテンツに既知のハッシュアルゴリズムを作用させてハッシュ値を生成し、この値を暗号化してもよい。処理システムのオペレーティングシステムは所定のリソースをプログラムに許可するかどうかを容易にコントロールできるため、処理システムは（１）コンテンツとハッシュ値が秘密鍵／公開鍵のペアのうち公開鍵を用いて復号でき、（２）ハッシュ値がコンテンツに対して別個に走らされたハッシュに一致する、という条件を満たさない限り、コンテンツが所定のリソースを使うことを禁止できる。
【０００８】
処理システムのオペレーティングシステムがリソースの制限中にタンパー（不正操作）されないよう、コンテンツの確認処理が進行する前に、処理システムがセキュアモードへ入る動作が可能であることが望ましい。
【０００９】
本発明のある態様は処理システムが以下の処理をすることを許可する方法および装置に関する。すなわち、まずプログラムコード、データおよびデジタル署名を含み、第１の鍵により暗号化されたコンテンツを処理システムのメモリにて受信する。コンテンツは処理システムにローカルに記憶された第２の鍵を用いて復号され、デジタル署名を取得してその正当性を確認する。その後、デジタル署名が正当な場合は、処理システムのプロセッサによってプログラムコードの実行を容易にすることが可能な１以上の処理リソースの使用を許可する。
【００１０】
デジタル署名は、コンテンツを暗号化する前に、コンテンツの少なくとも一部にハッシュアルゴリズムを作用させて得られたハッシュ値を含むことが望ましい。プロセッサは好ましくは、（ｉ）第２のハッシュ値を得るために復号されたコンテンツの前記一部にハッシュアルゴリズムを作用させ、（ｉｉ）デジタル署名の正当性を検査するために、デジタル署名と第２のハッシュ値とを比較する処理を含んでもよい。
【００１１】
コンテンツは、そのコンテンツによる利用が認められた処理リソースを特定するリソースリストを含んでもよい。また、デジタル署名が確認されれば、リソースリストに記載された処理リソースの利用を許可してもよい。
【００１２】
正当なデジタル署名が存在しないか、または正当でないデジタル署名が存在する場合であっても、プログラムコードの少なくとも一部の実行を許可してもよい。また、正当なデジタル署名が存在しないか、または正当でないデジタル署名が存在しても、処理リソースの少なくともひとつの利用を許可してもよい。
【００１３】
なお、以上の構成要素の任意の組合せ、本発明の処理や表現、それらの組合せを方法、装置、システムなどの間で変換したもの、本発明の処理をコンピュータによって実行可能なプログラムとしたもの、そのプログラムを記録媒体に格納したものもまた、本発明の態様として有効である。
【発明の効果】
【００１４】
本発明によれば、処理システムのリソースの利用許可に関する運用を妥当性のあるものとすることができる。本発明のある態様によれば、処理システムの設計／製造者がコンテンツの販売利益をシェアできる。本発明のさらに別の態様によれば、コンテンツによる処理リソースの利用を管理しつつも、ユーザが処理システムでシェアウエアやフリーウエアを実行する利益を得ることができる。これらの効果は本発明の課題ないし目的に対応するものであり、本発明のそれ以外の課題、目的、効果は以下の実施の形態にて明らかになる。
【発明を実施するための最良の形態】
【００１５】
図面において、同じ符号は同様の部材を表す。図１は本発明の１以上の態様を採用するのに好適な処理システム１００を示す。簡潔かつ明解のために、図１のブロック図は装置１００を示すものとする。しかし、以下の説明は処理装置だけでなく、処理方法の１以上の態様についても同様に当てはまり、有効である。装置１００は好ましくはプロセッサ１０２、ローカルメモリ１０４、システムメモリ１０６（例えばＤＲＡＭ）、およびそれらを接続するバス１１２を有する。
【００１６】
システムメモリ１０６はプロセッサ１０２によって実行されるコンテンツ、例えばプログラムコードやデータを受け取る。例えば、プロセッサ１０２はローカルメモリ１０４にコンテンツの少なくとも一部を格納し、所期の結果を得るよう実行してもよい。
【００１７】
プロセッサ１０２はシステムメモリ１０６からデータを要求し、所期の結果を得るようデータを操作できる任意の既知の技術を利用して実装される。例えば、プロセッサ１０２はソフトウエアおよび／またはファームウエアを実行できる標準的なマイクロプロセッサや分散型のマイクロプロセッサを含む任意の既知のマイクロプロセッサによって実装されてもよい。ここでは例として、グレースケール情報、色情報、テクスチャデータ、ポリゴン情報、ビデオフレーム情報などを含む画素データのようなデータを要求し、操作できるグラフィックプロセッサであってもよい。
【００１８】
ローカルメモリ１０４は好ましくはプロセッサ１０２と同一チップ内におかれるが、伝統的なハードウエアキャッシュメモリである必要はない。オンチップの面積はしばしば制限されるため、ローカルメモリ１０４のサイズはシステムメモリ１０６のそれよりもかなり小さい。プロセッサ１０２は好ましくはプログラムの実行およびデータの操作のために、バス１１２を介してシステムメモリ１０６から（場合によりプログラムデータを含む）データをローカルメモリ１０４へコピーするためにデータアクセス要求を発行する。データアクセスを容易にする機構として、例えばダイレクトメモリアクセス（ＤＭＡ）など、既知の任意の技術を実装してもよい。
【００１９】
装置１００は好ましくはリソース１０８Ａ、１０８Ｂ、１０８Ｃ、１０８Ｄなど、複数の処理リソース１０８を備える。これらのリソースは相互に、およびプロセッサ１０２およびローカルメモリ１０４とバス１１０によって接続される。これらのリソースの助けにより、プロセッサ１０２はプログラムコードの実行に関連する有用なタスクを実施することができる。一例として、処理リソース１０８は不揮発性メモリなど、装置１００のサブシステムを含む。不揮発性メモリサブシステムは、電磁メモリ媒体（フレキシブルディスク、ハードディスクなど）、電子メモリ媒体（プログラマブルＲＯＭ、ＥＥＰＯＲＭなど）、シリコンメモリ媒体（メモリカードなど）、光学メモリ媒体（ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭなど）、外部メモリ媒体などのハードウエアおよび／またはソフトウエアを含んでもよい。処理リソース１０８はまた装置１００の機能回路、例えば、グラフィック処理回路、ネットワークインタフェイス回路、ディスプレイインタフェイス回路、プリンタインタフェイス回路、ローカルデータの入力および／または出力インタフェイスなどを備えてもよい。このように、処理リソース１０８のいくつかは、ディスプレイスクリーンやプリンタといった外部デバイス１１４、１１６に関連づけられてもよい。
【００２０】
装置１００は好ましくはアプリケーションプログラムを実行する際、（プログラムコードを含む）そのアプリケーションプログラムが処理リソースを利用するとき、その能力を制限または制約するよう動作する。とくに、プロセッサ１０２のオペレーティングシステムは、コンテンツに対し、許可されたデジタル署名が含まれていない限り、コンテンツの実行を容易にするよう動作する１以上の処理リソース１０８の利用を禁止するよう動作する。好ましくは、許可されたデジタル署名は、例えば装置１００の設計／製造者のような許可された主体のみから入手される。例えば、装置１００はビデオゲームソフトを実行可能であり、ゲーム開発者（コンテンツ提供者）は装置１００上でそのゲームソフトの実行を望むとする。コンテンツが許可されたデジタル署名を含むことを要求することにより、装置１００の設計／製造者はそのコンテンツが装置１００のユーザへ販売される際、その過程に参加することができる。
【００２１】
図２は本発明の実施の形態で実行されるアクションを示すフローチャートである。説明のために、装置１００は処理システムの提供者２０２によって設計および／または製造されるとし、コンテンツ提供者２００はそのソフトウエアを装置１００上で実行させたいとする。アクション２０４において、コンテンツ提供者２００と処理システムの提供者２０２はコンテンツ提供者２００が作成したソフトウエアプリケーション（プログラムコードとデータ）が装置１００の１以上の処理リソース１０８を利用するための購入条件に合意する。購入条件はフォームをいくつ含んでもよく、例えば一回払いかロイヤルティベースの支払いであるかなどを含む。購入条件は処理リソース１０８の無制限な利用を規定してもよいし、利用回数を制限してもよい。
【００２２】
購入条件で合意すれば、処理システムの提供者２０２は、コンテンツ提供者２００が暗号化のための情報を利用できるようにする（アクション２０６）。この暗号化のための情報は例えば、装置１００（および／またはそのユーザ）に提供されるコンテンツを暗号化する秘密鍵／公開鍵のペアのうちの秘密鍵を含む。アクション２０８にて、デジタル署名情報はその情報をコンテンツ提供者２００へ送った処理システムの提供者２０２によって特定され、または、所望のデジタル署名を選択および／または何らかの方法で特定したコンテンツ提供者２００を経由して特定される。例えば、図３のごとく、コンテンツ２８０はプログラムコードとデータ２８２、後述のリソースリスト２８４、デジタル署名２８６および場合により他のコンテンツ２８８を含む。
【００２３】
デジタル署名２８６は、コンテンツ２８０の一部にハッシュアルゴリズムを作用させることにより得られる。例えば、ハッシュアルゴリズムはプログラムコードとデータ２８２上のみで動いてもよいし、リソースリスト２８４との組合せの上で動いてもよい。いずれの場合も、ハッシュアルゴリズムを実行して得られたハッシュ値は、コンテンツ２８０全体に内蔵されるデジタル署名２８６として利用できる。図２に戻り、処理システムの提供者２０２はデジタル署名を生成するために使われる特定のハッシュアルゴリズムを指定してもよい。または、コンテンツ提供者２００は認可されたハッシュアルゴリズムのリストから選んでもよく、それに代え、またはそれに加え、選択以外の方法で処理システムの提供者２０２に対して望ましいハッシュアルゴリズムを指定してもよい。
【００２４】
アクション２０４、２０６、２０８は、ソフトウエアアプリケーションが装置１００の１以上の処理リソース１０８を利用することを許可するために、コンテンツ提供者２００からの配慮（すなわち支払い）への見返りとして、コンテンツ提供者２００が処理システムの提供者２０２から情報を得るための要求を示す。コンテンツ提供者２００が購入した特定のリソースは、リソースリスト２８４内へリストアップされ、コンテンツ２８０内に含められる。望ましくはアクション２１０において、プログラムコードとデータ２８２、リソースリスト２８４、デジタル署名２８６、および／またはその他のコンテンツ２８８は、アクション２０６において得られた暗号化のための鍵を利用することにより暗号化される。アクション２１２において、署名され、暗号化されたコンテンツ２８０は装置１００のユーザへ伝送され、またはそれ以外の方法で提供される。
【００２５】
図４は本発明の１以上の態様において実行されるアクションを示す。アクション３０２において、暗号化されたコンテンツ２８０の一部または全体がローカルメモリ１０４で受け取られる。装置１００は、コンテンツ２８０をシステムメモリ１０６にて受信する前に、そのコンテンツ２８０を暗号化する鍵に対応する鍵を有していることが望ましい。例えば、装置１００は暗号化されたコンテンツ２８０を復号する公開鍵を有している（アクション３０４）。装置１００内に記録された鍵は、システムのセキュリティを脅かす者から容易に入手されないよう、セキュアに記憶されることが望ましい。
【００２６】
アクション３０６において、好ましくはコンテンツ２８０内のデジタル署名２８６の正当性が検査される。例えば、デジタル署名２８６が、暗号化に先立ってハッシュアルゴリズムをコンテンツ２８０の少なくとも一部に作用させた結果得られたハッシュ値である場合、プロセッサ１０２は好ましくはコンテンツ２８０の同じ個所に同じハッシュアルゴリズムを作用させ、デジタル署名２８６と比較されるべき第２のハッシュ値を生成するよう動作する。
【００２７】
アクション３０８において、デジタル署名が正当であるかどうかに従って、コンテンツ２８０（すなわちプログラムコードの実行）に対して１以上の処理リソース１０８の利用を許可すべきか否かという観点でコンテンツ提供者２００の有効性が決定される。決定が否定的な場合、認証は失敗となり、ユーザにコンテンツが実行できない旨を知らせるなど、適切なアクションがとられる。一方、アクション３０８における決定が肯定的な場合、処理は好ましくはアクション３１０へ進み、プログラムコードの実行により、１以上の処理リソース１０８が利用される。
【００２８】
好ましい実施の形態では、プロセッサ１０２はコンテンツ２８０に対して複数の処理リソース１０８が許可されるかどうかを確認するためにリソースリスト２８４を検査する。以降、指定された処理リソース１０８がすでに合意された条件（アクション２０４）にしたがって利用される。
【００２９】
本発明のいくつかの実施の形態では、デジタル署名がなく、および／または正当ではない場合でもプログラムコードの少なくとも一部を実行可能とする。さらに、本発明のいくつかの態様では、デジタル署名２８６がなく、および／または正当ではない場合でも処理リソース１０８の少なくともひとつの利用が許可される。例えば、デジタル署名２８６が全くない場合でも、処理リソース１０８Ａと処理リソース１０８Ｄの利用を許可し、処理リソース１０８Ｂと処理リソース１０８Ｄの利用を禁止してもよい。
【００３０】
いくつかの処理システムは図１に描かれ、いままで説明したとおり、高速処理のためであっても単一のプロセッサを利用する。しかし、処理システムによっては、マルチプロセッサアーキテクチャを用いて実装されるものもある。図５において、マルチプロセッサシステム１００Ａは所期の処理結果を達成するために複数のサブプロセッサが並行して（または少なくとも一部協調して）動作することが可能なシステムである。ここでは処理システム１００Ａは複数のプロセッサ１０２Ａ、１０２Ｂ、１０２Ｃ、１０２Ｄを含むが、もちろん、その数は本発明の範囲から外れることなく、任意である。処理システム１００Ａはさらに、複数のローカルメモリ１０４Ａ、１０４Ｂ、１０４Ｃ、１０４Ｄおよび共有システムメモリ１０６を有する。好ましくは、少なくともプロセッサ１０２、ローカルメモリ１０４、システムメモリ１０６は適切なプロトコルにしたがって各構成間でデータの伝送を行うバス１１２により、直接または間接的に接続される。
【００３１】
複数のプロセッサ１０２はそれぞれ同一または異なる構造でよい。これらのプロセッサは、共有（すなわちシステム）メモリ１０６との間でデータの授受を要求でき、所期の結果が得られるようデータを操作できる任意の既知の技術を用いて実装することができる。例えば、プロセッサ１０２はソフトウエアおよび／またはファームウエアを実行できる標準的なマイクロプロセッサや分散型のマイクロプロセッサを含む任意の既知のマイクロプロセッサによって実装されてもよい。ここでは例として、グレースケール情報、色情報、テクスチャデータ、ポリゴン情報、ビデオフレーム情報などを含む画素データのようなデータを要求し、操作できるグラフィックプロセッサであってもよい。
【００３２】
システム１００Ａの複数のプロセッサ１０２のうち、１以上のプロセッサがメイン（すなわち管理）プロセッサの役割をもつ。メインプロセッサは他のプロセッサによるデータ処理をスケジュールし、組み合わせる。
【００３３】
システムメモリ１０６は好ましくはダイナミックランダムアクセスメモリ（ＤＲＡＭ）であり、図示しないメモリインタフェイス回路を介してプロセッサ１０２に接続される。システムメモリ１０６は好ましくはＤＲＡＭであるが、他の技術、例えばスタティックランダムアクセスメモリ（ＳＲＡＭ）、磁気ランダムアクセスメモリ（ＭＲＡＭ）、光学メモリ、ホログラフメモリなどを利用して実装されてもよい。
【００３４】
各プロセッサ１０２は好ましくはプログラムを実行するためにプロセッサコアをもち、自身に対応づけられたローカルメモリ１０４を有する。これらの部品は設計者の要望にしたがい、共通の半導体基板上に配置され、または個別に配置される。プロセッサコアは好ましくは処理パイプラインを用いて実装され、論理命令がパイプライン方式で実行される。命令を実行するためにパイプラインをいくつのステージに分割してもよいが、一般には１以上の命令のフェッチ、命令のデコード、命令間の依存関係の検査、命令の発行、および命令の実行を含む。このため、プロセッサコアは命令バッファ、命令デコード回路、依存関係検査回路、命令発行回路、および実行ステージを有する。
【００３５】
各ローカルメモリ１０４はバスを介してそれぞれ対応するプロセッサコア１０２に接続され、好ましくはプロセッサコアと同一のチップ（同一の半導体基板）に配置される。ローカルメモリ１０４は、ハードウエアによるキャッシュメモリ機能を実装するために、オンチップまたはオフチップのハードウエアキャッシュ回路、キャッシュレジスタ、キャッシュメモリコントローラなどをもたないという意味で、従来一般的なハードウエアキャッシュメモリではないことが望ましい。オンチップの面積は限られる場合が多く、ローカルメモリのサイズはシステムメモリ１０６よりも小さい。
【００３６】
プロセッサ１０２は好ましくはプログラムの実行およびデータの操作のために、バス１１２を介してシステムメモリ１０６から（場合によりプログラムデータを含む）データをローカルメモリ１０４へコピーするためにデータアクセス要求を発行する。データアクセスを容易にする機構として、例えばダイレクトメモリアクセス（ＤＭＡ）など、既知の任意の技術を実装してもよい。この機能は好ましくはメモリインタフェイス回路によって実行される。
【００３７】
本発明の少なくともひとつの態様において、上述の方法および装置は図示したものを例とする好適なハードウエアを用いて実施される。そうしたハードウエアは標準的なデジタル回路、ソフトウエアおよび／またはファーウエアプログラムを実行できる任意の既知のプロセッサ、プログラマブルリードオンリーメモリ（ＰＲＯＭ）やプログラマブルアレイロジック（ＰＡＬ）など１以上のプログラム可能なデジタルデバイスまたはシステムなど、任意の既知の技術を用いて実装される。さらに、図示した装置はいくつかの機能ブロックへ分けて示したが、これらのブロックは個別の回路に実装されるか、それに代え、またはそれに加え、１以上の機能ユニットへ統合されてもよい。さらに、本発明のさまざまな態様は、可搬性および／または配布のために、好適な記録媒体（フレキシブルディスク、メモリチップなど）に記憶されたソフトウエアおよび／またはファーウエアプログラムの形で実装されてもよい。
【００３８】
上述のごとく、本発明のさまざまな態様は、処理システムに対して認証コードおよび／またはデジタル署名のような利用情報を提示させることを要求することにより、処理システムのリソースへのアクセスを制限することができる。支払いの代償として、承認主体（例えば、設計者および／または製造者）はコンテンツ提供者に公開鍵／秘密鍵のペアのうち秘密鍵を提供してもよい。コンテンツ提供者は、コンテンツに既知のハッシュアルゴリズムを作用させてハッシュ値を得、コンテンツとハッシュ値を暗号化してもよい。処理システムのオペレーティングシステムは、プログラムに対して所定のリソースを使わせるか否かを容易にコントロールできるため、処理システムは（１）コンテンツとハッシュ値が公開鍵／秘密鍵のペアのうち公開鍵を用いて復号でき、かつ（２）ハッシュ値がコンテンツに対して独自に作用させたハッシュアルゴリズムの結果と一致する、という条件が満たされない限り、コンテンツに所定のリソースの利用を禁止することができる。
【００３９】
本発明のさまざまな態様に対応する処理リソース管理方法と装置によれば、設計／製造者がコンテンツの開発および販売の報酬に対してシェアを得ながら、オープンシステムアーキテクチャの有利な点（新しく、さらに進んだコンテンツの開発促進）を活かすことができる。
【００４０】
以上述べたいろいろな実施の形態は互いに排他的ではなく、それらをさまざまな組合せで用いることにより、それぞれ固有の効果を達成することができる。以上に述べた、またはそれ以外の特徴の変形や組合せは、特許請求の範囲に定義した発明から外れることなく利用することができる。したがって、以上に述べた実施の形態の説明は、特許請求の範囲に定義された発明を制限するものではなく、単に例を示すためのものと理解されるべきである。
【図面の簡単な説明】
【００４１】
【図１】本発明の実施の形態に係る処理システムのブロック図である。
【図２】本発明の実施の形態において、コンテンツ提供者と処理システムの提供者の間で実行される所定のアクションを示すフローチャートである。
【図３】本発明の実施の形態において、コンテンツ提供者によって提供され、図１の処理システムによって実行されるコンテンツの詳細を示すブロック図である。
【図４】本発明の実施の形態において、図１の処理システムによって実行される処理ステップを示すフローチャートである。
【図５】本発明の実施の形態において、図１の処理システムの能力を有する１以上のサブプロセッサを含むマルチプロセッサシステムの構成を示す図である。
【符号の説明】
【００４２】
１００  装置、  １０２  プロセッサ、  １０４  ローカルメモリ、  １０６  システムメモリ、  １０８  処理リソース、  １１２  バス、  １１４，１１６  デバイス、  ２００  コンテンツ提供者、  ２０２  処理システムの提供者、  ２８０  暗号化されたコンテンツ。
【図１】
2006221629.tif 000003
【図２】
2006221629.tif 000004
【図３】
2006221629.tif 000005
【図４】
2006221629.tif 000006
【図５】
2006221629.tif 000007