(57)【要約】【課題】容易な設定でリソースに対するアクセスを制限できる。【解決手段】利用者からの処理の実行要求と、当該処理を行う際の動作情報と、の入力を受け付けるユーザインターフェース層と、入力された実行要求に従って処理を行う複数個のアプリケーションを含むアプリケーション層と、複数個のアプリケーションが共通して使用する複数のリソースと、アプリケーションから複数のリソースのうちの任意のリソースに対して、入力された動作情報で処理を要求する場合に、任意のリソースにおいて動作情報を、利用者が使用する権限を有しているか否か判断する権限判断部と、利用者が使用する権限を有していると判断された場合に当該リソースを動作情報で制御する下層アプリケーションを含むアプリケーション共有サービス層と、を備える。【選択図】        図１
2008233947.tif 000002
【特許請求の範囲】
【請求項１】
利用者から、処理の実行要求と、当該処理を行う際の動作設定と、の入力を受け付ける入力受付部と、
利用者からの入力された処理の実行要求に従って処理を行う複数個のアプリケーションと、
前記複数個のアプリケーションが共通して使用する複数のリソースと、
前記アプリケーションから、前記複数のリソースのうちの任意のリソースに対して、入力された前記動作設定で処理を要求する場合に、前記任意のリソースにおいて前記動作設定を、前記動作設定を入力した利用者が使用する権限を有しているか否か判断するリソース権限判断部と、
前記リソース権限判断部で利用者が使用する権限を有していると判断された場合に、当該任意のリソースを、前記動作設定で制御するリソース制御アプリケーションと、
を備えることを特徴とする情報処理装置。
【請求項２】
前記アプリケーションが、入力された前記動作設定で処理を実行する場合に、当該アプリケーションにおいて前記動作設定を、前記動作設定を入力した利用者が使用する権限を有しているか否か判断するアプリケーション権限判断部を、さらに備え、
前記アプリケーションは、前記アプリケーション権限判断部で利用者が使用する権限を有していると判断された場合に、前記リソース制御アプリケーションに対して前記動作設定による処理を要求すること、
を特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記アプリケーションは、前記アプリケーション権限判断部で利用者が使用する権限を有していると判断された場合に、さらに前記動作設定を、前記リソースが処理可能な設定に変更すること、
を特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記アプリケーション権限判断部は、利用者が使用する権限を有しているか否かを判断する必要があるアプリケーション毎に格納されていること、
を特徴とする請求項２又は３に記載の情報処理装置。
【請求項５】
前記リソース権限判断部は、当該リソースの制御を行う前記リソース制御アプリケーション毎に含まれていること、
を特徴とする請求項１に記載の情報処理装置。
【請求項６】
前記複数のアプリケーションから共通して使用される機能を有する中間ソフトウェアと、
前記アプリケーションから、前記中間ソフトウェアに対して、入力された前記動作設定で処理を要求する場合に、前記中間ソフトウェアにおいて前記動作設定を、前記動作設定を入力した利用者が使用する権限を有しているか否か判断する中間ソフトウェア権限判断部と、をさらに備え、
前記中間ソフトウェアは、前記中間ソフトウェア権限判断部で利用者が使用する権限を有していると判断された場合に、前記リソース制御アプリケーションに対して前記動作設定による処理を要求すること、
を特徴とする請求項１乃至５のいずれか一つに記載の情報処理装置。
【請求項７】
利用者を識別する利用者情報毎にテーブルを設けて、当該テーブルにおいて、前記リソースが実行可能な動作設定毎に、当該動作設定を使用する権限を有しているか否かを保持するリソース権限設定情報をさらに備え、
前記リソース権限判断部は、前記リソース権限設定情報に基づいて、利用者に入力された前記動作設定を、当該利用者が使用する権限を有しているか否か判断すること、
を特徴とする請求項１に記載の情報処理装置。
【請求項８】
ネットワークを介して接続されている情報処理装置に対して利用者を識別する利用者情報と、利用者に入力された動作設定と、前記リソースを識別する情報と、を送信する送信処理部と、
前記情報処理装置から利用者が使用する権限を有しているか否かを示す権限情報を受信する受信処理部と、
前記リソース権限判断部は、受信した前記権限情報に基づいて、利用者が使用する権限を有しているか否か判断すること、
を特徴とする請求項１乃至７のいずれか一つに記載の情報処理装置。
【請求項９】
利用者からの入力された処理の実行要求に従って処理を行う複数個のアプリケーションと、前記複数個のアプリケーションが共通して使用する複数のリソースと、を備えるコンピュータにおける情報処理プログラムであって、
利用者から、処理の実行要求と、当該処理を行う際の動作設定と、の入力を受け付ける入力受付ステップと、
前記アプリケーションから、前記複数のリソースのうちの任意のリソースに対して、入力された前記動作設定で処理を要求する場合に、前記任意のリソースにおいて前記動作設定を、前記動作設定を入力した利用者が使用する権限を有しているか否か判断するリソース権限判断ステップと、
前記リソース権限判断部で利用者が使用する権限を有していると判断された場合に、当該任意のリソースを、前記動作設定で制御するリソース制御ステップと、
をコンピュータに実行させる情報処理プログラム。
【請求項１０】
前記アプリケーションが、入力された前記動作設定で処理を実行する場合に、当該アプリケーションにおいて前記動作設定を、前記動作設定を入力した利用者が使用する権限を有しているか否か判断するアプリケーション権限判断ステップを、さらに実行させること、
を特徴とする請求項９に記載の情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数個のアプリケーションが使用するリソースの制御を行う情報処理装置及び情報処理プログラムに関するものである。
【背景技術】
【０００２】
近年、コンピュータ技術の向上に伴い、様々な機能を一つの装置に格納する傾向にある。このような装置の例として複合機がある。この複合機は、従来筐体で配設されていたプリンタ、コピー、ファクシミリの機能を一つの筐体内に格納している。
【０００３】
複合機は、１つの筐体内に表示部、印刷部および撮像部などを設けるとともに、プンタ、コピーおよびファクリミリ装置にそれぞれ対応する３種類のソフトウェアを備え、これらソフトウェアの切り替えにより、プリンタ、コピーまたはファクリミリ装置として動作している。
【０００４】
このような複数の機能を有する複合機では、複数の利用者に共通して使用される傾向が多い。しかしながら、複合機に搭載されている全ての機能を、全ての利用者に対して提供することが好ましくない場合もある。
【０００５】
そこで、現在では、利用者毎に異なる動作環境を提供する技術が提案されている（例えば、特許文献１）。この特許文献１では、装置を使用する利用者毎に動作環境の各項目に対するアクセス権を設定し、当該動作環境に従ってアプリケーションを実行している。これにより、利用者毎に異なる最適な動作環境を提供することを可能としている。
【０００６】
【特許文献１】特開２００５−１７５５３０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１に記載された技術は、各アプリケーションの動作毎に項目を設定しているので、例えばプリント又はコピーにかかわらず利用者に対してフルカラーによる出力を抑止したい場合等に、全てのアプリケーションに対して設定を行う必要があるため、設定が煩雑になるという問題がある。
【０００８】
本発明は、上記に鑑みてなされたものであって、容易な設定でアプリケーションが使用するリソースに対するアクセスを制御する情報処理装置及び情報処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
上述した課題を解決し、目的を達成するために、請求項１にかかる発明は、利用者から、処理の実行要求と、当該処理を行う際の動作設定と、の入力を受け付ける入力受付部と、利用者からの入力された処理の実行要求に従って処理を行う複数個のアプリケーションと、前記複数個のアプリケーションが共通して使用する複数のリソースと、前記アプリケーションから、前記複数のリソースのうちの任意のリソースに対して、入力された前記動作設定で処理を要求する場合に、前記任意のリソースにおいて前記動作設定を、前記動作設定を入力した利用者が使用する権限を有しているか否か判断するリソース権限判断部と、前記リソース権限判断部で利用者が使用する権限を有していると判断された場合に、当該任意のリソースを、前記動作設定で制御するリソース制御アプリケーションと、を備えることを特徴とする。
【００１０】
また、請求項２にかかる発明は、請求項１にかかる発明において、前記アプリケーションが、入力された前記動作設定で処理を実行する場合に、当該アプリケーションにおいて前記動作設定を、前記動作設定を入力した利用者が使用する権限を有しているか否か判断するアプリケーション権限判断部を、さらに備え、前記アプリケーションは、前記アプリケーション権限判断部で利用者が使用する権限を有していると判断された場合に、前記リソース制御アプリケーションに対して前記動作設定による処理を要求すること、を特徴とする。
【００１１】
また、請求項３にかかる発明は、請求項２にかかる発明において、前記アプリケーションは、前記アプリケーション権限判断部で利用者が使用する権限を有していると判断された場合に、さらに前記動作設定を、前記リソースが処理可能な設定に変更すること、を特徴とする。
【００１２】
また、請求項４にかかる発明は、請求項２又は３にかかる発明において、前記アプリケーション権限判断部は、利用者が使用する権限を有しているか否かを判断する必要があるアプリケーション毎に格納されていること、を特徴とする。
【００１３】
また、請求項５にかかる発明は、請求項１にかかる発明において、前記リソース権限判断部は、当該リソースの制御を行う前記リソース制御アプリケーション毎に含まれていること、を特徴とする。
【００１４】
また、請求項６にかかる発明は、請求項１乃至５のいずれか一つにかかる発明において、前記複数のアプリケーションから共通して使用される機能を有する中間ソフトウェアと、前記アプリケーションから、前記中間ソフトウェアに対して、入力された前記動作設定で処理を要求する場合に、前記中間ソフトウェアにおいて前記動作設定を、前記動作設定を入力した利用者が使用する権限を有しているか否か判断する中間ソフトウェア権限判断部と、をさらに備え、前記中間ソフトウェアは、前記中間ソフトウェア権限判断部で利用者が使用する権限を有していると判断された場合に、前記リソース制御アプリケーションに対して前記動作設定による処理を要求すること、を特徴とする。
【００１５】
また、請求項７にかかる発明は、請求項１にかかる発明において、利用者を識別する利用者情報毎にテーブルを設けて、当該テーブルにおいて、前記リソースが実行可能な動作設定毎に、当該動作設定を使用する権限を有しているか否かを保持するリソース権限設定情報をさらに備え、前記リソース権限判断部は、前記リソース権限設定情報に基づいて、利用者に入力された前記動作設定を、当該利用者が使用する権限を有しているか否か判断すること、を特徴とする。
【００１６】
また、請求項８にかかる発明は、請求項１乃至７のいずれか一つにかかる発明において、ネットワークを介して接続されている情報処理装置に対して利用者を識別する利用者情報と、利用者に入力された動作設定と、前記リソースを識別する情報と、を送信する送信処理部と、前記情報処理装置から利用者が使用する権限を有しているか否かを示す権限情報を受信する受信処理部と、前記リソース権限判断部は、受信した前記権限情報に基づいて、利用者が使用する権限を有しているか否か判断すること、を特徴とする。
【００１７】
また、請求項９にかかる発明は、利用者からの入力された処理の実行要求に従って処理を行う複数個のアプリケーションと、前記複数個のアプリケーションが共通して使用する複数のリソースと、を備えるコンピュータにおける情報処理プログラムであって、利用者から、処理の実行要求と、当該処理を行う際の動作設定と、の入力を受け付ける入力受付ステップと、前記アプリケーションから、前記複数のリソースのうちの任意のリソースに対して、入力された前記動作設定で処理を要求する場合に、前記任意のリソースにおいて前記動作設定を、前記動作設定を入力した利用者が使用する権限を有しているか否か判断するリソース権限判断ステップと、前記リソース権限判断部で利用者が使用する権限を有していると判断された場合に、当該任意のリソースを、前記動作設定で制御するリソース制御ステップと、をコンピュータに実行させる。
【００１８】
また、請求項１０にかかる発明は、請求項９にかかる発明において、前記アプリケーションが、入力された前記動作設定で処理を実行する場合に、当該アプリケーションにおいて前記動作設定を、前記動作設定を入力した利用者が使用する権限を有しているか否か判断するアプリケーション権限判断ステップを、さらに実行させること、を特徴とする。
【発明の効果】
【００１９】
請求項１にかかる発明によれば、アプリケーション毎に設定を行わずに、容易な設定でリソースに対するアクセスを制限できるという効果を奏する。
【００２０】
また、請求項２〜４にかかる発明によれば、リソースとアプリケーションと使用する権限を有するか否か判断するので、情報処理装置が備える各構成の粒度に応じたアクセス制御ができるという効果を奏する。
【００２１】
また、請求項５にかかる発明によれば、リソース制御アプリケーションを交換することで、リソースに対するアクセス制御に関する設定項目を容易に変更することができるという効果を奏する。
【００２２】
また、請求項６にかかる発明によれば、リソースとアプリケーションと使用する権限を有するか否か判断するので、情報処理装置が備える各構成の粒度に応じたアクセス制御ができるという効果を奏する。
【００２３】
また、請求項７にかかる発明によれば、利用者の追加又は削除時の設定変更を、１つのテーブルの追加又は削除で対応できるので、作業負担が軽減するという効果を奏する。
【００２４】
また、請求項８にかかる発明によれば、情報処理装置毎に、使用する権限を設定する作業負担を軽減することができるという効果を奏する。
【００２５】
また、請求項９にかかる発明によれば、アプリケーション毎に設定を行わずに、容易な設定でリソースに対するアクセスを制限できるという効果を奏する。
【００２６】
また、請求項１０にかかる発明によれば、リソースとアプリケーションと使用する権限を有するか否か判断するので、情報処理装置が備える各構成の粒度に応じたアクセス制御ができるという効果を奏する。
【発明を実施するための最良の形態】
【００２７】
以下に添付図面を参照して、この発明にかかる情報処理装置及び情報処理プログラムの最良な実施の形態を詳細に説明する。
【００２８】
本発明の一実施の形態として、情報処理装置であってコピー機能、ファクシミリ（ＦＡＸ）機能、プリント機能、スキャナ機能及び入力画像（スキャナ機能による読み取り原稿画像やプリンタあるいはＦＡＸ機能により入力された画像）を配信する機能等を複合したいわゆるＭＦＰ（Multi Function Peripheral）と称される複合機１００に適用した例を示す。また、本実施の形態かかる構成は、ＭＦＰ以外の画像情報処理装置に対して適用しても良い。
【００２９】
（第１の実施の形態）
図１は、第１の実施の形態にかかる複合機１００の構成を示すブロック図である。本図に示すように複合機１００の内部は、ユーザインターフェース層１０１と、アプリケーションコントロール層１０２と、アプリケーション層１０３と、アプリケーション共有サービス層１０４と、共有メカニズム１０５と、ＯＳ１０６と、スキャナユニット１０７、プロッタユニット１０８、白黒ラインプリンタ又はファクシミリ等のその他のハードウェアリソース１０９を備えている。
【００３０】
本実施の形態にかかる複合機１００は、このような階層構造で処理を行うこととした。これは、従来の複合機では、各アプリケーションの共通するＡＰＩをサービス層で共有化を実現しただけで、切り分けが機能拡張を前提としたものでは無かった。このため、従来の複合機では、既存リソースを再利用して，既存アプリケーションの開発効率を向上させることには成功したが、新機能又は新たなソリューションへの対応では開発工数を削減することができないという問題が生じていた。
【００３１】
なお、このような問題は、複合機に限らず、画像処理を行うアプリケーションを複数搭載可能とした画像情報処理装置に共通の問題である。
【００３２】
そこで、複合機１００では、上述した階層構造で役割分担を明確にしたので、新機能の追加や新たなソリューションへの対応が可能となった。次に、複合機１００の各構成について説明する。
【００３３】
また、ユーザインターフェース層１０１と、アプリケーションコントロール層１０２と、アプリケーション共有サービス層１０４と、共有メカニズム１０５と、をフレームワーク部１５０とする。
【００３４】
ユーザインターフェース層１０１は、図示しない表示部にデータの表示処理や、利用者による入力操作の受付処理を行う。また、ユーザインターフェース層１０１は、入力操作で受け付けた情報をアプリケーションコントロール層１０２若しくはアプリケーション層１０３に出力する、又はアプリケーションコントロール層１０２若しくはアプリケーション層１０３から入力された情報を表示部に表示する。
【００３５】
また、ユーザインターフェース層１０１は、利用者から、複合機１００が備える機能による処理の実行要求と、当該処理を行う際の動作情報との入力を受け付ける。この動作情報は、デバイス等が処理を行うために用いられる動作設定となる。そして、ユーザインターフェース層１０１は、処理の要求を受け付けた場合に、当該処理を行うアプリケーションに対して、当該処理の実行要求と、動作情報と、処理の要求を行った利用者を識別するユーザ名と、を出力する。
【００３６】
アプリケーション層１０３は、プリンタ、コピー、送信などの複合機１００が備える機能を実行するソフトウェアを格納する。アプリケーション層１０３は、コピー用アプリケーションであるコピーアプリ１１１と、ページ記述言語（ＰＤＬ，ＰＣＬ）およびポストスクリプト（ＰＳ）を有するプリンタ用のアプリケーションであるプリンタアプリ１１２と、各アプリケーションが処理に必要なリソースを特定する対応リソース管理テーブル１１３とを有している。
【００３７】
本実施の形態にかかる複合機１００では、リソースを、当該複合機１００が備えるハードウェアデバイスとする。そして、各アプリケーションが特定されたリソースを使用する場合、当該リソースを制御する下層アプリケーションに対して処理を要求することになる。
【００３８】
図２は、対応リソース管理テーブル１１３のテーブル構造を示した図である。図２に示すように、対応リソース管理テーブル１１３は、アプリケーション層１０３のアプリケーションと、アプリケーション共有サービス層１０４のリソースとを対応付けて保持している。これにより、アプリケーションが処理を実行するために必要なリソースを特定することができる。
【００３９】
また、アプリケーション層１０３のアプリケーション（例えば、コピーアプリ１１１や、プリンタアプリ１１２）は、ユーザインターフェース層１０１から、当該処理の実行要求と、動作情報と、処理の要求を行った利用者を識別するユーザ名と、が入力された場合に、当該処理に対応するジョブの生成を、アプリケーションコントロール層１０２に対して要求する。これにより、アプリケーションコントロール層１０２は、各アプリケーションに対して要求された処理に相当するジョブを一括して管理する。
【００４０】
アプリケーションコントロール層１０２は、アプリケーション層１０３に含まれる各アプリケーションをコントロールする。例えば、アプリケーションコントロール層１０２は、各アプリケーションの要求に応じて生成されたジョブを用いて、ジョブスケジューリングを行う。
【００４１】
そして、アプリケーションコントロール層１０２は、当該スケジューリングされているジョブに応じて、各アプリケーションを実行する指示を行う。この際、アプリケーションコントロール層１０２は、処理を行うアプリケーション名と、動作情報と、ユーザ名とを、アプリケーション層１０３に対して出力する。
【００４２】
つまり、アプリケーションコントロール層１０２は、従来はアプリケーションが保持していたジョブを一括管理することで、従来の複合機のように全てのアプリケーションに対して行っていた、各アプリケーションが保持しているジョブの廃棄や、ジョブによる処理の停止、又はジョブの受付停止等の指示が必要なくなり、各アプリケーションと、フレームワーク部１５０との間の依存性が低減している。これによりアプリケーションの追加及び削除が容易になった。
【００４３】
アプリケーション共有サービス層１０４は、スキャナユニット１０７を制御するスキャナアプリ１２１、プロッタユニット１０８を制御するプロッタアプリ１２４を備えている。つまり、アプリケーション共有サービス層１０４は、複合機１００のアプリケーション層１０３の各アプリケーションが共有するリソースとして、各デバイスを制御するプログラムを一括管理する。
【００４４】
このように、アプリケーション共有サービス層１０４は、従来はアプリケーションが保持していたリソースを制御する機能を、アプリケーションに拘わらず共有することとしている。これにより、ハードウェアリソースに対して修正が必要になった場合に、アプリケーション層１０３の各アプリケーションに対して修正を行う必要が無く、各アプリケーションと、フレームワーク部１５０との間の依存性が低減している。
【００４５】
スキャナアプリ１２１は、スキャナ権限判断部１２２を備え、複合機１００が備えたスキャナユニット１０７を制御する下層アプリケーションであり、アプリケーション層１０３の各アプリケーションからの指示に従い、スキャナユニット１０７を制御する。
【００４６】
スキャナ権限判断部１２２は、スキャナ権限設定テーブル１２３を備え、アプリケーション層１０３の各アプリケーションからスキャナユニット１０７の使用要求を受け付けた場合に、スキャナユニット１０７を利用する権限を有しているか否か判断する。そして、スキャナアプリ１２１は、スキャナ権限設定テーブル１２３が権限を有していると判断した場合に、スキャナユニット１０７を制御する。
【００４７】
図３は、スキャナ権限設定テーブル１２３のテーブル構造の例を示した図である。図３に示すように、スキャナ権限設定テーブル１２３は、各主体情報（例えば、利用者のユーザＩＤ又は利用者毎に設定された役割）に対して、スキャナユニット１０７を実行する際の動作情報毎に権限を有しているか否かを保持している。なお、図３において、“○”が実行する権限を有していることを示し、“×”が実行する権限を有していないことを示している。
【００４８】
そして、アプリケーション層１０３の各アプリケーションがスキャナユニット１０７を使用する際に、各アプリケーションがスキャナアプリ１２１に対して出力する実行要求に主体情報及び動作情報が含まれているので、実行する権限を有しているか否か判断することができる。
【００４９】
プロッタアプリ１２４は、プロッタ権限判断部１２５を備え、複合機１００が備えたプロッタユニット１０８を制御する下層アプリケーションであり、アプリケーション層１０３の各アプリケーションからの指示に従い、プロッタユニット１０８を制御する。なお、プロッタ権限判断部１２５は、スキャナ権限判断部１２２と同様の手順で権限を有しているか否か判断を行うこととして説明を省略する。
【００５０】
共有メカニズム１０５は、複合機１００の電源投入時に最初に実行され、後述するＯＳ１０６や、ユーザインターフェース層１０１、アプリケーションコントロール層１０２、アプリケーション層１０３及びアプリケーション共有サービス層１０４を起動するものである。例えば共有メカニズム１０５は、これらソフトウェア群を図示しないフラッシュメモリから読み出し、読み出した各プログラムをＳＲＡＭまたはＳＤＲＡＭ上に確保したメモリ領域に転送して起動するものである。
【００５１】
また、共有メカニズム１０５は、上述したユーザインターフェース層１０１、アプリケーションコントロール層１０２、アプリケーション層１０３、アプリケーション共有サービス層１０４に対する例外管理、モニタリングを行う。
【００５２】
ＯＳ１０６は、ユニックス（ＵＮＩＸ（登録商標））などのオペレーティングシステムであって、アプリケーション層１０３に含まれるアプリケーション、又は共有メカニズム１０５、ユーザインターフェース層１０１、アプリケーションコントロール層１０２若しくはアプリケーション共有サービス層１０４に格納された各ソフトウェアをプロセスとして並列実行する。
【００５３】
上述した実施形態にかかる複合機１００は、アプリケーションのコントロール部分をアプリケーションコントロール層１０２と、アプリケーションに対する共有サービス部分をアプリケーション共有サービス層１０４として、アプリケーションの内部処理と外部処理を分離した。
【００５４】
そして、本実施の形態にかかる複合機１００は、上述した構成を備えることで、アプリケーションで実装すべき箇所が削減できる。また、複合機１００は、アプリケーションの追加／削除がフレームワークに影響を与えない構成とすることが可能となる。したがって、複合機１００では、スキャン、プリント、受信などの様々なアプリケーションの追加／削除を容易に実現することができる。
【００５５】
次に、以上のように構成された本実施の形態にかかる複合機１００のアプリケーションが処理を実行するまでの手順について説明する。図４は、本実施の形態にかかる複合機１００における上述した処理の手順を示すフローチャートである。
【００５６】
まず、ユーザインターフェース層１０１は、利用者から複合機１００が実行する処理を受け付ける（ステップＳ４０１）。
【００５７】
次に、アプリケーション層１０３では、ユーザインターフェース層１０１から、受け付けた処理を行うアプリケーションに対して、処理の要求が行われる（ステップＳ４０２）。
【００５８】
そして、アプリケーションコントロール層１０２は、処理の要求が行われたアプリケーションから、当該アプリケーションが受け付けた処理を、ジョブとして管理する（ステップＳ４０３）。
【００５９】
次に、アプリケーションコントロール層１０２は、管理しているジョブに基づいて、アプリケーションに対して、処理の実行を指示する（ステップＳ４０４）。
【００６０】
そして、アプリケーション層１０３では、指示を受け付けたアプリケーションが、当該処理に必要なアプリケーション共有サービス層１０４のリソースを特定する（ステップＳ４０５）。
【００６１】
次にアプリケーション共有サービス層１０４では、アプリケーションからの実行要求により、特定されたリソースを用いて、ハードウェアの制御を行う（ステップＳ４０６）。本実施の形態にかかるアプリケーション共有サービス層１０４では、ハードウェアの制御を行う際に、当該リソースを使用する権限を有しているか否かの判断を行う。
【００６２】
次に、上述したステップＳ４０４〜Ｓ４０６で示した処理において送受信される情報について説明する。図５は、アプリケーションコントロール層１０２からのコピー処理の実行が指示された際の実行手順を示したシーケンス図である。
【００６３】
まず、アプリケーションコントロール層１０２は、コピーアプリ１１１に対してコピー処理の実行を指示する（ステップＳ５０１）。この際、アプリケーションコントロール層１０２がコピーアプリ１１１に対して送信する情報は、「実行（“ユーザ名（主体情報）”、“コピー”、“フルカラー”）」とする。つまり、処理の要求を行った利用者のユーザ名と、要求された処理（コピー）と、当該処理での動作情報（フルカラー）とを含んでいる。
【００６４】
そして、コピーアプリ１１１は、制御に必要なリソースを、対応リソース管理テーブル１１３を用いて特定する（ステップＳ５０２）。本処理手順では、コピーに必要なリソースとして、スキャナユニット１０７とプロッタユニット１０８とが特定されたものとする。そこで、コピーアプリ１１１は、スキャナユニット１０７を制御するスキャナアプリ１２１、及びプロッタユニット１０８を制御するプロッタアプリ１２４に対して制御を要求する。
【００６５】
次に、コピーアプリ１１１は、スキャナアプリ１２１に対してスキャナ処理の実行を指示する（ステップＳ５０３）。この際、コピーアプリ１１１がスキャナアプリ１２１に対して送信する情報は、「実行（“ユーザ名（主体情報）”、“スキャナ”、“フルカラー”）」とする。
【００６６】
そして、スキャナアプリ１２１は、入力された情報に基づいて、使用する権限を有しているか否か判断する（ステップＳ５０４）。なお、本実行手順では、使用する権限を有していると判断されたものとする。
【００６７】
次に、スキャナアプリ１２１は、コピーアプリ１１１に対して使用する権限の判断結果を通知する（ステップＳ５０５）。この判断結果の通知が使用する権限を有している旨の場合に、コピーアプリ１１１は、スキャナアプリ１２１を用いて、スキャン処理を行う。
【００６８】
次に、コピーアプリ１１１は、プロッタアプリ１２４に対してプリント処理の実行を指示する（ステップＳ５０６）。この際、コピーアプリ１１１がプロッタアプリ１２４に対して送信する情報は、「実行（“ユーザ名（主体情報）”、“プロッタ”、“フルカラー”）」とする。
【００６９】
そして、プロッタアプリ１２４は、入力された情報に基づいて、使用する権限を有しているか否か判断する（ステップＳ５０７）。なお、権限判断の処理手順は、スキャナアプリ１２１と同様の処理手順のため説明を省略する。
【００７０】
次に、プロッタアプリ１２４は、コピーアプリ１１１に対して使用する権限の判断結果を通知する（ステップＳ５０８）。この判断結果の通知が使用する権限を有している旨の場合に、コピーアプリ１１１は、プロッタアプリ１２４を用いて、プリンタ処理を行う。
【００７１】
上述したようにアプリケーション共有サービス層１０４の下層アプリケーションでは権限の判断処理が行われる。そこで、次に、アプリケーション共有サービス層１０４のスキャナアプリ１２１で行われる権限の判断処理について説明する。図６は、本実施の形態にかかるスキャナアプリ１２１における上述した処理の手順を示すフローチャートである。
【００７２】
まず、スキャナアプリ１２１は、アプリケーション（例えばコピーアプリ１１１）からの処理の実行を指示する情報を入力処理する（ステップＳ６０１）。この入力処理する情報は、「実行（ユーザ名、スキャナ、フルカラー）」とする。
【００７３】
次に、スキャナ権限判断部１２２が、スキャナ権限設定テーブル１２３により、入力処理されたユーザ名（主体情報）及び動作情報で使用する権限があるか否か判断する（ステップＳ６０２）。
【００７４】
そして、スキャナ権限判断部１２２が使用する権限がないと判断した場合（ステップＳ６０２：Ｎｏ）、スキャナアプリ１２１は、アプリケーション（例えばコピーアプリ１１１）に対してエラーを通知する（ステップＳ６０５）。
【００７５】
また、スキャナ権限判断部１２２が使用する権限があると判断した場合（ステップＳ６０２：Ｙｅｓ）、スキャナアプリ１２１は、アプリケーション（例えばコピーアプリ１１１）に対して、使用可能である旨を通知する（ステップＳ６０３）。そして、スキャナアプリ１２１は、アプリケーションからの要求に従って処理を実行する（ステップＳ６０４）。
【００７６】
本実施の形態は、使用する権限を判断する対象をプロッタユニット１０８やスキャナユニット１０７に制限するものではなく、様々なハードウェアリソースを対象とすることができる。さらに、使用する権限を判断する対象をハードウェアリソース以外のリソースに対して適応しても良い。
【００７７】
本実施の形態では、アプリケーション共有サービス層１０４でアクセス制御を行うことで、アプリケーション毎に設定を行わずとも、上述したリソース（プロッタユニット１０８やスキャナユニット１０７）に対するアクセスを制御できる。さらに、利用者により不正にカスタマイズされたアプリケーションによるアクセス制御のバイパスを防止できる。
【００７８】
また、本実施の形態の複合機１００によれば、任意の利用者に対して、所定の動作情報（例えばフルカラー）による処理（例えばコピー、印刷）等を抑止したい場合に、当該処理を行うリソース（例えばプロッタアプリ１２４）の権限のみ変更すれば、アプリケーションを問わず所定の動作情報による処理を抑止できるので、設定が容易になる。これにより、従来はアプリケーション毎に権限の判断を行っていた場合と比べて、アプリケーション毎に設定するという煩雑な設定が不要になり、設定ミスが減少することになる。
【００７９】
（第２の実施の形態）
上述した第１の実施の形態は、利用者が使用する権限を有するか否かの判断をアプリケーション共有サービス層のみに制限するものではない。そこで、第２の実施の形態は、アプリケーション層でも権限の判断を行うこととした形態である。
【００８０】
図７は、第２の実施の形態にかかる複合機７００の構成を示すブロック図である。複合機７００は、上述した第１の実施の形態にかかる複合機１００とは、アプリケーション層１０３とは処理が異なるアプリケーション層７０１に変更された構成を有している点で異なる。以下の説明では、上述した第１の実施の形態と同一の構成要素には同一の符号を付してその説明を省略している。
【００８１】
アプリケーション層７０１は、アプリケーション層１０３とは、コピーアプリ１１１と処理が異なるコピーアプリ７１１に変更され、プリンタアプリ１１２と処理が異なるプリンタアプリ７１４に変更された点で異なる。
【００８２】
コピーアプリ１１１は、コピー権限判断部７１２を備え、複合機１００の機能であるコピー処理を行うアプリケーションであり、アプリケーションコントロール層１０２から実行の指示が入力された場合に、コピー処理を行う。
【００８３】
コピー権限判断部７１２は、コピー権限設定テーブル７１３を備え、アプリケーションコントロール層１０２からコピー実行の指示が入力された場合に、利用者が設定した動作情報でコピーを行う権限を有しているか否か判断する。また、コピー権限判断部７１２は、コピー権限設定テーブル７１３を用いて、当該権限の有しているか否か判断する。
【００８４】
コピー権限設定テーブル７１３は、図３に示したスキャナ権限設定テーブル１２３と同様に各主体情報に対して、動作情報毎に実行する権限を有しているか否かを保持している。
【００８５】
プリンタアプリ７１４は、プリンタ権限判断部７１５を備え、複合機１００の機能であるプリント処理を行うアプリケーションであり、アプリケーションコントロール層１０２から実行の指示が入力された場合に、プリント処理を行う。
【００８６】
プリンタ権限判断部７１５は、コピー権限設定テーブル７１３を備え、アプリケーションコントロール層１０２からプリント実行の指示が入力された場合に、利用者が設定された動作情報でプリントを行う権限を有しているか否か判断する。また、プリンタ権限判断部７１５は、プリンタ権限設定テーブル７１６を用いて、当該権限の有しているか否か判断する。
【００８７】
プリンタ権限設定テーブル７１６は、図３に示したスキャナ権限設定テーブル１２３と同様に各主体情報に対して、動作情報毎に実行する権限を有しているか否かを保持している。図８は、プリンタ権限設定テーブル７１６のテーブル構造の例を示した図である。図８に示すように、プリンタ権限設定テーブル７１６の動作情報は、“白黒”、“２色”、“カラー”の３種類の項目が設定されている。
【００８８】
また、スキャナアプリ１２１及びプロッタアプリ１２４は、第１の実施の形態と同様である。これらスキャナアプリ１２１及びプロッタアプリ１２４は、アプリケーション層１０３のアプリケーションから実行の指示を受け付けた場合に、設定された動作情報で使用する権限を有しているか否か判断する。
【００８９】
図９は、プロッタ権限設定テーブル１２６のテーブル構造を示した図である。図９に示すように、プロッタ権限設定テーブル１２６は、各主体情報に対して、プロッタユニット１０８を実行する際の動作情報毎に権限を有しているか否かを保持している。図９に示すように、プロッタ権限設定テーブル１２６の動作情報は、“白黒”、“カラー”の２種類の項目が設定されている。
【００９０】
本実施の形態にかかる複合機では、プリンタアプリ７１４とプロッタアプリ１２４とのそれぞれで利用者が動作情報で処理を行う権限を有しているか否かを行うことで、多段階で権限のチェックが可能としている。
【００９１】
また、図８のプリンタ権限設定テーブル７１６の動作情報と、図９のプロッタ権限設定テーブル１２６の動作情報とでは、設定可能な項目が異なる。つまり、プロッタアプリ１２４では、２種類の動作情報に対して権限を有しているか否か判断できないが、プリンタアプリ７１４では、“２色”を含む３種類の動作情報に対して権限を有しているか否か判断できる。つまり、複合機７００では、段階的に粒度の異なる権限のチェックを可能としている。
【００９２】
次に、利用者から２色で印刷する旨の入力を受け付けた場合のプリント処理について説明する。図１０は、アプリケーションコントロール層１０２からの２色でプリント処理の実行が指示された際の実行手順を示したシーケンス図である。
【００９３】
まず、アプリケーションコントロール層１０２は、プリンタアプリ７１４に対してプリンタ処理の実行を指示する（ステップＳ１００１）。この際、アプリケーションコントロール層１０２がコピーアプリ１１１に対して送信する情報は、「実行（“ユーザ名（主体情報）”、“コピー”、“２色”）」とする。つまり、処理の要求を行った利用者のユーザ名と、要求された処理（コピー）と、当該処理での動作情報（２色）とを含んでいる。
【００９４】
そして、プリンタアプリ７１４は、入力された情報に基づいて、使用する権限を有しているか否か判断する（ステップＳ１００２）。なお、権限の判断手法については後述する。なお、本実行手順では、使用する権限を有していると判断されたものとする。また、使用する権限を有していないと判断された場合は、ステップＳ１００３以降の処理は行われないものとする。
【００９５】
次に、プリンタアプリ７１４は、制御に必要なリソースを、対応リソース管理テーブル１１３を用いて特定する（ステップＳ１００３）。本処理手順では、プリンタに必要なリソースとして、プロッタユニット１０８が特定されたものとする。そこで、プリンタアプリ７１４は、プロッタアプリ１２４に対して制御を要求する。
【００９６】
また、プリンタアプリ７１４が使用する権限を有していると判断した動作情報“２色”は、プロッタアプリ１２４が認識できない。そこで、プリンタアプリ７１４は、当該動作情報“２色”を、プロッタアプリ１２４が認識可能な動作情報であって、利用者が設定した“２色”による処理が可能な動作情報“フルカラー”に変更する（ステップＳ１００４）。このように動作情報を段階に応じて変更していくことで、粒度に応じた権限の判断を行うことができる。
【００９７】
そして、プリンタアプリ７１４は、プロッタアプリ１２４に対してプリント処理の実行を指示する（ステップＳ１００５）。この際、プリンタアプリ７１４がプロッタアプリ１２４に対して送信する情報は、「実行（“ユーザ名（主体情報）”、“プロッタ”、“フルカラー”）」とする。
【００９８】
そして、プロッタアプリ１２４は、入力された情報に基づいて、使用する権限を有しているか否か判断する（ステップＳ１００６）。なお、本実行手順では、使用する権限を有していると判断されたものとする。
【００９９】
次に、プロッタアプリ１２４は、プリンタアプリ７１４に対して使用する権限の判断結果を通知する（ステップＳ１００７）。そして、この判断結果の通知が使用する権限を有している旨の場合に、プリンタアプリ７１４は、プロッタアプリ１２４を用いて、プリント処理を行う。
【０１００】
次に、複合機７００において利用者から“２色”によるプリント処理を要求された場合における権限の判断処理について説明する。図１１は、本実施の形態にかかる複合機７００における上述した処理の手順を示すフローチャートである。
【０１０１】
まず、プリンタアプリ７１４は、アプリケーションコントロール層１０２からの処理の実行を指示する情報を入力処理する（ステップＳ１１０１）。この入力処理する情報は、「実行（ユーザ名、プリンタ、動作情報（例えば２色）」とする。
【０１０２】
次に、プリンタ権限判断部７１５が、プリンタ権限設定テーブル７１６により、入力処理されたユーザ名（主体情報）及び動作情報で使用する権限があるか否か判断する（ステップＳ１１０２）。
【０１０３】
また、図８に示したプリンタ権限設定テーブル７１６は、図９に示したプロッタ権限設定テーブル１２６と異なり、動作情報に“２色”が設定されている。このため、利用者が動作情報として“２色”を設定した場合であっても、利用者が使用する権限を有しているか否か判断することができる。これにより、複合機７００において、処理を行う段階の粒度に応じて、適切に使用する権限を有しているか否か判断することができる。
【０１０４】
そして、プリンタ権限判断部７１５が使用する権限がないと判断した場合（ステップＳ１１０２：Ｎｏ）、処理を終了する。
【０１０５】
また、プリンタ権限判断部７１５が使用する権限があると判断した場合（ステップＳ１１０２：Ｙｅｓ）、対応リソース管理テーブル１１３により、プリント処理に用いられるリソースを特定する（ステップＳ１１０３）。本処理手順では、プロッタユニット１０８が特定されたものとする。
【０１０６】
そして、プリンタアプリ７１４は、動作情報を、特定されたリソースを制御するプロッタアプリ１２４が認識可能な動作情報に変更する（ステップＳ１１０４）。例えば、プリンタアプリ７１４は、動作情報“２色”を動作情報“フルカラー”に変更する。
【０１０７】
次に、プリンタアプリ７１４は、特定されたリソースを制御するプロッタアプリ１２４に対して、処理の実行を指示する情報を出力処理する（ステップＳ１１０５）。この出力処理する情報は、「実行（ユーザ名、プロッタ、動作情報（例えばフルカラー）」とする。このような情報を出力処理することで、プロッタアプリ１２４による処理を開始する。
【０１０８】
そして、プロッタアプリ１２４は、プリンタアプリ７１４からの処理の実行を指示する情報を入力処理する（ステップＳ１１１１）。この入力処理する情報は、「実行（ユーザ名、プロッタ、動作情報（例えばフルカラー）」とする。
【０１０９】
次に、プロッタ権限判断部１２５が、プロッタ権限設定テーブル１２６により、入力処理されたユーザ名（主体情報）及び動作情報で使用する権限があるか否か判断する（ステップＳ１１１２）。
【０１１０】
そして、プロッタ権限判断部１２５が使用する権限がないと判断した場合（ステップＳ１１１２：Ｎｏ）、プロッタアプリ１２４は、プリンタアプリ７１４に対してエラーを通知する（ステップＳ１１１５）。
【０１１１】
また、プロッタ権限判断部１２５が使用する権限があると判断した場合（ステップＳ１１１２：Ｙｅｓ）、プロッタアプリ１２４は、プリンタアプリ７１４に対して、使用可能である旨を通知する（ステップＳ１１１３）。そして、プロッタアプリ１２４は、プリンタアプリ７１４からの要求に従って処理を実行する（ステップＳ１１１４）。
【０１１２】
本実施の形態にかかる複合機７００では、アプリケーション層７０１のアプリケーション毎にアクセス制御を行うことで、アプリケーション共有サービス層１０４によるアクセス制御を合わせて多段階でアクセス制御を行うことになり、バイパスを抑止すると共に、細かい粒度のアクセス制御を実現できる。
【０１１３】
また、上述した第２の実施の形態においては、以下に例示するような種々の変形が可能である。
【０１１４】
（第２の実施の形態の変形例１）
上述した第２の実施の形態にかかる複合機７００では、各アプリケーションの内部に備えられた権限判断部により権限の判断を行うこととした。次に、第２の実施の形態の変形例１にかかる複合機１２００では、アプリケーション層のアプリケーションの入れ替えにより、処理可能な動作情報を変更すると共に、アクセス制御を変更する例について説明する。
【０１１５】
図１２は、第２の実施の形態の変形例１にかかる複合機１２００の構成を示すブロック図である。図１２に示すように複合機１２００は、上述した第２の実施の形態にかかる複合機７００とは、アプリケーション層７０１と異なる構成のアプリケーション層１２０１に変更された点で異なる。以下の説明では、上述した第２の実施の形態と同一の構成要素には同一の符号を付してその説明を省略している。また、図示していないが、各権限判断部では、権限の判断に用いる権限設定テーブルを備えているものとする。
【０１１６】
アプリケーション層１２０１は、第１プリンタアプリ１２１１と、対応リソース管理テーブル１２１３とを有している。対応リソース管理テーブル１２１３では、第１プリンタアプリ１２１１と、当該第１プリンタアプリ１２１１が処理に用いるアプリケーション共有サービス層１０４のリソースと、を対応付けて保持している。
【０１１７】
第１プリンタアプリ１２１１は、第１プリンタ権限判断部１２１２を備え、機能として“白黒”印刷と“フルカラー”印刷とを提供している。第１プリンタ権限判断部１２１２は、利用者毎に動作情報“白黒”及び“フルカラー”において使用する権限を有しているか否か判断している。
【０１１８】
この複合機１２００に対して、第１プリンタアプリ１２１１を、第２プリンタアプリ１２２１に入れ換えられることになった。
【０１１９】
この第２プリンタアプリ１２２１は、第２プリンタ権限判断部１２２２を備え、機能として“白黒”印刷と“２色”印刷と“フルカラー”印刷とを提供している。そして、第１プリンタ権限判断部１２２２は、利用者毎に動作情報“白黒”、“２色”及び“フルカラー”において使用する権限を有しているか否か判断している。
【０１２０】
入れ換える手順としては、第１プリンタアプリ１２１１を第２プリンタアプリ１２２１とを入れ換えると共に、第２プリンタアプリ１２２１に対応するように対応リソース管理テーブル１２１３を更新する。
【０１２１】
そして、本変形例では、権限判断部が各アプリケーションの中に格納されているので、アプリケーションを入れ換えるだけで、当該アプリケーションが提供している機能に応じたアクセス制御（使用する権限を有しているか否かの判断）を行うことが可能となる。
【０１２２】
次に、利用者から２印刷する旨の入力を受け付けた場合のプリント処理について説明する。図１３は、アプリケーションコントロール層１０２からのプリント処理の実行が指示された際の実行手順を示したシーケンス図である。なお、図１３に示す処理では、利用者は２色で印刷したいが、２色という設定を行うことができないため、フルカラーを選択しているものとする。
【０１２３】
まず、アプリケーションコントロール層１０２は、第１プリンタアプリ１２１１に対してプリンタ処理の実行を指示する（ステップＳ１３０１）。この際、アプリケーションコントロール層１０２がコピーアプリ１１１に対して送信する情報は、「実行（“ユーザ名（主体情報）”、“プリンタ１”、“フルカラー”）」とする。
【０１２４】
そして、第１プリンタアプリ１２１１は、入力された情報に基づいて、使用する権限を有しているか否か判断する（ステップＳ１３０２）。なお、権限の判断手法については第２の実施形態と同様として、説明を省略する。なお、本実行手順では、使用する権限を有していると判断されたものとする。また、使用する権限を有していないと判断された場合は、ステップＳ１３０３以降の処理は行われないものとする。
【０１２５】
次に、第１プリンタアプリ１２１１は、制御に必要なリソースを、対応リソース管理テーブル１２１３を用いて特定する（ステップＳ１３０３）。本処理手順では、プリンタに必要なリソースとして、プロッタユニット１０８が特定されたものとする。そこで、第１プリンタアプリ１２１１は、プロッタアプリ１２４に対して制御を要求する。
【０１２６】
そして、ステップＳ１３０４〜ステップＳ１３０６は、ステップＳ１００５〜ステップＳ１００７の処理手順と同様に、プロッタアプリ１２４による使用する権限を有するか否か判断されることとして、説明を省略する。
【０１２７】
次に、第１プリンタアプリ１２１１を第２プリンタアプリ１２２１に入れ換えた後に行われるプリント処理について説明する。図１４は、アプリケーションコントロール層１０２からのプリント処理の実行が指示された際の実行手順を示したシーケンス図である。なお、図１４に示す処理では、入れ換えられた第２プリンタアプリ１２２１の機能により、利用者は２色印刷の受け付け可能となっている。
【０１２８】
まず、アプリケーションコントロール層１０２は、第２プリンタアプリ１２２１に対してプリンタ処理の実行を指示する（ステップＳ１４０１）。この際、アプリケーションコントロール層１０２が第２プリンタアプリ１２２１に対して送信する情報は、「実行（“ユーザ名（主体情報）”、“プリンタ２”、“２色”）」とする。
【０１２９】
そして、第２プリンタアプリ１２２１は、入力された情報に基づいて、使用する権限を有しているか否か判断する（ステップＳ１４０２）。なお、権限の判断手法は第２の実施の形態と同様として説明を省略する。そして、本実行手順では、使用する権限を有していると判断されたものとする。また、使用する権限を有していないと判断された場合は、ステップＳ１３０３以降の処理は行われないものとする。
【０１３０】
次に、第２プリンタアプリ１２２１は、制御に必要なリソースを、対応リソース管理テーブル１２１３を用いて特定する（ステップＳ１４０３）。本処理手順では、プリンタに必要なリソースとして、プロッタユニット１０８が特定されたものとする。
【０１３１】
そして、第２プリンタアプリ１２２１は、動作情報“２色”をプロッタアプリ１２４が認識可能な動作情報“フルカラー”に変更する（ステップＳ１４０４）。その後、第２プリンタアプリ１２２１は、プロッタアプリ１２４に対して制御を要求する。
【０１３２】
そして、ステップＳ１４０５〜ステップＳ１４０７は、ステップＳ１００５〜ステップＳ１００７の処理手順と同様に、プロッタアプリ１２４による使用する権限を有するか否か判断されることとして、説明を省略する。
【０１３３】
本変形例においては、複合機１２００のアプリケーション層１２０１において、第１プリンタアプリ１２１１を第２プリンタアプリ１２２１に入れ換えることで、プリントする際の機能を変更すると共に、当該機能の変更に適したアクセス制御（変更された機能を使用する権限を有しているか否か）の判断を行うことが可能となる。
【０１３４】
つまり、複合機１２００では、アプリケーションの入れ替えが行われた際、意識することなく入れ換えられたアプリケーションに適したアクセス制御を行うことができるので、アプリケーションの入れ換えに伴う作業負担を軽減することができる。
【０１３５】
また、本変形例にかかる複合機１２００では、アプリケーションを入れ替えにより、アクセス制御自体をカスタマイズすることが可能となる。
【０１３６】
（第２の実施の形態の変形例２）
上述した第２の実施の形態にかかる複合機７００においては、各アプリケーションの権限判断部は、各アプリケーション内部の権限設定テーブルを用いて、使用する権限を有しているか否か判断を行っていた。しかしながら、第２の実施の形態は、権限設定テーブルをアプリケーション内部に設けることに制限するものではない。そこで、第２の実施の形態の変形例２では、権限設定テーブルを一括管理する例について説明する。
【０１３７】
図１５は、第２の実施の形態の変形例２にかかる複合機１５００の構成を示すブロック図である。図１５に示すように複合機１５００は、上述した第２の実施の形態にかかる複合機７００とは、アプリケーション層７０１と異なる構成のアプリケーション層１５０１に変更され、アプリケーション共有サービス層１０４と異なる構成のアプリケーション共有サービス層１５０２に変更された点で異なる。以下の説明では、上述した第２の実施の形態と同一の構成要素には同一の符号を付してその説明を省略している。このように本変形例にかかる複合機１５００では、アプリケーション層１５０１の他にフレームワーク部１５５０についても変更されている。
【０１３８】
アプリケーション共有サービス層１５０２は、スキャナアプリ１５２１と、プロッタアプリ１５２３と、権限管理部１５２５と、を備えている。
【０１３９】
権限管理部１５２５は、第２の実施の形態ではアプリケーション毎に設けられていた権限設定テーブルを一括管理している。なお、権限設定テーブルは、上述した実施の形態のようにアプリケーション毎にテーブルを設けられているものに制限するものではない。そこで、本変形例では、利用者毎に権限設定テーブルが設けられていることとする。
【０１４０】
図１６は、権限管理部１５２５が備える権限設定テーブルのテーブル構造の例を示した図である。図１６に示すように、権限管理部１５２５は、利用者毎に設けられた権限設定テーブルでは、資源情報毎に、各動作情報において使用する権限を有しているか否かを保持している。なお、資源情報とは、本実施の形態では、複合機１５００が備えるリソース等を識別する情報とする。
【０１４１】
図１５に戻り、スキャナアプリ１５２１は、スキャナ権限判断部１５２２を備え、アプリケーション層１５０１の各アプリケーションからの指示に従い、スキャナユニット１０７を制御する。
【０１４２】
スキャナ権限判断部１５２２は、アプリケーション層１０３の各アプリケーションからスキャナユニット１０７の使用要求を受け付けた場合に、スキャナユニット１０７を利用者により入力された動作情報で使用する権限を有しているか否か判断する。また、スキャナ権限判断部１５２２は、当該判断を行う際に、権限管理部１５２５から、権限判断に必要な権限設定テーブルの情報を取得する。これにより、スキャナ権限判断部１５２２は、利用者が入力した動作情報でスキャナユニット１０７を使用する権限を有しているか否か判断することができる。
【０１４３】
プロッタアプリ１５２３は、プロッタ権限判断部１５２４を備え、アプリケーション層１５０１の各アプリケーションからの指示に従い、プロッタユニット１０８を制御する。
【０１４４】
プロッタ権限判断部１５２４は、アプリケーション層１０３の各アプリケーションからスキャナユニット１０７の使用要求を受け付けた場合に、プロッタユニット１０８を利用者により入力された動作情報で使用する権限を有しているか否か判断する。また、プロッタ権限判断部１５２４は、当該判断を行う際に、権限管理部１５２５から、権限判断に必要な権限設定テーブルの情報を取得する。これにより、プロッタ権限判断部１５２４は、利用者が入力した動作情報でプロッタユニット１０８を使用する権限を有しているか否か判断することができる。
【０１４５】
アプリケーション層１５０１は、コピーアプリ１５１１と、プリンタアプリ１５１３とを備えている。
【０１４６】
コピーアプリ１５１１は、コピー権限判断部１５１２を備え、アプリケーションコントロール層１０２からの指示に従い、コピー処理を実行する。
【０１４７】
コピー権限判断部１５１２は、コピー処理を利用者により入力された動作情報で使用する権限を有しているか否か判断する。また、コピー権限判断部１５１２は、当該判断を行う際に、権限管理部１５２５から、権限判断に必要な権限設定テーブルの情報を取得する。これにより、コピー権限判断部１５１２は、利用者が入力した動作情報でコピーを使用する権限を有しているか否か判断することができる。
【０１４８】
プリンタアプリ１５１３は、プリンタ権限判断部１５１４を備え、アプリケーションコントロール層１０２からの指示に従い、コピー処理を実行する。
【０１４９】
プリンタ権限判断部１５１４は、プリンタ処理を利用者により入力された動作情報で使用する権限を有しているか否か判断する。また、プリンタ権限判断部１５１４は、当該判断を行う際に、権限管理部１５２５から、権限判断に必要な権限設定テーブルの情報を取得する。これにより、プリンタ権限判断部１５１４は、利用者が入力した動作情報でプリンタを使用する権限を有しているか否か判断することができる。
【０１５０】
また、本変形例にかかる複合機１５００では、各アプリケーション又は各リソースの権限設定テーブルを権限管理部１５２５で一括管理することで、変更が必要な場合、各アプリケーション又は隔離ソース毎に変更する必要がないため、管理するための作業負担が軽減する。
【０１５１】
また、本変形例にかかる複合機１５００では、権限管理部１５２５の権限設定テーブルを、資源名（コピーやプリンタ）ではなく、主体名（田中さん、鈴木さん）をキーとしたテーブルを用いることとした。これにより、利用者の追加/削除時の設定変更を、１つのテーブルの追加/削除のみで対応できる。これにより管理者の作業負担が軽減する。さらに、資源情報毎にテーブルを設けた場合、複数の資源のテーブルを同時に変更する必要があるため設定ミスが生じやすかった。これに対して、本変形例では、主体名をキーとしたテーブルを用いることとしたので、設定ミスを減少させることが可能となった。
【０１５２】
（第２の実施の形態の変形例３）
上述した第２の実施の形態の変形例１にかかる複合機１２００では、アプリケーション層１５０１のアプリケーションを入れ換える例について説明した。しかしながら、入れ換える対象をアプリケーション層のアプリケーションに制限するものではなく、フレームワーク部の構成を入れ換えてもよい。そこで、第２の実施の形態の変形例３では、アプリケーション共有サービス層のアプリケーションを入れ換える例について説明する。
【０１５３】
図１７は、第２の実施の形態の変形例３にかかる複合機１７００の構成を示すブロック図である。図１７に示すように複合機１７００は、上述した第２の実施の形態の変形例２にかかる複合機１５００とは、アプリケーションコントロール層１０２とは構成が異なるアプリケーションコントロール層１７０１に変更され、アプリケーション共有サービス層１０４と異なる構成のアプリケーション共有サービス層１７０２に変更された点で異なる。以下の説明では、上述した第２の実施の形態の変形例２と同一の構成要素には同一の符号を付してその説明を省略している。
【０１５４】
アプリケーションコントロール層１７０１は、プラグイン管理モジュール１７３１を備えている。なお、アプリケーションコントロール層１７０１は、プラグイン管理モジュール１７３１を備えている以外、アプリケーションコントロール層１０２と同様の機能を備えているものとして、説明を省略する。
【０１５５】
プラグイン管理モジュール１７３１は、フレームワーク部１７５０に備えられているアプリケーション等のリソースを管理している。そして、アプリケーション共有サービス層１７０２のリソースの入れ換えや、リソースの追加を行う場合には、プラグイン管理モジュール１７３１を介して行われる。
【０１５６】
アプリケーション共有サービス層１７０２は、第１プロッタアプリ１７１１と、権限管理部１７１３とを備えている。権限管理部１７１３は、アプリケーション層１５０１の各アプリケーションの権限設定テーブルと、アプリケーション共有サービス層１７０２の各アプリケーション（第１プロッタアプリ１７１１）の権限設定テーブルとを備えている。
【０１５７】
第１プロッタアプリ１７１１は、第１プロッタ権限判断部１７１２を備え、印刷機能を提供している。第１プリンタ権限判断部１２１２は、利用者が、入力された動作情報で使用する権限を有しているか否か判断している。
【０１５８】
この複合機１７００に対して、第１プロッタアプリ１７１１を、第２プロッタアプリ１７２１に入れ換え、スキャンアプリ１７２３を追加する。
【０１５９】
この第２プロッタアプリ１７２１は、第２プロッタ権限判断部１７２２を備え、第１プロッタアプリ１７１１より拡張された印刷機能を提供している。そして、第２プロッタアプリ１７２１は、利用者が、拡張された印刷機能における動作情報を使用する権限を有しているか否か判断している。
【０１６０】
スキャンアプリ１７２３は、スキャン権限判断部１７２４を備え、スキャン機能を提供している。そして、スキャンアプリ１７２３は、利用者が、スキャン機能における動作情報を使用する権限を有しているか否か判断している。
【０１６１】
そして、プラグイン管理モジュール１７３１は、第１プロッタアプリ１７１１を第２プロッタアプリ１７２１に入れ換えると共に、第２プロッタアプリ１７２１に対応するように対応リソース管理テーブル１２１３を更新する。また、プラグイン管理モジュール１７３１は、スキャンアプリ１７２３を追加する際に、スキャンアプリ１７２３を使用可能とするために、対応リソース管理テーブル１２１３を更新する。
【０１６２】
そして、第２プロッタアプリ１７２１と、スキャンアプリ１７２３は、アプリケーション共有サービス層１７０２に格納された後、権限管理部１７１３に対して、新規に権限設定テーブルを追加する。これにより、追加された権限設定テーブルを用いて、第２プロッタアプリ１７２１と、スキャンアプリ１７２３は、利用者が権限を有するか否か判断することができる。
【０１６３】
上述した変形例が示すように、アプリケーション共有サービス層１７０２等のフレームワーク部１７５０に対して、構成の入れ換えや、新たな構成の追加を行うことができる。これにより、リソース毎にアクセス制御に関する設定項目を容易に変更することができる。
【０１６４】
このように、プラグイン管理モジュール１７３１を備えて、フレームワーク部１７５０の構成の入れ換えや新たな構成を追加可能としたことで、フレームワーク部１７５０において必要に応じて詳細なアクセス制御を実現できる。
【０１６５】
（第３の実施の形態）
第３の実施の形態にかかる複合機は、アプリケーション層を構成するアプリケーションを多段構成とした形態である。
【０１６６】
図１８は、第３の実施の形態にかかる複合機１８００の構成を示すブロック図である。複合機１８００は、上述した第２の実施の形態にかかる複合機７００とは、アプリケーション層７０１とは処理が異なるアプリケーション層１８０１に変更された構成を有している点で異なる。以下の説明では、上述した第２の実施の形態と同一の構成要素には同一の符号を付してその説明を省略している。
【０１６７】
アプリケーション層１８０１は、第１プリンタアプリ１８１１と、地紋プリンタアプリ１８１２と、第２プリンタアプリ１８１３と、印刷アプリ１８１４と、対応リソース管理テーブル１８１７とを備えている。
【０１６８】
第１プリンタアプリ１８１１は、複合機１００でプリント処理を行うアプリケーションとし、アプリケーションコントロール層１０２から実行の指示が入力された場合に、後述する印刷アプリ１８１４に対して印刷処理の実行を指示する。
【０１６９】
地紋プリンタアプリ１８１２は、複合機１００で地紋を埋め込んでプリント処理を行うアプリケーションとし、アプリケーションコントロール層１０２から実行の指示が入力された場合に、後述する印刷アプリ１８１４に対して、地紋を埋め込んだ印刷処理の実行を指示する。
【０１７０】
第２プリンタアプリ１８１３は、第１プリンタアプリ１８１１と異なる機能でプリント処理を行うアプリケーションとし、アプリケーションコントロール層１０２から実行の指示が入力された場合に、プロッタアプリ１２４に対して、プリント処理の実行を指示する。
【０１７１】
印刷アプリ１８１４は、印刷権限判断部１８１５を備え、第１プリンタアプリ１８１１及び地紋プリンタアプリ１８１２に共通する機能を備える印刷処理を行うアプリケーションである。そして、第１プリンタアプリ１８１１又は地紋プリンタアプリ１８１２から実行の指示が入力された場合に、プロッタアプリ１２４に対して、プリント処理の実行を指示する。
【０１７２】
印刷権限判断部１８１５は、印刷権限設定テーブル１８１６を備え、第１プリンタアプリ１８１１又は地紋プリンタアプリ１８１２から印刷実行の指示が入力された場合に、利用者が設定された動作情報で印刷を行う権限を有しているか否か判断する。この際、印刷権限判断部１８１５は、印刷権限設定テーブル１８１６を用いて、当該権限の有しているか否か判断する。
【０１７３】
対応リソース管理テーブル１８１７は、アプリケーション層１８０１のアプリケーション（印刷アプリ１８１４及び第２プリンタアプリ１８１３）と、アプリケーション共有サービス層１０４のリソースとを対応付けて保持している。
【０１７４】
このように第１プリンタアプリ１８１１と地紋プリンタアプリ１８１２とは、印刷アプリ１８１４を介してからプロッタアプリ１２４に対してプリント処理を指示し、第２プリンタアプリ１８１３は直接プロッタアプリ１２４に対してプリント処理を指示する。
【０１７５】
図１９は、アプリケーションコントロール層１０２からのプリント処理の実行が指示された際の実行手順を示したシーケンス図である。なお、本実行手順では、アプリケーションコントロール層１０２から、第１プリンタアプリ１８１１及び第２プリンタアプリ１８１３に対してプリントの指示が行われた例とする。
【０１７６】
まず、アプリケーションコントロール層１０２は、第１プリンタアプリ１８１１に対してプリンタ処理の実行を指示する（ステップＳ１９０１）。この際、アプリケーションコントロール層１０２が第１プリンタアプリ１８１１に対して送信する情報は、「実行（“ユーザ名（主体情報）”、“プリンタ１”、“フルカラー”）」とする。つまり、処理の要求を行った利用者のユーザ名と、要求された処理（プリンタ１）と、当該処理での動作情報（フルカラー）とを含んでいる。
【０１７７】
そして、第１プリンタアプリ１８１１は、制御に必要なプログラムを、対応リソース管理テーブル１８１７を用いて特定する（ステップＳ１９０２）。本処理手順では、必要なプログラムとして印刷アプリ１８１４が特定されたものとする。そこで、第１プリンタアプリ１８１１は、印刷アプリ１８１４に対して制御を要求する。
【０１７８】
次に、第１プリンタアプリ１８１１は、印刷アプリ１８１４に対して印刷処理の実行を指示する（ステップＳ１９０３）。この際、第１プリンタアプリ１８１１が印刷アプリ１８１４に対して送信する情報は、「実行（“ユーザ名（主体情報）”、“印刷”、“フルカラー”）」とする。
【０１７９】
そして、印刷アプリ１８１４は、入力された情報に基づいて、使用する権限を有しているか否か判断する（ステップＳ１９０４）。なお、本実行手順では、上述した実施形態と同様として説明を省略する。また、本実行手順では、使用する権限を有していると判断されたものとする。
【０１８０】
次に、印刷アプリ１８１４は、制御に必要なリソースを、対応リソース管理テーブル１８１７を用いて特定する（ステップＳ１９０５）。本処理手順では、必要なリソースとしてプロッタアプリ１２４が特定されたものとする。そこで、印刷アプリ１８１４は、プロッタアプリ１２４に対して制御を要求する。
【０１８１】
次に、印刷アプリ１８１４は、プロッタアプリ１２４に対してプリント処理の実行を指示する（ステップＳ１９０６）。この際、印刷アプリ１８１４がプロッタアプリ１２４に対して送信する情報は、「実行（“ユーザ名（主体情報）”、“プロッタ”、“フルカラー”）」とする。
【０１８２】
そして、プロッタアプリ１２４は、入力された情報に基づいて、使用する権限を有しているか否か判断する（ステップＳ１９０７）。なお、本実行手順では、上述した実施形態と同様として説明を省略する。また、本実行手順では、使用する権限を有していると判断されたものとする。これにより、プロッタアプリ１２４からの権限判断の通知が行われ、結果として、第１プリンタアプリ１８１１からの指示により、プロッタユニット１０８の制御が行われることとになる。
【０１８３】
次に、アプリケーションコントロール層１０２は、第２プリンタアプリ１８１３に対してプリンタ処理の実行を指示する（ステップＳ１９０８）。この際、アプリケーションコントロール層１０２が第２プリンタアプリ１８１３に対して送信する情報は、「実行（“ユーザ名（主体情報）”、“プリンタ２”、“フルカラー”）」とする。つまり、処理の要求を行った利用者のユーザ名と、要求された処理（プリンタ２）と、当該処理での動作情報（フルカラー）とを含んでいる。
【０１８４】
そして、第２プリンタアプリ１８１３は、制御に必要なプログラムを、対応リソース管理テーブル１８１７を用いて特定する（ステップＳ１９０９）。本処理手順では、必要なプログラムとしてプロッタアプリ１２４が特定されたものとする。そこで、第２プリンタアプリ１８１３は、プロッタアプリ１２４に対して制御を要求する。
【０１８５】
次に、第２プリンタアプリ１８１３は、プロッタアプリ１２４に対してプリント処理の実行を指示する（ステップＳ１９１０）。この際、第２プリンタアプリ１８１３がプロッタアプリ１２４に対して送信する情報は、「実行（“ユーザ名（主体情報）”、“プロッタ”、“フルカラー”）」とする。
【０１８６】
そして、プロッタアプリ１２４は、入力された情報に基づいて、使用する権限を有しているか否か判断する（ステップＳ１９１１）。なお、本実行手順では、上述した実施形態と同様として説明を省略する。また、本実行手順では、使用する権限を有していると判断されたものとする。これにより、プロッタアプリ１２４からの権限判断の通知が行われ、結果として、第２プリンタアプリ１８１３からの指示により、プロッタユニット１０８の制御が行われることとになる。
【０１８７】
本実施の形態にかかる複合機１８００では、アプリケーション層１８０１を多段の構成とした。つまり、第１プリンタアプリ１８１１及び地紋プリンタアプリ１８１２という上位のカスタマイズアプリと、印刷アプリ１８１４という中位のカスタマイズアプリとをいう構成として、上位のカスタマイズアプリが、中位のカスタマイズアプリを通して、デバイスを制御している。そして、本実施の形態にかかる複合機１８００では、中位のカスタマイズアプリ（印刷アプリ１８１４）でアクセス制御を行うこととした。これにより、第１プリンタアプリ１８１１及び地紋プリンタアプリ１８１２という上位のカスタマイズアプリのそれぞれで必要なアクセス制御が、１箇所となったため、アクセス制御を変更する際の設定が容易になる。
【０１８８】
（第４の実施の形態）
上述した実施の形態では、アプリケーション層及びアプリケーション共有サービス層においてアクセス制御を行った。しかしながら、アクセス制御を行う構成を、アプリケーション層及びアプリケーション共有サービス層に制限するものではない。そこで、第４の実施の形態にかかる複合機では、さらにアプリケーションコントロール層でもアクセス制御を行うこととした実施の形態である。
【０１８９】
図２０は、第４の実施の形態にかかる複合機２０００の構成を示すブロック図である。複合機２０００は、上述した第２の実施の形態にかかる複合機７００とは、アプリケーションコントロール層１０２とは処理が異なるアプリケーションコントロール層２００１に変更された構成を有している点で異なる。以下の説明では、上述した第２の実施の形態と同一の構成要素には同一の符号を付してその説明を省略している。
【０１９０】
アプリケーションコントロール層２００１は、リクエスト管理モジュール２０１１を備え、アプリケーション層７０１に含まれる各アプリケーションをコントロールする。
【０１９１】
リクエスト管理モジュール２０１１は、リクエスト権限判断部２０１２を備え、各アプリケーションの要求に応じて生成されたジョブをリクエストとして管理して、実行する処理のスケジューリングを行う。
【０１９２】
リクエスト権限判断部２０１２は、リクエスト権限設定テーブル２０１３を備え、各アプリケーションからジョブの生成する要求を受け付けた際に、利用者が、当該アプリケーションを、使用する権限を有しているか否か判断する。リクエスト権限設定テーブル２０１３は、利用者毎に、各アプリケーションを使用する権限を有しているか否かを管理している。
【０１９３】
本実施の形態にかかる複合機２０００のように、アプリケーション層を問わずに、各構成を多段構成とすることができる。これにより、複合機２０００では、粒度に応じて適切にアクセス制御を行うことができる。また、管理者の要求通りにアクセス制御を行うことができるので、権限の設定及び管理が容易になる。
【０１９４】
複合機２０００のように、アプリケーションコントロール層１０２において、アプリケーション層１５０１の各アプリケーションに対する処理要求の入力を制御することで、アプリケーション層１５０１の各アプリケーションに対する脆弱性への攻撃（例えば、脆弱性のあるプリンタアプリ７１４又はプロッタアプリ１２４の悪用）を回避することができる。さらには、複合機２０００が備えるＣＰＵの占有など、アプリケーション共有サービス層１０４のアクセス制御では回避できない課題にも対処できる。
【０１９５】
（第５の実施の形態）
上述した実施の形態では、アプリケーション層及びアプリケーション共有サービス層のアプリケーション毎にアクセス制御を行った。しかしながら、アプリケーション層及びアプリケーション共有サービス層のアプリケーション毎にアクセス制御を行うことに制限するものではない。そこで、第５の実施の形態にかかる複合機では、アクセス制御を一括して行うこととした実施の形態である。
【０１９６】
図２１は、第５の実施の形態にかかる複合機２１００の構成を示すブロック図である。複合機２１００は、上述した第２の実施の形態にかかる複合機７００とは、アプリケーション層７０１とは処理が異なるアプリケーション層２１０１と、アプリケーション共有サービス層１０４とは処理が異なるアプリケーション共有サービス層２１０２と、共有メカニズム１０５とは処理が異なる共有メカニズム２１０３とを有している点で異なる。以下の説明では、上述した第２の実施の形態と同一の構成要素には同一の符号を付してその説明を省略している。
【０１９７】
アプリケーション共有サービス層２１０２は、スキャナアプリ２１２１と、プロッタアプリ２１２２と、権限設定管理ＤＢ２１２３とを保持する。
【０１９８】
スキャナアプリ２１２１は、複合機１００が備えたスキャナユニット１０７を制御するリソースである。そして、スキャナアプリ２１２１は、実行する旨を受け付けた際、スキャナアプリ２１２１を示す資源情報と、入力された動作情報と、利用者を識別する主体情報とを、後述する権限判断部２１３１に出力し、権限判断部２１３１から使用する権限を有している旨が入力された場合に、スキャナユニット１０７の制御を行う。
【０１９９】
プロッタアプリ２１２２は、複合機１００が備えたプロッタユニット１０８を制御するリソースである。そして、プロッタアプリ２１２２は、実行する旨を受け付けた際、プロッタアプリ２１２２を示す資源情報と、入力された動作情報と、利用者を識別する主体情報とを、後述する権限判断部２１３１に出力し、権限判断部２１３１から使用する権限を有している旨が入力された場合に、プロッタユニット１０８の制御を行う。
【０２００】
権限設定管理ＤＢ２１２３は、各資源情報における動作情報毎に、各主体情報と対応付けて使用する権限を有しているか否かを保持している。また、本実施の形態における資源情報とは、複合機２１００のアプリケーション共有サービス層２１０２のリソースやアプリケーション層２１０１の各アプリケーションを識別する情報とする。この権限設定管理ＤＢ２１２３が保持している情報は、後述する権限判断部２１３１が使用する。
【０２０１】
アプリケーション層２１０１は、コピーアプリ２１１１と、プリンタアプリ２１１２と、対応リソース管理テーブル１１３とを備えている。
【０２０２】
コピーアプリ２１１１は、実行する旨を受け付けた際、コピーアプリ２１１１を示す資源情報と、入力された動作情報と、利用者を識別する主体情報とを、後述する権限判断部２１３１に出力し、権限判断部２１３１から使用する権限を有している旨が入力された場合に、アプリケーション共有サービス層２１０２の、コピーに用いられるリソースに対して実行を指示する。また、コピーアプリ２１１１の他の機能は、第２の実施の形態にかかるコピーアプリ７１１と同様として説明を省略する。
【０２０３】
プリンタアプリ２１１２は、実行する旨を受け付けた際、プリンタアプリ２１１２を示す資源情報と、入力された動作情報と、利用者を識別する主体情報とを、後述する権限判断部２１３１に出力し、権限判断部２１３１から使用する権限を有している旨が入力された場合に、アプリケーション共有サービス層２１０２のプロッタアプリ２１２２に対して実行を指示する。また、プリンタアプリ２１１２の他の機能は、第２の実施の形態にかかるプリンタアプリ７１４と同様として説明を省略する。
【０２０４】
共有メカニズム２１０３は、上述した実施形態の共有メカニズム１０５が備えている機能の他に、権限判断部２１３１を備えている。
【０２０５】
権限判断部２１３１は、後述するアプリケーション等からの入力された資源情報（アプリケーション又はリソース名）と、動作情報と、主体情報（ユーザ名）とから、当該ユーザ名の利用者が、当該資源情報を示されるリソース又はプログラムを、当該動作情報で使用する権限を有しているか否か判断する。そして、権限判断部２１３１は、判断した結果（使用する権限を有しているか否か示す情報を、資源情報等を入力したアプリケーション等に対して出力する。
【０２０６】
次に、権限判断を行うために必要な処理について説明する。図２２は、アプリケーションコントロール層１０２からの２色でプリント処理の実行が指示された際の実行手順を示したシーケンス図である。
【０２０７】
図２２は、各アプリケーション等がインストールされた後に起動した複合機２１００における実行手順を示したシーケンス図である。
【０２０８】
まず、コピーアプリ２１１１は、コピーアプリ２１１１を示す資源情報において、設定可能な動作情報毎に、主体情報で識別される利用者が使用可能か否かを保持するコピー権限設定テーブルの生成を、権限設定管理ＤＢ２１２３に対して行う（ステップＳ２２０１）。
【０２０９】
次に、プリンタアプリ２１１２は、プリンタアプリ２１１２を示す資源情報において、設定可能な動作情報毎に、主体情報で識別される利用者が使用可能か否かを保持するプリンタ権限設定テーブルの生成を、権限設定管理ＤＢ２１２３に対して行う（ステップＳ２２０２）。
【０２１０】
そして、スキャナアプリ２１２１は、スキャナアプリ２１２１を示す資源情報において、設定可能な動作情報毎に、主体情報で識別される利用者が使用可能か否かを保持するスキャナ権限設定テーブルの生成を、権限設定管理ＤＢ２１２３に対して行う（ステップＳ２２０３）。
【０２１１】
次に、プロッタアプリ２１２２は、プロッタアプリ２１２２を示す資源情報において、設定可能な動作情報毎に、主体情報で識別される利用者が使用可能か否かを保持するスキャナ権限設定テーブルの生成を、権限設定管理ＤＢ２１２３に対して行う（ステップＳ２２０４）。
【０２１２】
上述した処理手順により、権限設定管理ＤＢ２１２３が権限を判定するために必要な権限設定テーブルを保持することになる。そして、生成された権限設定テーブルを用いたアクセス制御を以下に説明する。
【０２１３】
次に、利用者からフルカラーで印刷する旨の入力を受け付けた場合のプリント処理について説明する。図２３は、アプリケーションコントロール層１０２からのフルカラーでプリント処理の実行が指示された際の実行手順を示したシーケンス図である。
【０２１４】
まず、アプリケーションコントロール層１０２は、プリンタアプリ２１１２に対してプリンタ処理の実行を指示する（ステップＳ２３０１）。この際、アプリケーションコントロール層１０２がプリンタアプリ２１１２に対して送信する情報は、「実行（“ユーザ名（主体情報）”、“コピー”、“フルカラー”）」とする。つまり、処理の要求を行った利用者のユーザ名と、要求された処理（コピー）と、当該処理での動作情報（フルカラー）とを含んでいる。
【０２１５】
次に、プリンタアプリ２１１２は、権限判断部２１３１に対して、チェックを要求する（ステップＳ２３０２）。その際、プリンタアプリ２１１２は、権限判断部２１３１に対して、主体情報となるユーザ名と、資源情報である“プリンタ”と、動作情報である“フルカラー”とを出力する。
【０２１６】
そして、権限判断部２１３１が要求を受け付けた場合、権限設定管理ＤＢ２１２３から、入力された資源情報等に対応する権限設定テーブルを取得する（ステップＳ２３０３）。
【０２１７】
そして、権限判断部２１３１は、入力されたユーザ名で識別される利用者が、“プリンタ”を“フルカラー”で使用する権利があるか否か判断する（ステップＳ２３０４）。なお、本実行手順では使用する権利があると判断されたものとする。
【０２１８】
次に、権限判断部２１３１は、プリンタアプリ２１１２に対して、使用する権限の判断結果を通知する（ステップＳ２３０５）。これにより、プリンタアプリ２１１２は、“フルカラー”で使用する権限を有していると判断する。
【０２１９】
その後、プリンタアプリ２１１２は、制御に必要なリソースを、対応リソース管理テーブル１１３を用いて特定する（ステップＳ２３０６）。本処理手順では、プリンタに必要なリソースとして、プロッタユニット１０８が特定されたものとする。そこで、プリンタアプリ２１１２は、プロッタアプリ２１２２に対して制御を要求する。
【０２２０】
そして、プリンタアプリ２１１２は、プロッタアプリ２１２２に対してプリント処理の実行を指示する（ステップＳ２３０７）。この際、プリンタアプリ２１１２がプロッタアプリ２１２２に対して送信する情報は、「実行（“ユーザ名（主体情報）”、“プロッタ”、“フルカラー”）」とする。
【０２２１】
そして、プロッタアプリ２１２２は、権限判断部２１３１に対して、チェックを要求する（ステップＳ２３０８）。その際、プロッタアプリ２１２２は、権限判断部２１３１に対して、主体情報となるユーザ名と、資源情報である“プロッタ”と、動作情報である“フルカラー”とを出力する。
【０２２２】
そして、権限判断部２１３１が要求を受け付けた場合、権限設定管理ＤＢ２１２３から、入力された資源情報等に対応する権限設定テーブルを取得する（ステップＳ２３０９）。
【０２２３】
そして、権限判断部２１３１は、入力されたユーザ名で識別される利用者が、“プロッタ”を“フルカラー”で使用する権利があるか否か判断する（ステップＳ２３１０）。なお、本実行手順では使用する権利があると判断されたものとする。
【０２２４】
次に、権限判断部２１３１は、プロッタアプリ２１２２に対して、使用する権限の判断結果を通知する（ステップＳ２３１１）。これにより、プロッタアプリ２１２２は、“フルカラー”で使用する権限を有していると判断する。
【０２２５】
その後、プリンタアプリ２１１２は、プロッタアプリ２１２２を用いて、プリント処理を行うことになる。
【０２２６】
上述した実施の形態にかかる複合機２１００では、権限判断部２１３１で権限を有しているか否かの判断を行うこととした。これにより、各アプリケーション及びリソースのプログラムサイズを軽減することができるとともに、これら各アプリケーション及びリソースを作成する作業工数を軽減することができる。
【０２２７】
また、本実施の形態にかかる複合機２１００では、権限判断部２１３１を、リソース又はプログラムを使用する権限を有しているか否か判断する部分として構成した。これにより、複合機２１００では、権限判断部２１３１を修正することで、アクセス制御のチェックのロジックを、呼び出し側に意識させずに一括変更することができる
【０２２８】
（第５の実施の形態の変形例１）
【０２２９】
上述した第５の実施の形態では、権限判断部２１３１は、権限判断の要求を受け付ける度に、対応する権限設定テーブルを取得していた。しかしながら、逐一権限設定テーブルを取得するものではなく、予め全ての権限設定テーブルを取得しても良い。そこで、第５の実施の形態の変形例１では、予め全ての権限設定テーブルを取得する例について説明する。なお、複合機の各構成は、第５の実施の形態と同様として説明を省略する。
【０２３０】
次に、利用者からフルカラーで印刷する旨の入力を受け付けた場合のプリント処理について説明する。図２４は、アプリケーションコントロール層１０２からのフルカラーでプリント処理の実行が指示された際の実行手順を示したシーケンス図である。
【０２３１】
まず、権限判断部２１３１は、複合機２１００の電源投入時に、権限設定管理ＤＢ２１２３から、全ての権限設定テーブルを取得する（ステップＳ２４０１）。
【０２３２】
次に、アプリケーションコントロール層１０２は、プリンタアプリ２１１２に対してプリンタ処理の実行を指示する（ステップＳ２４０２）。この際、アプリケーションコントロール層１０２がプリンタアプリ２１１２に対して送信する情報は、「実行（“ユーザ名（主体情報）”、“コピー”、“フルカラー”）」とする。つまり、処理の要求を行った利用者のユーザ名と、要求された処理（コピー）と、当該処理での動作情報（フルカラー）とを含んでいる。
【０２３３】
次に、プリンタアプリ２１１２は、権限判断部２１３１に対して、チェックを要求する（ステップＳ２４０３）。その際、プリンタアプリ２１１２は、権限判断部２１３１に対して、主体情報となるユーザ名と、資源情報である“プリンタ”と、動作情報である“フルカラー”とを出力する。
【０２３４】
そして、権限判断部２１３１は、予め取得した権限設定テーブルを用いて、入力されたユーザ名で識別される利用者が、“プリンタ”を“フルカラー”で使用する権利があるか否か判断する（ステップＳ２４０４）。なお、本実行手順では使用する権利があると判断されたものとする。
【０２３５】
次に、権限判断部２１３１は、プリンタアプリ２１１２に対して、使用する権限の判断結果を通知する（ステップＳ２４０５）。これにより、プリンタアプリ２１１２は、“フルカラー”で使用する権限を有していると判断する。
【０２３６】
その後、プリンタアプリ２１１２は、制御に必要なリソースを、対応リソース管理テーブル１１３を用いて特定する（ステップＳ２４０６）。本処理手順では、プリンタに必要なリソースとして、プロッタユニット１０８が特定されたものとする。そこで、プリンタアプリ２１１２は、プロッタアプリ２１２２に対して制御を要求する。
【０２３７】
そして、プリンタアプリ２１１２は、プロッタアプリ２１２２に対してプリント処理の実行を指示する（ステップＳ２４０７）。この際、プリンタアプリ２１１２がプロッタアプリ２１２２に対して送信する情報は、「実行（“ユーザ名（主体情報）”、“プロッタ”、“フルカラー”）」とする。
【０２３８】
そして、プロッタアプリ２１２２は、権限判断部２１３１に対して、チェックを要求する（ステップＳ２４０８）。その際、プロッタアプリ２１２２は、権限判断部２１３１に対して、主体情報となるユーザ名と、資源情報である“プロッタ”と、動作情報である“フルカラー”とを出力する。
【０２３９】
次に、権限判断部２１３１は、予め取得した権限設定テーブルを用いて、入力されたユーザ名で識別される利用者が、“プロッタ”を“フルカラー”で使用する権利があるか否か判断する（ステップＳ２４０９）。なお、本実行手順では使用する権利があると判断されたものとする。
【０２４０】
次に、権限判断部２１３１は、プロッタアプリ２１２２に対して、使用する権限の判断結果を通知する（ステップＳ２４１０）。これにより、プロッタアプリ２１２２は、“フルカラー”で使用する権限を有していると判断する。
【０２４１】
これにより、本変形例にかかる複合機２１００は、第５の実施形態と同様に、プリンタアプリ２１１２は、プロッタアプリ２１２２を用いて、プリント処理を行うことができる。
【０２４２】
本変形例にかかる複合機２１００は、権限判断部２１３１が予め権限設定テーブルを、電源投入時などの実行前に予め読み込んでおくことで、権限の判断の速度を向上させることができる。
【０２４３】
（第６の実施の形態）
第６の実施の形態では、権限判断を、複合機とネットワークを介して接続される認可サーバで行われる場合について説明する。
【０２４４】
図２５は、第６の実施の形態にかかる複合機２５００の構成を示すブロック図である。本図に示すように複合機２５００は、上述した第５の実施の形態にかかる複合機２１００とは、送受信処理部２５０２が追加されていること、そして共有メカニズム２１０３とは処理が異なる共有メカニズム２５０１に変更された構成を有している点で異なる。以下の説明では、上述した第１の実施の形態と同一の構成要素には同一の符号を付してその説明を省略している。
【０２４５】
そして、図２５に示すように複合機２５００とネットワーク２５６０を介して認可サーバ２５５０が接続されている。
【０２４６】
図２５に示す認可サーバ２５５０は、送受信処理部２５５１と、権限判断部２５５２と、権限設定管理ＤＢ２５５３とを備えている。
【０２４７】
権限設定管理ＤＢ２５５３は、第５の実施の形態の権限設定管理ＤＢ２１２３と同様に、各資源情報における動作情報毎に、各主体情報と対応付けて使用する権限を有しているか否かを保持している。
【０２４８】
送受信処理部２５５１は、複合機２５００等の機器との間で情報の送受信を行う。例えば、送受信処理部２５５１は、複合機２５００等の機器から、使用する権限を有するか否かの判断の要求を、資源情報、動作情報及び主体情報と共に受信する。
【０２４９】
また、送受信処理部２５５１は、後述する権限判断部２５５２による判断結果を、判断要求を行った複合機２５００等の機器に対して送信する。
【０２５０】
権限判断部２５５２は、使用する権限の判断要求と共に送信された、資源情報（アプリケーション又はリソース名）と、動作情報と、主体情報（ユーザ名）とから、当該ユーザ名の利用者が、当該資源情報を示されるリソース又はプログラムを、当該動作情報で使用する権限を有しているか否かを、権限設定管理ＤＢ２５５３を用いて判断する。
【０２５１】
次に、利用者からフルカラーで印刷する旨の入力を受け付けた場合のプリント処理について説明する。図２６は、アプリケーションコントロール層１０２からのフルカラーでプリント処理の実行が指示された際の実行手順を示したシーケンス図である。
【０２５２】
まず、認可サーバ２５５０の権限判断部２５５２は、認可サーバ２５５０の電源投入時に、権限設定管理ＤＢ２５５３から、全ての権限設定テーブルを取得する（ステップＳ２６０１）。
【０２５３】
次に、アプリケーションコントロール層１０２は、プリンタアプリ２１１２に対してプリンタ処理の実行を指示する（ステップＳ２６０２）。この際、アプリケーションコントロール層１０２がプリンタアプリ２１１２に対して送信する情報は、「実行（“ユーザ名（主体情報）”、“コピー”、“フルカラー”）」とする。つまり、処理の要求を行った利用者のユーザ名と、要求された処理（コピー）と、当該処理での動作情報（フルカラー）とを含んでいる。
【０２５４】
次に、プリンタアプリ２１１２は、権限判断部２５１１に対して、チェックを要求する（ステップＳ２６０３）。その際、プリンタアプリ２１１２は、権限判断部２１３１に対して、主体情報となるユーザ名と、資源情報である“プリンタ”と、動作情報である“フルカラー”とを出力する。
【０２５５】
そして、権限判断部２５１１は、ネットワークを介して接続される認可サーバ２５５０に対してチェックを要求する（ステップＳ２６０４）。
【０２５６】
次に、認可サーバ２５５０の権限判断部２５５２は、予め取得した権限設定テーブルを用いて、入力されたユーザ名で識別される利用者が、“プリンタ”を“フルカラー”で使用する権利があるか否か判断する（ステップＳ２６０５）。なお、本実行手順では使用する権利があると判断されたものとする。
【０２５７】
次に、権限判断部２１３１は、権限判断部２５１１に対して、使用する権限の判断結果を通知する（ステップＳ２６０６）。
【０２５８】
その後、ステップＳ２６０７〜Ｓ２６１０では、図２４のステップＳ２４０５〜Ｓ２４０８と同様の処理を行う。
【０２５９】
そして、権限判断部２５１１は、ネットワークを介して接続される認可サーバ２５５０に対してチェックを要求する（ステップＳ２６１１）。
【０２６０】
次に、認可サーバ２５５０の権限判断部２５５２は、予め取得した権限設定テーブルを用いて、入力されたユーザ名で識別される利用者が、“プロッタ”を“フルカラー”で使用する権利があるか否か判断する（ステップＳ２６１２）。なお、本実行手順では使用する権利があると判断されたものとする。
【０２６１】
次に、権限判断部２１３１は、複合機２５００の権限判断部２５１１に対して、使用する権限の判断結果を通知する（ステップＳ２６１３）。その後、権限判断部２５１１は、プロッタアプリ２１２２に対して、使用する権限の判断結果を通知する（ステップＳ２６１４）。
【０２６２】
これにより、本実施の形態にかかる複合機２５００は、認可サーバ２５５０による権限の判断結果に応じて、アクセス制御を行うことができる。
【０２６３】
また、本実施の形態にかかる複合機２５００は、認可サーバ２５５０に対して権限の判断を委譲することとした。これにより、複数台の複合機に対して、使用する権限を設定する作業負担を軽減することができる。
【０２６４】
図２７は、上述した実施の形態にかかる複合機（１００、７００、１２００、１５００、１７００、１８００、２０００、２１００、２５００）のハードウェア構成を示すブロック図である。本図に示すように、この複合機（１００、７００、１２００、１５００、１７００、１８００、２０００、２１００、２５００）は、コントローラ２７１０とエンジン部（Engine）２７６０とをＰＣＩ（Peripheral Component Interconnect）バスで接続した構成となる。コントローラ２７１０は、複合機全体の制御と描画、通信、操作部２７２０からの入力を制御するコントローラである。エンジン部２７６０は、ＰＣＩバスに接続可能なプリンタエンジン等であり、たとえば白黒プロッタ、１ドラムカラープロッタ、４ドラムカラープロッタ、スキャナまたはファックスユニット等である。なお、このエンジン部２７６０には、プロッタ等のいわゆるエンジン部分に加えて、誤差拡散やガンマ変換等の画像処理部分が含まれる。
【０２６５】
コントローラ２７１０は、ＣＰＵ２７１１と、ノースブリッジ（ＮＢ）２７１３と、システムメモリ（ＭＥＭ−Ｐ）２７１２と、サウスブリッジ（ＳＢ）２７１４と、ローカルメモリ（ＭＥＭ−Ｃ）２７１７と、ＡＳＩＣ（Application Specific Integrated Circuit）２７１６と、ハードディスクドライブ（ＨＤＤ）２７１８とを有し、ノースブリッジ（ＮＢ）２７１３とＡＳＩＣ２７１６との間をＡＧＰ（Accelerated Graphics Port）バス２７１５で接続した構成となる。また、ＭＥＭ−Ｐ２７１２は、ＲＯＭ（Read Only Memory）２７１２ａと、ＲＡＭ（Random Access Memory）２７１２ｂとをさらに有する。
【０２６６】
ＣＰＵ２７１１は、複合機（１００、７００、１２００、１５００、１７００、１８００、２０００、２１００、２５００）の全体制御をおこなうものであり、ＮＢ２７１３、ＭＥＭ−Ｐ２７１２及びＳＢ２７１４からなるチップセットを有し、このチップセットを介して他の機器と接続される。
【０２６７】
ＮＢ２７１３は、ＣＰＵ２７１１とＭＥＭ−Ｐ２７１２、ＳＢ２７１４、ＡＧＰ２７１５とを接続するためのブリッジであり、ＭＥＭ−Ｐ２７１２に対する読み書き等を制御するメモリコントローラと、ＰＣＩマスタ及びＡＧＰターゲットとを有する。
【０２６８】
ＭＥＭ−Ｐ２７１２は、プログラムやデータの格納用メモリ、プログラムやデータの展開用メモリ、プリンタの描画用メモリ等として用いるシステムメモリであり、ＲＯＭ２７１２ａとＲＡＭ２７１２ｂとからなる。ＲＯＭ２７１２ａは、プログラムやデータの格納用メモリとして用いる読み出し専用のメモリであり、ＲＡＭ２７１２ｂは、プログラムやデータの展開用メモリ、プリンタの描画用メモリ等として用いる書き込み及び読み出し可能なメモリである。
【０２６９】
ＳＢ２７１４は、ＮＢ２７１３とＰＣＩデバイス、周辺デバイスとを接続するためのブリッジである。このＳＢ２７１４は、ＰＣＩバスを介してＮＢ２７１３と接続されており、このＰＣＩバスには、ネットワークインターフェース（Ｉ／Ｆ）部等も接続される。
【０２７０】
ＡＳＩＣ２７１６は、画像処理用のハードウェア要素を有する画像処理用途向けのＩＣ（Integrated Circuit）であり、ＡＧＰ２７１５、ＰＣＩバス、ＨＤＤ２７１８及びＭＥＭ−Ｃ２７１７をそれぞれ接続するブリッジの役割を有する。このＡＳＩＣ２７１６は、ＰＣＩターゲット及びＡＧＰマスタと、ＡＳＩＣ２７１６の中核をなすアービタ（ＡＲＢ）と、ＭＥＭ−Ｃ２７１７を制御するメモリコントローラと、ハードウェアロジック等により画像データの回転等をおこなう複数のＤＭＡＣ（Direct Memory Access Controller）と、エンジン部２７６０との間でＰＣＩバスを介したデータ転送をおこなうＰＣＩユニットとからなる。このＡＳＩＣ２７１６には、ＰＣＩバスを介してＦＣＵ（Fax Control Unit）２７３０、ＵＳＢ（Universal Serial Bus）２７４０、ＩＥＥＥ１３９４（the Institute of Electrical and Electronics Engineers 1394）インターフェース２７５０が接続される。
【０２７１】
ＭＥＭ−Ｃ２７１７は、コピー用画像バッファ、符号バッファとして用いるローカルメモリであり、ＨＤＤ（Hard Disk Drive）２７１８は、画像データの蓄積、プログラムの蓄積、フォントデータの蓄積、フォームの蓄積を行うためのストレージである。
【０２７２】
ＡＧＰ２７１５は、グラフィック処理を高速化するために提案されたグラフィックスアクセラレーターカード用のバスインターフェースであり、ＭＥＭ−Ｐ２７１２に高スループットで直接アクセスすることにより、グラフィックスアクセラレーターカードを高速にするものである。
【０２７３】
なお、上述した実施の形態の複合機（１００、７００、１２００、１５００、１７００、１８００、２０００、２１００、２５００）で実行される情報処理プログラムは、ＲＯＭ等に予め組み込まれて提供される。
【０２７４】
本実施形態の複合機（１００、７００、１２００、１５００、１７００、１８００、２０００、２１００、２５００）で実行される情報処理プログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ（Digital Versatile Disk）等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。
【０２７５】
さらに、上述した実施の形態の複合機（１００、７００、１２００、１５００、１７００、１８００、２０００、２１００、２５００）で実行される情報処理プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、本実施形態の複合機（１００、７００、１２００、１５００、１７００、１８００、２０００、２１００、２５００）で実行される情報処理プログラムをインターネット等のネットワーク経由で提供または配布するように構成しても良い。
【０２７６】
本実施の形態の複合機（１００、７００、１２００、１５００、１７００、１８００、２０００、２１００、２５００）で実行される情報処理プログラムは、上述した各部（共有メカニズム、ユーザインターフェース層、アプリケーションコントロール層、アプリケーション層、アプリケーション共有サービス層）を含むモジュール構成となっており、実際のハードウェアとしてはＣＰＵ（プロセッサ）が上記ＲＯＭから情報処理プログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、共有メカニズム、ユーザインターフェース層、アプリケーションコントロール層、アプリケーション層、アプリケーション共有サービス層が主記憶装置上に生成されるようになっている。
【産業上の利用可能性】
【０２７７】
以上のように、本発明にかかる情報処理装置及び情報処理プログラムは、アプリケーション又はリソースのアクセス制御に有用であり、特に、情報処理装置が備える構成の粒度に応じたアクセス制御に適している。
【図面の簡単な説明】
【０２７８】
【図１】第１の実施の形態にかかる複合機の構成を示すブロック図である。
【図２】第１の実施の形態にかかる複合機の対応リソース管理テーブルのテーブル構造を示した図である。
【図３】第１の実施の形態にかかる複合機のスキャナ権限設定テーブルのテーブル構造の例を示した図である。
【図４】第１の実施の形態にかかる複合機におけるアプリケーションが処理を実行するまで処理の手順を示すフローチャートである。
【図５】第１の実施の形態にかかる複合機におけるアプリケーションコントロール層からのコピー処理の実行が指示された際の実行手順を示したシーケンス図である。
【図６】第１の実施の形態にかかる複合機におけるスキャナアプリで行われる権限の判断処理の手順を示すフローチャートである。
【図７】第２の実施の形態にかかる複合機の構成を示すブロック図である。
【図８】第２の実施の形態にかかる複合機のプリンタ権限設定テーブルのテーブル構造の例を示した図である。
【図９】第２の実施の形態にかかる複合機のプロッタ権限設定テーブルのテーブル構造を示した図である。
【図１０】第２の実施の形態にかかる複合機のアプリケーションコントロール層からの２色でプリント処理の実行が指示された際の実行手順を示したシーケンス図である。
【図１１】第２の実施の形態にかかる複合機における利用者から“２色”によるプリント処理を要求された場合における権限の判断処理の手順を示すフローチャートである。
【図１２】第２の実施の形態の変形例１にかかる複合機の構成を示すブロック図である。
【図１３】第２の実施の形態の変形例１にかかる複合機のアプリケーションコントロール層からのプリント処理の実行が指示された際の実行手順を示したシーケンス図である。
【図１４】第２の実施の形態の変形例１にかかる複合機のアプリケーションコントロール層からのプリント処理の実行が指示された際の実行手順を示したシーケンス図である。
【図１５】第２の実施の形態の変形例２にかかる複合機の構成を示すブロック図である。
【図１６】第２の実施の形態の変形例２にかかる複合機の権限管理部が備える権限設定テーブルのテーブル構造の例を示した図である。
【図１７】第２の実施の形態の変形例３にかかる複合機の構成を示すブロック図である。
【図１８】第３の実施の形態にかかる複合機の構成を示すブロック図である。
【図１９】第３の実施の形態にかかる複合機のアプリケーションコントロール層からのプリント処理の実行が指示された際の実行手順を示したシーケンス図である。
【図２０】第４の実施の形態にかかる複合機の構成を示すブロック図である。
【図２１】第５の実施の形態にかかる複合機の構成を示すブロック図である。
【図２２】第５の実施の形態にかかる複合機のアプリケーションコントロール層からの２色でプリント処理の実行が指示された際の実行手順を示したシーケンス図である。
【図２３】第５の実施の形態にかかる複合機のアプリケーションコントロール層からのフルカラーでプリント処理の実行が指示された際の実行手順を示したシーケンス図である。
【図２４】第５の実施の形態にかかる複合機のアプリケーションコントロール層からのフルカラーでプリント処理の実行が指示された際の実行手順を示したシーケンス図である。
【図２５】第６の実施の形態にかかる複合機の構成を示すブロック図である。
【図２６】第６の実施の形態にかかる複合機のアプリケーションコントロール層からのフルカラーでプリント処理の実行が指示された際の実行手順を示したシーケンス図である。
【図２７】複合機のハードウェア構成を示すブロック図である。
【符号の説明】
【０２７９】
１００、７００、１２００、１５００、１７００、１８００、２０００、２１００、２５００  複合機
１０１  ユーザインターフェース層
１０２、１７０１、２００１、２１０１  アプリケーションコントロール層
１０３、７０１、１２００、１５０１、１８０１  アプリケーション層
１０４、１５０２、１７０２、２１０２  アプリケーション共有サービス層
１０５、２１０３、２５０１  共有メカニズム
１０６  ＯＳ
１０７  スキャナユニット
１０８  カラーラインプリンタ
１０９  ハードウェアリソース
１１１、７１１、１５１１、２１１１  コピーアプリ
１１２、７１４、１５１３、２１１２  プリンタアプリ
１１３  対応リソース管理テーブル
１２１、１５２１、２１２１  スキャナアプリ
１２２  スキャナ権限判断部
１２３  スキャナ権限設定テーブル
１２４、１５２３、１７１１、２１２２  プロッタアプリ
１２５  プロッタ権限判断部
１２６  プロッタ権限設定テーブル
１５０、１５５０、１７５０  フレームワーク部
７１２  コピー権限判断部
７１３  コピー権限設定テーブル
７１５  プリンタ権限判断部
７１６  プリンタ権限設定テーブル
１２１１  第１プリンタアプリ
１２１２  第１プリンタ権限判断部
１２１３  対応リソース管理テーブル
１２２１  第２プリンタアプリ
１２２２  第２プリンタ権限判断部
１５１２  コピー権限判断部
１５１４  プリンタ権限判断部
１５２２  スキャナ権限判断部
１５２４  プロッタ権限判断部
１５２５  権限判断部
１７１１  第１プロッタアプリ
１７１２  第１プロッタ権限判断部
１７１３  権限管理部
１７２１  第２プロッタアプリ
１７２２  第２プロッタ権限判断部
１７２３  スキャンアプリ
１７２４  スキャン権限判断部
１７３１  プラグイン管理モジュール
１８１１  第１プリンタアプリ
１８１２  地紋プリンタアプリ
１８１３  第２プリンタアプリ
１８１４  印刷アプリ
１８１５  印刷権限判断部
１８１６  印刷権限設定テーブル
１８１７  対応リソース管理テーブル
２０１１  リクエスト管理モジュール
２０１２  リクエスト権限判断部
２０１３  リクエスト権限設定テーブル
２１３１、２５１１  権限判断部
２１２３、２５５３  権限設定管理ＤＢ
２５０２  送受信処理部
２５５０  認可サーバ
２５５１  送受信処理部
２５５２  権限判断部
２７６０  ネットワーク
２７１０  コントローラ
２７１１  ＣＰＵ
２７１２  ＭＥＭ−Ｐ
２７１２ａ  ＲＯＭ
２７１２ｂ  ＲＡＭ
２７１３  ＮＢ
２７１４  ＳＢ
２７１５  ＡＧＰバス
２７１６  ＡＳＩＣ
２７１７  ＭＥＭ−Ｃ
２７１８  ＨＤＤ
２７２０  操作部
２７３０  ＦＣＵ
２７４０  ＵＳＢ
２７５０  インターフェース
２７６０  エンジン部
【図１】
2008233947.tif 000003
【図２】
2008233947.tif 000004
【図３】
2008233947.tif 000005
【図４】
2008233947.tif 000006
【図５】
2008233947.tif 000007
【図６】
2008233947.tif 000008
【図７】
2008233947.tif 000009
【図８】
2008233947.tif 000010
【図９】
2008233947.tif 000011
【図１０】
2008233947.tif 000012
【図１１】
2008233947.tif 000013
【図１２】
2008233947.tif 000014
【図１３】
2008233947.tif 000015
【図１４】
2008233947.tif 000016
【図１５】
2008233947.tif 000017
【図１６】
2008233947.tif 000018
【図１７】
2008233947.tif 000019
【図１８】
2008233947.tif 000020
【図１９】
2008233947.tif 000021
【図２０】
2008233947.tif 000022
【図２１】
2008233947.tif 000023
【図２２】
2008233947.tif 000024
【図２３】
2008233947.tif 000025
【図２４】
2008233947.tif 000026
【図２５】
2008233947.tif 000027
【図２６】
2008233947.tif 000028
【図２７】
2008233947.tif 000029