(57)【要約】  アクセス制御装置１００は、新たなプログラムがメモリ等の資源を利用して処理を開始しようとする場合、既に他の実行中のプログラムによって該当する資源が確保されていても、新たなプログラムの優先度が実行中のプログラムの優先度よりも高ければ、実行中のプログラムを停止させて、新たなプログラムに資源を利用させる。
2009157136.tif 000002
【特許請求の範囲】
【請求項１】
資源の利用要求を出した後において当該資源へのアクセスを行う複数のプログラムによる資源へのアクセスを制御するアクセス制御装置であって、
プログラムから資源を利用する要求を受け付ける要求受付部と、
プログラム情報を含む資源アクセス情報を保持する情報保持部と、
前記情報保持部が保持している資源アクセス情報に含まれるプログラム情報が示すプログラムからのアクセスに限って、対応する資源へのアクセスを許可するアクセス許可部と、
前記情報保持部が、第１のプログラムを示す第１のプログラム情報を含む第１の資源アクセス情報を保持する場合において、前記要求受付部が、第２のプログラムから資源を利用する要求を受け付けたとき、前記第２のプログラムについて予め定められている優先度の方が、前記第１のプログラムについて予め定められている優先度よりも高ければ、前記第１の資源アクセス情報を前記情報保持部から削除して、前記第２のプログラムを示す第２のプログラム情報を含む第２の資源アクセス情報を前記情報保持部に追加する情報書換部とを備えることを特徴とする
アクセス制御装置。
【請求項２】
前記資源アクセス情報は、前記プログラム情報と、前記プログラム情報が示すプログラムがアクセスする資源を示す資源情報とを対応付けた情報であって、
前記情報書換部は、前記情報保持部が、第１の資源を示す第１の資源情報と第１のプログラムを示す第１のプログラム情報とを対応付けた第１の資源アクセス情報を保持する場合において、前記要求受付部が、第２のプログラムから、前記第１の資源の少なくとも一部の資源を含む第２の資源を利用する要求を受け付けたとき、前記第２のプログラムについて予め定められている優先度の方が、前記第１のプログラムについて予め定められている優先度よりも高ければ、前記第１の資源アクセス情報を前記情報保持部から削除して、前記第２の資源を示す第２の資源情報と前記第２のプログラムを示す第２のプログラム情報とを対応付けたものである第２の資源アクセス情報を前記情報保持部に追加する情報書換部であることを特徴とする
請求項１記載のアクセス制御装置。
【請求項３】
前記情報書換部は、前記資源アクセス情報を前記情報保持部から削除する場合、削除する資源アクセス情報に含まれるプログラム情報が示すプログラムに対して、対応する資源へのアクセスの許可を取り消す旨の通知をすることを特徴とする
請求項２記載のアクセス制御装置。
【請求項４】
前記資源アクセス情報を保持する待機情報保持部とをさらに備え、
前記情報書換部は、
前記第２の資源アクセス情報を前記情報保持部に追加するとき、前記第１の資源アクセス情報を前記待機情報保持部に追加し、
前記情報保持部が、前記第１の資源アクセス情報を保持する場合において、前記要求受付部が、前記第２のプログラムから、前記第１の資源の少なくとも一部の資源を含む前記第２の資源を利用する要求を受け付けたとき、前記第２のプログラムについて予め定められている優先度の方が、前記第１のプログラムについて予め定められている優先度よりも高くなければ、前記第２の資源アクセス情報を前記待機情報保持部に追加することを特徴とする
請求項３記載のアクセス制御装置。
【請求項５】
前記情報書換部は、
前記要求受付部が、第３のプログラムから第３の資源を利用する要求を受け付けた場合において、前記第３の資源が、前記情報保持部の保持する全ての資源アクセス情報に含まれる資源情報が示す資源を含まないとき、前記第３の資源を示す資源情報と前記第３のプログラムを示すプログラム情報とを対応付けたものである第３の資源アクセス情報を前記情報保持部に追加し、
前記情報保持部が、前記第３の資源アクセス情報を保持する場合において、前記第３のプログラムが実行を終了したとき、前記第３の資源アクセス情報を前記情報保持部から削除することを特徴とする
請求項４記載のアクセス制御装置。
【請求項６】
前記情報保持部から前記資源アクセス情報が削除された場合において、
前記待機情報保持部が保持する資源アクセス情報の中に、対応する資源情報が、前記情報保持部の保持する全ての資源アクセス情報に含まれる資源情報が示す資源を含まない許可可能資源アクセス情報があるとき、前記許可可能資源アクセス情報のうち、対応するプログラム情報が示すプログラムについて予め定められている優先度が最も高い許可可能資源アクセス情報を、前記待機情報保持部から削除して前記情報保持部に追加する情報追加部とをさらに備えることを特徴とする
請求項５記載のアクセス制御装置。
【請求項７】
前記情報追加部は、前記資源アクセス情報を前記情報保持部に追加する場合、前記追加する資源アクセス情報に含まれるプログラム情報が示すプログラムに、対応する資源へのアクセスを許可する旨の通知をすることを特徴とする
請求項６記載のアクセス制御装置。
【請求項８】
前記資源アクセス情報は、前記資源情報と前記プログラム情報とに加えて、プログラムが資源にアクセスする方式が、他のプログラムからのアクセスを許容する共有方式か他のプログラムからのアクセスを許容しない占有方式かのいずれか一方のアクセス方式を示す方式情報とを対応付けたものであって、
前記情報書換部は、前記情報保持部からの前記第１の資源アクセス情報の削除と、前記情報保持部への前記第２の資源アクセス情報の追加とを、
前記第１の資源に対応する方式情報と、前記第２の資源に対応する方式情報とのうち、少なくとも１つの方式情報が前記占有方式を示しているという条件をさらに満たす場合に限って実行することを特徴とする
請求項４記載のアクセス制御装置。
【請求項９】
前記情報追加部は、前記情報保持部から資源アクセス情報が削除された場合において、
前記待機情報保持部が前記許可可能資源アクセス情報を保持するとき、
もしくは、前記待機情報保持部が保持する資源アクセス情報のうち、方式情報が前記共有方式を示し、対応する資源が、前記情報保持部が保持する資源アクセス情報のうち、方式情報が前記占有方式を示す資源アクセス情報に対応する資源を含まない許可可能共有資源アクセス情報があるとき、前記許可可能資源アクセス情報、及び、前記許可可能共有資源アクセス情報のうち、対応する前記プログラム情報が示すプログラムについて予め定められている優先度が最も高い資源アクセス情報を、前記待機情報保持部から削除して前記情報保持部に追加することを特徴とする
請求項８記載のアクセス制御装置。
【請求項１０】
特定のプログラム、特定の資源、特定の優先度、及びこれらの組み合わせが正当であると認証する証明書を受信し、前記特定の資源を示す正当資源情報と、前記特定のプログラムを示す正当プログラム情報と、前記特定の優先度を示す正当優先度情報とを対応付けたものであるポリシィ情報を保持するポリシィ保持部とを備え、
前記要求受付部は、プログラムからの資源の利用要求が、前記ポリシィ保持部が保持しているポリシィ情報に含まれる正当プログラム情報の示すプログラムからの対応する正当資源情報の示す資源の利用要求であるという条件を満たさない場合に、プログラムから資源の利用要求の受け付を拒絶し、
前記第１のプログラムについて予め定められている優先度とは、前記ポリシィ保持部が保持している前記ポリシィ情報の前記第１のプログラムが前記第１の資源にアクセスする際の前記優先度情報が示す優先度であって、
前記第２のプログラムについて予め定められている優先度とは、前記ポリシィ保持部が保持している前記ポリシィ情報の前記第２のプログラムが前記第２の資源にアクセスする際の前記優先度情報が示す優先度であることを特徴とする
請求項９記載のアクセス制御装置。
【請求項１１】
前記要求受付部は、前記情報保持部に前記資源アクセス情報が追加された場合に限って、当該追加された資源アクセス情報に含まれるプログラム情報が示すプログラムへ、対応する資源へのアクセスに用いる論理アドレスを提供することを特徴とする
請求項１０記載のアクセス制御装置。
【請求項１２】
前記アクセス許可部は、前記情報保持部が保持している資源アクセス情報に含まれるプログラム情報が示すプログラムからのアクセスに限って、対応する資源へのアクセスを許可するか否かの判定を、プログラムにおけるメモリの読み書きに係る命令をデコードする際に行い、否定的な判定の場合に、エラー処理を実行することを特徴とする
請求項１記載のアクセス制御装置。
【請求項１３】
コンピュータに、資源の利用要求を出した後において当該資源へのアクセスを行う複数のアプリケーションプログラムによる資源へのアクセスを制御するアクセス制御装置として機能させる為のアクセス制御プログラムであって、
コンピュータに、
アプリケーションプログラムから資源を利用する要求を受け付ける要求受付部と、
アプリケーションプログラム情報を含む資源アクセス情報を保持する情報保持部と、
前記情報保持部が保持している資源アクセス情報に含まれるプログラム情報が示すアプリケーションプログラムからのアクセスに限って、対応する資源へのアクセスを許可するアクセス許可部と、
前記情報保持部が、第１のアプリケーションプログラムを示す第１のプログラム情報を含む第１の資源アクセス情報を保持する場合において、前記要求受付部が、第２のアプリケーションプログラムから資源を利用する要求を受け付けたとき、前記第２のアプリケーションプログラムについて予め定められている優先度の方が、前記第１のアプリケーションプログラムについて予め定められている優先度よりも高ければ、前記第１の資源アクセス情報を前記情報保持部から削除して、前記第２のアプリケーションプログラムを示す第２のプログラム情報を含む第２の資源アクセス情報を前記情報保持部に追加する情報書換部とを備えることを特徴とするアクセス制御装置として機能させることを特徴とする
アクセス制御プログラム。
【請求項１４】
プログラム情報を含む資源アクセス情報を保持する情報保持部と、要求受付部と、アクセス許可部と、情報書換部とを備えるアクセス制御装置に、資源の利用要求を出した後において当該資源へのアクセスを行う複数のプログラムによる資源へのアクセスを制御させる為のアクセス制御方法であって、
前記要求受付部が、プログラムから資源を利用する要求を受け付ける要求受付ステップと、
前記アクセス許可部が、前記情報保持部が保持している前記資源アクセス情報に含まれるプログラム情報が示すプログラムからのアクセスに限って、対応する資源へのアクセスを許可するアクセス許可ステップと
前記情報保持部が、第１のプログラムを示す第１のプログラム情報を含む第１の資源アクセス情報を保持する場合において、前記要求受付ステップが、第２のプログラムから資源を利用する要求を受け付けたとき、前記第２のプログラムについて予め定められている優先度の方が、前記第１のプログラムについて予め定められている優先度よりも高ければ、前記情報書換部が、前記第１の資源アクセス情報を前記情報保持部から削除して、前記第２のプログラムを示す第２のプログラム情報を含む第２の資源アクセス情報を前記情報保持部に追加する許可情報書換ステップとを備えることを特徴とする
アクセス制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラムによる資源へのアクセスを制御する制御装置に関する。
【背景技術】
【０００２】
近年、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ：中央処理装置）の性能の向上、メモリ等の記憶素子の大容量化等により、１つの機器上で複数の互いに異なる情報処理を行うことができるようになっている。【０００３】
例えば、携帯電話端末では、本来の電話機能に加えて、メール送受信機能、インターネットブラウザ機能、カメラ機能、音楽再生機能、ワンセグテレビ受信機能等、様々な情報処理機能を１つの携帯電話端末で実現している。【０００４】
携帯電話端末は、このような機能を実現する為のアプリケーションプログラムを、マルチタスク制御方式等によって並列的に動作させることで、多様な機能のスムーズな動作を実現している。【０００５】
コンピュータシステム上で複数のプログラムを実行する技術として、例えば、複数のプログラムが同一のメモリ等の資源にアクセスする際の資源へのアクセスを制限する技術（例えば特許文献１参照）が提案されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平６−１６１７８９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、マルチタスク制御方式等を用いて複数のプログラムによる処理を行うコンピュータシステムにおいて、直ちに処理を開始する必要のある新たなプログラムを実行しようとしても、既に実行中のプログラムによって使用したい資源が確保されてしまっている場合に、実行中のプログラムが資源を解放するまで待たないと、新たなプログラムを実行することができないという問題がある。【０００８】
特に、資源の解放待ちで実行を開始できないプログラムによる処理がリアルタイム性を求められる処理である場合には、プログラムによる処理の開始が遅れることにより、リアルタイム性を確保できなくなってしまうことが起こってしまう。【０００９】
そこで、本発明は係る問題に鑑みてなされたものであり、プログラムによって、コンピュータシステムを構成するメモリ等の資源を用いて処理を開始しようとする場合に、既に他のプログラムによって該当する資源が確保されていた場合であっても、該当する資源の解放待ちがボトルネックとなってプログラムの処理の開始が遅くなってしまうことのない、アクセス制御装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記課題を解決するために本発明に係るアクセス制御装置は、資源の利用要求を出した後において当該資源へのアクセスを行う複数のプログラムによる資源へのアクセスを制御するアクセス制御装置であって、プログラムから資源を利用する要求を受け付ける要求受付部と、プログラム情報を含む資源アクセス情報を保持する情報保持部と、前記情報保持部が保持している資源アクセス情報に含まれるプログラム情報が示すプログラムからのアクセスに限って、対応する資源へのアクセスを許可するアクセス許可部と、前記情報保持部が、第１のプログラムを示す第１のプログラム情報を含む第１の資源アクセス情報を保持する場合において、前記要求受付部が、第２のプログラムから資源を利用する要求を受け付けたとき、前記第２のプログラムについて予め定められている優先度の方が、前記第１のプログラムについて予め定められている優先度よりも高ければ、前記第１の資源アクセス情報を前記情報保持部から削除して、前記第２のプログラムを示す第２のプログラム情報を含む第２の資源アクセス情報を前記情報保持部に追加する情報書換部とを備えることを特徴とする。【００１１】
ここで、アクセスとは、データを読み出す、又はデータを書き込むことをいう。【００１２】
また、資源アクセス情報を情報保持部から削除するとは、情報保持部から資源アクセス情報を消去して、資源アクセス情報が許可情報保持部に存在しない状態にすること、もしくは、情報保持部から資源アクセス情報を消去せずに、資源アクセス情報に、資源アクセス情報が削除されている旨を示すフラグを付加することで、情報保持部が保持する資源アクセス情報が示すプログラムからのアクセスであっても、アクセス許可部が、対応する資源へのアクセスを許可しないようにすることをいう。
【発明の効果】
【００１３】
上述の構成を備える本発明に係るアクセス制御装置は、情報保持部が保持する資源アクセス情報が示すプログラムに限って対応する資源へのアクセスを許可し、さらに、要求受付部が資源の利用の要求を受け付けたプログラムから、資源へのアクセスを許可されているプログラムがアクセスする資源と同じ部分を含む資源へのアクセスの要求があった場合、要求のあったプログラムの優先度の方が高ければ、要求のあったプログラムがアクセスする資源と同じ部分を含む資源へのアクセスを許可されているプログラムに対して、資源へのアクセスの許可を取り消し、要求のあったプログラムに対して、資源へのアクセスを許可することになる。【００１４】
従って、実行中のプログラムよりも実行の優先度の高いプログラムが、実行中のプログラムのアクセスする資源と同じ部分を含む資源をアクセスしようとした場合、実行中のプログラムによる資源へのアクセスの許可を取り消して、実行の優先度の高いプログラムに資源へのアクセスする許可を与えることによって、実行の優先度の高いプログラムが、該当する資源の解放待ちがボトルネックとなってプログラムの処理の開始が遅くなってしまわないという効果を有する。【００１５】
また、前記資源アクセス情報は、前記プログラム情報と、前記プログラム情報が示すプログラムがアクセスする資源を示す資源情報とを対応付けた情報であって、前記情報書換部は、前記情報保持部が、第１の資源を示す第１の資源情報と第１のプログラムを示す第１のプログラム情報とを対応付けた第１の資源アクセス情報を保持する場合において、前記要求受付部が、第２のプログラムから、前記第１の資源の少なくとも一部の資源を含む第２の資源を利用する要求を受け付けたとき、前記第２のプログラムについて予め定められている優先度の方が、前記第１のプログラムについて予め定められている優先度よりも高ければ、前記第１の資源アクセス情報を前記情報保持部から削除して、前記第２の資源を示す第２の資源情報と前記第２のプログラムを示す第２のプログラム情報とを対応付けたものである第２の資源アクセス情報を前記情報保持部に追加する情報書換部であることとしてもよい。【００１６】
このようにすることによって、資源が複数ある場合に、資源毎に応じたアクセス制御を行うことができるようになる。【００１７】
また、前記情報書換部は、前記資源アクセス情報を前記情報保持部から削除する場合、削除する資源アクセス情報に含まれるプログラム情報が示すプログラムに対して、対応する資源へのアクセスの許可を取り消す旨の通知をすることとしてもよい。【００１８】
このような構成にすることによって、アクセス許可部から削除される資源アクセス情報に対応するプログラムが、情報保持部から資源アクセス情報が削除されることによって資源へのアクセスができなくなる場合に、プログラムは、資源へのアクセスの許可を取り消す旨の通知を受けることができるため、資源へのアクセスができなくなることに対応する処理を行うことができるようになる。【００１９】
また、前記資源アクセス情報を保持する待機情報保持部とをさらに備え、前記情報書換部は、前記第２の資源アクセス情報を前記情報保持部に追加するとき、前記第１の資源アクセス情報を前記待機情報保持部に追加し、前記情報保持部が、前記第１の資源アクセス情報を保持する場合において、前記要求受付部が、前記第２のプログラムから、前記第１の資源の少なくとも一部の資源を含む前記第２の資源を利用する要求を受け付けたとき、前記第２のプログラムについて予め定められている優先度の方が、前記第１のプログラムについて予め定められている優先度よりも高くなければ、前記第２の資源アクセス情報を前記待機情報保持部に追加することとしてもよい。【００２０】
このような構成にすることによって、情報保持部で保持しない資源アクセス情報であっても、待機情報保持部で保持することになる為、情報保持部で保持しなかった資源アクセス情報を必要とする場合に、短時間で資源アクセス情報を利用することができるようになる。【００２１】
また、前記情報書換部は、前記要求受付部が、第３のプログラムから第３の資源を利用する要求を受け付けた場合において、前記第３の資源が、前記情報保持部の保持する全ての資源アクセス情報に含まれる資源情報が示す資源を含まないとき、前記第３の資源を示す資源情報と前記第３のプログラムを示すプログラム情報とを対応付けたものである第３の資源アクセス情報を前記情報保持部に追加し、前記情報保持部が、前記第３の資源アクセス情報を保持する場合において、前記第３のプログラムが実行を終了したとき、前記第３の資源アクセス情報を前記情報保持部から削除することとしてもよい。【００２２】
このような構成にすることによって、他のプログラムによって利用されていない資源への利用を要求するプログラムから、資源を利用する要求を受け付けた場合に、資源の利用を要求したプログラムに資源の利用を許可することができ、さらに、プログラムが資源の利用を終了したとき、その資源を他のプログラムが利用できるようにすることができる。【００２３】
また、前記情報保持部から前記資源アクセス情報が削除された場合において、前記待機情報保持部が保持する資源アクセス情報の中に、対応する資源情報が、前記情報保持部の保持する全ての資源アクセス情報に含まれる資源情報が示す資源を含まない許可可能資源アクセス情報があるとき、前記許可可能資源アクセス情報のうち、対応するプログラム情報が示すプログラムについて予め定められている優先度が最も高い許可可能資源アクセス情報を、前記待機情報保持部から削除して前記情報保持部に追加する情報追加部とをさらに備えることとしてもよい。【００２４】
このような構成にすることによって、情報保持部から資源アクセス情報が削除されると、既に待機情報保持部で保持している資源アクセス情報を、情報保持部に追加するようになる為、短時間で情報保持部に資源アクセス情報を追加していくことができるようになる。【００２５】
また、前記情報追加部は、前記資源アクセス情報を前記情報保持部に追加する場合、前記追加する資源アクセス情報に含まれるプログラム情報が示すプログラムに、対応する資源へのアクセスを許可する旨の通知をすることとしてもよい。【００２６】
このような構成にすることによって、資源アクセス情報を許可情報保持部に追加する場合に、情報保持部に追加する資源アクセス情報に対応するプログラムが、資源へのアクセスを許可する旨の通知を受けることができるため、通知を受け取ったプログラムが、資源へのアクセスができるようになることに対応する処理を行うことができるようになる。【００２７】
また、前記資源アクセス情報は、前記資源情報と前記プログラム情報とに加えて、プログラムが資源にアクセスする方式が、他のプログラムからのアクセスを許容する共有方式か他のプログラムからのアクセスを許容しない占有方式かのいずれか一方のアクセス方式を示す方式情報とを対応付けたものであって、前記情報書換部は、前記情報保持部からの前記第１の資源アクセス情報の削除と、前記情報保持部への前記第２の資源アクセス情報の追加とを、前記第１の資源に対応する方式情報と、前記第２の資源に対応する方式情報とのうち、少なくとも１つの方式情報が前記占有方式を示しているという条件をさらに満たす場合に限って実行することとしてもよい。【００２８】
このような構成にすることによって、資源へアクセスする方式に応じて資源へのアクセスを制御できるようになるので、効率の良い資源の利用を実現することができる。【００２９】
また、前記情報追加部は、前記情報保持部から資源アクセス情報が削除された場合において、前記待機情報保持部が前記許可可能資源アクセス情報を保持するとき、もしくは、前記待機情報保持部が保持する資源アクセス情報のうち、方式情報が前記共有方式を示し、対応する資源が、前記情報保持部が保持する資源アクセス情報のうち、方式情報が前記占有方式を示す資源アクセス情報に対応する資源を含まない許可可能共有資源アクセス情報があるとき、前記許可可能資源アクセス情報、及び、前記許可可能共有資源アクセス情報のうち、対応する前記プログラム情報が示すプログラムについて予め定められている優先度が最も高い資源アクセス情報を、前記待機情報保持部から削除して前記情報保持部に追加することとしてもよい。【００３０】
このような構成にすることによって、待機情報保持部が保持する資源アクセス情報のアクセス方式に応じて、情報保持部に追加する資源アクセス情報を決めることができるようになる。【００３１】
また、特定のプログラム、特定の資源、特定の優先度、及びこれらの組み合わせが正当であると認証する証明書を受信し、前記特定の資源を示す正当資源情報と、前記特定のプログラムを示す正当プログラム情報と、前記特定の優先度を示す正当優先度情報とを対応付けたものであるポリシィ情報を保持するポリシィ保持部とを備え、前記要求受付部は、プログラムからの資源の利用要求が、前記ポリシィ保持部が保持しているポリシィ情報に含まれる正当プログラム情報の示すプログラムからの対応する正当資源情報の示す資源の利用要求であるという条件を満たさない場合に、プログラムから資源の利用要求の受け付を拒絶し、前記第１のプログラムについて予め定められている優先度とは、前記ポリシィ保持部が保持している前記ポリシィ情報の前記第１のプログラムが前記第１の資源にアクセスする際の前記優先度情報が示す優先度であって、前記第２のプログラムについて予め定められている優先度とは、前記ポリシィ保持部が保持している前記ポリシィ情報の前記第２のプログラムが前記第２の資源にアクセスする際の前記優先度情報が示す優先度であることとしてもよい。【００３２】
このような構成にすることによって、証明書によって認証されていない不正プログラムからの資源への利用を認めないアクセス制御装置を実現することができる。【００３３】
また、前記要求受付部は、前記情報保持部に前記資源アクセス情報が追加された場合に限って、当該追加された資源アクセス情報に含まれるプログラム情報が示すプログラムへ、対応する資源へのアクセスに用いる論理アドレスを提供することとしてもよい。【００３４】
このような構成にすることによって、プログラムは、対応する資源へのアクセスに用いる論理アドレスを提供されるので、論理アドレスによって対応する資源へのアクセスを実現することができるようになる。【００３５】
また、前記アクセス許可部は、前記情報保持部が保持している資源アクセス情報に含まれるプログラム情報が示すプログラムからのアクセスに限って、対応する資源へのアクセスを許可するか否かの判定を、プログラムにおけるメモリの読み書きに係る命令をデコードする際に行い、否定的な判定の場合に、エラー処理を実行することとしてもよい。【００３６】
このような構成にすることによって、メモリの読み書きに係る命令をデコードのタイミングで、資源へのアクセスを許可するか否かの判断し、アクセスを許可しない場合に、エラー処理を実行することができるようになる為、例えば、資源へのアクセスを許可しないと判断する場合に割り込みを発生して、ＯＳにプログラムを終了させるというような処理を行うことができるようになる。
【図面の簡単な説明】
【００３７】
【図１】アクセス制御装置の構成図
【図２】資源と物理アドレスとの対応関係を示す図
【図３】ポリシィ保持部が保持するポリシィ情報を示す図
【図４】ポリシィ保持部が保持するアクセス制限情報を示す図
【図５】許可情報保持部で保持する資源アクセス情報を示す図
【図６】待機情報保持部で保持する資源アクセス情報を示す図
【図７】プログラムから資源利用要求がある場合のフローチャートその１
【図８】プログラムから資源利用要求がある場合のフローチャートその２
【図９】資源アクセスルーチンが終了した場合のフローチャート
【図１０】許可情報保持部が更新された場合のフローチャート
【図１１】論理アドレスを物理アドレスに変換する場合のフローチャート
【図１２】ポリシィ情報を更新する場合のフローチャート
【図１３】変形例におけるポリシィ保持部が保持するポリシィ情報を示す図
【図１４】変形例におけるポリシィ保持部が保持するアクセス制限情報を示す図
【図１５】変形例における物理アドレスの重複が起こる場合を示す図その１
【図１６】変形例における物理アドレスの重複が起こる場合を示す図その２
【図１７】変形例におけるプログラムから資源利用要求がある場合のフローチャートその１
【図１８】変形例におけるプログラムから資源利用要求がある場合のフローチャートその２
【発明を実施するための形態】
【００３８】
＜実施の形態＞
以下、本発明に係るアクセス制御装置の一実施形態として、複数のプログラムそれぞれからの資源へのアクセスを制御するアクセス制御装置について説明する。
【００３９】
＜構成＞
本実施の形態に係るアクセス制御装置は、認証局によって正当性を認証されているアプリケーションプログラムに限って資源の利用要求を受け付け、受け付けたアプリケーションプログラムの資源利用に関する優先度等に基づいて、アプリケーションプログラムによる資源へのアクセスを排他的に制御するアクセス制御装置である。
【００４０】
以下、本実施の形態に係るアクセス制御装置の構成について、図面を参照しながら説明する。
【００４１】
図１は、本実施の形態に係るアクセス制御装置１００と、プログラム群１０１と、資源１０２と、認証局１０３とからなる資源アクセスシステム１０００の構成を示す構成図である。
【００４２】
アクセス制御装置１００は、図示していないプロセッサ、メモリ、メモリコントローラ、タイマ、ハードディスク等のハードウエアと、このハードウエア上で実行されるＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）とによって実現される、プログラム群１０１を構成する複数のアプリケーションプログラムそれぞれからの資源１０２へのアクセスを制御するアクセス制御装置である。
【００４３】
ここで、アプリケーションプログラムが資源をアクセスするとは、アプリケーションプログラムを構成する、メモリへの読み出し、書き込み等の命令が、プロセッサによって解読、実行されることで、資源へのデータの読み出し、資源へのデータの書き込み等がなされることをいう。
【００４４】
プログラム群１０１は、資源１０２にアクセスするアプリケーションプログラム（以後、単に「プログラム」と呼ぶ）複数個から構成され、各プログラムは、このＯＳ上で実行される。
【００４５】
資源１０２は、メモリコントローラに物理アドレスを指定することでアクセスされる資源であって、アクセス制御装置１００によって、プログラム群１０１を構成するプログラムからのアクセスを制御されている。
【００４６】
認証局１０３は、プログラムが資源にアクセスすることの正当性を認証する認証局であって、アクセス制御装置１００は、認証局１０３が認証しているプログラムから資源へのアクセスに限って、アクセスを許可する。
【００４７】
以下、プログラム群１０１、資源１０２、認証局１０３、及び、アクセス制御装置１００ついて、図を用いながら順に説明する。
【００４８】
＜プログラム群１０１＞
プログラム群１０１を構成するプログラムは、資源１０２を１回以上アクセスする一連の処理からなる処理ルーチン（以後「資源アクセス処理ルーチン」と呼ぶ）と、プログラムに含まれる処理ルーチンのうち、ＯＳからの通知を受けて動作する処理ルーチンそれぞれの開始アドレスを、ＯＳに通知する処理ルーチン（以後「ＯＳ通知処理ルーチン」と呼ぶ）とを含んでいるプログラムである。
【００４９】
資源アクセス処理ルーチンは、資源１０２を１回以上アクセスする一連の処理を開始する際に、要求受付部１１１に対して資源１０２の利用を要求し、一連の処理を終了する際に、許可情報書換部１１５に資源アクセス処理ルーチンの実行終了の旨を通知する。
【００５０】
プログラムが要求受付部１１１に対して資源１０２の利用を要求する為に、ＯＳは、プログラムから資源を指定されて呼び出されると、要求受付部１１１が、呼び出したプログラムを特定する情報と、指定された資源を特定する情報と、ポリシィ保持部１１２が保持するポリシィ情報とから、資源アクセス情報を作成する処理を開始する資源利用ＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍ  Ｉｎｔｅｒｆａｃｅ）を備えている。
【００５１】
この資源利用ＡＰＩは、プログラムから呼び出されると、要求受付部１１１が、戻り値として、プログラムが資源を利用する際に使用する論理アドレス空間の開始アドレス（以後「開始論理アドレス」と呼ぶ）を、呼び出したプログラムに戻す。
【００５２】
資源アクセス処理ルーチンは、資源１０２をアクセスする場合に、戻り値として戻された開始論理アドレスを用いて作成する論理アドレスを指定して、資源１０２にアクセスする。
【００５３】
ＯＳはさらに、プログラムが許可情報書換部１１５に資源アクセス処理ルーチンの実行終了の旨を通知する為に、プログラムから呼び出されると、許可情報書換部１１５が、許可情報保持部１１３で保持する、呼び出したプログラムに対応する資源アクセス情報を削除する処理を開始する終了処理ＡＰＩと、プログラムがＯＳに処理ルーチンの開始アドレスを通知する為に、プログラムから処理ルーチンの開始アドレスを指定されて呼び出されると、ＯＳに、処理ルーチンの開始アドレスを関連付けて記憶させるアドレス通知ＡＰＩとを備えている。
【００５４】
本実施の形態は、資源アクセス情報を削除する場合が、資源アクセス情報を消去して存在しない状態にする場合である一実施例となっている。
【００５５】
＜資源１０２＞
資源１０２は、メモリコントローラに物理アドレスを指定することでアクセスされる資源であって、保護メモリ１２１と、共用メモリ１２２と、暗号エンジン１２３とから構成されている。
【００５６】
暗号エンジン１２３は、暗号処理用ハードウエアであって、そのレジスタをメモリアドレスとして割り当てられることによって、他のメモリと同様のインターフェースで、レジスタへの読み出し、書き込み等の操作が行われる。
【００５７】
図２は、資源１０２を構成する保護メモリ１２１、共用メモリ１２２、暗号エンジン１２３に割り当てられている物理アドレスを示す図である。
【００５８】
保護メモリ１２１は、物理アドレスの開始アドレスが０ｘ０００１００００でサイズが０ｘ０１００００のメモリであって、割り当てられている物理アドレスが０ｘ０００１００００〜０ｘ０００１ＦＦＦＦである。
【００５９】
同様に、共用メモリ１２２は、割り当てられている物理アドレスが０ｘ０００Ｂ００００〜０ｘ０００ＢＦＦＦＦのメモリであって、暗号エンジン１２３は、割り当てられている物理アドレスが０ｘＥ０００４０００〜０ｘＥ０００５ＦＦＦＦの暗号処理用ハードウエアである。
【００６０】
＜認証局１０３＞
認証局１０３は、プログラムを示す情報と、そのプログラムがアクセスする資源の情報と、そのプログラムが資源にアクセスする際の優先度の情報と、そのプログラムが資源にアクセスする際のアクセス方式の情報とを受け取ると、特定のプログラムが特定の資源に特定の優先度で特定のアクセス方式でアクセスすることを認証し、認証したことを証明する証明書を発行する、証明書発行システムである。
【００６１】
認証局１０３は、特定のプログラムが特定の資源に特定の優先度で特定のアクセス方式でアクセスすることに不都合がない場合に、特定のプログラムと特定の資源と特定の優先度と特定のアクセス方式との情報を対応付けた情報であるポリシィ情報を作成し、作成したポリシィ情報を、優先度毎に異なる秘密鍵を使って暗号化することで、証明書として発行する。
【００６２】
＜アクセス制御装置１００＞
アクセス制御装置１００は、認証局１０３によって正当性を認証されているプログラムに限って資源１０２の利用要求を受け付け、受け付けたプログラムの資源利用に関する優先度等に基づいて、プログラムによる資源１０２へのアクセスを制御するアクセス制御装置であって、要求受付部１１１と、ポリシィ保持部１１２と、許可情報保持部１１３と、待機情報保持部１１４と、許可情報書換部１１５と、許可情報追加部１１６と、アドレス変換テーブル１１８を含むアクセス許可部１１７とから構成されている。
【００６３】
以下、アクセス制御装置１００を構成する各ブロックについて、図を用いながら順に説明する。
【００６４】
＜ポリシィ保持部１１２＞
ポリシィ保持部１１２は、アクセス制限情報（後述）を保持し、認証局１０３が発行した証明書を、秘密鍵に対応する公開鍵を使ってポリシィ情報に復号し、少なくとも復号したポリシィ情報の内容が、アクセス制限情報の制限に違反していないという条件を満たすポリシィ情報に限って、そのポリシィ情報を保持するブロックである。
【００６５】
また、ポリシィ保持部１１２は、図示していないディスプレイを備え、証明書を復号した際に、復号したポリシィ情報を保持した場合に、登録成功の旨を示すメッセージを表示し、復号したポリシィ情報を保持しなかった場合に、登録失敗の旨を示すメッセージを表示する。
【００６６】
図３は、ポリシィ保持部１１２が保持するポリシィ情報を示す図である。
【００６７】
ポリシィ情報は、プログラムＩＤ（ＩＤｅｎｔｉｆｉｃａｔｉｏｎ）３０２で特定されるプログラムが、優先度３０３で示される優先度で、保護メモリ１２１、共用メモリ１２２、又は、暗号エンジン１２３に、占有方式、又は共有方式のいずれかの方式でアクセスすることが許されている、もしくはアクセスすることが許されていない旨を示す情報である。
【００６８】
ここで、アクセスする方式が占有方式とは、プログラムが資源にアクセスする際の方式が他のプログラムによる資源のアクセスを認めない排他的なアクセスである方式のことであり、共有方式とは、プログラムが資源にアクセスする際の方式が他のプログラムによる資源のアクセスを認める排他的でないアクセスである方式のことである。
【００６９】
例えば、図３において、ポリシィ番号３０１が２であるポリシィ情報は、プログラムＩＤが０００２であるプログラムが、優先度２で、保護メモリ１２１には占有方式でのアクセス、共用メモリ１２２には共有方式でのアクセス、暗号エンジン１２３には共有方式でのアクセスが許されている旨を示している。
【００７０】
図４は、ポリシィ保持部１１２が保持するアクセス制限情報を示す図である。
【００７１】
アクセス制限情報とは、優先度４０１で示される優先度を持つプログラムは、保護メモリ１２１、共用メモリ１２２、又は、暗号エンジン１２３に、占有方式、又は共有方式のいずれかの方式でアクセスすることが許されている、もしくはアクセスすることが許されていない旨を示す情報であって、予めポリシィ保持部１１２の一部として組み込まれている情報である。
【００７２】
例えば、図４において、優先度３が付与されているプログラムは、保護メモリ１２１には占有アクセス方式でのアクセスが許され、共用メモリ１２２には共有アクセス方式でのアクセスが許され、暗号エンジン１２３には共有アクセス方式でのアクセスが許されている旨を示しているので、ポリシィ保持部１１２は、優先度が３であるポリシィ情報であれば、プログラムが保護メモリ１２１へ占有アクセス方式でアクセスし、共用メモリ１２２へ共有アクセス方式でアクセスし、プログラムが暗号エンジン１２３へ共有アクセス方式でアクセスすることを示すポリシィ情報に限って、保持する。
【００７３】
＜要求受付部１１１＞
要求受付部１１１は、プログラム群１０１を構成するプログラムから、資源１０２を利用する要求をされると、プログラムの情報と資源の情報と優先度の情報とアクセス方式の情報とを対応付けた情報である資源アクセス情報を作成し、プログラムに対して開始論理アドレスを戻り値として戻すブロックである。
【００７４】
要求受付部１１１は、プログラムから、資源１０２を利用する要求をされると、ポリシィ保持部１１２で保持するポリシィ情報の中に、要求を出したプログラムに対応するポリシィ情報があるか否かを検索し、要求を出したプログラムに対応するポリシィ情報がある場合であって、許可情報保持部１１３に対応する資源アクセス情報が存在しないときに限って、対応するポリシィ情報の、プログラムの情報と資源の情報と優先度の情報とアクセス方式の情報とを参照して資源アクセス情報を作成し、許可情報書換部１１５又は許可情報追加部１１６から開始論理アドレスを通知されると、要求を出したプログラムに対して、通知された開始論理アドレスを、戻り値として戻す。
【００７５】
ここでは、要求受付部１１１が資源アクセス情報を作成することをもって、要求受付部１１１がプログラムからの資源への利用要求を受け付けたこととする。
【００７６】
なお、要求を出したプログラムに対応するポリシィ情報が、ポリシィ保持部１１２にない場合には、要求受付部１１１は要求を出したプログラムの実行を停止させる。
【００７７】
＜許可情報保持部１１３＞
許可情報保持部１１３は、要求受付部１１１が作成した資源アクセス情報のうち、アクセス制御装置１００がプログラムに対して資源１０２へのアクセスを許可している資源アクセス情報を、開始論理アドレスと対応付けて保持するブロックである。
【００７８】
図５は、許可情報保持部１１３が、開始論理アドレスと対応付けて保持する資源アクセス情報を示すものである。
【００７９】
許可情報保持部１１３は、資源名５０１と物理アドレス５０２とで特定される資源と、プログラムＩＤ５０６で特定されるプログラムと、優先度５０７で指定される優先度と、アクセス方式５０８とで特定されるアクセス方式とを対応付けた情報である資源アクセス情報と、開始論理アドレス５０９とを対応付けて保持する。
【００８０】
ここで、開始論理アドレス５０９は、資源アクセス情報が初めて許可情報保持部１１３に保持される場合にのみ、許可情報書換部１１５又は許可情報追加部１１６によって、資源アクセス情報を基にして作成される。
【００８１】
例えば、図５において、許可情報保持部１１３は、保護メモリ１２１を、プログラムＩＤ０００１のプログラムが、優先度５で、占有方式でアクセスするという資源アクセス情報と、プログラムＩＤ０００１のプログラムに対して開始論理アドレスとして０ｘＡ００００を対応付けて記憶している。
【００８２】
＜待機情報保持部１１４＞
待機情報保持部１１４は、要求受付部１１１が作成した資源アクセス情報のうち、資源へのアクセスを許可していない資源アクセス情報、すなわち、資源へのアクセスが許可されることを待機しているプログラムに対応する資源アクセス情報を、論理開始アドレスと、保持開始時刻とを対応付けて保持するブロックである。
【００８３】
図６は、待機情報保持部１１４が、論理開始アドレスと、保持開始時刻とを対応付けて保持する資源アクセス情報を示すものである。
【００８４】
待機情報保持部１１４は、資源名６０１と物理アドレス６０２とで特定される資源と、プログラムＩＤ６０６で特定されるプログラムと、優先度６０７で指定される優先度と、アクセス方式６０８とで特定されるアクセス方式とを対応付けた情報である資源アクセス情報と、開始論理アドレス６０９と、この資源アクセス情報を保持した時刻を示す保持開始時刻６１０とを対応付けて保持する。
【００８５】
開始論理アドレス６０９は、前述したように、許可情報保持部１１３で保持されたことがある資源アクセス情報に対してのみ、提供されている為、許可情報保持部１１３で保持されたことのない資源アクセス情報に対しては、対応付けるべき開始論理アドレスは存在しない。
【００８６】
例えば、図６において、待機情報保持部１１４は、保護メモリ１２１の待ちスロット番号２のスロットに、保護メモリ１２１を、プログラムＩＤ０００９のプログラムが、優先度４で、占有方式でアクセスするという資源アクセス情報と、プログラムＩＤ０００９のプログラムに対して開始論理アドレスとして０ｘ９００００を提供しているという情報と、この資源アクセス情報を保持した時刻が、２００９年４月４日２１時００分０１秒３３であるという情報とを対応付けて記憶している。
【００８７】
＜許可情報書換部１１５＞
許可情報書換部１１５は、要求受付部１１１が資源アクセス情報を作成した場合に、作成された資源アクセス情報を、許可情報保持部１１３か待機情報保持部１１４かのいずれか一方に追加する機能と、許可情報保持部１１３が保持する資源アクセス情報に対応するプログラムから、資源アクセス処理ルーチンの実行終了の旨を通知されると、その資源アクセス情報を許可情報保持部１１３から削除する機能とを備えるブロックである。
【００８８】
ここで、要求受付部１１１が作成した資源アクセス情報が、アクセス制御装置１００がプログラムから資源へのアクセスを許可する資源アクセス情報である場合に、資源アクセス情報を許可情報保持部１１３に追加し、許可しない資源アクセス情報である場合に、資源アクセス情報を待機情報保持部１１４に追加する。
【００８９】
以下、許可情報書換部１１５の機能を、いくつかの場合にわけて説明する。
【００９０】
許可情報書換部１１５は、許可情報保持部１１３に、資源アクセス情報を追加する場合に、１）資源アクセス情報に基づいて、開始論理アドレスと、論理アドレスを物理アドレスに変換する為の情報（以後「アドレス変換情報」と呼ぶ）とを作成し、２）資源アクセス情報を、作成した開始論理アドレスと対応付けて、許可情報保持部１１３に追加し、３）作成したアドレス変換情報を、プログラムを示す情報と対応付けて、アドレス変換テーブル構成要素とし、作成したアドレス変換テーブル構成要素を、アクセス許可部１１７が保持する、アドレス変換テーブル１１８に追加し、４）作成した論理開始アドレスを、要求受付部１１１に通知し、５）資源アクセス情報に対応するプログラムに対して対応する資源へのアクセスを許可する旨を示す許可情報を通知する。
【００９１】
許可情報書換部１１５が、プログラムに対して許可情報を通知すると、プログラムは、資源アクセス処理ルーチンの実行を開始する。
【００９２】
許可情報書換部１１５は、要求受付部１１１が作成した資源アクセス情報を許可情報保持部１１３に追加しようとする場合において、作成した資源アクセス情報が示す資源と一致する資源が、許可情報保持部１１３が既に保持している資源アクセス情報が示す資源の中にあるときには、一致する資源を示す許可情報保持部１１３で保持している資源アクセス情報を、許可情報保持部１１３から削除して待機情報保持部１１４に追加する。
【００９３】
許可情報書換部１１５は、許可情報保持部１１３で保持している資源アクセス情報を削除する場合に、対応するプログラムに対して、対応する資源へのアクセスの許可を取り消す旨を示す削除情報を通知し、アクセス許可部１１７のアドレス変換テーブル１１８から対応するアドレス変換テーブル構成要素を削除する。
【００９４】
許可情報書換部１１５がプログラムに対して削除情報を通知すると、プログラムは、プログラムを終了する為の後処理をして、プログラムを終了する。
【００９５】
＜許可情報追加部１１６＞
許可情報追加部１１６は、許可情報保持部１１３が保持する資源アクセス情報が更新される場合に、待機情報保持部１１４で保持する資源アクセス情報を許可情報保持部１１３に追加する機能を備えるブロックである。
【００９６】
以下、許可情報追加部１１６の機能を、いくつかの場合にわけて説明する。
【００９７】
許可情報追加部１１６は、許可情報保持部１１３が保持する資源アクセス情報が更新された場合において、待機情報保持部１１４で保持している資源アクセス情報の中に、許可情報保持部１１３に追加できる資源を示す資源アクセス情報（以後「該当資源アクセス情報」と呼ぶ）があるとき、該当資源アクセス情報の中から許可情報保持部１１３で保持すべき資源アクセス情報（以後「追加資源アクセス情報」と呼ぶ）を選択し、選択した追加資源アクセス情報を待機情報保持部１１４から削除し、許可情報保持部１１３に追加する。
【００９８】
ここで、許可情報保持部１１３に追加できる資源とは、１）アクセス方式が占有方式であって、許可情報保持部１１３が保持する全ての資源アクセス情報が示す資源を含まない資源か、２）アクセス方式が共有方式であって、許可情報保持部１１３が保持する資源アクセス情報が示す資源のうちアクセス方式が占有方式である資源を含まない資源かのいずれかの資源のことを言う。
【００９９】
追加資源アクセス情報の選択条件については、後程詳細に説明する。
【０１００】
許可情報追加部１１６は、許可情報保持部１１３に資源アクセス情報を追加する場合であって、追加する資源アクセス情報に対応する開始論理アドレスが、待機情報保持部１１４に保持されていなかったときに、１）資源アクセス情報に基づいて、開始論理アドレスと、アドレス変換情報とを作成し、２）資源アクセス情報を、作成した開始論理アドレスと対応付けて許可情報保持部１１３に追加し、３）作成したアドレス変換情報を、プログラムを示す情報と対応付けて、アドレス変換テーブル構成要素とし、作成したアドレス変換テーブル構成要素を、アクセス許可部１１７が保持する、アドレス変換テーブル１１８に追加し、４）作成した論理開始アドレスを、要求受付部１１１に通知し、５）資源アクセス情報に対応するプログラムに対して対応する資源へのアクセスを許可する旨を示す追加情報を通知する。
【０１０１】
許可情報追加部１１６が、プログラムに対して追加情報を通知すると、プログラムは、資源アクセス処理ルーチンの実行を開始する。
【０１０２】
許可情報追加部１１６は、許可情報保持部１１３に資源アクセス情報を追加する場合であって、追加する資源アクセス情報に対応する開始論理アドレスが、待機情報保持部１１４に保持されていたときに、１）資源アクセス情報に基づいて、アドレス変換情報を作成し、２）資源アクセス情報を、開始論理アドレスと対応付けて許可情報保持部１１３に追加し、３）作成したアドレス変換情報を、プログラムを示す情報と対応付けて、アドレス変換テーブル構成要素とし、作成したアドレス変換テーブル構成要素を、アクセス許可部１１７が保持する、アドレス変換テーブル１１８に追加し、４）作成した論理開始アドレスを、要求受付部１１１に通知し、５）資源アクセス情報に対応するプログラムを起動する。
【０１０３】
＜アクセス許可部１１７＞
アクセス許可部１１７は、プログラムに含まれる、資源の読み書きに係る命令をプロセッサのデコーダがデコードする場合に、資源の読み書きに係る命令で指定される論理アドレスを、アドレス変換テーブル１１８を用いて、対応する物理アドレスに変換し、変換した物理アドレスを用いて、資源１０２へのアクセスを管理しているメモリコントローラを動作させることで、資源への読み書きを行うブロックであって、その一部は、プロセッサのデコーダの一部によって構成されている。
【０１０４】
アクセス許可部１１７が保持するアドレス変換テーブル１１８は、プログラムを示す情報と、論理アドレスを物理アドレスに変換する為の情報であるアドレス変換情報とを対応付けた情報である、アドレス変換テーブル構成要素を複数保持している。
【０１０５】
アクセス許可部１１７は、アドレス変換テーブル１１８の保持する、アドレス変換テーブル構成要素に対応するプログラムにのみ、対応するアドレス変換情報を用いて、論理アドレスを物理アドレスに変換する。
【０１０６】
アクセス許可部１１７は、アドレス変換テーブル１１８を構成する、アドレス変換テーブル構成要素に対応するプログラム以外のプログラムが、資源１０２への読み書きを行う場合には、例外を発生して、ＯＳにそのプログラムの実行を停止させる。
【０１０７】
＜動作＞
＜資源の利用要求を受けた場合の動作＞
以下、図面を使って、プログラムからの資源の利用要求を受けた場合の動作について説明する。
【０１０８】
図７、８は、プログラム群１０１を構成するプログラムから資源１０２の利用要求を受けた場合の動作を示すフローチャートである。
【０１０９】
要求受付部１１１は、プログラム群１０１の中のプログラムから資源１０２を利用する要求をされる（ステップＳ１００）と、ポリシィ保持部１１２で保持するポリシィ情報の中に、要求を出したプログラムに対応するポリシィ情報があるか否かを検索し（ステップＳ１１０）、該当するポリシィ情報がある場合（ステップＳ１１０：Ｙｅｓ）には、許可情報保持部１１３に要求を出したプログラムに対応する資源アクセス情報があるか否かを検索し（ステップＳ１１３）、対応する資源アクセス情報を見つけられなかったら（ステップＳ１１３：Ｙｅｓ）、要求を出したプログラムに対応する資源アクセス情報を作成して（ステップＳ１１６）資源利用要求を受け付ける。
【０１１０】
要求受付部１１１が資源利用要求を受け付けると、許可情報書換部１１５は、要求受付部１１１が作成した資源アクセス情報（以後「新規資源アクセス情報」と呼ぶ）の示す資源と同一の資源（以後「重複資源」と呼ぶ）を示す資源アクセス情報（以後「重複資源アクセス情報」と呼ぶ）が許可情報保持部１１３に保持されているか否かを検索する（ステップＳ１２０）。
【０１１１】
許可情報書換部１１５は、重複資源アクセス情報が許可情報保持部１１３に保持されている場合（ステップＳ１２０：Ｙｅｓ）、新規資源アクセス情報が示すプログラム（以後「新規プログラム」と呼ぶ）が重複資源にアクセスするアクセス方式と、重複資源アクセス情報が示すプログラム（以後「重複プログラム」と呼ぶ）が重複資源にアクセスするアクセス方式のうち、少なくとも一方のアクセス方式が占有方式であれば（ステップＳ１３０：Ｙｅｓ）、新規プログラムが重複資源にアクセスする優先度と、重複プログラムが重複資源にアクセスする優先度とを比較し（ステップＳ１４０）、新規プログラムが重複資源にアクセスする優先度のほうが重複プログラムの重複資源にアクセスする優先度よりも高ければ（ステップＳ１４０：Ｙｅｓ）、許可情報書換部１１５は、重複プログラムに対して削除情報を通知する（ステップＳ１５０）。
【０１１２】
許可情報書換部１１５が重複プログラムに対して削除情報を通知すると、重複プログラムは、前述した後処理を実行してプログラムを終了する。
【０１１３】
許可情報書換部１１５は、削除情報を通知してから所定の時間経過すると、許可情報保持部１１３から重複資源アクセス情報と、対応する開始論理アドレスとを削除する（ステップＳ１６０）。
【０１１４】
ここでいう所定の時間とは、重複プログラムが後処理を実行してプログラムを終了するのに必要な、予め定めておいた時間のことをいい、ここでは、全てのプログラムに対して一律同じ時間に設定してあり、許可情報書換部１１５は、図示していないタイマを使って所定の時間を計測している。
【０１１５】
許可情報書換部１１５は、許可情報保持部１１３から重複資源アクセス情報と、対応する開始論理アドレスとを削除すると、アドレス変換テーブル１１８から該当するアドレス変換テーブル構成要素を削除し（ステップＳ１７０）、重複資源アクセス情報を、対応する開始論理アドレスと対応付けて、待機情報保持部１１４に追加（ステップＳ２５０）する。
【０１１６】
許可情報書換部１１５は、重複資源アクセス情報を待機情報保持部１１４に追加すると、新規アクセス情報に対応するアドレス変換テーブル構成要素を作成し、許可情報保持部１１３に、新規資源アクセス情報を、作成した論理開始アドレスに対応付けて追加して（ステップＳ２６０）、アドレス変換テーブル１１８に作成したアドレス変換テーブル構成要素を追加する（ステップＳ２７０）。
【０１１７】
許可情報書換部１１５は、ステップＳ２７０を実行する、もしくは、ステップＳ１１３において、要求受付部１１１が、許可情報保持部１１３に、要求を出したプログラムに対応する資源アクセス情報を見つけると（ステップＳ１１３：Ｎｏ）、要求を出したプログラムに対応する開始論理アドレスを要求受付部１１１に通知し、要求を出したプログラムに、許可情報を通知する。
【０１１８】
要求受付部１１１は、許可情報書換部１１５から開始論理アドレスを通知されると、通知された開始論理アドレスを戻り値として、要求を出したプログラムに返して（ステップＳ２８０）資源の利用要求を受けた場合の動作を終了する。
【０１１９】
プログラムは、許可情報と開始論理アドレスと通知されると、資源アクセス処理ルーチンを開始する。
【０１２０】
ステップＳ１４０において、新規プログラムが重複資源にアクセスする優先度のほうが重複プログラムが重複資源にアクセスする優先度よりも高くなければ（ステップＳ１４０：Ｎｏ）、許可情報書換部１１５は、新規資源アクセス情報を待機情報保持部１１４に追加（ステップＳ１８０）して、資源の利用要求を受けた場合の動作を終了する。
【０１２１】
ステップＳ１２０において、許可情報保持部１１３に重複資源アクセス情報が保持されていない場合（ステップＳ１２０：Ｎｏ）、または、ステップＳ１３０において、新規プログラムが重複資源にアクセスするアクセス方式と、重複プログラムが重複資源にアクセスするアクセス方式との双方が共有方式である場合（ステップＳ１３０：Ｎｏ）には、許可情報書換部１１５は、上述したステップＳ２６０〜ステップＳ２８０の動作を行い、資源の利用要求を受けた場合の動作を終了する。
【０１２２】
ステップＳ１１０において該当するポリシィ情報がない場合（ステップＳ１１０：Ｎｏ）には、要求受付部１１１は、プログラムの実行を停止させて（ステップＳ２００）、資源の利用要求を受けた場合の動作を終了する。
【０１２３】
＜資源アクセス処理ルーチンが終了した場合の動作＞
以下、図面を使って、資源アクセス処理ルーチンが終了した場合の動作について説明する。
【０１２４】
図９は、資源アクセス処理ルーチンが終了した場合の動作を示すフローチャートである。
【０１２５】
プログラムは、資源アクセス処理ルーチンを終了すると、許可情報書換部１１５に実行終了の旨を通知する（ステップＳ３００）。
【０１２６】
許可情報書換部１１５は、プログラムから実行終了の旨を通知されると、許可情報保持部１１３から、資源アクセス情報と、対応する開始論理アドレスとを削除し（ステップＳ３１０）、アドレス変換テーブル１１８から該当するアドレス変換テーブル構成要素を削除して（ステップＳ３２０）、資源アクセス処理ルーチンが終了した場合の動作を終了する。
【０１２７】
＜許可情報保持部１１３が更新される場合の動作＞
以下、図面を使って、許可情報保持部１１３の保持する内容が更新された場合の動作について説明する。
【０１２８】
図１０は、プログラムからの資源の利用要求を受け付けた場合や、実行中のプログラムが終了した場合等において、許可情報保持部１１３の保持する情報が更新されるときの動作を示すフローチャートである。
【０１２９】
許可情報保持部１１３の保持する情報が更新される（ステップＳ４００）と、許可情報追加部１１６は、待機情報保持部１１４の保持する資源アクセス情報の中に、許可情報保持部１１３に追加することができる資源がある場合（ステップＳ４１０：Ｙｅｓ）において、該当する資源アクセス情報が複数（ステップＳ４２０：Ｙｅｓ）であれば、該当する資源アクセス情報の該当する優先度を比較する（ステップＳ４３０）。
【０１３０】
許可情報追加部１１６は、優先度を比較した結果、最も優先度が高い資源アクセス情報が複数ある場合（ステップＳ４３０：Ｙｅｓ）には、待機情報保持部１１４に保持された時刻が最も早い資源アクセス情報を追加資源アクセス情報として選択し（ステップＳ４４０）、最も優先度が高い資源アクセス情報が１つである場合（ステップＳ４３０：Ｎｏ）には、その最も優先度が高い資源アクセス情報を追加資源アクセス情報として選択し（ステップＳ４５０）、また、ステップＳ４２０において、該当する資源アクセス情報が１つであった場合（ステップＳ４２０：Ｎｏ）には、該当する資源アクセス情報を追加資源アクセス情報として選択する。
【０１３１】
許可情報追加部１１６は、追加資源アクセス情報を選択する場合において、対応する開始論理アドレスが待機情報保持部１１４で保持されていれば、１）追加資源アクセス情報を開始論理アドレスに対応付けて、許可情報保持部１１３に追加し（ステップＳ４７０）、２）アドレス変換テーブル構成要素を作成して、作成したアドレス変換テーブル構成要素をアドレス変換テーブル１１８に追加して（ステップＳ４８０）要求受付部１１１に論理開始アドレスを通知し、３）待機情報保持部１１４から、追加資源アクセス情報と、対応する開始論理アドレスと保持開始時刻とを削除し、４）追加資源アクセス情報に対応するプログラムを起動する。
【０１３２】
また、許可情報追加部１１６は、追加資源アクセス情報を選択する場合において、対応する開始論理アドレスが待機情報保持部１１４で保持されていなければ、１）開始論理アドレスを作成し、追加資源アクセス情報を開始論理アドレスに対応付けて、許可情報保持部１１３に追加し（ステップＳ４７０）、２）アドレス変換テーブル構成要素を作成して、作成したアドレス変換テーブル構成要素をアドレス変換テーブル１１８に追加して（ステップＳ４８０）要求受付部１１１に論理開始アドレスを通知し、３）待機情報保持部１１４から、追加資源アクセス情報と、対応する開始論理アドレスと保持開始時刻とを削除し、４）追加資源アクセス情報に対応するプログラムに、許可情報を通知する。
【０１３３】
要求受付部１１１は、開始論理アドレスを通知されると、通知された開始論理アドレスを戻り値として対応するプログラムに返す（ステップＳ４９０）。
【０１３４】
論理アドレスを物理アドレスに変換する動作については、後程詳細に説明する。
【０１３５】
要求受付部１１１が、開始論理アドレスを追加資源アクセス情報に対応するプログラムに通知する（ステップＳ４９０）と、再びステップＳ４１０に戻って、以降の処理を継続する。
【０１３６】
ステップＳ４１０において、許可情報追加部１１６は、待機情報保持部の保持する資源アクセス情報の中に追加することができる資源がない（ステップＳ４１０：Ｎｏ）と、許可情報保持部１１３が更新される場合の動作を終了する。
【０１３７】
＜プログラムが資源にアクセスする動作＞
以下、図面を使って、プログラムが資源にアクセスする動作について説明する。
【０１３８】
図１１は、プログラムに含まれる資源の読み書きに係る命令を、プロセッサのデコーダがデコードして、資源１０２への読み書きを行う動作を示すフローチャートである。
【０１３９】
アクセス許可部１１７は、論理アドレスを指定することで資源１０２の読み書きを行う命令を、プロセッサの命令フェッチ部から受け取る（ステップＳ６００）と、アクセス許可部１１７は、受け取った命令のデコードを開始する。
【０１４０】
アクセス許可部１１７は、命令のデコードを開始すると、アドレス変換テーブル１１８の中に、対応するアドレス変換テーブル構成要素があるか否かを確認し（ステップＳ６１０）、アドレス変換テーブル構成要素がある場合（ステップＳ６１０：Ｙｅｓ）、対応するアドレス変換情報に基づいて、論理アドレスを物理アドレスに変換して（ステップＳ６２０）、変換した物理アドレスを用いて、受け取った命令のデコードを完了する。
【０１４１】
さらに、アクセス許可部は、物理アドレスを含むデコード後の命令を用いて、資源１０２へのアクセスを管理しているメモリコントローラを動作させることで、資源１０２への読み書きを行い、プログラムが資源にアクセスする動作を終了する。
【０１４２】
ステップＳ６１０において、対応するアドレス変換テーブルがない場合（ステップＳ６１０：Ｎｏ）、アクセス許可部１１７は、割り込みを発生して、ＯＳにプログラムの実行を停止させる処理ルーチンを実行させることで、プログラムの実行を停止させて（ステップＳ６３０）、プログラムが資源にアクセスする動作を終了する。
【０１４３】
＜ポリシィ情報を更新する動作＞
以下、図面を使って、認証局１０３からの証明書を受け取る場合の動作について説明する。
【０１４４】
図１２は、認証局１０３から証明書受け取って、ポリシィ情報をポリシィ保持部１１２に登録する場合の動作を示すフローチャートである。
【０１４５】
認証局１０３は、受け取ったプログラムが特定の資源に特定の優先度で特定のアクセス方式でアクセスすることに不都合がない場合に、受け取ったプログラムが特定の資源に特定の優先度で特定のアクセス方式でアクセスすることを認証し、認証した特定のプログラムと特定の資源と特定の優先度と特定のアクセス方式との情報を対応付けた情報であるポリシィ情報を作成する。
【０１４６】
認証局１０３は、作成したポリシィ情報を、優先度毎に異なる秘密鍵を使って暗号化し、暗号化したものを証明書としてプログラム所有者へ提出する。
【０１４７】
認証局１０３は、秘密鍵に対応する公開鍵を広く一般に公開している。
【０１４８】
プログラム所有者は、証明書を受け取ると、証明書をポリシィ保持部１１２に入力する。
【０１４９】
アクセス制御装置１００を用いて資源１０２にアクセスするプログラムの所有者は、そのプログラムと、そのプログラムが使用する資源と、その資源を使用する際の優先度と、その資源を使用する際のアクセス方式とを認証局１０３へ提出する。
【０１５０】
認証局１０３は、特定のプログラムが特定の資源に特定の優先度で特定のアクセス方式で特定のアクセス方式でアクセスすることの正当性を認証すると、ポリシィ情報を作成し、作成したポリシィ情報に対して、優先度毎に対応する秘密鍵を使って暗号化して証明書を作成する。
【０１５１】
ここで使用する秘密鍵に対応する公開鍵は、予め広く一般に公開している。
【０１５２】
ポリシィ保持部１１２は、認証局が証明書作成の際に使用する秘密鍵に対応する公開鍵を予め保持しておく（ステップＳ７００）。
【０１５３】
認証局１０３で作成したポリシィ情報を、ポリシィ保持部１１２に登録させたいプログラムの所有者は、認証局１０３が発行した証明書をポリシィ保持部１１２に入力し、ポリシィ保持部１１２は、証明書を入力されると（ステップＳ７１０）、優先度０〜５の６種類の優先度のそれぞれに対応する６つの公開鍵を使って、証明書を正しく解読できるか否かを確かめる（ステップＳ７２０）。
【０１５４】
ここで、ＯＳは、証明書を指定して呼びだすと、ポリシィ保持部１１２が指定された証明書の解読処理を開始する証明書入力ＡＰＩを備えており、プログラムの所有者が、証明書入力ＡＰＩを呼び出すプログラムを、ＯＳ上で実行することで、プログラムの所有者は、証明書をポリシィ保持部１１２に入力する。
【０１５５】
ポリシィ保持部１１２は、６つの公開鍵のうちのいずれか１つの公開鍵で証明書を正しく解読する（ステップＳ７２０：Ｙｅｓ）と、１）解読したことによって得られたポリシィ情報の優先度と、解読に使用した公開鍵に対応する優先度とが一致して、２）解読したことによって得られたポリシィ情報における、優先度と資源とアクセス条件との組み合わせが、ポリシィ保持部１１２が保持するアクセス制限情報の制限に違反していなければ、登録要求内容が正当な要求であると判断し（ステップＳ７３０：Ｙｅｓ）、解読したことによって得られたポリシィ情報をポリシィ保持部１１２に追加して保持し（ステップＳ７４０）、ディスプレイに登録完了の旨のメッセージを表示して（ステップＳ７５０）、ポリシィ情報を更新する動作を終了する。
【０１５６】
ステップＳ７２０において、ポリシィ保持部１１２が、６つの公開鍵のうちいずれか１つの公開鍵で証明書を正しく解読できない（ステップＳ７２０：Ｎｏ）場合、もしくは、ステップＳ７３０において、ポリシィ保持部１１２が、登録内容が正当な要求であると判断しない場合（ステップＳ７３０：Ｎｏ）には、ポリシィ保持部１１２は新たにポリシィ情報を追加して保持することなく、ディスプレイに登録失敗の旨のメッセージを表示させて（ステップＳ７６０）、ポリシィ情報を更新する動作を終了する。
＜変形例＞
実施の形態では、資源１０２が保護メモリ１２１と共用メモリ１２２と暗号エンジン１２３という３つの単位で区別されている例について説明したが、変形例では、資源１０２が、物理アドレスの範囲を任意に指定される領域に区別され、任意に区別された領域の単位で使用される資源となっている例である。
【０１５７】
以下変形例について、実施の形態との相違点を中心に説明する。
【０１５８】
＜変形例における  ポリシィ情報と資源アクセス情報とアクセス制限情報＞
図１３は変形例におけるポリシィ保持部１１２が保持するポリシィ情報である。
ポリシィ保持部１１２は、プログラムＩＤ１３０２で特定されるプログラムが、優先度１３０３で示される優先度で、資源のアドレス１３０４で指定される領域の資源に、アクセス方式１３０７で示されるアクセス方式でアクセスすることができる旨を示す情報であるポリシィ情報を保持する。
【０１５９】
実施の形態におけるポリシィ情報との相違点は、実施の形態におけるポリシィ情報では、資源は、保護メモリ１２１と共用メモリ１２２と暗号エンジン１２３の３つの資源であった部分が、変形例におけるポリシィ情報では、資源は、物理アドレスで指定される任意の領域の資源となっている点と、実施の形態におけるポリシィ情報では、資源へのアクセス方式が、保護メモリ１２１と共用メモリ１２２と暗号エンジン１２３の３つの資源それぞれにアクセス方式を対応付けていた部分が、変形例におけるポリシィ情報では、物理アドレスで指定される任意の領域の１つの資源に対応する１つのアクセス方式を対応付けるようになっている点である。
【０１６０】
資源アクセス情報は、ポリシィ保持部の保持するポリシィ情報を参照して、要求受付部１１１が作成する情報であり、ポリシィ情報の場合と同様に、実施の形態における資源アクセス情報では、資源は、保護メモリ１２１と共用メモリ１２２と暗号エンジン１２３の３つの資源であった部分が、変形例におけるポリシィ情報では、資源は、物理アドレスで指定される任意の領域の資源となっている。
【０１６１】
また、同様に、実施の形態における資源アクセス情報では、資源へのアクセス方式が、保護メモリ１２１と共用メモリ１２２と暗号エンジン１２３の３つの資源それぞれにアクセス方式を対応付けていた部分が、変形例における資源アクセス情報では、物理アドレスで指定される任意の領域の１つの資源に対応する１つのアクセス方式を対応付けるようになっている。
【０１６２】
図１４は、変形例におけるポリシィ保持部１１２が保持するアクセス制限情報である。
【０１６３】
図１４に示すように、アクセス制限情報は、優先度１４０１で示される優先度に応じて、対応するプログラムが資源へのアクセスを行う際の制限を示している情報である。
【０１６４】
実施の形態では、資源として保護メモリ１２１と共用メモリ１２２と暗号エンジン１２３との３つの資源があったが、変形例におけるアクセス制限情報は、１つの資源のみとなっている。
【０１６５】
＜変形例における資源の重複＞
実施の形態においては、複数のプログラムに対応する資源が重複している場合として、複数のプログラムに対応する資源が同じ資源である場合しかなかったが、変形例においては、複数のプログラムのアクセスしようとする資源が、様々な形態で重複している場合が発生する。
【０１６６】
ここでは、変形例における資源の重複が発生する場合について、資源の重複が発生する形態を、複数のプログラムに対応する領域の資源を全て含む資源の利用要求がある形態をパターン１、プログラムに対応する領域の資源の一部の領域を含む資源への資源の利用要求がある形態をパターン２とする２つのパターンに分類して、図面を使って説明する。
【０１６７】
図１５は、変形例において、資源の重複がパターン１の形態で発生する場合について、各プログラムが使用する資源の領域の関係を、模式的に示す図である。
【０１６８】
ここでは、プログラムＡとプログラムＢとプログラムＣとが、資源を使用して実行中のプログラムである場合において、プログラムＡが使用している資源が、物理アドレス空間１５００上の、００００＿１０００ｈ〜００００＿１１ＦＦｈの領域の資源であって、プログラムＢが使用している資源が、００００＿１２００ｈ〜００００＿１３ＦＦｈの領域の資源であって、プログラムＣが使用している資源が、０００＿１４００ｈ〜００００＿１５ＦＦｈの領域の資源あるとき、新たにプログラムＤから、００００＿１０００ｈ〜００００＿１５ＦＦｈの領域の資源を利用する要求を受け取った場合を例として、資源の重複がパターン１の形態で発生する場合を、いくつかの場合に場合分けして説明する。
【０１６９】
１）プログラムＤが資源にアクセスするアクセス方式が、占有方式である場合。
【０１７０】
プログラムＤの優先度が、プログラムＡの優先度とプログラムＢの優先度とプログラムＣの優先度の全てよりも優先度が高い場合に、許可情報書換部１１５によって、プログラムＤに対応する資源アクセス情報が、許可情報保持部１１３に追加され、プログラムＡとプログラムＢとプログラムＣとに対応する資源アクセス情報が、許可情報保持部１１３から削除されて、待機情報保持部１１４に追加される。
【０１７１】
プログラムＤの優先度が、プログラムＡの優先度とプログラムＢの優先度とプログラムＣの優先度の全てよりも優先度が高くない場合に、許可情報書換部１１５によって、プログラムＤに対応する資源アクセス情報が、待機情報保持部１１４に追加される。
【０１７２】
プログラムＤの優先度が、プログラムＡの優先度よりも高くなく、プログラムＢの優先度と、プログラムＣの優先度より高い場合に（例えば、プログラムＡの優先度＞プログラムＤの優先度＞プログラムＢの優先度＞プログラムＣの優先度）、許可情報書換部１１５によって、プログラムＡの資源アクセス情報が削除されたとき、プログラムＢとプログラムＣに対応する資源アクセス情報が、許可情報保持部１１３から削除されて、待機情報保持部１１４に追加され、さらに、プログラムＤに対応する資源アクセス情報が、許可情報保持部１１３に追加される。
【０１７３】
２）プログラムＤが資源にアクセスするアクセス方式が、共有方式である場合。
【０１７４】
２−１）プログラムＡ、プログラムＢ、プログラムＣが資源にアクセスする方式が、全て占有方式である場合。
【０１７５】
プログラムＤの優先度が、プログラムＡの優先度とプログラムＢの優先度とプログラムＣの優先度の全てよりも優先度が高い場合に、許可情報書換部１１５によって、プログラムＤに対応する資源アクセス情報が、許可情報保持部１１３に追加され、プログラムＡとプログラムＢとプログラムＣとに対応する資源アクセス情報が、許可情報保持部１１３から削除されて、待機情報保持部１１４に追加される。
【０１７６】
プログラムＤの優先度が、プログラムＡの優先度とプログラムＢの優先度とプログラムＣの優先度の全てよりも優先度が高くない場合に、許可情報書換部１１５によって、プログラムＤに対応する資源アクセス情報が、待機情報保持部１１４に追加される。
【０１７７】
２−２）プログラムＡ、プログラムＢ、プログラムＣが資源にアクセスする方式が、占有方式と共有方式とが混在している場合。
【０１７８】
ここではプログラムＡとプログラムＢとが資源にアクセスするアクセス方法が、占有方式で、プログラムＣが資源にアクセスするアクセス方法が、共有方式であるとして説明する。
【０１７９】
プログラムＤの優先度が、資源にアクセスするアクセス方式が占有方式である全てのプログラム（すなわちプログラムＡとプログラムＢ）の優先度よりも優先度が高い場合に、許可情報書換部１１５によって、プログラムＤに対応する資源アクセス情報が、許可情報保持部１１３に追加され、プログラムＡとプログラムＢとに対応する資源アクセス情報が、許可情報保持部１１３から削除されて、待機情報保持部１１４に追加される。
【０１８０】
プログラムＤの優先度が、資源にアクセスするアクセス方式が占有方式である全てのプログラム（すなわちプログラムＡとプログラムＢ）の優先度よりも優先度が高くない場合に、許可情報書換部１１５によって、プログラムＤに対応する資源アクセス情報が、待機情報保持部１１４に追加される。
【０１８１】
２−３）プログラムＡ、プログラムＢ、プログラムＣが資源にアクセスする方法が、全て共有方式である場合。
【０１８２】
プログラムＤに対応する資源アクセス情報が、許可情報書換部１１５によって、許可情報保持部１１３に追加される。
【０１８３】
図１６は、変形例において、資源の重複がパターン１の形態で発生する場合について、各プログラムが使用する資源の領域の関係を、模式的に示す図である。
【０１８４】
ここでは、プログラムＡとプログラムＢとが、資源を使用して実行中のプログラムである場合において、プログラムＡが使用している資源が、物理アドレス空間１５００上の、００００＿１０００ｈ〜００００＿１１ＦＦｈの領域の資源であって、プログラムＢが使用している資源が、００００＿１２００ｈ〜００００＿１３ＦＦｈの領域の資源であるとき、新たにプログラムＣから、００００＿１１００ｈ〜００００＿１２ＦＦｈの領域の資源を利用する要求を受け取った場合を例として、資源の重複がパターン２の形態で発生する場合を、いくつかの場合に場合分けして説明する。
【０１８５】
３）プログラムＣが資源にアクセスするアクセス方式が、占有方式である場合。
【０１８６】
プログラムＣの優先度が、プログラムＡの優先度とプログラムＢの優先度との双方よりも優先度が高い場合に、許可情報書換部１１５によって、プログラムＣに対応する資源アクセス情報が、許可情報保持部１１３に追加され、プログラムＡとプログラムＢとに対応する資源アクセス情報が、許可情報保持部１１３から削除されて、待機情報保持部１１４に追加される。
【０１８７】
プログラムＣの優先度が、プログラムＡの優先度とプログラムＢの優先度との双方よりも優先度が高くない場合に、許可情報書換部１１５によって、プログラムＣに対応する資源アクセス情報が、待機情報保持部１１４に追加される。
【０１８８】
４）プログラムＣが資源にアクセスするアクセス方式が、共有方式である場合。
【０１８９】
４−１）プログラムＡ、プログラムＢが資源にアクセスする方式が、全て占有方式である場合。
【０１９０】
プログラムＣの優先度が、プログラムＡの優先度とプログラムＢの優先度との双方よりも優先度が高い場合に、許可情報書換部１１５によって、プログラムＣに対応する資源アクセス情報が、許可情報保持部１１３に追加され、プログラムＡとプログラムＢとに対応する資源アクセス情報が、許可情報保持部１１３から削除されて、待機情報保持部１１４に追加される。
【０１９１】
プログラムＣの優先度が、プログラムＡの優先度とプログラムＢの優先度との双方よりも優先度が高くない場合に、許可情報書換部１１５によって、プログラムＣに対応する資源アクセス情報が、待機情報保持部１１４に追加される。
【０１９２】
４−２）プログラムＡ、プログラムＢが資源にアクセスする方式が、占有方式と共有方式とが混在している場合。
【０１９３】
ここではプログラムＡが資源にアクセスするアクセス方法が占有方式で、プログラムＢが資源にアクセスするアクセス方法が共有方式であるとして説明する。
【０１９４】
プログラムＣの優先度が、資源にアクセスするアクセス方式が占有方式であるプログラムＡの優先度よりも優先度が高い場合に、許可情報書換部１１５によって、プログラムＣに対応する資源アクセス情報が、許可情報保持部１１３に追加され、プログラムＡに対応する資源アクセス情報が、許可情報保持部１１３から削除されて、待機情報保持部１１４に追加される。
【０１９５】
プログラムＣの優先度が、資源にアクセスするアクセス方式が占有方式であるプログラムＡの優先度よりも優先度が高くない場合に、許可情報書換部１１５によって、プログラムＣに対応する資源アクセス情報が、待機情報保持部１１４に追加される。
【０１９６】
４−３）プログラムＡ、プログラムＢが資源にアクセスする方法が、全て共有方式である場合。
【０１９７】
プログラムＣに対応する資源アクセス情報が、許可情報書換部１１５によって、許可情報保持部１１３に追加される。
【０１９８】
＜変形例における資源の利用要求を受けた場合の動作＞
以下、図面を使って、変形例における、プログラムからの資源の利用要求を受けた場合の動作について説明する。
【０１９９】
図１７、１８は、プログラム群１０１を構成するプログラムから資源１０２の利用要求を受けた場合の動作を示すフローチャートである。
【０２００】
要求受付部１１１は、プログラム群１０１の中のプログラムから資源１０２を利用する要求をされる（ステップＳ８００）と、ポリシィ保持部１１２で保持するポリシィ情報の中に、要求を出したプログラムに対応するポリシィ情報があるか否かを検索し（ステップＳ８１０）、該当するポリシィ情報がある場合（ステップＳ８１０：Ｙｅｓ）には、許可情報保持部１１３に要求を出したプログラムに対応する資源アクセス情報があるか否かを検索し（ステップＳ８１３）、対応する資源アクセス情報を見つけられなかったら（ステップＳ８１３：Ｙｅｓ）、要求を出したプログラムに対応する資源アクセス情報を作成して（ステップＳ８１６）資源利用要求を受け付ける。
【０２０１】
要求受付部１１１が資源利用要求を受け付けると、許可情報書換部１１５は、要求受付部１１１が作成した資源アクセス情報（新規資源アクセス情報）の示す領域の資源を少なくとも一部に含む領域資源（重複資源）を示す資源アクセス情報（重複資源アクセス情報）が許可情報保持部１１３に保持されているか否かを検索する（ステップＳ８２０）。
【０２０２】
許可情報書換部１１５は、重複資源アクセス情報が許可情報保持部１１３に保持されている場合（ステップＳ８２０：Ｙｅｓ）において、新規資源アクセス情報が示すプログラム（以後「新規プログラム」と呼ぶ）から対応する資源にアクセスするアクセス方式が共有方式であるとき（ステップＳ８３０：Ｙｅｓ）、重複資源アクセス情報が示すプログラム（以後「重複プログラム」と呼ぶ）が重複資源にアクセスするアクセス方式のうち、少なくとも１つのアクセス方式が占有方式であれば（ステップＳ８４０：Ｙｅｓ）、新規プログラムが重複資源にアクセスする優先度と、重複プログラムのうち、資源にアクセスするアクセス方式が占有方式であるプログラム（以後「重複占有プログラム」）が重複資源にアクセスする優先度（以後「重複占有優先度」と呼ぶ）とを比較し（ステップＳ８５０）、新規プログラムが重複資源にアクセスする優先度の方が全ての重複占有優先度よりも高ければ（ステップＳ８５０：Ｙｅｓ）、許可情報書換部１１５は、全ての重複占有プログラムに対して削除情報を通知する（ステップＳ８６０）。
【０２０３】
また、ステップＳ８３０において、新規プログラムから対応する資源にアクセスするアクセス方式が占有方式であるとき（ステップＳ８３０：Ｎｏ）、新規プログラムが重複資源にアクセスする優先度と重複プログラムが重複資源にアクセスする優先度とを比較し（ステップＳ８４５）、新規プログラムが重複資源にアクセスする優先度の方が全ての重複プログラムが重複資源にアクセスする優先度よりも高ければ（ステップＳ８４５：Ｙｅｓ）、許可情報書換部１１５は、全ての重複プログラムに対して削除情報を通知する（ステップＳ８６０）。
【０２０４】
削除情報を通知された、重複占有プログラムもしくは重複プログラム（以後「該当プログラム」と呼ぶ）は、削除情報を通知されると、前述した後処理を実行してプログラムを終了する。
【０２０５】
許可情報書換部１１５は、削除情報を通知してから所定の時間経過すると、許可情報保持部１１３から全ての該当プログラムに対応する資源アクセス情報（以後「該当資源アクセス情報」と呼ぶ）と、対応する開始論理アドレスとを削除し（ステップＳ８７０）、アドレス変換テーブル１１８から該当する全てのアドレス変換テーブル構成要素を削除して（ステップＳ９５０）、全ての該当資源アクセス情報を、対応する開始論理アドレスに対応付けて、待機情報保持部１１４に追加（ステップＳ９６０）する。
【０２０６】
許可情報書換部１１５は、全ての該当資源アクセス情報を待機情報保持部１１４に追加すると、新規アクセス情報に対応するアドレス変換テーブル構成要素を作成し、許可情報保持部１１３に、新規資源アクセス情報を、作成した論理開始アドレスに対応付けて追加して（ステップＳ９７０）、アドレス変換テーブル１１８に作成したアドレス変換テーブル構成要素を追加する（ステップＳ９８０）。
【０２０７】
許可情報書換部１１５は、ステップＳ９８０を実行する、もしくは、ステップＳ８１３において、要求受付部１１１が、許可情報保持部１１３に、要求を出したプログラムに対応する資源アクセス情報を見つけると（ステップＳ８１３：Ｎｏ）、要求を出したプログラムに対応する開始論理アドレスを要求受付部１１１に通知し、要求を出したプログラムに、許可情報を通知する。
【０２０８】
要求受付部１１１は、許可情報書換部１１５から開始論理アドレスを通知されると、通知された開始論理アドレスを戻り値として、要求を出したプログラムに返して（ステップＳ９９０）資源の利用要求を受けた場合の動作を終了する。
【０２０９】
プログラムは、許可情報と開始論理アドレスと通知されると、資源アクセス処理ルーチンを開始する。
【０２１０】
許可情報書換部１１５は、新規プログラムに対して許可通知信号を通知すると、新規資源アクセス情報を基にして、アドレス変換テーブル構成要素と開始論理アドレスとを作成し、新規資源アクセス情報を作成した開始論理アドレスに対応付けて許可情報保持部１１３に追加し（ステップＳ９７０）、アドレス変換テーブル１１８に作成したアドレス変換テーブル構成要素を追加し（ステップＳ９８０）、作成した開始論理アドレスを要求受付部１１１に通知する。
【０２１１】
要求受付部１１１は、開始論理アドレスを通知されると、通知された開始論理アドレスを戻り値として新規プログラムに返して（ステップＳ９９０）、資源の利用要求を受けた場合の動作を終了する。
【０２１２】
ステップＳ８４５において、新規プログラムが重複資源にアクセスする優先度の方が全ての重複プログラムが重複資源にアクセスする優先度よりも高くなければ（ステップＳ８４５：Ｎｏ）、もしくは、ステップＳ８５０において、新規プログラムが重複資源にアクセスする優先度の方が全ての重複占有優先度よりも高くなければ（ステップＳ８５０：Ｎｏ）許可情報書換部１１５は、新規資源アクセス情報を待機情報保持部１１４に追加（ステップＳ８８０）して、資源の利用要求を受けた場合の動作を終了する。
【０２１３】
ステップＳ８２０において、許可情報保持部１１３に重複資源アクセス情報が保持されていない場合（ステップＳ８２０：Ｎｏ）、または、ステップＳ８４０において、重複プログラムが重複資源にアクセスするアクセス方式が全て共有方式であれば（ステップＳ８４０：Ｎｏ）、許可情報書換部１１５は、新規プログラムに対して許可通知信号を通知して、上述したステップＳ９７０〜ステップＳ９９０の処理を行い、資源の利用要求を受けた場合の動作を終了する。
【０２１４】
ステップＳ８１０において該当するポリシィ情報がない場合（ステップＳ８１０：Ｎｏ）には、要求受付部１１１は、プログラムの実行を停止させて（ステップＳ９００）、資源の利用要求を受けた場合の動作を終了する。
＜補足＞
以上、本発明に係るアクセス制御装置の一実施形態として、複数のプログラムそれぞれからの資源へのアクセスを制御するアクセス制御装置について、また、その変形例としてのアクセス制御装置について説明したが、さらに以下のように変形することも可能であり、本発明は上述した実施の形態で示した通りのアクセス制御装置に限られないことはもちろんである。
（１）実施の形態において、資源アクセス情報を保持するブロックとして、許可情報保持部１１３と待機情報保持部１１４との２つのブロックを使用するとして説明したが、例えば、情報保持部という１つのブロックのみで、資源アクセス情報を保持するとしてもよい。
【０２１５】
この際、例えば、資源アクセス情報が、実施の形態において許可情報保持部１１３で保持する資源アクセス情報である場合に１、待機情報保持部１１４で保持する資源アクセス情報である場合に０となる許可情報フラグを用意しておき、情報保持部で資源アクセス情報を保持する場合に、資源アクセス情報とこの許可情報フラグとを対応付けて保持するようにしておく。
【０２１６】
資源アクセス情報を保持するブロックが１つであっても、資源アクセス情報に対応付けられている許可情報フラグを参照することで、実施の形態における許可情報保持部１１３で保持されているべき資源アクセス情報なのか、実施の形態における待機情報保持部１１４で保持されているべき資源アクセス情報なのかの区別をすることができる為、実施の形態と同様の動作を行うことができる。
【０２１７】
このような構成にすることによって、実施の形態において、許可情報保持部１１３と待機情報保持部１１４との間で、資源アクセス情報の削除、追加を行う代わりに、許可情報フラグの値を変更するだけで同様の動作を実現できるようになる。
（２）実施の形態において、資源アクセス情報は、要求受付部１１１が、プログラムから、資源を利用する要求をされると、要求を出したプログラムに対応するポリシィ情報の、プログラムの情報と資源の情報と優先度の情報とアクセス方式の情報とを参照して、資源アクセス情報を作成するとしたが、プログラムの情報と資源の情報と優先度の情報とアクセス方式の情報との情報のうち、一部の情報もしくは全ての情報を、ポリシィ情報以外の情報を参照して、資源アクセス情報を作成するとしてもよい。
【０２１８】
例えば、プログラムが要求受付部１１１に対して、資源を利用する要求をする際に、プログラムの情報と資源の情報と優先度の情報とアクセス情報とを含むデータを指定して要求し、要求受付部１１１は、この指定されたデータから、プログラムの情報と資源の情報と優先度の情報とアクセス情報とを参照して資源アクセス情報を作成するとしても構わない。
【０２１９】
ここでは、この指定されたデータが、ポリシィ保持部１１２が保持するアクセス制限情報を満たしている場合にのみ、資源アクセス情報を作成するとしておくか、ポリシィ保持部１１２が保持するポリシィ情報を満たしている場合にのみ、資源アクセス情報を作成するとしておく。
【０２２０】
このような構成にすることによって、要求受付部１１１は、プログラムから資源の利用を要求される毎に資源アクセス情報を作成できるようになり、同一のプログラムに対応する資源アクセス情報を作る場合であっても、状況に応じて異なる資源アクセス情報を作成することができるようになる。
（３）実施の形態において、ポリシィ保持部１１２のアクセス制限情報の資源へのアクセスを行う際に許されているアクセス方式、及び、ポリシィ情報の資源へのアクセスを行う際に許されているアクセス方式が、占有アクセス可と共有アクセス可とのいずれかの方式である例を示したが、これ以外の方式、例えば、占有アクセスと共有アクセス等の複数のアクセス方式でアクセスすることを許していることを示す、複数方式アクセス可という方式をも含んでいても構わない。
【０２２１】
このような構成にすることによって、要求受付部１１１が、プログラムから資源の利用を要求される毎に資源アクセス情報を作成できる場合において、同一のプログラムに対応する資源アクセス情報を作る場合であっても、状況に応じて、異なるアクセス方式の資源アクセス情報を作成することができるようになる。
（４）実施の形態において、認証局１０３は、作成したポリシィ情報を、優先度毎に異なる秘密鍵で暗号化することで証明書としていたが、これ以外の方法で証明書を作成しても構わない。
【０２２２】
例えば、優先度に関わらず共通の秘密鍵で暗号化しても構わないし、秘密鍵を用いない手法で暗号化しても構わないし、暗号化せずに証明書としても構わない。
【０２２３】
暗号化の手法については、その暗号が解読されるリスクと、暗号化に伴うコストとのトレードオフで、最も適切だと考えられる手法を採用するのが望ましい。
（５）実施の形態において、要求受付部１１１は、プログラムから資源１０２を利用する要求をされる場合において、要求を出したプログラムに対応するポリシィ情報がポリシィ保持部１１２にないときは、プログラムの実行を停止させるとしたが、プログラムの実行を停止させるとしなくても構わない。
【０２２４】
プログラムは、要求受付部１１１からプログラムの実行を停止されなくても、アクセス許可部１１７によって資源へのアクセスができなくなっている為、わざわざプログラムの実行を停止させる積極的理由がなければ、特にプログラムを停止させる必要性は低い為、例えば、プログラムの実行を停止させる理由がないシステムにおいては、プログラムの実行を停止させない仕様であっても問題はない。
（６）許可情報書換部１１５は、資源アクセス情報を許可情報保持部１１３に追加する場合、資源アクセス情報に対応するプログラムに、許可情報を通知するとしたが、許可情報を通知しない構成であっても構わない。
【０２２５】
例えば、プログラムが、許可情報を通知されなくても、アドレス変換テーブル１１８に対応するアドレス変換テーブル構成要素が追加されると、資源へのアクセスを開始するようなプログラムであれば、許可情報を通知する必要がない。
（７）許可情報書換部１１５は、資源アクセス情報を許可情報保持部１１３から削除する場合、資源アクセス情報に対応するプログラムに、削除情報を通知するとしたが、削除情報を通知しない構成であっても構わない。
【０２２６】
許可情報書換部１１５は、プログラムに削除情報を通知することなく、従って、中断処理を実行することなくアクセス処理ルーチンを停止させる構成であっても、例えば、停止したアクセス処理ルーチンを再開する場合に、アクセス処理ルーチンを最初から実行させるという構成であれば、削除情報を通知する必要がない。
（８）プログラムは資源アクセス処理ルーチンを終了すると、許可情報書換部１１５に実行終了の旨を通知するとしたが、許可情報書換部１１５に実行終了の旨を通知しない構成であっても、例えば、ＯＳが、資源アクセス処理ルーチンが終了すると、資源アクセス処理ルーチンが終了した旨を知ることができるようになっていれば、ＯＳが、許可情報書換部１１５に、資源アクセス処理ルーチンが終了した旨を通知するという構成しても構わない。
（９）アクセス制限情報は、予めポリシィ保持部１１２の一部として組み込まれている情報であるとしたが、これ以外の構成、例えば、ポリシィ保持部１１２で保持するアクセス制御情報を、外部のユーザが書き換えることができる不揮発性メモリ等で記憶させている等の構成にすることで、ユーザによってアクセス制限情報を設定することができる構成であっても構わない。
【０２２７】
このような構成にすることで、アクセス制限情報に不都合が生じた場合でも、ユーザによってアクセス制限情報を更新することができるようになる。
（１０）開始論理アドレスは、許可情報書換部１１５、もしくは、許可情報追加部１１６が、資源アクセス情報を基にして作成するとしたが、これ以外の構成、例えば、ポリシィ情報が、プログラムと、優先度と、資源と、アクセス方法とに加えて、開始論理アドレスを対応付けた情報であるとしておいて、許可情報書換部１１５、もしくは、許可情報追加部１１６が、このポリシィ保持部１１２の保持するポリシィ情報を参照することで、論理開始アドレスを作成するとしても構わない。
（１１）なお、プログラム群１０１を構成するプログラムは、削除情報を通知されると、プログラムを終了する為の後処理をして、プログラムを終了するとしたが、実行中の資源アクセスルーチンを停止し、停止した資源アクセス処理ルーチンを再開できるように、停止時点で資源アクセスルーチンが使用しているレジスタの情報等を、メモリやハードディスク等に退避させるという退避処理をするとしてもよい。
【０２２８】
さらに、許可情報追加部１１６が、許可情報保持部１１３に資源アクセス情報を追加する場合であって、追加する資源アクセス情報に対応する開始論理アドレスが、待機情報保持部１１４に保持されているとき、資源アクセス情報に対応するプログラムに、再許可情報を通知し、プログラムは、再許可情報を通知されると、退避処理でメモリやハードディスク等に退避させていた情報を読み込んで、停止していた資源アクセス処理ルーチンを再開させるとしてもよい。
【０２２９】
このようにすることで、プログラムは、削除情報を通知されて資源アクセス処理ルーチンを停止させても、再許可情報を通知されると、停止させた時点から資源アクセス処理ルーチンを再開させることができる為、停止させた時点までに行った処理を無駄にすることなく、資源アクセス処理ルーチンを実行することができるようになる。
（１２）また、アクセス制御装置に相当するＯＳの一部のプログラムを、コンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、ＣＤ―ＲＯＭ、ＭＯ、ＤＶＤ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＢＤ（Ｂｌｕ−ｒａｙ  Ｄｉｓｃ）、半導体メモリなどに記録したり、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク等を経由して伝送してもよい。
【０２３０】
このようにすることで、アクセス制御装置に相当するＯＳの一部のプログラムを、コンピュータシステムにインストールして、実施形態で示したアクセス制御装置として機能させることができる。
【産業上の利用可能性】
【０２３１】
本発明は、コンピュータシステム分野、コンピュータシステムを用いた情報機器や家電機器等の分野等に広く利用することができる。
【符号の説明】
【０２３２】
１００  アクセス制御装置
１０１  プログラム群
１０２  資源
１０３  認証局
１１１  要求受付部
１１２  ポリシィ保持部
１１３  許可情報保持部
１１４  待機情報保持部
１１５  許可情報書換部
１１６  許可情報追加部
１１７  アクセス許可部
１１８  アドレステーブル変換部
１２１  保護メモリ
１２２  共用メモリ
１２３  暗号エンジン
【図１】
2009157136.tif 000003
【図２】
2009157136.tif 000004
【図３】
2009157136.tif 000005
【図４】
2009157136.tif 000006
【図５】
2009157136.tif 000007
【図６】
2009157136.tif 000008
【図７】
2009157136.tif 000009
【図８】
2009157136.tif 000010
【図９】
2009157136.tif 000011
【図１０】
2009157136.tif 000012
【図１１】
2009157136.tif 000013
【図１２】
2009157136.tif 000014
【図１３】
2009157136.tif 000015
【図１４】
2009157136.tif 000016
【図１５】
2009157136.tif 000017
【図１６】
2009157136.tif 000018
【図１７】
2009157136.tif 000019
【図１８】
2009157136.tif 000020
【手続補正書】
【提出日】平成21年11月26日(2009.11.26)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
資源の利用要求を出した後において当該資源へのアクセスを行う複数のプログラムによる資源へのアクセスを制御するアクセス制御装置であって、
プログラムから資源を利用する要求を受け付ける要求受付部と、
プログラム情報を含む資源アクセス情報を保持する情報保持部と、
前記情報保持部が保持している資源アクセス情報に含まれるプログラム情報が示すプログラムからのアクセスに限って、対応する資源へのアクセスを許可するアクセス許可部と、
前記情報保持部が、第１のプログラムを示す第１のプログラム情報を含む第１の資源アクセス情報を保持する場合において、前記要求受付部が、第２のプログラムから資源を利用する要求を受け付けたとき、前記第２のプログラムについて予め定められている優先度の方が、前記第１のプログラムについて予め定められている優先度よりも高ければ、前記第１の資源アクセス情報を前記情報保持部から削除して、前記第２のプログラムを示す第２のプログラム情報を含む第２の資源アクセス情報を前記情報保持部に追加する情報書換部とを備え、
前記資源アクセス情報は、前記プログラム情報と、プログラムが資源にアクセスする方法を示す方式情報とを対応付けた情報であって、
前記情報書換部は、前記情報保持部からの前記第１の資源アクセス情報の削除と、前記情報保持部への前記第２の資源アクセス情報の追加とを、前記第１の資源アクセス情報に含まれる方式情報と、前記第２の資源アクセス情報に含まれる方式情報とに基づいて、実行することを特徴とする
アクセス制御装置。
【請求項２】
前記資源アクセス情報は、前記プログラム情報と、前記方式情報と、前記プログラム情報が示すプログラムがアクセスする資源を示す資源情報とを対応付けた情報であって、
前記情報書換部は、前記情報保持部が、第１の資源を示す第１の資源情報と第１のプログラムを示す第１のプログラム情報とを対応付けた第１の資源アクセス情報を保持する場合において、前記要求受付部が、第２のプログラムから、前記第１の資源の少なくとも一部の資源を含む第２の資源を利用する要求を受け付けたとき、前記第２のプログラムについて予め定められている優先度の方が、前記第１のプログラムについて予め定められている優先度よりも高ければ、前記第１の資源アクセス情報を前記情報保持部から削除して、前記第２の資源を示す第２の資源情報と前記第２のプログラムを示す第２のプログラム情報とを対応付けたものである第２の資源アクセス情報を前記情報保持部に追加する情報書換部であることを特徴とする
請求項１記載のアクセス制御装置。
【請求項３】
前記情報書換部は、前記資源アクセス情報を前記情報保持部から削除する場合、削除する資源アクセス情報に含まれるプログラム情報が示すプログラムに対して、対応する資源へのアクセスの許可を取り消す旨の通知をすることを特徴とする
請求項２記載のアクセス制御装置。
【請求項４】
前記資源アクセス情報を保持する待機情報保持部とをさらに備え、
前記情報書換部は、
前記第２の資源アクセス情報を前記情報保持部に追加するとき、前記第１の資源アクセス情報を前記待機情報保持部に追加し、
前記情報保持部が、前記第１の資源アクセス情報を保持する場合において、前記要求受付部が、前記第２のプログラムから、前記第１の資源の少なくとも一部の資源を含む前記第２の資源を利用する要求を受け付けたとき、前記第２のプログラムについて予め定められている優先度の方が、前記第１のプログラムについて予め定められている優先度よりも高くなければ、前記第２の資源アクセス情報を前記待機情報保持部に追加することを特徴とする
請求項３記載のアクセス制御装置。
【請求項５】
前記情報書換部は、
前記要求受付部が、第３のプログラムから第３の資源を利用する要求を受け付けた場合において、前記第３の資源が、前記情報保持部の保持する全ての資源アクセス情報に含まれる資源情報が示す資源を含まないとき、前記第３の資源を示す資源情報と前記第３のプログラムを示すプログラム情報とを対応付けたものである第３の資源アクセス情報を前記情報保持部に追加し、
前記情報保持部が、前記第３の資源アクセス情報を保持する場合において、前記第３のプログラムが実行を終了したとき、前記第３の資源アクセス情報を前記情報保持部から削除することを特徴とする
請求項４記載のアクセス制御装置。
【請求項６】
前記情報保持部から前記資源アクセス情報が削除された場合において、
前記待機情報保持部が保持する資源アクセス情報の中に、対応する資源情報が、前記情報保持部の保持する全ての資源アクセス情報に含まれる資源情報が示す資源を含まない許可可能資源アクセス情報があるとき、前記許可可能資源アクセス情報のうち、対応するプログラム情報が示すプログラムについて予め定められている優先度が最も高い許可可能資源アクセス情報を、前記待機情報保持部から削除して前記情報保持部に追加する情報追加部とをさらに備えることを特徴とする
請求項５記載のアクセス制御装置。
【請求項７】
前記情報追加部は、前記資源アクセス情報を前記情報保持部に追加する場合、前記追加する資源アクセス情報に含まれるプログラム情報が示すプログラムに、対応する資源へのアクセスを許可する旨の通知をすることを特徴とする
請求項６記載のアクセス制御装置。
【請求項８】
前記方式情報は、プログラムが資源にアクセスする方式が、他のプログラムからのアクセスを許容する共有方式か他のプログラムからのアクセスを許容しない占有方式かのいずれか一方のアクセス方式を示す情報であって、
前記情報書換部は、前記情報保持部からの前記第１の資源アクセス情報の削除と、前記情報保持部への前記第２の資源アクセス情報の追加とを、
前記第１の資源に対応する方式情報と、前記第２の資源に対応する方式情報とのうち、少なくとも１つの方式情報が前記占有方式を示しているという条件をさらに満たす場合に限って実行することを特徴とする
請求項４記載のアクセス制御装置。
【請求項９】
前記情報追加部は、前記情報保持部から資源アクセス情報が削除された場合において、
前記待機情報保持部が前記許可可能資源アクセス情報を保持するとき、
もしくは、前記待機情報保持部が保持する資源アクセス情報のうち、方式情報が前記共有方式を示し、対応する資源が、前記情報保持部が保持する資源アクセス情報のうち、方式情報が前記占有方式を示す資源アクセス情報に対応する資源を含まない許可可能共有資源アクセス情報があるとき、前記許可可能資源アクセス情報、及び、前記許可可能共有資源アクセス情報のうち、対応する前記プログラム情報が示すプログラムについて予め定められている優先度が最も高い資源アクセス情報を、前記待機情報保持部から削除して前記情報保持部に追加することを特徴とする
請求項８記載のアクセス制御装置。
【請求項１０】
特定のプログラム、特定の資源、特定の優先度、及びこれらの組み合わせが正当であると認証する証明書を受信し、前記特定の資源を示す正当資源情報と、前記特定のプログラムを示す正当プログラム情報と、前記特定の優先度を示す正当優先度情報とを対応付けたものであるポリシィ情報を保持するポリシィ保持部とを備え、
前記要求受付部は、プログラムからの資源の利用要求が、前記ポリシィ保持部が保持しているポリシィ情報に含まれる正当プログラム情報の示すプログラムからの対応する正当資源情報の示す資源の利用要求であるという条件を満たさない場合に、プログラムから資源の利用要求の受け付を拒絶し、
前記第１のプログラムについて予め定められている優先度とは、前記ポリシィ保持部が保持している前記ポリシィ情報の前記第１のプログラムが前記第１の資源にアクセスする際の前記優先度情報が示す優先度であって、
前記第２のプログラムについて予め定められている優先度とは、前記ポリシィ保持部が保持している前記ポリシィ情報の前記第２のプログラムが前記第２の資源にアクセスする際の前記優先度情報が示す優先度であることを特徴とする
請求項９記載のアクセス制御装置。
【請求項１１】
前記要求受付部は、前記情報保持部に前記資源アクセス情報が追加された場合に限って、当該追加された資源アクセス情報に含まれるプログラム情報が示すプログラムへ、対応する資源へのアクセスに用いる論理アドレスを提供することを特徴とする
請求項１０記載のアクセス制御装置。
【請求項１２】
前記アクセス許可部は、前記情報保持部が保持している資源アクセス情報に含まれるプログラム情報が示すプログラムからのアクセスに限って、対応する資源へのアクセスを許可するか否かの判定を、プログラムにおける資源の読み書きに係る命令をデコードする際に行い、否定的な判定の場合に、エラー処理を実行することを特徴とする
請求項１記載のアクセス制御装置。
【請求項１３】
コンピュータに、資源の利用要求を出した後において当該資源へのアクセスを行う複数のアプリケーションプログラムによる資源へのアクセスを制御するアクセス制御装置として機能させる為のアクセス制御プログラムであって、
コンピュータに、
アプリケーションプログラムから資源を利用する要求を受け付ける要求受付部と、
アプリケーションプログラム情報を含む資源アクセス情報を保持する情報保持部と、
前記情報保持部が保持している資源アクセス情報に含まれるプログラム情報が示すアプリケーションプログラムからのアクセスに限って、対応する資源へのアクセスを許可するアクセス許可部と、
前記情報保持部が、第１のアプリケーションプログラムを示す第１のプログラム情報を含む第１の資源アクセス情報を保持する場合において、前記要求受付部が、第２のアプリケーションプログラムから資源を利用する要求を受け付けたとき、前記第２のアプリケーションプログラムについて予め定められている優先度の方が、前記第１のアプリケーションプログラムについて予め定められている優先度よりも高ければ、前記第１の資源アクセス情報を前記情報保持部から削除して、前記第２のアプリケーションプログラムを示す第２のプログラム情報を含む第２の資源アクセス情報を前記情報保持部に追加する情報書換部とを備え、
前記資源アクセス情報は、前記プログラム情報と、プログラムが資源にアクセスする方法を示す方式情報とを対応付けた情報であって、
前記情報書換部は、前記情報保持部からの前記第１の資源アクセス情報の削除と、前記情報保持部への前記第２の資源アクセス情報の追加とを、前記第１の資源アクセス情報に含まれる方式情報と、前記第２の資源アクセス情報に含まれる方式情報とに基づいて、実行することを特徴とするアクセス制御装置として機能させることを特徴とする
アクセス制御プログラム。
【請求項１４】
プログラム情報を含む資源アクセス情報を保持する情報保持部と、要求受付部と、アクセス許可部と、情報書換部とを備えるアクセス制御装置に、資源の利用要求を出した後において当該資源へのアクセスを行う複数のプログラムによる資源へのアクセスを制御させる為のアクセス制御方法であって、
前記要求受付部が、プログラムから資源を利用する要求を受け付ける要求受付ステップと、
前記アクセス許可部が、前記情報保持部が保持している前記資源アクセス情報に含まれるプログラム情報が示すプログラムからのアクセスに限って、対応する資源へのアクセスを許可するアクセス許可ステップと
前記情報保持部が、第１のプログラムを示す第１のプログラム情報を含む第１の資源アクセス情報を保持する場合において、前記要求受付ステップが、第２のプログラムから資源を利用する要求を受け付けたとき、前記第２のプログラムについて予め定められている優先度の方が、前記第１のプログラムについて予め定められている優先度よりも高ければ、前記情報書換部が、前記第１の資源アクセス情報を前記情報保持部から削除して、前記第２のプログラムを示す第２のプログラム情報を含む第２の資源アクセス情報を前記情報保持部に追加する許可情報書換ステップとを備え、
前記資源アクセス情報は、前記プログラム情報と、プログラムが資源にアクセスする方法を示す方式情報とを対応付けた情報であって、
前記情報書換ステップは、前記情報保持部からの前記第１の資源アクセス情報の削除と、前記情報保持部への前記第２の資源アクセス情報の追加とを、前記第１の資源アクセス情報に含まれる方式情報と、前記第２の資源アクセス情報に含まれる方式情報とに基づいて、実行することを特徴とする
アクセス制御方法。
【手続補正書】
【提出日】平成22年10月20日(2010.10.20)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラムによる資源へのアクセスを制御する制御装置に関する。
【背景技術】
【０００２】
近年、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ：中央処理装置）の性能の向上、メモリ等の記憶素子の大容量化等により、１つの機器上で複数の互いに異なる情報処理を行うことができるようになっている。
【０００３】
例えば、携帯電話端末では、本来の電話機能に加えて、メール送受信機能、インターネットブラウザ機能、カメラ機能、音楽再生機能、ワンセグテレビ受信機能等、様々な情報処理機能を１つの携帯電話端末で実現している。
【０００４】
携帯電話端末は、このような機能を実現する為のアプリケーションプログラムを、マルチタスク制御方式等によって並列的に動作させることで、多様な機能のスムーズな動作を実現している。
【０００５】
コンピュータシステム上で複数のプログラムを実行する技術として、例えば、複数のプログラムが同一のメモリ等の資源にアクセスする際の資源へのアクセスを制限する技術（例えば特許文献１参照）が提案されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平６−１６１７８９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、マルチタスク制御方式等を用いて複数のプログラムによる処理を行うコンピュータシステムにおいて、直ちに処理を開始する必要のある新たなプログラムを実行しようとしても、既に実行中のプログラムによって使用したい資源が確保されてしまっている場合に、実行中のプログラムが資源を解放するまで待たないと、新たなプログラムを実行することができないという問題がある。
【０００８】
特に、資源の解放待ちで実行を開始できないプログラムによる処理がリアルタイム性を求められる処理である場合には、プログラムによる処理の開始が遅れることにより、リアルタイム性を確保できなくなってしまうことが起こってしまう。
【０００９】
そこで、本発明は係る問題に鑑みてなされたものであり、プログラムによって、コンピュータシステムを構成するメモリ等の資源を用いて処理を開始しようとする場合に、既に他のプログラムによって該当する資源が確保されていた場合であっても、該当する資源の解放待ちがボトルネックとなってプログラムの処理の開始が遅くなってしまうことのない、アクセス制御装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記課題を解決するために本発明に係るアクセス制御装置は、資源の利用要求を出した後において当該資源へのアクセスを行う複数のプログラムによる資源へのアクセスを制御するアクセス制御装置であって、プログラムから資源を利用する要求を受け付ける要求受付部と、プログラム情報を含む資源アクセス情報を保持する情報保持部と、前記情報保持部が保持している資源アクセス情報に含まれるプログラム情報が示すプログラムからのアクセスに限って、対応する資源へのアクセスを許可するアクセス許可部と、前記情報保持部が、第１のプログラムを示す第１のプログラム情報を含む第１の資源アクセス情報を保持する場合において、前記要求受付部が、第２のプログラムから資源を利用する要求を受け付けたとき、前記第２のプログラムについて予め定められている優先度の方が、前記第１のプログラムについて予め定められている優先度よりも高ければ、前記第１の資源アクセス情報を前記情報保持部から削除して、前記第２のプログラムを示す第２のプログラム情報を含む第２の資源アクセス情報を前記情報保持部に追加する情報書換部とを備えることを特徴とする。
【００１１】
ここで、アクセスとは、データを読み出す、又はデータを書き込むことをいう。
また、資源アクセス情報を情報保持部から削除するとは、情報保持部から資源アクセス情報を消去して、資源アクセス情報が許可情報保持部に存在しない状態にすること、もしくは、情報保持部から資源アクセス情報を消去せずに、資源アクセス情報に、資源アクセス情報が削除されている旨を示すフラグを付加することで、情報保持部が保持する資源アクセス情報が示すプログラムからのアクセスであっても、アクセス許可部が、対応する資源へのアクセスを許可しないようにすることをいう。
【発明の効果】
【００１２】
上述の構成を備える本発明に係るアクセス制御装置は、情報保持部が保持する資源アクセス情報が示すプログラムに限って対応する資源へのアクセスを許可し、さらに、要求受付部が資源の利用の要求を受け付けたプログラムから、資源へのアクセスを許可されているプログラムがアクセスする資源と同じ部分を含む資源へのアクセスの要求があった場合、要求のあったプログラムの優先度の方が高ければ、要求のあったプログラムがアクセスする資源と同じ部分を含む資源へのアクセスを許可されているプログラムに対して、資源へのアクセスの許可を取り消し、要求のあったプログラムに対して、資源へのアクセスを許可することになる。
【００１３】
従って、実行中のプログラムよりも実行の優先度の高いプログラムが、実行中のプログラムのアクセスする資源と同じ部分を含む資源をアクセスしようとした場合、実行中のプログラムによる資源へのアクセスの許可を取り消して、実行の優先度の高いプログラムに資源へのアクセスする許可を与えることによって、実行の優先度の高いプログラムが、該当する資源の解放待ちがボトルネックとなってプログラムの処理の開始が遅くなってしまわないという効果を有する。
【００１４】
また、前記資源アクセス情報は、前記プログラム情報と、前記プログラム情報が示すプログラムがアクセスする資源を示す資源情報とを対応付けた情報であって、前記情報書換部は、前記情報保持部が、第１の資源を示す第１の資源情報と第１のプログラムを示す第１のプログラム情報とを対応付けた第１の資源アクセス情報を保持する場合において、前記要求受付部が、第２のプログラムから、前記第１の資源の少なくとも一部の資源を含む第２の資源を利用する要求を受け付けたとき、前記第２のプログラムについて予め定められている優先度の方が、前記第１のプログラムについて予め定められている優先度よりも高ければ、前記第１の資源アクセス情報を前記情報保持部から削除して、前記第２の資源を示す第２の資源情報と前記第２のプログラムを示す第２のプログラム情報とを対応付けたものである第２の資源アクセス情報を前記情報保持部に追加する情報書換部であることとしてもよい。
【００１５】
このようにすることによって、資源が複数ある場合に、資源毎に応じたアクセス制御を行うことができるようになる。
また、前記情報書換部は、前記資源アクセス情報を前記情報保持部から削除する場合、削除する資源アクセス情報に含まれるプログラム情報が示すプログラムに対して、対応する資源へのアクセスの許可を取り消す旨の通知をすることとしてもよい。
【００１６】
このような構成にすることによって、アクセス許可部から削除される資源アクセス情報に対応するプログラムが、情報保持部から資源アクセス情報が削除されることによって資源へのアクセスができなくなる場合に、プログラムは、資源へのアクセスの許可を取り消す旨の通知を受けることができるため、資源へのアクセスができなくなることに対応する処理を行うことができるようになる。
【００１７】
また、前記資源アクセス情報を保持する待機情報保持部とをさらに備え、前記情報書換部は、前記第２の資源アクセス情報を前記情報保持部に追加するとき、前記第１の資源アクセス情報を前記待機情報保持部に追加し、前記情報保持部が、前記第１の資源アクセス情報を保持する場合において、前記要求受付部が、前記第２のプログラムから、前記第１の資源の少なくとも一部の資源を含む前記第２の資源を利用する要求を受け付けたとき、前記第２のプログラムについて予め定められている優先度の方が、前記第１のプログラムについて予め定められている優先度よりも高くなければ、前記第２の資源アクセス情報を前記待機情報保持部に追加することとしてもよい。
【００１８】
このような構成にすることによって、情報保持部で保持しない資源アクセス情報であっても、待機情報保持部で保持することになる為、情報保持部で保持しなかった資源アクセス情報を必要とする場合に、短時間で資源アクセス情報を利用することができるようになる。
【００１９】
また、前記情報書換部は、前記要求受付部が、第３のプログラムから第３の資源を利用する要求を受け付けた場合において、前記第３の資源が、前記情報保持部の保持する全ての資源アクセス情報に含まれる資源情報が示す資源を含まないとき、前記第３の資源を示す資源情報と前記第３のプログラムを示すプログラム情報とを対応付けたものである第３の資源アクセス情報を前記情報保持部に追加し、前記情報保持部が、前記第３の資源アクセス情報を保持する場合において、前記第３のプログラムが実行を終了したとき、前記第３の資源アクセス情報を前記情報保持部から削除することとしてもよい。
【００２０】
このような構成にすることによって、他のプログラムによって利用されていない資源への利用を要求するプログラムから、資源を利用する要求を受け付けた場合に、資源の利用を要求したプログラムに資源の利用を許可することができ、さらに、プログラムが資源の利用を終了したとき、その資源を他のプログラムが利用できるようにすることができる。
【００２１】
また、前記情報保持部から前記資源アクセス情報が削除された場合において、前記待機情報保持部が保持する資源アクセス情報の中に、対応する資源情報が、前記情報保持部の保持する全ての資源アクセス情報に含まれる資源情報が示す資源を含まない許可可能資源アクセス情報があるとき、前記許可可能資源アクセス情報のうち、対応するプログラム情報が示すプログラムについて予め定められている優先度が最も高い許可可能資源アクセス情報を、前記待機情報保持部から削除して前記情報保持部に追加する情報追加部とをさらに備えることとしてもよい。
【００２２】
このような構成にすることによって、情報保持部から資源アクセス情報が削除されると、既に待機情報保持部で保持している資源アクセス情報を、情報保持部に追加するようになる為、短時間で情報保持部に資源アクセス情報を追加していくことができるようになる。
【００２３】
また、前記情報追加部は、前記資源アクセス情報を前記情報保持部に追加する場合、前記追加する資源アクセス情報に含まれるプログラム情報が示すプログラムに、対応する資源へのアクセスを許可する旨の通知をすることとしてもよい。
【００２４】
このような構成にすることによって、資源アクセス情報を許可情報保持部に追加する場合に、情報保持部に追加する資源アクセス情報に対応するプログラムが、資源へのアクセスを許可する旨の通知を受けることができるため、通知を受け取ったプログラムが、資源へのアクセスができるようになることに対応する処理を行うことができるようになる。
【００２５】
また、前記資源アクセス情報は、前記資源情報と前記プログラム情報とに加えて、プログラムが資源にアクセスする方式が、他のプログラムからのアクセスを許容する共有方式か他のプログラムからのアクセスを許容しない占有方式かのいずれか一方のアクセス方式を示す方式情報とを対応付けたものであって、前記情報書換部は、前記情報保持部からの前記第１の資源アクセス情報の削除と、前記情報保持部への前記第２の資源アクセス情報の追加とを、前記第１の資源に対応する方式情報と、前記第２の資源に対応する方式情報とのうち、少なくとも１つの方式情報が前記占有方式を示しているという条件をさらに満たす場合に限って実行することとしてもよい。
【００２６】
このような構成にすることによって、資源へアクセスする方式に応じて資源へのアクセスを制御できるようになるので、効率の良い資源の利用を実現することができる。
また、前記情報追加部は、前記情報保持部から資源アクセス情報が削除された場合において、前記待機情報保持部が前記許可可能資源アクセス情報を保持するとき、もしくは、前記待機情報保持部が保持する資源アクセス情報のうち、方式情報が前記共有方式を示し、対応する資源が、前記情報保持部が保持する資源アクセス情報のうち、方式情報が前記占有方式を示す資源アクセス情報に対応する資源を含まない許可可能共有資源アクセス情報があるとき、前記許可可能資源アクセス情報、及び、前記許可可能共有資源アクセス情報のうち、対応する前記プログラム情報が示すプログラムについて予め定められている優先度が最も高い資源アクセス情報を、前記待機情報保持部から削除して前記情報保持部に追加することとしてもよい。
【００２７】
このような構成にすることによって、待機情報保持部が保持する資源アクセス情報のアクセス方式に応じて、情報保持部に追加する資源アクセス情報を決めることができるようになる。
【００２８】
また、特定のプログラム、特定の資源、特定の優先度、及びこれらの組み合わせが正当であると認証する証明書を受信し、前記特定の資源を示す正当資源情報と、前記特定のプログラムを示す正当プログラム情報と、前記特定の優先度を示す正当優先度情報とを対応付けたものであるポリシィ情報を保持するポリシィ保持部とを備え、前記要求受付部は、プログラムからの資源の利用要求が、前記ポリシィ保持部が保持しているポリシィ情報に含まれる正当プログラム情報の示すプログラムからの対応する正当資源情報の示す資源の利用要求であるという条件を満たさない場合に、プログラムから資源の利用要求の受け付を拒絶し、前記第１のプログラムについて予め定められている優先度とは、前記ポリシィ保持部が保持している前記ポリシィ情報の前記第１のプログラムが前記第１の資源にアクセスする際の前記優先度情報が示す優先度であって、前記第２のプログラムについて予め定められている優先度とは、前記ポリシィ保持部が保持している前記ポリシィ情報の前記第２のプログラムが前記第２の資源にアクセスする際の前記優先度情報が示す優先度であることとしてもよい。
【００２９】
このような構成にすることによって、証明書によって認証されていない不正プログラムからの資源への利用を認めないアクセス制御装置を実現することができる。
また、前記要求受付部は、前記情報保持部に前記資源アクセス情報が追加された場合に限って、当該追加された資源アクセス情報に含まれるプログラム情報が示すプログラムへ、対応する資源へのアクセスに用いる論理アドレスを提供することとしてもよい。
【００３０】
このような構成にすることによって、プログラムは、対応する資源へのアクセスに用いる論理アドレスを提供されるので、論理アドレスによって対応する資源へのアクセスを実現することができるようになる。
【００３１】
また、前記アクセス許可部は、前記情報保持部が保持している資源アクセス情報に含まれるプログラム情報が示すプログラムからのアクセスに限って、対応する資源へのアクセスを許可するか否かの判定を、プログラムにおけるメモリの読み書きに係る命令をデコードする際に行い、否定的な判定の場合に、エラー処理を実行することとしてもよい。
【００３２】
このような構成にすることによって、メモリの読み書きに係る命令をデコードのタイミングで、資源へのアクセスを許可するか否かの判断し、アクセスを許可しない場合に、エラー処理を実行することができるようになる為、例えば、資源へのアクセスを許可しないと判断する場合に割り込みを発生して、ＯＳにプログラムを終了させるというような処理を行うことができるようになる。
【図面の簡単な説明】
【００３３】
【図１】アクセス制御装置の構成図
【図２】資源と物理アドレスとの対応関係を示す図
【図３】ポリシィ保持部が保持するポリシィ情報を示す図
【図４】ポリシィ保持部が保持するアクセス制限情報を示す図
【図５】許可情報保持部で保持する資源アクセス情報を示す図
【図６】待機情報保持部で保持する資源アクセス情報を示す図
【図７】プログラムから資源利用要求がある場合のフローチャートその１
【図８】プログラムから資源利用要求がある場合のフローチャートその２
【図９】資源アクセスルーチンが終了した場合のフローチャート
【図１０】許可情報保持部が更新された場合のフローチャート
【図１１】論理アドレスを物理アドレスに変換する場合のフローチャート
【図１２】ポリシィ情報を更新する場合のフローチャート
【図１３】変形例におけるポリシィ保持部が保持するポリシィ情報を示す図
【図１４】変形例におけるポリシィ保持部が保持するアクセス制限情報を示す図
【図１５】変形例における物理アドレスの重複が起こる場合を示す図その１
【図１６】変形例における物理アドレスの重複が起こる場合を示す図その２
【図１７】変形例におけるプログラムから資源利用要求がある場合のフローチャートその１
【図１８】変形例におけるプログラムから資源利用要求がある場合のフローチャートその２
【発明を実施するための形態】
【００３４】
＜実施の形態＞
以下、本発明に係るアクセス制御装置の一実施形態として、複数のプログラムそれぞれからの資源へのアクセスを制御するアクセス制御装置について説明する。
【００３５】
＜構成＞
本実施の形態に係るアクセス制御装置は、認証局によって正当性を認証されているアプリケーションプログラムに限って資源の利用要求を受け付け、受け付けたアプリケーションプログラムの資源利用に関する優先度等に基づいて、アプリケーションプログラムによる資源へのアクセスを排他的に制御するアクセス制御装置である。
【００３６】
以下、本実施の形態に係るアクセス制御装置の構成について、図面を参照しながら説明する。
図１は、本実施の形態に係るアクセス制御装置１００と、プログラム群１０１と、資源１０２と、認証局１０３とからなる資源アクセスシステム１０００の構成を示す構成図である。
【００３７】
アクセス制御装置１００は、図示していないプロセッサ、メモリ、メモリコントローラ、タイマ、ハードディスク等のハードウエアと、このハードウエア上で実行されるＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）とによって実現される、プログラム群１０１を構成する複数のアプリケーションプログラムそれぞれからの資源１０２へのアクセスを制御するアクセス制御装置である。
【００３８】
ここで、アプリケーションプログラムが資源をアクセスするとは、アプリケーションプログラムを構成する、メモリへの読み出し、書き込み等の命令が、プロセッサによって解読、実行されることで、資源へのデータの読み出し、資源へのデータの書き込み等がなされることをいう。
【００３９】
プログラム群１０１は、資源１０２にアクセスするアプリケーションプログラム（以後、単に「プログラム」と呼ぶ）複数個から構成され、各プログラムは、このＯＳ上で実行される。
【００４０】
資源１０２は、メモリコントローラに物理アドレスを指定することでアクセスされる資源であって、アクセス制御装置１００によって、プログラム群１０１を構成するプログラムからのアクセスを制御されている。
【００４１】
認証局１０３は、プログラムが資源にアクセスすることの正当性を認証する認証局であって、アクセス制御装置１００は、認証局１０３が認証しているプログラムから資源へのアクセスに限って、アクセスを許可する。
【００４２】
以下、プログラム群１０１、資源１０２、認証局１０３、及び、アクセス制御装置１００ついて、図を用いながら順に説明する。
＜プログラム群１０１＞
プログラム群１０１を構成するプログラムは、資源１０２を１回以上アクセスする一連の処理からなる処理ルーチン（以後「資源アクセス処理ルーチン」と呼ぶ）と、プログラムに含まれる処理ルーチンのうち、ＯＳからの通知を受けて動作する処理ルーチンそれぞれの開始アドレスを、ＯＳに通知する処理ルーチン（以後「ＯＳ通知処理ルーチン」と呼ぶ）とを含んでいるプログラムである。
【００４３】
資源アクセス処理ルーチンは、資源１０２を１回以上アクセスする一連の処理を開始する際に、要求受付部１１１に対して資源１０２の利用を要求し、一連の処理を終了する際に、許可情報書換部１１５に資源アクセス処理ルーチンの実行終了の旨を通知する。
【００４４】
プログラムが要求受付部１１１に対して資源１０２の利用を要求する為に、ＯＳは、プログラムから資源を指定されて呼び出されると、要求受付部１１１が、呼び出したプログラムを特定する情報と、指定された資源を特定する情報と、ポリシィ保持部１１２が保持するポリシィ情報とから、資源アクセス情報を作成する処理を開始する資源利用ＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍ  Ｉｎｔｅｒｆａｃｅ）を備えている。
【００４５】
この資源利用ＡＰＩは、プログラムから呼び出されると、要求受付部１１１が、戻り値として、プログラムが資源を利用する際に使用する論理アドレス空間の開始アドレス（以後「開始論理アドレス」と呼ぶ）を、呼び出したプログラムに戻す。
【００４６】
資源アクセス処理ルーチンは、資源１０２をアクセスする場合に、戻り値として戻された開始論理アドレスを用いて作成する論理アドレスを指定して、資源１０２にアクセスする。
【００４７】
ＯＳはさらに、プログラムが許可情報書換部１１５に資源アクセス処理ルーチンの実行終了の旨を通知する為に、プログラムから呼び出されると、許可情報書換部１１５が、許可情報保持部１１３で保持する、呼び出したプログラムに対応する資源アクセス情報を削除する処理を開始する終了処理ＡＰＩと、プログラムがＯＳに処理ルーチンの開始アドレスを通知する為に、プログラムから処理ルーチンの開始アドレスを指定されて呼び出されると、ＯＳに、処理ルーチンの開始アドレスを関連付けて記憶させるアドレス通知ＡＰＩとを備えている。
【００４８】
本実施の形態は、資源アクセス情報を削除する場合が、資源アクセス情報を消去して存在しない状態にする場合である一実施例となっている。
＜資源１０２＞
資源１０２は、メモリコントローラに物理アドレスを指定することでアクセスされる資源であって、保護メモリ１２１と、共用メモリ１２２と、暗号エンジン１２３とから構成されている。
【００４９】
暗号エンジン１２３は、暗号処理用ハードウエアであって、そのレジスタをメモリアドレスとして割り当てられることによって、他のメモリと同様のインターフェースで、レジスタへの読み出し、書き込み等の操作が行われる。
【００５０】
図２は、資源１０２を構成する保護メモリ１２１、共用メモリ１２２、暗号エンジン１２３に割り当てられている物理アドレスを示す図である。
保護メモリ１２１は、物理アドレスの開始アドレスが０ｘ０００１００００でサイズが０ｘ０１００００のメモリであって、割り当てられている物理アドレスが０ｘ０００１００００〜０ｘ０００１ＦＦＦＦである。
【００５１】
同様に、共用メモリ１２２は、割り当てられている物理アドレスが０ｘ０００Ｂ００００〜０ｘ０００ＢＦＦＦＦのメモリであって、暗号エンジン１２３は、割り当てられている物理アドレスが０ｘＥ０００４０００〜０ｘＥ０００５ＦＦＦＦの暗号処理用ハードウエアである。
【００５２】
＜認証局１０３＞
認証局１０３は、プログラムを示す情報と、そのプログラムがアクセスする資源の情報と、そのプログラムが資源にアクセスする際の優先度の情報と、そのプログラムが資源にアクセスする際のアクセス方式の情報とを受け取ると、特定のプログラムが特定の資源に特定の優先度で特定のアクセス方式でアクセスすることを認証し、認証したことを証明する証明書を発行する、証明書発行システムである。
【００５３】
認証局１０３は、特定のプログラムが特定の資源に特定の優先度で特定のアクセス方式でアクセスすることに不都合がない場合に、特定のプログラムと特定の資源と特定の優先度と特定のアクセス方式との情報を対応付けた情報であるポリシィ情報を作成し、作成したポリシィ情報を、優先度毎に異なる秘密鍵を使って暗号化することで、証明書として発行する。
【００５４】
＜アクセス制御装置１００＞
アクセス制御装置１００は、認証局１０３によって正当性を認証されているプログラムに限って資源１０２の利用要求を受け付け、受け付けたプログラムの資源利用に関する優先度等に基づいて、プログラムによる資源１０２へのアクセスを制御するアクセス制御装置であって、要求受付部１１１と、ポリシィ保持部１１２と、許可情報保持部１１３と、待機情報保持部１１４と、許可情報書換部１１５と、許可情報追加部１１６と、アドレス変換テーブル１１８を含むアクセス許可部１１７とから構成されている。
【００５５】
以下、アクセス制御装置１００を構成する各ブロックについて、図を用いながら順に説明する。
＜ポリシィ保持部１１２＞
ポリシィ保持部１１２は、アクセス制限情報（後述）を保持し、認証局１０３が発行した証明書を、秘密鍵に対応する公開鍵を使ってポリシィ情報に復号し、少なくとも復号したポリシィ情報の内容が、アクセス制限情報の制限に違反していないという条件を満たすポリシィ情報に限って、そのポリシィ情報を保持するブロックである。
【００５６】
また、ポリシィ保持部１１２は、図示していないディスプレイを備え、証明書を復号した際に、復号したポリシィ情報を保持した場合に、登録成功の旨を示すメッセージを表示し、復号したポリシィ情報を保持しなかった場合に、登録失敗の旨を示すメッセージを表示する。
【００５７】
図３は、ポリシィ保持部１１２が保持するポリシィ情報を示す図である。
ポリシィ情報は、プログラムＩＤ（ＩＤｅｎｔｉｆｉｃａｔｉｏｎ）３０２で特定されるプログラムが、優先度３０３で示される優先度で、保護メモリ１２１、共用メモリ１２２、又は、暗号エンジン１２３に、占有方式、又は共有方式のいずれかの方式でアクセスすることが許されている、もしくはアクセスすることが許されていない旨を示す情報である。
【００５８】
ここで、アクセスする方式が占有方式とは、プログラムが資源にアクセスする際の方式が他のプログラムによる資源のアクセスを認めない排他的なアクセスである方式のことであり、共有方式とは、プログラムが資源にアクセスする際の方式が他のプログラムによる資源のアクセスを認める排他的でないアクセスである方式のことである。
【００５９】
例えば、図３において、ポリシィ番号３０１が２であるポリシィ情報は、プログラムＩＤが０００２であるプログラムが、優先度２で、保護メモリ１２１には占有方式でのアクセス、共用メモリ１２２には共有方式でのアクセス、暗号エンジン１２３には共有方式でのアクセスが許されている旨を示している。
【００６０】
図４は、ポリシィ保持部１１２が保持するアクセス制限情報を示す図である。
アクセス制限情報とは、優先度４０１で示される優先度を持つプログラムは、保護メモリ１２１、共用メモリ１２２、又は、暗号エンジン１２３に、占有方式、又は共有方式のいずれかの方式でアクセスすることが許されている、もしくはアクセスすることが許されていない旨を示す情報であって、予めポリシィ保持部１１２の一部として組み込まれている情報である。
【００６１】
例えば、図４において、優先度３が付与されているプログラムは、保護メモリ１２１には占有アクセス方式でのアクセスが許され、共用メモリ１２２には共有アクセス方式でのアクセスが許され、暗号エンジン１２３には共有アクセス方式でのアクセスが許されている旨を示しているので、ポリシィ保持部１１２は、優先度が３であるポリシィ情報であれば、プログラムが保護メモリ１２１へ占有アクセス方式でアクセスし、共用メモリ１２２へ共有アクセス方式でアクセスし、プログラムが暗号エンジン１２３へ共有アクセス方式でアクセスすることを示すポリシィ情報に限って、保持する。
【００６２】
＜要求受付部１１１＞
要求受付部１１１は、プログラム群１０１を構成するプログラムから、資源１０２を利用する要求をされると、プログラムの情報と資源の情報と優先度の情報とアクセス方式の情報とを対応付けた情報である資源アクセス情報を作成し、プログラムに対して開始論理アドレスを戻り値として戻すブロックである。
【００６３】
要求受付部１１１は、プログラムから、資源１０２を利用する要求をされると、ポリシィ保持部１１２で保持するポリシィ情報の中に、要求を出したプログラムに対応するポリシィ情報があるか否かを検索し、要求を出したプログラムに対応するポリシィ情報がある場合であって、許可情報保持部１１３に対応する資源アクセス情報が存在しないときに限って、対応するポリシィ情報の、プログラムの情報と資源の情報と優先度の情報とアクセス方式の情報とを参照して資源アクセス情報を作成し、許可情報書換部１１５又は許可情報追加部１１６から開始論理アドレスを通知されると、要求を出したプログラムに対して、通知された開始論理アドレスを、戻り値として戻す。
【００６４】
ここでは、要求受付部１１１が資源アクセス情報を作成することをもって、要求受付部１１１がプログラムからの資源への利用要求を受け付けたこととする。
なお、要求を出したプログラムに対応するポリシィ情報が、ポリシィ保持部１１２にない場合には、要求受付部１１１は要求を出したプログラムの実行を停止させる。
【００６５】
＜許可情報保持部１１３＞
許可情報保持部１１３は、要求受付部１１１が作成した資源アクセス情報のうち、アクセス制御装置１００がプログラムに対して資源１０２へのアクセスを許可している資源アクセス情報を、開始論理アドレスと対応付けて保持するブロックである。
【００６６】
図５は、許可情報保持部１１３が、開始論理アドレスと対応付けて保持する資源アクセス情報を示すものである。
許可情報保持部１１３は、資源名５０１と物理アドレス５０２とで特定される資源と、プログラムＩＤ５０６で特定されるプログラムと、優先度５０７で指定される優先度と、アクセス方式５０８とで特定されるアクセス方式とを対応付けた情報である資源アクセス情報と、開始論理アドレス５０９とを対応付けて保持する。
【００６７】
ここで、開始論理アドレス５０９は、資源アクセス情報が初めて許可情報保持部１１３に保持される場合にのみ、許可情報書換部１１５又は許可情報追加部１１６によって、資源アクセス情報を基にして作成される。
【００６８】
例えば、図５において、許可情報保持部１１３は、保護メモリ１２１を、プログラムＩＤ０００１のプログラムが、優先度５で、占有方式でアクセスするという資源アクセス情報と、プログラムＩＤ０００１のプログラムに対して開始論理アドレスとして０ｘＡ００００を対応付けて記憶している。
【００６９】
＜待機情報保持部１１４＞
待機情報保持部１１４は、要求受付部１１１が作成した資源アクセス情報のうち、資源へのアクセスを許可していない資源アクセス情報、すなわち、資源へのアクセスが許可されることを待機しているプログラムに対応する資源アクセス情報を、論理開始アドレスと、保持開始時刻とを対応付けて保持するブロックである。
【００７０】
図６は、待機情報保持部１１４が、論理開始アドレスと、保持開始時刻とを対応付けて保持する資源アクセス情報を示すものである。
待機情報保持部１１４は、資源名６０１と物理アドレス６０２とで特定される資源と、プログラムＩＤ６０６で特定されるプログラムと、優先度６０７で指定される優先度と、アクセス方式６０８とで特定されるアクセス方式とを対応付けた情報である資源アクセス情報と、開始論理アドレス６０９と、この資源アクセス情報を保持した時刻を示す保持開始時刻６１０とを対応付けて保持する。
【００７１】
開始論理アドレス６０９は、前述したように、許可情報保持部１１３で保持されたことがある資源アクセス情報に対してのみ、提供されている為、許可情報保持部１１３で保持されたことのない資源アクセス情報に対しては、対応付けるべき開始論理アドレスは存在しない。
【００７２】
例えば、図６において、待機情報保持部１１４は、保護メモリ１２１の待ちスロット番号２のスロットに、保護メモリ１２１を、プログラムＩＤ０００９のプログラムが、優先度４で、占有方式でアクセスするという資源アクセス情報と、プログラムＩＤ０００９のプログラムに対して開始論理アドレスとして０ｘ９００００を提供しているという情報と、この資源アクセス情報を保持した時刻が、２００９年４月４日２１時００分０１秒３３であるという情報とを対応付けて記憶している。
【００７３】
＜許可情報書換部１１５＞
許可情報書換部１１５は、要求受付部１１１が資源アクセス情報を作成した場合に、作成された資源アクセス情報を、許可情報保持部１１３か待機情報保持部１１４かのいずれか一方に追加する機能と、許可情報保持部１１３が保持する資源アクセス情報に対応するプログラムから、資源アクセス処理ルーチンの実行終了の旨を通知されると、その資源アクセス情報を許可情報保持部１１３から削除する機能とを備えるブロックである。
【００７４】
ここで、要求受付部１１１が作成した資源アクセス情報が、アクセス制御装置１００がプログラムから資源へのアクセスを許可する資源アクセス情報である場合に、資源アクセス情報を許可情報保持部１１３に追加し、許可しない資源アクセス情報である場合に、資源アクセス情報を待機情報保持部１１４に追加する。
【００７５】
以下、許可情報書換部１１５の機能を、いくつかの場合にわけて説明する。
許可情報書換部１１５は、許可情報保持部１１３に、資源アクセス情報を追加する場合に、１）資源アクセス情報に基づいて、開始論理アドレスと、論理アドレスを物理アドレスに変換する為の情報（以後「アドレス変換情報」と呼ぶ）とを作成し、２）資源アクセス情報を、作成した開始論理アドレスと対応付けて、許可情報保持部１１３に追加し、３）作成したアドレス変換情報を、プログラムを示す情報と対応付けて、アドレス変換テーブル構成要素とし、作成したアドレス変換テーブル構成要素を、アクセス許可部１１７が保持する、アドレス変換テーブル１１８に追加し、４）作成した論理開始アドレスを、要求受付部１１１に通知し、５）資源アクセス情報に対応するプログラムに対して対応する資源へのアクセスを許可する旨を示す許可情報を通知する。
【００７６】
許可情報書換部１１５が、プログラムに対して許可情報を通知すると、プログラムは、資源アクセス処理ルーチンの実行を開始する。
許可情報書換部１１５は、要求受付部１１１が作成した資源アクセス情報を許可情報保持部１１３に追加しようとする場合において、作成した資源アクセス情報が示す資源と一致する資源が、許可情報保持部１１３が既に保持している資源アクセス情報が示す資源の中にあるときには、一致する資源を示す許可情報保持部１１３で保持している資源アクセス情報を、許可情報保持部１１３から削除して待機情報保持部１１４に追加する。
【００７７】
許可情報書換部１１５は、許可情報保持部１１３で保持している資源アクセス情報を削除する場合に、対応するプログラムに対して、対応する資源へのアクセスの許可を取り消す旨を示す削除情報を通知し、アクセス許可部１１７のアドレス変換テーブル１１８から対応するアドレス変換テーブル構成要素を削除する。
【００７８】
許可情報書換部１１５がプログラムに対して削除情報を通知すると、プログラムは、プログラムを終了する為の後処理をして、プログラムを終了する。
＜許可情報追加部１１６＞
許可情報追加部１１６は、許可情報保持部１１３が保持する資源アクセス情報が更新される場合に、待機情報保持部１１４で保持する資源アクセス情報を許可情報保持部１１３に追加する機能を備えるブロックである。
【００７９】
以下、許可情報追加部１１６の機能を、いくつかの場合にわけて説明する。
許可情報追加部１１６は、許可情報保持部１１３が保持する資源アクセス情報が更新された場合において、待機情報保持部１１４で保持している資源アクセス情報の中に、許可情報保持部１１３に追加できる資源を示す資源アクセス情報（以後「該当資源アクセス情報」と呼ぶ）があるとき、該当資源アクセス情報の中から許可情報保持部１１３で保持すべき資源アクセス情報（以後「追加資源アクセス情報」と呼ぶ）を選択し、選択した追加資源アクセス情報を待機情報保持部１１４から削除し、許可情報保持部１１３に追加する。
【００８０】
ここで、許可情報保持部１１３に追加できる資源とは、１）アクセス方式が占有方式であって、許可情報保持部１１３が保持する全ての資源アクセス情報が示す資源を含まない資源か、２）アクセス方式が共有方式であって、許可情報保持部１１３が保持する資源アクセス情報が示す資源のうちアクセス方式が占有方式である資源を含まない資源かのいずれかの資源のことを言う。
【００８１】
追加資源アクセス情報の選択条件については、後程詳細に説明する。
許可情報追加部１１６は、許可情報保持部１１３に資源アクセス情報を追加する場合であって、追加する資源アクセス情報に対応する開始論理アドレスが、待機情報保持部１１４に保持されていなかったときに、１）資源アクセス情報に基づいて、開始論理アドレスと、アドレス変換情報とを作成し、２）資源アクセス情報を、作成した開始論理アドレスと対応付けて許可情報保持部１１３に追加し、３）作成したアドレス変換情報を、プログラムを示す情報と対応付けて、アドレス変換テーブル構成要素とし、作成したアドレス変換テーブル構成要素を、アクセス許可部１１７が保持する、アドレス変換テーブル１１８に追加し、４）作成した論理開始アドレスを、要求受付部１１１に通知し、５）資源アクセス情報に対応するプログラムに対して対応する資源へのアクセスを許可する旨を示す追加情報を通知する。
【００８２】
許可情報追加部１１６が、プログラムに対して追加情報を通知すると、プログラムは、資源アクセス処理ルーチンの実行を開始する。
許可情報追加部１１６は、許可情報保持部１１３に資源アクセス情報を追加する場合であって、追加する資源アクセス情報に対応する開始論理アドレスが、待機情報保持部１１４に保持されていたときに、１）資源アクセス情報に基づいて、アドレス変換情報を作成し、２）資源アクセス情報を、開始論理アドレスと対応付けて許可情報保持部１１３に追加し、３）作成したアドレス変換情報を、プログラムを示す情報と対応付けて、アドレス変換テーブル構成要素とし、作成したアドレス変換テーブル構成要素を、アクセス許可部１１７が保持する、アドレス変換テーブル１１８に追加し、４）作成した論理開始アドレスを、要求受付部１１１に通知し、５）資源アクセス情報に対応するプログラムを起動する。
【００８３】
＜アクセス許可部１１７＞
アクセス許可部１１７は、プログラムに含まれる、資源の読み書きに係る命令をプロセッサのデコーダがデコードする場合に、資源の読み書きに係る命令で指定される論理アドレスを、アドレス変換テーブル１１８を用いて、対応する物理アドレスに変換し、変換した物理アドレスを用いて、資源１０２へのアクセスを管理しているメモリコントローラを動作させることで、資源への読み書きを行うブロックであって、その一部は、プロセッサのデコーダの一部によって構成されている。
【００８４】
アクセス許可部１１７が保持するアドレス変換テーブル１１８は、プログラムを示す情報と、論理アドレスを物理アドレスに変換する為の情報であるアドレス変換情報とを対応付けた情報である、アドレス変換テーブル構成要素を複数保持している。
【００８５】
アクセス許可部１１７は、アドレス変換テーブル１１８の保持する、アドレス変換テーブル構成要素に対応するプログラムにのみ、対応するアドレス変換情報を用いて、論理アドレスを物理アドレスに変換する。
【００８６】
アクセス許可部１１７は、アドレス変換テーブル１１８を構成する、アドレス変換テーブル構成要素に対応するプログラム以外のプログラムが、資源１０２への読み書きを行う場合には、例外を発生して、ＯＳにそのプログラムの実行を停止させる。
【００８７】
＜動作＞
＜資源の利用要求を受けた場合の動作＞
以下、図面を使って、プログラムからの資源の利用要求を受けた場合の動作について説明する。
【００８８】
図７、８は、プログラム群１０１を構成するプログラムから資源１０２の利用要求を受けた場合の動作を示すフローチャートである。
要求受付部１１１は、プログラム群１０１の中のプログラムから資源１０２を利用する要求をされる（ステップＳ１００）と、ポリシィ保持部１１２で保持するポリシィ情報の中に、要求を出したプログラムに対応するポリシィ情報があるか否かを検索し（ステップＳ１１０）、該当するポリシィ情報がある場合（ステップＳ１１０：Ｙｅｓ）には、許可情報保持部１１３に要求を出したプログラムに対応する資源アクセス情報があるか否かを検索し（ステップＳ１１３）、対応する資源アクセス情報を見つけられなかったら（ステップＳ１１３：Ｙｅｓ）、要求を出したプログラムに対応する資源アクセス情報を作成して（ステップＳ１１６）資源利用要求を受け付ける。
【００８９】
要求受付部１１１が資源利用要求を受け付けると、許可情報書換部１１５は、要求受付部１１１が作成した資源アクセス情報（以後「新規資源アクセス情報」と呼ぶ）の示す資源と同一の資源（以後「重複資源」と呼ぶ）を示す資源アクセス情報（以後「重複資源アクセス情報」と呼ぶ）が許可情報保持部１１３に保持されているか否かを検索する（ステップＳ１２０）。
【００９０】
許可情報書換部１１５は、重複資源アクセス情報が許可情報保持部１１３に保持されている場合（ステップＳ１２０：Ｙｅｓ）、新規資源アクセス情報が示すプログラム（以後「新規プログラム」と呼ぶ）が重複資源にアクセスするアクセス方式と、重複資源アクセス情報が示すプログラム（以後「重複プログラム」と呼ぶ）が重複資源にアクセスするアクセス方式のうち、少なくとも一方のアクセス方式が占有方式であれば（ステップＳ１３０：Ｙｅｓ）、新規プログラムが重複資源にアクセスする優先度と、重複プログラムが重複資源にアクセスする優先度とを比較し（ステップＳ１４０）、新規プログラムが重複資源にアクセスする優先度のほうが重複プログラムの重複資源にアクセスする優先度よりも高ければ（ステップＳ１４０：Ｙｅｓ）、許可情報書換部１１５は、重複プログラムに対して削除情報を通知する（ステップＳ１５０）。
【００９１】
許可情報書換部１１５が重複プログラムに対して削除情報を通知すると、重複プログラムは、前述した後処理を実行してプログラムを終了する。
許可情報書換部１１５は、削除情報を通知してから所定の時間経過すると、許可情報保持部１１３から重複資源アクセス情報と、対応する開始論理アドレスとを削除する（ステップＳ１６０）。
【００９２】
ここでいう所定の時間とは、重複プログラムが後処理を実行してプログラムを終了するのに必要な、予め定めておいた時間のことをいい、ここでは、全てのプログラムに対して一律同じ時間に設定してあり、許可情報書換部１１５は、図示していないタイマを使って所定の時間を計測している。
【００９３】
許可情報書換部１１５は、許可情報保持部１１３から重複資源アクセス情報と、対応する開始論理アドレスとを削除すると、アドレス変換テーブル１１８から該当するアドレス変換テーブル構成要素を削除し（ステップＳ１７０）、重複資源アクセス情報を、対応する開始論理アドレスと対応付けて、待機情報保持部１１４に追加（ステップＳ２５０）する。
【００９４】
許可情報書換部１１５は、重複資源アクセス情報を待機情報保持部１１４に追加すると、新規アクセス情報に対応するアドレス変換テーブル構成要素を作成し、許可情報保持部１１３に、新規資源アクセス情報を、作成した論理開始アドレスに対応付けて追加して（ステップＳ２６０）、アドレス変換テーブル１１８に作成したアドレス変換テーブル構成要素を追加する（ステップＳ２７０）。
【００９５】
許可情報書換部１１５は、ステップＳ２７０を実行する、もしくは、ステップＳ１１３において、要求受付部１１１が、許可情報保持部１１３に、要求を出したプログラムに対応する資源アクセス情報を見つけると（ステップＳ１１３：Ｎｏ）、要求を出したプログラムに対応する開始論理アドレスを要求受付部１１１に通知し、要求を出したプログラムに、許可情報を通知する。
【００９６】
要求受付部１１１は、許可情報書換部１１５から開始論理アドレスを通知されると、通知された開始論理アドレスを戻り値として、要求を出したプログラムに返して（ステップＳ２８０）資源の利用要求を受けた場合の動作を終了する。
【００９７】
プログラムは、許可情報と開始論理アドレスと通知されると、資源アクセス処理ルーチンを開始する。
ステップＳ１４０において、新規プログラムが重複資源にアクセスする優先度のほうが重複プログラムが重複資源にアクセスする優先度よりも高くなければ（ステップＳ１４０：Ｎｏ）、許可情報書換部１１５は、新規資源アクセス情報を待機情報保持部１１４に追加（ステップＳ１８０）して、資源の利用要求を受けた場合の動作を終了する。
【００９８】
ステップＳ１２０において、許可情報保持部１１３に重複資源アクセス情報が保持されていない場合（ステップＳ１２０：Ｎｏ）、または、ステップＳ１３０において、新規プログラムが重複資源にアクセスするアクセス方式と、重複プログラムが重複資源にアクセスするアクセス方式との双方が共有方式である場合（ステップＳ１３０：Ｎｏ）には、許可情報書換部１１５は、上述したステップＳ２６０〜ステップＳ２８０の動作を行い、資源の利用要求を受けた場合の動作を終了する。
【００９９】
ステップＳ１１０において該当するポリシィ情報がない場合（ステップＳ１１０：Ｎｏ）には、要求受付部１１１は、プログラムの実行を停止させて（ステップＳ２００）、資源の利用要求を受けた場合の動作を終了する。
【０１００】
＜資源アクセス処理ルーチンが終了した場合の動作＞
以下、図面を使って、資源アクセス処理ルーチンが終了した場合の動作について説明する。
【０１０１】
図９は、資源アクセス処理ルーチンが終了した場合の動作を示すフローチャートである。
プログラムは、資源アクセス処理ルーチンを終了すると、許可情報書換部１１５に実行終了の旨を通知する（ステップＳ３００）。
【０１０２】
許可情報書換部１１５は、プログラムから実行終了の旨を通知されると、許可情報保持部１１３から、資源アクセス情報と、対応する開始論理アドレスとを削除し（ステップＳ３１０）、アドレス変換テーブル１１８から該当するアドレス変換テーブル構成要素を削除して（ステップＳ３２０）、資源アクセス処理ルーチンが終了した場合の動作を終了する。
【０１０３】
＜許可情報保持部１１３が更新される場合の動作＞
以下、図面を使って、許可情報保持部１１３の保持する内容が更新された場合の動作について説明する。
【０１０４】
図１０は、プログラムからの資源の利用要求を受け付けた場合や、実行中のプログラムが終了した場合等において、許可情報保持部１１３の保持する情報が更新されるときの動作を示すフローチャートである。
【０１０５】
許可情報保持部１１３の保持する情報が更新される（ステップＳ４００）と、許可情報追加部１１６は、待機情報保持部１１４の保持する資源アクセス情報の中に、許可情報保持部１１３に追加することができる資源がある場合（ステップＳ４１０：Ｙｅｓ）において、該当する資源アクセス情報が複数（ステップＳ４２０：Ｙｅｓ）であれば、該当する資源アクセス情報の該当する優先度を比較する（ステップＳ４３０）。
【０１０６】
許可情報追加部１１６は、優先度を比較した結果、最も優先度が高い資源アクセス情報が複数ある場合（ステップＳ４３０：Ｙｅｓ）には、待機情報保持部１１４に保持された時刻が最も早い資源アクセス情報を追加資源アクセス情報として選択し（ステップＳ４４０）、最も優先度が高い資源アクセス情報が１つである場合（ステップＳ４３０：Ｎｏ）には、その最も優先度が高い資源アクセス情報を追加資源アクセス情報として選択し（ステップＳ４５０）、また、ステップＳ４２０において、該当する資源アクセス情報が１つであった場合（ステップＳ４２０：Ｎｏ）には、該当する資源アクセス情報を追加資源アクセス情報として選択する。
【０１０７】
許可情報追加部１１６は、追加資源アクセス情報を選択する場合において、対応する開始論理アドレスが待機情報保持部１１４で保持されていれば、１）追加資源アクセス情報を開始論理アドレスに対応付けて、許可情報保持部１１３に追加し（ステップＳ４７０）、２）アドレス変換テーブル構成要素を作成して、作成したアドレス変換テーブル構成要素をアドレス変換テーブル１１８に追加して（ステップＳ４８０）要求受付部１１１に論理開始アドレスを通知し、３）待機情報保持部１１４から、追加資源アクセス情報と、対応する開始論理アドレスと保持開始時刻とを削除し、４）追加資源アクセス情報に対応するプログラムを起動する。
【０１０８】
また、許可情報追加部１１６は、追加資源アクセス情報を選択する場合において、対応する開始論理アドレスが待機情報保持部１１４で保持されていなければ、１）開始論理アドレスを作成し、追加資源アクセス情報を開始論理アドレスに対応付けて、許可情報保持部１１３に追加し（ステップＳ４７０）、２）アドレス変換テーブル構成要素を作成して、作成したアドレス変換テーブル構成要素をアドレス変換テーブル１１８に追加して（ステップＳ４８０）要求受付部１１１に論理開始アドレスを通知し、３）待機情報保持部１１４から、追加資源アクセス情報と、対応する開始論理アドレスと保持開始時刻とを削除し、４）追加資源アクセス情報に対応するプログラムに、許可情報を通知する。
【０１０９】
要求受付部１１１は、開始論理アドレスを通知されると、通知された開始論理アドレスを戻り値として対応するプログラムに返す（ステップＳ４９０）。
論理アドレスを物理アドレスに変換する動作については、後程詳細に説明する。
【０１１０】
要求受付部１１１が、開始論理アドレスを追加資源アクセス情報に対応するプログラムに通知する（ステップＳ４９０）と、再びステップＳ４１０に戻って、以降の処理を継続する。
【０１１１】
ステップＳ４１０において、許可情報追加部１１６は、待機情報保持部の保持する資源アクセス情報の中に追加することができる資源がない（ステップＳ４１０：Ｎｏ）と、許可情報保持部１１３が更新される場合の動作を終了する。
【０１１２】
＜プログラムが資源にアクセスする動作＞
以下、図面を使って、プログラムが資源にアクセスする動作について説明する。
図１１は、プログラムに含まれる資源の読み書きに係る命令を、プロセッサのデコーダがデコードして、資源１０２への読み書きを行う動作を示すフローチャートである。
【０１１３】
アクセス許可部１１７は、論理アドレスを指定することで資源１０２の読み書きを行う命令を、プロセッサの命令フェッチ部から受け取る（ステップＳ６００）と、アクセス許可部１１７は、受け取った命令のデコードを開始する。
【０１１４】
アクセス許可部１１７は、命令のデコードを開始すると、アドレス変換テーブル１１８の中に、対応するアドレス変換テーブル構成要素があるか否かを確認し（ステップＳ６１０）、アドレス変換テーブル構成要素がある場合（ステップＳ６１０：Ｙｅｓ）、対応するアドレス変換情報に基づいて、論理アドレスを物理アドレスに変換して（ステップＳ６２０）、変換した物理アドレスを用いて、受け取った命令のデコードを完了する。
【０１１５】
さらに、アクセス許可部は、物理アドレスを含むデコード後の命令を用いて、資源１０２へのアクセスを管理しているメモリコントローラを動作させることで、資源１０２への読み書きを行い、プログラムが資源にアクセスする動作を終了する。
【０１１６】
ステップＳ６１０において、対応するアドレス変換テーブルがない場合（ステップＳ６１０：Ｎｏ）、アクセス許可部１１７は、割り込みを発生して、ＯＳにプログラムの実行を停止させる処理ルーチンを実行させることで、プログラムの実行を停止させて（ステップＳ６３０）、プログラムが資源にアクセスする動作を終了する。
【０１１７】
＜ポリシィ情報を更新する動作＞
以下、図面を使って、認証局１０３からの証明書を受け取る場合の動作について説明する。
【０１１８】
図１２は、認証局１０３から証明書受け取って、ポリシィ情報をポリシィ保持部１１２に登録する場合の動作を示すフローチャートである。
認証局１０３は、受け取ったプログラムが特定の資源に特定の優先度で特定のアクセス方式でアクセスすることに不都合がない場合に、受け取ったプログラムが特定の資源に特定の優先度で特定のアクセス方式でアクセスすることを認証し、認証した特定のプログラムと特定の資源と特定の優先度と特定のアクセス方式との情報を対応付けた情報であるポリシィ情報を作成する。
【０１１９】
認証局１０３は、作成したポリシィ情報を、優先度毎に異なる秘密鍵を使って暗号化し、暗号化したものを証明書としてプログラム所有者へ提出する。
認証局１０３は、秘密鍵に対応する公開鍵を広く一般に公開している。
【０１２０】
プログラム所有者は、証明書を受け取ると、証明書をポリシィ保持部１１２に入力する。
アクセス制御装置１００を用いて資源１０２にアクセスするプログラムの所有者は、そのプログラムと、そのプログラムが使用する資源と、その資源を使用する際の優先度と、その資源を使用する際のアクセス方式とを認証局１０３へ提出する。
【０１２１】
認証局１０３は、特定のプログラムが特定の資源に特定の優先度で特定のアクセス方式で特定のアクセス方式でアクセスすることの正当性を認証すると、ポリシィ情報を作成し、作成したポリシィ情報に対して、優先度毎に対応する秘密鍵を使って暗号化して証明書を作成する。
【０１２２】
ここで使用する秘密鍵に対応する公開鍵は、予め広く一般に公開している。
ポリシィ保持部１１２は、認証局が証明書作成の際に使用する秘密鍵に対応する公開鍵を予め保持しておく（ステップＳ７００）。
【０１２３】
認証局１０３で作成したポリシィ情報を、ポリシィ保持部１１２に登録させたいプログラムの所有者は、認証局１０３が発行した証明書をポリシィ保持部１１２に入力し、ポリシィ保持部１１２は、証明書を入力されると（ステップＳ７１０）、優先度０〜５の６種類の優先度のそれぞれに対応する６つの公開鍵を使って、証明書を正しく解読できるか否かを確かめる（ステップＳ７２０）。
【０１２４】
ここで、ＯＳは、証明書を指定して呼びだすと、ポリシィ保持部１１２が指定された証明書の解読処理を開始する証明書入力ＡＰＩを備えており、プログラムの所有者が、証明書入力ＡＰＩを呼び出すプログラムを、ＯＳ上で実行することで、プログラムの所有者は、証明書をポリシィ保持部１１２に入力する。
【０１２５】
ポリシィ保持部１１２は、６つの公開鍵のうちのいずれか１つの公開鍵で証明書を正しく解読する（ステップＳ７２０：Ｙｅｓ）と、１）解読したことによって得られたポリシィ情報の優先度と、解読に使用した公開鍵に対応する優先度とが一致して、２）解読したことによって得られたポリシィ情報における、優先度と資源とアクセス条件との組み合わせが、ポリシィ保持部１１２が保持するアクセス制限情報の制限に違反していなければ、登録要求内容が正当な要求であると判断し（ステップＳ７３０：Ｙｅｓ）、解読したことによって得られたポリシィ情報をポリシィ保持部１１２に追加して保持し（ステップＳ７４０）、ディスプレイに登録完了の旨のメッセージを表示して（ステップＳ７５０）、ポリシィ情報を更新する動作を終了する。
【０１２６】
ステップＳ７２０において、ポリシィ保持部１１２が、６つの公開鍵のうちいずれか１つの公開鍵で証明書を正しく解読できない（ステップＳ７２０：Ｎｏ）場合、もしくは、ステップＳ７３０において、ポリシィ保持部１１２が、登録内容が正当な要求であると判断しない場合（ステップＳ７３０：Ｎｏ）には、ポリシィ保持部１１２は新たにポリシィ情報を追加して保持することなく、ディスプレイに登録失敗の旨のメッセージを表示させて（ステップＳ７６０）、ポリシィ情報を更新する動作を終了する。
＜変形例＞
実施の形態では、資源１０２が保護メモリ１２１と共用メモリ１２２と暗号エンジン１２３という３つの単位で区別されている例について説明したが、変形例では、資源１０２が、物理アドレスの範囲を任意に指定される領域に区別され、任意に区別された領域の単位で使用される資源となっている例である。
【０１２７】
以下変形例について、実施の形態との相違点を中心に説明する。
＜変形例における  ポリシィ情報と資源アクセス情報とアクセス制限情報＞
図１３は変形例におけるポリシィ保持部１１２が保持するポリシィ情報である。
ポリシィ保持部１１２は、プログラムＩＤ１３０２で特定されるプログラムが、優先度１３０３で示される優先度で、資源のアドレス１３０４で指定される領域の資源に、アクセス方式１３０７で示されるアクセス方式でアクセスすることができる旨を示す情報であるポリシィ情報を保持する。
【０１２８】
実施の形態におけるポリシィ情報との相違点は、実施の形態におけるポリシィ情報では、資源は、保護メモリ１２１と共用メモリ１２２と暗号エンジン１２３の３つの資源であった部分が、変形例におけるポリシィ情報では、資源は、物理アドレスで指定される任意の領域の資源となっている点と、実施の形態におけるポリシィ情報では、資源へのアクセス方式が、保護メモリ１２１と共用メモリ１２２と暗号エンジン１２３の３つの資源それぞれにアクセス方式を対応付けていた部分が、変形例におけるポリシィ情報では、物理アドレスで指定される任意の領域の１つの資源に対応する１つのアクセス方式を対応付けるようになっている点である。
【０１２９】
資源アクセス情報は、ポリシィ保持部の保持するポリシィ情報を参照して、要求受付部１１１が作成する情報であり、ポリシィ情報の場合と同様に、実施の形態における資源アクセス情報では、資源は、保護メモリ１２１と共用メモリ１２２と暗号エンジン１２３の３つの資源であった部分が、変形例におけるポリシィ情報では、資源は、物理アドレスで指定される任意の領域の資源となっている。
【０１３０】
また、同様に、実施の形態における資源アクセス情報では、資源へのアクセス方式が、保護メモリ１２１と共用メモリ１２２と暗号エンジン１２３の３つの資源それぞれにアクセス方式を対応付けていた部分が、変形例における資源アクセス情報では、物理アドレスで指定される任意の領域の１つの資源に対応する１つのアクセス方式を対応付けるようになっている。
【０１３１】
図１４は、変形例におけるポリシィ保持部１１２が保持するアクセス制限情報である。
図１４に示すように、アクセス制限情報は、優先度１４０１で示される優先度に応じて、対応するプログラムが資源へのアクセスを行う際の制限を示している情報である。
【０１３２】
実施の形態では、資源として保護メモリ１２１と共用メモリ１２２と暗号エンジン１２３との３つの資源があったが、変形例におけるアクセス制限情報は、１つの資源のみとなっている。
【０１３３】
＜変形例における資源の重複＞
実施の形態においては、複数のプログラムに対応する資源が重複している場合として、複数のプログラムに対応する資源が同じ資源である場合しかなかったが、変形例においては、複数のプログラムのアクセスしようとする資源が、様々な形態で重複している場合が発生する。
【０１３４】
ここでは、変形例における資源の重複が発生する場合について、資源の重複が発生する形態を、複数のプログラムに対応する領域の資源を全て含む資源の利用要求がある形態をパターン１、プログラムに対応する領域の資源の一部の領域を含む資源への資源の利用要求がある形態をパターン２とする２つのパターンに分類して、図面を使って説明する。
【０１３５】
図１５は、変形例において、資源の重複がパターン１の形態で発生する場合について、各プログラムが使用する資源の領域の関係を、模式的に示す図である。
ここでは、プログラムＡとプログラムＢとプログラムＣとが、資源を使用して実行中のプログラムである場合において、プログラムＡが使用している資源が、物理アドレス空間１５００上の、００００＿１０００ｈ〜００００＿１１ＦＦｈの領域の資源であって、プログラムＢが使用している資源が、００００＿１２００ｈ〜００００＿１３ＦＦｈの領域の資源であって、プログラムＣが使用している資源が、０００＿１４００ｈ〜００００＿１５ＦＦｈの領域の資源あるとき、新たにプログラムＤから、００００＿１０００ｈ〜００００＿１５ＦＦｈの領域の資源を利用する要求を受け取った場合を例として、資源の重複がパターン１の形態で発生する場合を、いくつかの場合に場合分けして説明する。
【０１３６】
１）プログラムＤが資源にアクセスするアクセス方式が、占有方式である場合。
プログラムＤの優先度が、プログラムＡの優先度とプログラムＢの優先度とプログラムＣの優先度の全てよりも優先度が高い場合に、許可情報書換部１１５によって、プログラムＤに対応する資源アクセス情報が、許可情報保持部１１３に追加され、プログラムＡとプログラムＢとプログラムＣとに対応する資源アクセス情報が、許可情報保持部１１３から削除されて、待機情報保持部１１４に追加される。
【０１３７】
プログラムＤの優先度が、プログラムＡの優先度とプログラムＢの優先度とプログラムＣの優先度の全てよりも優先度が高くない場合に、許可情報書換部１１５によって、プログラムＤに対応する資源アクセス情報が、待機情報保持部１１４に追加される。
【０１３８】
プログラムＤの優先度が、プログラムＡの優先度よりも高くなく、プログラムＢの優先度と、プログラムＣの優先度より高い場合に（例えば、プログラムＡの優先度＞プログラムＤの優先度＞プログラムＢの優先度＞プログラムＣの優先度）、許可情報書換部１１５によって、プログラムＡの資源アクセス情報が削除されたとき、プログラムＢとプログラムＣに対応する資源アクセス情報が、許可情報保持部１１３から削除されて、待機情報保持部１１４に追加され、さらに、プログラムＤに対応する資源アクセス情報が、許可情報保持部１１３に追加される。
【０１３９】
２）プログラムＤが資源にアクセスするアクセス方式が、共有方式である場合。
２−１）プログラムＡ、プログラムＢ、プログラムＣが資源にアクセスする方式が、全て占有方式である場合。
【０１４０】
プログラムＤの優先度が、プログラムＡの優先度とプログラムＢの優先度とプログラムＣの優先度の全てよりも優先度が高い場合に、許可情報書換部１１５によって、プログラムＤに対応する資源アクセス情報が、許可情報保持部１１３に追加され、プログラムＡとプログラムＢとプログラムＣとに対応する資源アクセス情報が、許可情報保持部１１３から削除されて、待機情報保持部１１４に追加される。
【０１４１】
プログラムＤの優先度が、プログラムＡの優先度とプログラムＢの優先度とプログラムＣの優先度の全てよりも優先度が高くない場合に、許可情報書換部１１５によって、プログラムＤに対応する資源アクセス情報が、待機情報保持部１１４に追加される。
【０１４２】
２−２）プログラムＡ、プログラムＢ、プログラムＣが資源にアクセスする方式が、占有方式と共有方式とが混在している場合。
ここではプログラムＡとプログラムＢとが資源にアクセスするアクセス方法が、占有方式で、プログラムＣが資源にアクセスするアクセス方法が、共有方式であるとして説明する。
【０１４３】
プログラムＤの優先度が、資源にアクセスするアクセス方式が占有方式である全てのプログラム（すなわちプログラムＡとプログラムＢ）の優先度よりも優先度が高い場合に、許可情報書換部１１５によって、プログラムＤに対応する資源アクセス情報が、許可情報保持部１１３に追加され、プログラムＡとプログラムＢとに対応する資源アクセス情報が、許可情報保持部１１３から削除されて、待機情報保持部１１４に追加される。
【０１４４】
プログラムＤの優先度が、資源にアクセスするアクセス方式が占有方式である全てのプログラム（すなわちプログラムＡとプログラムＢ）の優先度よりも優先度が高くない場合に、許可情報書換部１１５によって、プログラムＤに対応する資源アクセス情報が、待機情報保持部１１４に追加される。
【０１４５】
２−３）プログラムＡ、プログラムＢ、プログラムＣが資源にアクセスする方法が、全て共有方式である場合。
プログラムＤに対応する資源アクセス情報が、許可情報書換部１１５によって、許可情報保持部１１３に追加される。
【０１４６】
図１６は、変形例において、資源の重複がパターン１の形態で発生する場合について、各プログラムが使用する資源の領域の関係を、模式的に示す図である。
ここでは、プログラムＡとプログラムＢとが、資源を使用して実行中のプログラムである場合において、プログラムＡが使用している資源が、物理アドレス空間１５００上の、００００＿１０００ｈ〜００００＿１１ＦＦｈの領域の資源であって、プログラムＢが使用している資源が、００００＿１２００ｈ〜００００＿１３ＦＦｈの領域の資源であるとき、新たにプログラムＣから、００００＿１１００ｈ〜００００＿１２ＦＦｈの領域の資源を利用する要求を受け取った場合を例として、資源の重複がパターン２の形態で発生する場合を、いくつかの場合に場合分けして説明する。
【０１４７】
３）プログラムＣが資源にアクセスするアクセス方式が、占有方式である場合。
プログラムＣの優先度が、プログラムＡの優先度とプログラムＢの優先度との双方よりも優先度が高い場合に、許可情報書換部１１５によって、プログラムＣに対応する資源アクセス情報が、許可情報保持部１１３に追加され、プログラムＡとプログラムＢとに対応する資源アクセス情報が、許可情報保持部１１３から削除されて、待機情報保持部１１４に追加される。
【０１４８】
プログラムＣの優先度が、プログラムＡの優先度とプログラムＢの優先度との双方よりも優先度が高くない場合に、許可情報書換部１１５によって、プログラムＣに対応する資源アクセス情報が、待機情報保持部１１４に追加される。
【０１４９】
４）プログラムＣが資源にアクセスするアクセス方式が、共有方式である場合。
４−１）プログラムＡ、プログラムＢが資源にアクセスする方式が、全て占有方式である場合。
【０１５０】
プログラムＣの優先度が、プログラムＡの優先度とプログラムＢの優先度との双方よりも優先度が高い場合に、許可情報書換部１１５によって、プログラムＣに対応する資源アクセス情報が、許可情報保持部１１３に追加され、プログラムＡとプログラムＢとに対応する資源アクセス情報が、許可情報保持部１１３から削除されて、待機情報保持部１１４に追加される。
【０１５１】
プログラムＣの優先度が、プログラムＡの優先度とプログラムＢの優先度との双方よりも優先度が高くない場合に、許可情報書換部１１５によって、プログラムＣに対応する資源アクセス情報が、待機情報保持部１１４に追加される。
【０１５２】
４−２）プログラムＡ、プログラムＢが資源にアクセスする方式が、占有方式と共有方式とが混在している場合。
ここではプログラムＡが資源にアクセスするアクセス方法が占有方式で、プログラムＢが資源にアクセスするアクセス方法が共有方式であるとして説明する。
【０１５３】
プログラムＣの優先度が、資源にアクセスするアクセス方式が占有方式であるプログラムＡの優先度よりも優先度が高い場合に、許可情報書換部１１５によって、プログラムＣに対応する資源アクセス情報が、許可情報保持部１１３に追加され、プログラムＡに対応する資源アクセス情報が、許可情報保持部１１３から削除されて、待機情報保持部１１４に追加される。
【０１５４】
プログラムＣの優先度が、資源にアクセスするアクセス方式が占有方式であるプログラムＡの優先度よりも優先度が高くない場合に、許可情報書換部１１５によって、プログラムＣに対応する資源アクセス情報が、待機情報保持部１１４に追加される。
【０１５５】
４−３）プログラムＡ、プログラムＢが資源にアクセスする方法が、全て共有方式である場合。
プログラムＣに対応する資源アクセス情報が、許可情報書換部１１５によって、許可情報保持部１１３に追加される。
【０１５６】
＜変形例における資源の利用要求を受けた場合の動作＞
以下、図面を使って、変形例における、プログラムからの資源の利用要求を受けた場合の動作について説明する。
【０１５７】
図１７、１８は、プログラム群１０１を構成するプログラムから資源１０２の利用要求を受けた場合の動作を示すフローチャートである。
要求受付部１１１は、プログラム群１０１の中のプログラムから資源１０２を利用する要求をされる（ステップＳ８００）と、ポリシィ保持部１１２で保持するポリシィ情報の中に、要求を出したプログラムに対応するポリシィ情報があるか否かを検索し（ステップＳ８１０）、該当するポリシィ情報がある場合（ステップＳ８１０：Ｙｅｓ）には、許可情報保持部１１３に要求を出したプログラムに対応する資源アクセス情報があるか否かを検索し（ステップＳ８１３）、対応する資源アクセス情報を見つけられなかったら（ステップＳ８１３：Ｙｅｓ）、要求を出したプログラムに対応する資源アクセス情報を作成して（ステップＳ８１６）資源利用要求を受け付ける。
【０１５８】
要求受付部１１１が資源利用要求を受け付けると、許可情報書換部１１５は、要求受付部１１１が作成した資源アクセス情報（新規資源アクセス情報）の示す領域の資源を少なくとも一部に含む領域資源（重複資源）を示す資源アクセス情報（重複資源アクセス情報）が許可情報保持部１１３に保持されているか否かを検索する（ステップＳ８２０）。
【０１５９】
許可情報書換部１１５は、重複資源アクセス情報が許可情報保持部１１３に保持されている場合（ステップＳ８２０：Ｙｅｓ）において、新規資源アクセス情報が示すプログラム（以後「新規プログラム」と呼ぶ）から対応する資源にアクセスするアクセス方式が共有方式であるとき（ステップＳ８３０：Ｙｅｓ）、重複資源アクセス情報が示すプログラム（以後「重複プログラム」と呼ぶ）が重複資源にアクセスするアクセス方式のうち、少なくとも１つのアクセス方式が占有方式であれば（ステップＳ８４０：Ｙｅｓ）、新規プログラムが重複資源にアクセスする優先度と、重複プログラムのうち、資源にアクセスするアクセス方式が占有方式であるプログラム（以後「重複占有プログラム」）が重複資源にアクセスする優先度（以後「重複占有優先度」と呼ぶ）とを比較し（ステップＳ８５０）、新規プログラムが重複資源にアクセスする優先度の方が全ての重複占有優先度よりも高ければ（ステップＳ８５０：Ｙｅｓ）、許可情報書換部１１５は、全ての重複占有プログラムに対して削除情報を通知する（ステップＳ８６０）。
【０１６０】
また、ステップＳ８３０において、新規プログラムから対応する資源にアクセスするアクセス方式が占有方式であるとき（ステップＳ８３０：Ｎｏ）、新規プログラムが重複資源にアクセスする優先度と重複プログラムが重複資源にアクセスする優先度とを比較し（ステップＳ８４５）、新規プログラムが重複資源にアクセスする優先度の方が全ての重複プログラムが重複資源にアクセスする優先度よりも高ければ（ステップＳ８４５：Ｙｅｓ）、許可情報書換部１１５は、全ての重複プログラムに対して削除情報を通知する（ステップＳ８６０）。
【０１６１】
削除情報を通知された、重複占有プログラムもしくは重複プログラム（以後「該当プログラム」と呼ぶ）は、削除情報を通知されると、前述した後処理を実行してプログラムを終了する。
【０１６２】
許可情報書換部１１５は、削除情報を通知してから所定の時間経過すると、許可情報保持部１１３から全ての該当プログラムに対応する資源アクセス情報（以後「該当資源アクセス情報」と呼ぶ）と、対応する開始論理アドレスとを削除し（ステップＳ８７０）、アドレス変換テーブル１１８から該当する全てのアドレス変換テーブル構成要素を削除して（ステップＳ９５０）、全ての該当資源アクセス情報を、対応する開始論理アドレスに対応付けて、待機情報保持部１１４に追加（ステップＳ９６０）する。
【０１６３】
許可情報書換部１１５は、全ての該当資源アクセス情報を待機情報保持部１１４に追加すると、新規アクセス情報に対応するアドレス変換テーブル構成要素を作成し、許可情報保持部１１３に、新規資源アクセス情報を、作成した論理開始アドレスに対応付けて追加して（ステップＳ９７０）、アドレス変換テーブル１１８に作成したアドレス変換テーブル構成要素を追加する（ステップＳ９８０）。
【０１６４】
許可情報書換部１１５は、ステップＳ９８０を実行する、もしくは、ステップＳ８１３において、要求受付部１１１が、許可情報保持部１１３に、要求を出したプログラムに対応する資源アクセス情報を見つけると（ステップＳ８１３：Ｎｏ）、要求を出したプログラムに対応する開始論理アドレスを要求受付部１１１に通知し、要求を出したプログラムに、許可情報を通知する。
【０１６５】
要求受付部１１１は、許可情報書換部１１５から開始論理アドレスを通知されると、通知された開始論理アドレスを戻り値として、要求を出したプログラムに返して（ステップＳ９９０）資源の利用要求を受けた場合の動作を終了する。
【０１６６】
プログラムは、許可情報と開始論理アドレスと通知されると、資源アクセス処理ルーチンを開始する。
許可情報書換部１１５は、新規プログラムに対して許可通知信号を通知すると、新規資源アクセス情報を基にして、アドレス変換テーブル構成要素と開始論理アドレスとを作成し、新規資源アクセス情報を作成した開始論理アドレスに対応付けて許可情報保持部１１３に追加し（ステップＳ９７０）、アドレス変換テーブル１１８に作成したアドレス変換テーブル構成要素を追加し（ステップＳ９８０）、作成した開始論理アドレスを要求受付部１１１に通知する。
【０１６７】
要求受付部１１１は、開始論理アドレスを通知されると、通知された開始論理アドレスを戻り値として新規プログラムに返して（ステップＳ９９０）、資源の利用要求を受けた場合の動作を終了する。
【０１６８】
ステップＳ８４５において、新規プログラムが重複資源にアクセスする優先度の方が全ての重複プログラムが重複資源にアクセスする優先度よりも高くなければ（ステップＳ８４５：Ｎｏ）、もしくは、ステップＳ８５０において、新規プログラムが重複資源にアクセスする優先度の方が全ての重複占有優先度よりも高くなければ（ステップＳ８５０：Ｎｏ）許可情報書換部１１５は、新規資源アクセス情報を待機情報保持部１１４に追加（ステップＳ８８０）して、資源の利用要求を受けた場合の動作を終了する。
【０１６９】
ステップＳ８２０において、許可情報保持部１１３に重複資源アクセス情報が保持されていない場合（ステップＳ８２０：Ｎｏ）、または、ステップＳ８４０において、重複プログラムが重複資源にアクセスするアクセス方式が全て共有方式であれば（ステップＳ８４０：Ｎｏ）、許可情報書換部１１５は、新規プログラムに対して許可通知信号を通知して、上述したステップＳ９７０〜ステップＳ９９０の処理を行い、資源の利用要求を受けた場合の動作を終了する。
【０１７０】
ステップＳ８１０において該当するポリシィ情報がない場合（ステップＳ８１０：Ｎｏ）には、要求受付部１１１は、プログラムの実行を停止させて（ステップＳ９００）、資源の利用要求を受けた場合の動作を終了する。
＜補足＞
以上、本発明に係るアクセス制御装置の一実施形態として、複数のプログラムそれぞれからの資源へのアクセスを制御するアクセス制御装置について、また、その変形例としてのアクセス制御装置について説明したが、さらに以下のように変形することも可能であり、本発明は上述した実施の形態で示した通りのアクセス制御装置に限られないことはもちろんである。
（１）実施の形態において、資源アクセス情報を保持するブロックとして、許可情報保持部１１３と待機情報保持部１１４との２つのブロックを使用するとして説明したが、例えば、情報保持部という１つのブロックのみで、資源アクセス情報を保持するとしてもよい。
【０１７１】
この際、例えば、資源アクセス情報が、実施の形態において許可情報保持部１１３で保持する資源アクセス情報である場合に１、待機情報保持部１１４で保持する資源アクセス情報である場合に０となる許可情報フラグを用意しておき、情報保持部で資源アクセス情報を保持する場合に、資源アクセス情報とこの許可情報フラグとを対応付けて保持するようにしておく。
【０１７２】
資源アクセス情報を保持するブロックが１つであっても、資源アクセス情報に対応付けられている許可情報フラグを参照することで、実施の形態における許可情報保持部１１３で保持されているべき資源アクセス情報なのか、実施の形態における待機情報保持部１１４で保持されているべき資源アクセス情報なのかの区別をすることができる為、実施の形態と同様の動作を行うことができる。
【０１７３】
このような構成にすることによって、実施の形態において、許可情報保持部１１３と待機情報保持部１１４との間で、資源アクセス情報の削除、追加を行う代わりに、許可情報フラグの値を変更するだけで同様の動作を実現できるようになる。
（２）実施の形態において、資源アクセス情報は、要求受付部１１１が、プログラムから、資源を利用する要求をされると、要求を出したプログラムに対応するポリシィ情報の、プログラムの情報と資源の情報と優先度の情報とアクセス方式の情報とを参照して、資源アクセス情報を作成するとしたが、プログラムの情報と資源の情報と優先度の情報とアクセス方式の情報との情報のうち、一部の情報もしくは全ての情報を、ポリシィ情報以外の情報を参照して、資源アクセス情報を作成するとしてもよい。
【０１７４】
例えば、プログラムが要求受付部１１１に対して、資源を利用する要求をする際に、プログラムの情報と資源の情報と優先度の情報とアクセス情報とを含むデータを指定して要求し、要求受付部１１１は、この指定されたデータから、プログラムの情報と資源の情報と優先度の情報とアクセス情報とを参照して資源アクセス情報を作成するとしても構わない。
【０１７５】
ここでは、この指定されたデータが、ポリシィ保持部１１２が保持するアクセス制限情報を満たしている場合にのみ、資源アクセス情報を作成するとしておくか、ポリシィ保持部１１２が保持するポリシィ情報を満たしている場合にのみ、資源アクセス情報を作成するとしておく。
【０１７６】
このような構成にすることによって、要求受付部１１１は、プログラムから資源の利用を要求される毎に資源アクセス情報を作成できるようになり、同一のプログラムに対応する資源アクセス情報を作る場合であっても、状況に応じて異なる資源アクセス情報を作成することができるようになる。
（３）実施の形態において、ポリシィ保持部１１２のアクセス制限情報の資源へのアクセスを行う際に許されているアクセス方式、及び、ポリシィ情報の資源へのアクセスを行う際に許されているアクセス方式が、占有アクセス可と共有アクセス可とのいずれかの方式である例を示したが、これ以外の方式、例えば、占有アクセスと共有アクセス等の複数のアクセス方式でアクセスすることを許していることを示す、複数方式アクセス可という方式をも含んでいても構わない。
【０１７７】
このような構成にすることによって、要求受付部１１１が、プログラムから資源の利用を要求される毎に資源アクセス情報を作成できる場合において、同一のプログラムに対応する資源アクセス情報を作る場合であっても、状況に応じて、異なるアクセス方式の資源アクセス情報を作成することができるようになる。
（４）実施の形態において、認証局１０３は、作成したポリシィ情報を、優先度毎に異なる秘密鍵で暗号化することで証明書としていたが、これ以外の方法で証明書を作成しても構わない。
【０１７８】
例えば、優先度に関わらず共通の秘密鍵で暗号化しても構わないし、秘密鍵を用いない手法で暗号化しても構わないし、暗号化せずに証明書としても構わない。
暗号化の手法については、その暗号が解読されるリスクと、暗号化に伴うコストとのトレードオフで、最も適切だと考えられる手法を採用するのが望ましい。
（５）実施の形態において、要求受付部１１１は、プログラムから資源１０２を利用する要求をされる場合において、要求を出したプログラムに対応するポリシィ情報がポリシィ保持部１１２にないときは、プログラムの実行を停止させるとしたが、プログラムの実行を停止させるとしなくても構わない。
【０１７９】
プログラムは、要求受付部１１１からプログラムの実行を停止されなくても、アクセス許可部１１７によって資源へのアクセスができなくなっている為、わざわざプログラムの実行を停止させる積極的理由がなければ、特にプログラムを停止させる必要性は低い為、例えば、プログラムの実行を停止させる理由がないシステムにおいては、プログラムの実行を停止させない仕様であっても問題はない。
（６）許可情報書換部１１５は、資源アクセス情報を許可情報保持部１１３に追加する場合、資源アクセス情報に対応するプログラムに、許可情報を通知するとしたが、許可情報を通知しない構成であっても構わない。
【０１８０】
例えば、プログラムが、許可情報を通知されなくても、アドレス変換テーブル１１８に対応するアドレス変換テーブル構成要素が追加されると、資源へのアクセスを開始するようなプログラムであれば、許可情報を通知する必要がない。
（７）許可情報書換部１１５は、資源アクセス情報を許可情報保持部１１３から削除する場合、資源アクセス情報に対応するプログラムに、削除情報を通知するとしたが、削除情報を通知しない構成であっても構わない。
【０１８１】
許可情報書換部１１５は、プログラムに削除情報を通知することなく、従って、中断処理を実行することなくアクセス処理ルーチンを停止させる構成であっても、例えば、停止したアクセス処理ルーチンを再開する場合に、アクセス処理ルーチンを最初から実行させるという構成であれば、削除情報を通知する必要がない。
（８）プログラムは資源アクセス処理ルーチンを終了すると、許可情報書換部１１５に実行終了の旨を通知するとしたが、許可情報書換部１１５に実行終了の旨を通知しない構成であっても、例えば、ＯＳが、資源アクセス処理ルーチンが終了すると、資源アクセス処理ルーチンが終了した旨を知ることができるようになっていれば、ＯＳが、許可情報書換部１１５に、資源アクセス処理ルーチンが終了した旨を通知するという構成しても構わない。
（９）アクセス制限情報は、予めポリシィ保持部１１２の一部として組み込まれている情報であるとしたが、これ以外の構成、例えば、ポリシィ保持部１１２で保持するアクセス制御情報を、外部のユーザが書き換えることができる不揮発性メモリ等で記憶させている等の構成にすることで、ユーザによってアクセス制限情報を設定することができる構成であっても構わない。
【０１８２】
このような構成にすることで、アクセス制限情報に不都合が生じた場合でも、ユーザによってアクセス制限情報を更新することができるようになる。
（１０）開始論理アドレスは、許可情報書換部１１５、もしくは、許可情報追加部１１６が、資源アクセス情報を基にして作成するとしたが、これ以外の構成、例えば、ポリシィ情報が、プログラムと、優先度と、資源と、アクセス方法とに加えて、開始論理アドレスを対応付けた情報であるとしておいて、許可情報書換部１１５、もしくは、許可情報追加部１１６が、このポリシィ保持部１１２の保持するポリシィ情報を参照することで、論理開始アドレスを作成するとしても構わない。
（１１）なお、プログラム群１０１を構成するプログラムは、削除情報を通知されると、プログラムを終了する為の後処理をして、プログラムを終了するとしたが、実行中の資源アクセスルーチンを停止し、停止した資源アクセス処理ルーチンを再開できるように、停止時点で資源アクセスルーチンが使用しているレジスタの情報等を、メモリやハードディスク等に退避させるという退避処理をするとしてもよい。
【０１８３】
さらに、許可情報追加部１１６が、許可情報保持部１１３に資源アクセス情報を追加する場合であって、追加する資源アクセス情報に対応する開始論理アドレスが、待機情報保持部１１４に保持されているとき、資源アクセス情報に対応するプログラムに、再許可情報を通知し、プログラムは、再許可情報を通知されると、退避処理でメモリやハードディスク等に退避させていた情報を読み込んで、停止していた資源アクセス処理ルーチンを再開させるとしてもよい。
【０１８４】
このようにすることで、プログラムは、削除情報を通知されて資源アクセス処理ルーチンを停止させても、再許可情報を通知されると、停止させた時点から資源アクセス処理ルーチンを再開させることができる為、停止させた時点までに行った処理を無駄にすることなく、資源アクセス処理ルーチンを実行することができるようになる。
（１２）また、アクセス制御装置に相当するＯＳの一部のプログラムを、コンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、ＣＤ―ＲＯＭ、ＭＯ、ＤＶＤ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＢＤ（Ｂｌｕ−ｒａｙ  Ｄｉｓｃ）、半導体メモリなどに記録したり、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク等を経由して伝送してもよい。
【０１８５】
このようにすることで、アクセス制御装置に相当するＯＳの一部のプログラムを、コンピュータシステムにインストールして、実施形態で示したアクセス制御装置として機能させることができる。
【産業上の利用可能性】
【０１８６】
本発明は、コンピュータシステム分野、コンピュータシステムを用いた情報機器や家電機器等の分野等に広く利用することができる。
【符号の説明】
【０１８７】
１００  アクセス制御装置
１０１  プログラム群
１０２  資源
１０３  認証局
１１１  要求受付部
１１２  ポリシィ保持部
１１３  許可情報保持部
１１４  待機情報保持部
１１５  許可情報書換部
１１６  許可情報追加部
１１７  アクセス許可部
１１８  アドレステーブル変換部
１２１  保護メモリ
１２２  共用メモリ
１２３  暗号エンジン
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
資源の利用要求を出した後において当該資源へのアクセスを行う複数のプログラムによる資源へのアクセスを制御するアクセス制御装置であって、
プログラムから資源を利用する要求を受け付ける要求受付部と、
プログラム情報を含む資源アクセス情報を保持する情報保持部と、
前記情報保持部が保持している資源アクセス情報に含まれるプログラム情報が示すプログラムからのアクセスに限って、対応する資源へのアクセスを許可するアクセス許可部と、
前記情報保持部が、第１のプログラムを示す第１のプログラム情報を含む第１の資源アクセス情報を保持する場合において、前記要求受付部が、第２のプログラムから資源を利用する要求を受け付けたとき、前記第２のプログラムについて予め定められている優先度の方が、前記第１のプログラムについて予め定められている優先度よりも高ければ、前記第１の資源アクセス情報を前記情報保持部から削除して、前記第２のプログラムを示す第２のプログラム情報を含む第２の資源アクセス情報を前記情報保持部に追加する情報書換部とを備え、
前記資源アクセス情報は、前記プログラム情報と、プログラムが資源にアクセスする方法を示す方式情報とを対応付けた情報であって、
前記情報書換部は、前記情報保持部からの前記第１の資源アクセス情報の削除と、前記情報保持部への前記第２の資源アクセス情報の追加とを、前記第１の資源アクセス情報に含まれる方式情報と、前記第２の資源アクセス情報に含まれる方式情報とに基づいて、実行することを特徴とする
アクセス制御装置。
【請求項２】
前記資源アクセス情報は、前記プログラム情報と、前記方式情報と、前記プログラム情報が示すプログラムがアクセスする資源を示す資源情報とを対応付けた情報であって、
前記情報書換部は、前記情報保持部が、第１の資源を示す第１の資源情報と第１のプログラムを示す第１のプログラム情報とを対応付けた第１の資源アクセス情報を保持する場合において、前記要求受付部が、第２のプログラムから、前記第１の資源の少なくとも一部の資源を含む第２の資源を利用する要求を受け付けたとき、前記第２のプログラムについて予め定められている優先度の方が、前記第１のプログラムについて予め定められている優先度よりも高ければ、前記第１の資源アクセス情報を前記情報保持部から削除して、前記第２の資源を示す第２の資源情報と前記第２のプログラムを示す第２のプログラム情報とを対応付けたものである第２の資源アクセス情報を前記情報保持部に追加する情報書換部であることを特徴とする
請求項１記載のアクセス制御装置。
【請求項３】
前記情報書換部は、前記資源アクセス情報を前記情報保持部から削除する場合、削除する資源アクセス情報に含まれるプログラム情報が示すプログラムに対して、対応する資源へのアクセスの許可を取り消す旨の通知をすることを特徴とする
請求項２記載のアクセス制御装置。
【請求項４】
前記資源アクセス情報を保持する待機情報保持部とをさらに備え、
前記情報書換部は、
前記第２の資源アクセス情報を前記情報保持部に追加するとき、前記第１の資源アクセス情報を前記待機情報保持部に追加し、
前記情報保持部が、前記第１の資源アクセス情報を保持する場合において、前記要求受付部が、前記第２のプログラムから、前記第１の資源の少なくとも一部の資源を含む前記第２の資源を利用する要求を受け付けたとき、前記第２のプログラムについて予め定められている優先度の方が、前記第１のプログラムについて予め定められている優先度よりも高くなければ、前記第２の資源アクセス情報を前記待機情報保持部に追加することを特徴とする
請求項３記載のアクセス制御装置。
【請求項５】
前記情報書換部は、
前記要求受付部が、第３のプログラムから第３の資源を利用する要求を受け付けた場合において、前記第３の資源が、前記情報保持部の保持する全ての資源アクセス情報に含まれる資源情報が示す資源を含まないとき、前記第３の資源を示す資源情報と前記第３のプログラムを示すプログラム情報とを対応付けたものである第３の資源アクセス情報を前記情報保持部に追加し、
前記情報保持部が、前記第３の資源アクセス情報を保持する場合において、前記第３のプログラムが実行を終了したとき、前記第３の資源アクセス情報を前記情報保持部から削除することを特徴とする
請求項４記載のアクセス制御装置。
【請求項６】
前記情報保持部から前記資源アクセス情報が削除された場合において、
前記待機情報保持部が保持する資源アクセス情報の中に、対応する資源情報が、前記情報保持部の保持する全ての資源アクセス情報に含まれる資源情報が示す資源を含まない許可可能資源アクセス情報があるとき、前記許可可能資源アクセス情報のうち、対応するプログラム情報が示すプログラムについて予め定められている優先度が最も高い許可可能資源アクセス情報を、前記待機情報保持部から削除して前記情報保持部に追加する情報追加部とをさらに備えることを特徴とする
請求項５記載のアクセス制御装置。
【請求項７】
前記情報追加部は、前記資源アクセス情報を前記情報保持部に追加する場合、前記追加する資源アクセス情報に含まれるプログラム情報が示すプログラムに、対応する資源へのアクセスを許可する旨の通知をすることを特徴とする
請求項６記載のアクセス制御装置。
【請求項８】
前記方式情報は、プログラムが資源にアクセスする方式が、他のプログラムからのアクセスを許容する共有方式か他のプログラムからのアクセスを許容しない占有方式かのいずれか一方のアクセス方式を示す情報であって、
前記情報書換部は、前記情報保持部からの前記第１の資源アクセス情報の削除と、前記情報保持部への前記第２の資源アクセス情報の追加とを、
前記第１の資源に対応する方式情報と、前記第２の資源に対応する方式情報とのうち、少なくとも１つの方式情報が前記占有方式を示しているという条件をさらに満たす場合に限って実行することを特徴とする
請求項４記載のアクセス制御装置。
【請求項９】
前記情報追加部は、前記情報保持部から資源アクセス情報が削除された場合において、
前記待機情報保持部が前記許可可能資源アクセス情報を保持するとき、
もしくは、前記待機情報保持部が保持する資源アクセス情報のうち、方式情報が前記共有方式を示し、対応する資源が、前記情報保持部が保持する資源アクセス情報のうち、方式情報が前記占有方式を示す資源アクセス情報に対応する資源を含まない許可可能共有資源アクセス情報があるとき、前記許可可能資源アクセス情報、及び、前記許可可能共有資源アクセス情報のうち、対応する前記プログラム情報が示すプログラムについて予め定められている優先度が最も高い資源アクセス情報を、前記待機情報保持部から削除して前記情報保持部に追加することを特徴とする
請求項８記載のアクセス制御装置。
【請求項１０】
特定のプログラム、特定の資源、特定の優先度、及びこれらの組み合わせが正当であると認証する証明書を受信し、前記特定の資源を示す正当資源情報と、前記特定のプログラムを示す正当プログラム情報と、前記特定の優先度を示す正当優先度情報とを対応付けたものであるポリシィ情報を保持するポリシィ保持部とを備え、
前記要求受付部は、プログラムからの資源の利用要求が、前記ポリシィ保持部が保持しているポリシィ情報に含まれる正当プログラム情報の示すプログラムからの対応する正当資源情報の示す資源の利用要求であるという条件を満たさない場合に、プログラムから資源の利用要求の受け付を拒絶し、
前記第１のプログラムについて予め定められている優先度とは、前記ポリシィ保持部が保持している前記ポリシィ情報の前記第１のプログラムが前記第１の資源にアクセスする際の前記優先度情報が示す優先度であって、
前記第２のプログラムについて予め定められている優先度とは、前記ポリシィ保持部が保持している前記ポリシィ情報の前記第２のプログラムが前記第２の資源にアクセスする際の前記優先度情報が示す優先度であることを特徴とする
請求項９記載のアクセス制御装置。
【請求項１１】
前記要求受付部は、前記情報保持部に前記資源アクセス情報が追加された場合に限って、当該追加された資源アクセス情報に含まれるプログラム情報が示すプログラムへ、対応する資源へのアクセスに用いる論理アドレスを提供することを特徴とする
請求項１０記載のアクセス制御装置。
【請求項１２】
前記アクセス許可部は、前記情報保持部が保持している資源アクセス情報に含まれるプログラム情報が示すプログラムからのアクセスに限って、対応する資源へのアクセスを許可するか否かの判定を、プログラムにおける資源の読み書きに係る命令をデコードする際に行い、否定的な判定の場合に、エラー処理を実行することを特徴とする
請求項１記載のアクセス制御装置。
【請求項１３】
コンピュータに、資源の利用要求を出した後において当該資源へのアクセスを行う複数のアプリケーションプログラムによる資源へのアクセスを制御するアクセス制御装置として機能させる為のアクセス制御プログラムであって、
コンピュータに、
アプリケーションプログラムから資源を利用する要求を受け付ける要求受付部と、
アプリケーションプログラム情報を含む資源アクセス情報を保持する情報保持部と、
前記情報保持部が保持している資源アクセス情報に含まれるプログラム情報が示すアプリケーションプログラムからのアクセスに限って、対応する資源へのアクセスを許可するアクセス許可部と、
前記情報保持部が、第１のアプリケーションプログラムを示す第１のプログラム情報を含む第１の資源アクセス情報を保持する場合において、前記要求受付部が、第２のアプリケーションプログラムから資源を利用する要求を受け付けたとき、前記第２のアプリケーションプログラムについて予め定められている優先度の方が、前記第１のアプリケーションプログラムについて予め定められている優先度よりも高ければ、前記第１の資源アクセス情報を前記情報保持部から削除して、前記第２のアプリケーションプログラムを示す第２のプログラム情報を含む第２の資源アクセス情報を前記情報保持部に追加する情報書換部とを備え、
前記資源アクセス情報は、前記プログラム情報と、プログラムが資源にアクセスする方法を示す方式情報とを対応付けた情報であって、
前記情報書換部は、前記情報保持部からの前記第１の資源アクセス情報の削除と、前記情報保持部への前記第２の資源アクセス情報の追加とを、前記第１の資源アクセス情報に含まれる方式情報と、前記第２の資源アクセス情報に含まれる方式情報とに基づいて、実行することを特徴とするアクセス制御装置として機能させることを特徴とする
アクセス制御プログラム。
【請求項１４】
プログラム情報を含む資源アクセス情報を保持する情報保持部と、要求受付部と、アクセス許可部と、情報書換部とを備えるアクセス制御装置に、資源の利用要求を出した後において当該資源へのアクセスを行う複数のプログラムによる資源へのアクセスを制御させる為のアクセス制御方法であって、
前記要求受付部が、プログラムから資源を利用する要求を受け付ける要求受付ステップと、
前記アクセス許可部が、前記情報保持部が保持している前記資源アクセス情報に含まれるプログラム情報が示すプログラムからのアクセスに限って、対応する資源へのアクセスを許可するアクセス許可ステップと
前記情報保持部が、第１のプログラムを示す第１のプログラム情報を含む第１の資源アクセス情報を保持する場合において、前記要求受付ステップが、第２のプログラムから資源を利用する要求を受け付けたとき、前記第２のプログラムについて予め定められている優先度の方が、前記第１のプログラムについて予め定められている優先度よりも高ければ、前記情報書換部が、前記第１の資源アクセス情報を前記情報保持部から削除して、前記第２のプログラムを示す第２のプログラム情報を含む第２の資源アクセス情報を前記情報保持部に追加する許可情報書換ステップとを備え、
前記資源アクセス情報は、前記プログラム情報と、プログラムが資源にアクセスする方法を示す方式情報とを対応付けた情報であって、
前記情報書換ステップは、前記情報保持部からの前記第１の資源アクセス情報の削除と、前記情報保持部への前記第２の資源アクセス情報の追加とを、前記第１の資源アクセス情報に含まれる方式情報と、前記第２の資源アクセス情報に含まれる方式情報とに基づいて、実行することを特徴とする
アクセス制御方法。
【手続補正３】
【補正対象書類名】図面
【補正対象項目名】全図
【補正方法】変更
【補正の内容】
【図１】
2009157136.tif 000021
【図２】
2009157136.tif 000022
【図３】
2009157136.tif 000023
【図４】
2009157136.tif 000024
【図５】
2009157136.tif 000025
【図６】
2009157136.tif 000026
【図７】
2009157136.tif 000027
【図８】
2009157136.tif 000028
【図９】
2009157136.tif 000029
【図１０】
2009157136.tif 000030
【図１１】
2009157136.tif 000031
【図１２】
2009157136.tif 000032
【図１３】
2009157136.tif 000033
【図１４】
2009157136.tif 000034
【図１５】
2009157136.tif 000035
【図１６】
2009157136.tif 000036
【図１７】
2009157136.tif 000037
【図１８】
2009157136.tif 000038
【国際調査報告】
2009157136.tif 000039
2009157136.tif 000040