説明

情報処理装置及び情報処理プログラム

【課題】容易な設定でリソースに対するアクセスを制限できる。
【解決手段】利用者からの処理の実行要求と、当該処理を行う際の動作情報と、の入力を受け付けるユーザインターフェース層と、入力された実行要求に従って処理を行う複数個のアプリケーションを含むアプリケーション層と、複数個のアプリケーションが共通して使用する複数のリソースと、アプリケーションから複数のリソースのうちの任意のリソースに対して、入力された動作情報で処理を要求する場合に、任意のリソースにおいて動作情報を、利用者が使用する権限を有しているか否か判断する権限判断部と、利用者が使用する権限を有していると判断された場合に当該リソースを動作情報で制御する下層アプリケーションを含むアプリケーション共有サービス層と、を備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数個のアプリケーションが使用するリソースの制御を行う情報処理装置及び情報処理プログラムに関するものである。
【背景技術】
【0002】
近年、コンピュータ技術の向上に伴い、様々な機能を一つの装置に格納する傾向にある。このような装置の例として複合機がある。この複合機は、従来筐体で配設されていたプリンタ、コピー、ファクシミリの機能を一つの筐体内に格納している。
【0003】
複合機は、1つの筐体内に表示部、印刷部および撮像部などを設けるとともに、プンタ、コピーおよびファクリミリ装置にそれぞれ対応する3種類のソフトウェアを備え、これらソフトウェアの切り替えにより、プリンタ、コピーまたはファクリミリ装置として動作している。
【0004】
このような複数の機能を有する複合機では、複数の利用者に共通して使用される傾向が多い。しかしながら、複合機に搭載されている全ての機能を、全ての利用者に対して提供することが好ましくない場合もある。
【0005】
そこで、現在では、利用者毎に異なる動作環境を提供する技術が提案されている(例えば、特許文献1)。この特許文献1では、装置を使用する利用者毎に動作環境の各項目に対するアクセス権を設定し、当該動作環境に従ってアプリケーションを実行している。これにより、利用者毎に異なる最適な動作環境を提供することを可能としている。
【0006】
【特許文献1】特開2005−175530号公報
【発明の開示】
【発明が解決しようとする課題】
【0007】
しかしながら、特許文献1に記載された技術は、各アプリケーションの動作毎に項目を設定しているので、例えばプリント又はコピーにかかわらず利用者に対してフルカラーによる出力を抑止したい場合等に、全てのアプリケーションに対して設定を行う必要があるため、設定が煩雑になるという問題がある。
【0008】
本発明は、上記に鑑みてなされたものであって、容易な設定でアプリケーションが使用するリソースに対するアクセスを制御する情報処理装置及び情報処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【0009】
上述した課題を解決し、目的を達成するために、請求項1にかかる発明は、利用者から、処理の実行要求と、当該処理を行う際の動作設定と、の入力を受け付ける入力受付部と、利用者からの入力された処理の実行要求に従って処理を行う複数個のアプリケーションと、前記複数個のアプリケーションが共通して使用する複数のリソースと、前記アプリケーションから、前記複数のリソースのうちの任意のリソースに対して、入力された前記動作設定で処理を要求する場合に、前記任意のリソースにおいて前記動作設定を、前記動作設定を入力した利用者が使用する権限を有しているか否か判断するリソース権限判断部と、前記リソース権限判断部で利用者が使用する権限を有していると判断された場合に、当該任意のリソースを、前記動作設定で制御するリソース制御アプリケーションと、を備えることを特徴とする。
【0010】
また、請求項2にかかる発明は、請求項1にかかる発明において、前記アプリケーションが、入力された前記動作設定で処理を実行する場合に、当該アプリケーションにおいて前記動作設定を、前記動作設定を入力した利用者が使用する権限を有しているか否か判断するアプリケーション権限判断部を、さらに備え、前記アプリケーションは、前記アプリケーション権限判断部で利用者が使用する権限を有していると判断された場合に、前記リソース制御アプリケーションに対して前記動作設定による処理を要求すること、を特徴とする。
【0011】
また、請求項3にかかる発明は、請求項2にかかる発明において、前記アプリケーションは、前記アプリケーション権限判断部で利用者が使用する権限を有していると判断された場合に、さらに前記動作設定を、前記リソースが処理可能な設定に変更すること、を特徴とする。
【0012】
また、請求項4にかかる発明は、請求項2又は3にかかる発明において、前記アプリケーション権限判断部は、利用者が使用する権限を有しているか否かを判断する必要があるアプリケーション毎に格納されていること、を特徴とする。
【0013】
また、請求項5にかかる発明は、請求項1にかかる発明において、前記リソース権限判断部は、当該リソースの制御を行う前記リソース制御アプリケーション毎に含まれていること、を特徴とする。
【0014】
また、請求項6にかかる発明は、請求項1乃至5のいずれか一つにかかる発明において、前記複数のアプリケーションから共通して使用される機能を有する中間ソフトウェアと、前記アプリケーションから、前記中間ソフトウェアに対して、入力された前記動作設定で処理を要求する場合に、前記中間ソフトウェアにおいて前記動作設定を、前記動作設定を入力した利用者が使用する権限を有しているか否か判断する中間ソフトウェア権限判断部と、をさらに備え、前記中間ソフトウェアは、前記中間ソフトウェア権限判断部で利用者が使用する権限を有していると判断された場合に、前記リソース制御アプリケーションに対して前記動作設定による処理を要求すること、を特徴とする。
【0015】
また、請求項7にかかる発明は、請求項1にかかる発明において、利用者を識別する利用者情報毎にテーブルを設けて、当該テーブルにおいて、前記リソースが実行可能な動作設定毎に、当該動作設定を使用する権限を有しているか否かを保持するリソース権限設定情報をさらに備え、前記リソース権限判断部は、前記リソース権限設定情報に基づいて、利用者に入力された前記動作設定を、当該利用者が使用する権限を有しているか否か判断すること、を特徴とする。
【0016】
また、請求項8にかかる発明は、請求項1乃至7のいずれか一つにかかる発明において、ネットワークを介して接続されている情報処理装置に対して利用者を識別する利用者情報と、利用者に入力された動作設定と、前記リソースを識別する情報と、を送信する送信処理部と、前記情報処理装置から利用者が使用する権限を有しているか否かを示す権限情報を受信する受信処理部と、前記リソース権限判断部は、受信した前記権限情報に基づいて、利用者が使用する権限を有しているか否か判断すること、を特徴とする。
【0017】
また、請求項9にかかる発明は、利用者からの入力された処理の実行要求に従って処理を行う複数個のアプリケーションと、前記複数個のアプリケーションが共通して使用する複数のリソースと、を備えるコンピュータにおける情報処理プログラムであって、利用者から、処理の実行要求と、当該処理を行う際の動作設定と、の入力を受け付ける入力受付ステップと、前記アプリケーションから、前記複数のリソースのうちの任意のリソースに対して、入力された前記動作設定で処理を要求する場合に、前記任意のリソースにおいて前記動作設定を、前記動作設定を入力した利用者が使用する権限を有しているか否か判断するリソース権限判断ステップと、前記リソース権限判断部で利用者が使用する権限を有していると判断された場合に、当該任意のリソースを、前記動作設定で制御するリソース制御ステップと、をコンピュータに実行させる。
【0018】
また、請求項10にかかる発明は、請求項9にかかる発明において、前記アプリケーションが、入力された前記動作設定で処理を実行する場合に、当該アプリケーションにおいて前記動作設定を、前記動作設定を入力した利用者が使用する権限を有しているか否か判断するアプリケーション権限判断ステップを、さらに実行させること、を特徴とする。
【発明の効果】
【0019】
請求項1にかかる発明によれば、アプリケーション毎に設定を行わずに、容易な設定でリソースに対するアクセスを制限できるという効果を奏する。
【0020】
また、請求項2〜4にかかる発明によれば、リソースとアプリケーションと使用する権限を有するか否か判断するので、情報処理装置が備える各構成の粒度に応じたアクセス制御ができるという効果を奏する。
【0021】
また、請求項5にかかる発明によれば、リソース制御アプリケーションを交換することで、リソースに対するアクセス制御に関する設定項目を容易に変更することができるという効果を奏する。
【0022】
また、請求項6にかかる発明によれば、リソースとアプリケーションと使用する権限を有するか否か判断するので、情報処理装置が備える各構成の粒度に応じたアクセス制御ができるという効果を奏する。
【0023】
また、請求項7にかかる発明によれば、利用者の追加又は削除時の設定変更を、1つのテーブルの追加又は削除で対応できるので、作業負担が軽減するという効果を奏する。
【0024】
また、請求項8にかかる発明によれば、情報処理装置毎に、使用する権限を設定する作業負担を軽減することができるという効果を奏する。
【0025】
また、請求項9にかかる発明によれば、アプリケーション毎に設定を行わずに、容易な設定でリソースに対するアクセスを制限できるという効果を奏する。
【0026】
また、請求項10にかかる発明によれば、リソースとアプリケーションと使用する権限を有するか否か判断するので、情報処理装置が備える各構成の粒度に応じたアクセス制御ができるという効果を奏する。
【発明を実施するための最良の形態】
【0027】
以下に添付図面を参照して、この発明にかかる情報処理装置及び情報処理プログラムの最良な実施の形態を詳細に説明する。
【0028】
本発明の一実施の形態として、情報処理装置であってコピー機能、ファクシミリ(FAX)機能、プリント機能、スキャナ機能及び入力画像(スキャナ機能による読み取り原稿画像やプリンタあるいはFAX機能により入力された画像)を配信する機能等を複合したいわゆるMFP(Multi Function Peripheral)と称される複合機100に適用した例を示す。また、本実施の形態かかる構成は、MFP以外の画像情報処理装置に対して適用しても良い。
【0029】
(第1の実施の形態)
図1は、第1の実施の形態にかかる複合機100の構成を示すブロック図である。本図に示すように複合機100の内部は、ユーザインターフェース層101と、アプリケーションコントロール層102と、アプリケーション層103と、アプリケーション共有サービス層104と、共有メカニズム105と、OS106と、スキャナユニット107、プロッタユニット108、白黒ラインプリンタ又はファクシミリ等のその他のハードウェアリソース109を備えている。
【0030】
本実施の形態にかかる複合機100は、このような階層構造で処理を行うこととした。これは、従来の複合機では、各アプリケーションの共通するAPIをサービス層で共有化を実現しただけで、切り分けが機能拡張を前提としたものでは無かった。このため、従来の複合機では、既存リソースを再利用して,既存アプリケーションの開発効率を向上させることには成功したが、新機能又は新たなソリューションへの対応では開発工数を削減することができないという問題が生じていた。
【0031】
なお、このような問題は、複合機に限らず、画像処理を行うアプリケーションを複数搭載可能とした画像情報処理装置に共通の問題である。
【0032】
そこで、複合機100では、上述した階層構造で役割分担を明確にしたので、新機能の追加や新たなソリューションへの対応が可能となった。次に、複合機100の各構成について説明する。
【0033】
また、ユーザインターフェース層101と、アプリケーションコントロール層102と、アプリケーション共有サービス層104と、共有メカニズム105と、をフレームワーク部150とする。
【0034】
ユーザインターフェース層101は、図示しない表示部にデータの表示処理や、利用者による入力操作の受付処理を行う。また、ユーザインターフェース層101は、入力操作で受け付けた情報をアプリケーションコントロール層102若しくはアプリケーション層103に出力する、又はアプリケーションコントロール層102若しくはアプリケーション層103から入力された情報を表示部に表示する。
【0035】
また、ユーザインターフェース層101は、利用者から、複合機100が備える機能による処理の実行要求と、当該処理を行う際の動作情報との入力を受け付ける。この動作情報は、デバイス等が処理を行うために用いられる動作設定となる。そして、ユーザインターフェース層101は、処理の要求を受け付けた場合に、当該処理を行うアプリケーションに対して、当該処理の実行要求と、動作情報と、処理の要求を行った利用者を識別するユーザ名と、を出力する。
【0036】
アプリケーション層103は、プリンタ、コピー、送信などの複合機100が備える機能を実行するソフトウェアを格納する。アプリケーション層103は、コピー用アプリケーションであるコピーアプリ111と、ページ記述言語(PDL,PCL)およびポストスクリプト(PS)を有するプリンタ用のアプリケーションであるプリンタアプリ112と、各アプリケーションが処理に必要なリソースを特定する対応リソース管理テーブル113とを有している。
【0037】
本実施の形態にかかる複合機100では、リソースを、当該複合機100が備えるハードウェアデバイスとする。そして、各アプリケーションが特定されたリソースを使用する場合、当該リソースを制御する下層アプリケーションに対して処理を要求することになる。
【0038】
図2は、対応リソース管理テーブル113のテーブル構造を示した図である。図2に示すように、対応リソース管理テーブル113は、アプリケーション層103のアプリケーションと、アプリケーション共有サービス層104のリソースとを対応付けて保持している。これにより、アプリケーションが処理を実行するために必要なリソースを特定することができる。
【0039】
また、アプリケーション層103のアプリケーション(例えば、コピーアプリ111や、プリンタアプリ112)は、ユーザインターフェース層101から、当該処理の実行要求と、動作情報と、処理の要求を行った利用者を識別するユーザ名と、が入力された場合に、当該処理に対応するジョブの生成を、アプリケーションコントロール層102に対して要求する。これにより、アプリケーションコントロール層102は、各アプリケーションに対して要求された処理に相当するジョブを一括して管理する。
【0040】
アプリケーションコントロール層102は、アプリケーション層103に含まれる各アプリケーションをコントロールする。例えば、アプリケーションコントロール層102は、各アプリケーションの要求に応じて生成されたジョブを用いて、ジョブスケジューリングを行う。
【0041】
そして、アプリケーションコントロール層102は、当該スケジューリングされているジョブに応じて、各アプリケーションを実行する指示を行う。この際、アプリケーションコントロール層102は、処理を行うアプリケーション名と、動作情報と、ユーザ名とを、アプリケーション層103に対して出力する。
【0042】
つまり、アプリケーションコントロール層102は、従来はアプリケーションが保持していたジョブを一括管理することで、従来の複合機のように全てのアプリケーションに対して行っていた、各アプリケーションが保持しているジョブの廃棄や、ジョブによる処理の停止、又はジョブの受付停止等の指示が必要なくなり、各アプリケーションと、フレームワーク部150との間の依存性が低減している。これによりアプリケーションの追加及び削除が容易になった。
【0043】
アプリケーション共有サービス層104は、スキャナユニット107を制御するスキャナアプリ121、プロッタユニット108を制御するプロッタアプリ124を備えている。つまり、アプリケーション共有サービス層104は、複合機100のアプリケーション層103の各アプリケーションが共有するリソースとして、各デバイスを制御するプログラムを一括管理する。
【0044】
このように、アプリケーション共有サービス層104は、従来はアプリケーションが保持していたリソースを制御する機能を、アプリケーションに拘わらず共有することとしている。これにより、ハードウェアリソースに対して修正が必要になった場合に、アプリケーション層103の各アプリケーションに対して修正を行う必要が無く、各アプリケーションと、フレームワーク部150との間の依存性が低減している。
【0045】
スキャナアプリ121は、スキャナ権限判断部122を備え、複合機100が備えたスキャナユニット107を制御する下層アプリケーションであり、アプリケーション層103の各アプリケーションからの指示に従い、スキャナユニット107を制御する。
【0046】
スキャナ権限判断部122は、スキャナ権限設定テーブル123を備え、アプリケーション層103の各アプリケーションからスキャナユニット107の使用要求を受け付けた場合に、スキャナユニット107を利用する権限を有しているか否か判断する。そして、スキャナアプリ121は、スキャナ権限設定テーブル123が権限を有していると判断した場合に、スキャナユニット107を制御する。
【0047】
図3は、スキャナ権限設定テーブル123のテーブル構造の例を示した図である。図3に示すように、スキャナ権限設定テーブル123は、各主体情報(例えば、利用者のユーザID又は利用者毎に設定された役割)に対して、スキャナユニット107を実行する際の動作情報毎に権限を有しているか否かを保持している。なお、図3において、“○”が実行する権限を有していることを示し、“×”が実行する権限を有していないことを示している。
【0048】
そして、アプリケーション層103の各アプリケーションがスキャナユニット107を使用する際に、各アプリケーションがスキャナアプリ121に対して出力する実行要求に主体情報及び動作情報が含まれているので、実行する権限を有しているか否か判断することができる。
【0049】
プロッタアプリ124は、プロッタ権限判断部125を備え、複合機100が備えたプロッタユニット108を制御する下層アプリケーションであり、アプリケーション層103の各アプリケーションからの指示に従い、プロッタユニット108を制御する。なお、プロッタ権限判断部125は、スキャナ権限判断部122と同様の手順で権限を有しているか否か判断を行うこととして説明を省略する。
【0050】
共有メカニズム105は、複合機100の電源投入時に最初に実行され、後述するOS106や、ユーザインターフェース層101、アプリケーションコントロール層102、アプリケーション層103及びアプリケーション共有サービス層104を起動するものである。例えば共有メカニズム105は、これらソフトウェア群を図示しないフラッシュメモリから読み出し、読み出した各プログラムをSRAMまたはSDRAM上に確保したメモリ領域に転送して起動するものである。
【0051】
また、共有メカニズム105は、上述したユーザインターフェース層101、アプリケーションコントロール層102、アプリケーション層103、アプリケーション共有サービス層104に対する例外管理、モニタリングを行う。
【0052】
OS106は、ユニックス(UNIX(登録商標))などのオペレーティングシステムであって、アプリケーション層103に含まれるアプリケーション、又は共有メカニズム105、ユーザインターフェース層101、アプリケーションコントロール層102若しくはアプリケーション共有サービス層104に格納された各ソフトウェアをプロセスとして並列実行する。
【0053】
上述した実施形態にかかる複合機100は、アプリケーションのコントロール部分をアプリケーションコントロール層102と、アプリケーションに対する共有サービス部分をアプリケーション共有サービス層104として、アプリケーションの内部処理と外部処理を分離した。
【0054】
そして、本実施の形態にかかる複合機100は、上述した構成を備えることで、アプリケーションで実装すべき箇所が削減できる。また、複合機100は、アプリケーションの追加/削除がフレームワークに影響を与えない構成とすることが可能となる。したがって、複合機100では、スキャン、プリント、受信などの様々なアプリケーションの追加/削除を容易に実現することができる。
【0055】
次に、以上のように構成された本実施の形態にかかる複合機100のアプリケーションが処理を実行するまでの手順について説明する。図4は、本実施の形態にかかる複合機100における上述した処理の手順を示すフローチャートである。
【0056】
まず、ユーザインターフェース層101は、利用者から複合機100が実行する処理を受け付ける(ステップS401)。
【0057】
次に、アプリケーション層103では、ユーザインターフェース層101から、受け付けた処理を行うアプリケーションに対して、処理の要求が行われる(ステップS402)。
【0058】
そして、アプリケーションコントロール層102は、処理の要求が行われたアプリケーションから、当該アプリケーションが受け付けた処理を、ジョブとして管理する(ステップS403)。
【0059】
次に、アプリケーションコントロール層102は、管理しているジョブに基づいて、アプリケーションに対して、処理の実行を指示する(ステップS404)。
【0060】
そして、アプリケーション層103では、指示を受け付けたアプリケーションが、当該処理に必要なアプリケーション共有サービス層104のリソースを特定する(ステップS405)。
【0061】
次にアプリケーション共有サービス層104では、アプリケーションからの実行要求により、特定されたリソースを用いて、ハードウェアの制御を行う(ステップS406)。本実施の形態にかかるアプリケーション共有サービス層104では、ハードウェアの制御を行う際に、当該リソースを使用する権限を有しているか否かの判断を行う。
【0062】
次に、上述したステップS404〜S406で示した処理において送受信される情報について説明する。図5は、アプリケーションコントロール層102からのコピー処理の実行が指示された際の実行手順を示したシーケンス図である。
【0063】
まず、アプリケーションコントロール層102は、コピーアプリ111に対してコピー処理の実行を指示する(ステップS501)。この際、アプリケーションコントロール層102がコピーアプリ111に対して送信する情報は、「実行(“ユーザ名(主体情報)”、“コピー”、“フルカラー”)」とする。つまり、処理の要求を行った利用者のユーザ名と、要求された処理(コピー)と、当該処理での動作情報(フルカラー)とを含んでいる。
【0064】
そして、コピーアプリ111は、制御に必要なリソースを、対応リソース管理テーブル113を用いて特定する(ステップS502)。本処理手順では、コピーに必要なリソースとして、スキャナユニット107とプロッタユニット108とが特定されたものとする。そこで、コピーアプリ111は、スキャナユニット107を制御するスキャナアプリ121、及びプロッタユニット108を制御するプロッタアプリ124に対して制御を要求する。
【0065】
次に、コピーアプリ111は、スキャナアプリ121に対してスキャナ処理の実行を指示する(ステップS503)。この際、コピーアプリ111がスキャナアプリ121に対して送信する情報は、「実行(“ユーザ名(主体情報)”、“スキャナ”、“フルカラー”)」とする。
【0066】
そして、スキャナアプリ121は、入力された情報に基づいて、使用する権限を有しているか否か判断する(ステップS504)。なお、本実行手順では、使用する権限を有していると判断されたものとする。
【0067】
次に、スキャナアプリ121は、コピーアプリ111に対して使用する権限の判断結果を通知する(ステップS505)。この判断結果の通知が使用する権限を有している旨の場合に、コピーアプリ111は、スキャナアプリ121を用いて、スキャン処理を行う。
【0068】
次に、コピーアプリ111は、プロッタアプリ124に対してプリント処理の実行を指示する(ステップS506)。この際、コピーアプリ111がプロッタアプリ124に対して送信する情報は、「実行(“ユーザ名(主体情報)”、“プロッタ”、“フルカラー”)」とする。
【0069】
そして、プロッタアプリ124は、入力された情報に基づいて、使用する権限を有しているか否か判断する(ステップS507)。なお、権限判断の処理手順は、スキャナアプリ121と同様の処理手順のため説明を省略する。
【0070】
次に、プロッタアプリ124は、コピーアプリ111に対して使用する権限の判断結果を通知する(ステップS508)。この判断結果の通知が使用する権限を有している旨の場合に、コピーアプリ111は、プロッタアプリ124を用いて、プリンタ処理を行う。
【0071】
上述したようにアプリケーション共有サービス層104の下層アプリケーションでは権限の判断処理が行われる。そこで、次に、アプリケーション共有サービス層104のスキャナアプリ121で行われる権限の判断処理について説明する。図6は、本実施の形態にかかるスキャナアプリ121における上述した処理の手順を示すフローチャートである。
【0072】
まず、スキャナアプリ121は、アプリケーション(例えばコピーアプリ111)からの処理の実行を指示する情報を入力処理する(ステップS601)。この入力処理する情報は、「実行(ユーザ名、スキャナ、フルカラー)」とする。
【0073】
次に、スキャナ権限判断部122が、スキャナ権限設定テーブル123により、入力処理されたユーザ名(主体情報)及び動作情報で使用する権限があるか否か判断する(ステップS602)。
【0074】
そして、スキャナ権限判断部122が使用する権限がないと判断した場合(ステップS602:No)、スキャナアプリ121は、アプリケーション(例えばコピーアプリ111)に対してエラーを通知する(ステップS605)。
【0075】
また、スキャナ権限判断部122が使用する権限があると判断した場合(ステップS602:Yes)、スキャナアプリ121は、アプリケーション(例えばコピーアプリ111)に対して、使用可能である旨を通知する(ステップS603)。そして、スキャナアプリ121は、アプリケーションからの要求に従って処理を実行する(ステップS604)。
【0076】
本実施の形態は、使用する権限を判断する対象をプロッタユニット108やスキャナユニット107に制限するものではなく、様々なハードウェアリソースを対象とすることができる。さらに、使用する権限を判断する対象をハードウェアリソース以外のリソースに対して適応しても良い。
【0077】
本実施の形態では、アプリケーション共有サービス層104でアクセス制御を行うことで、アプリケーション毎に設定を行わずとも、上述したリソース(プロッタユニット108やスキャナユニット107)に対するアクセスを制御できる。さらに、利用者により不正にカスタマイズされたアプリケーションによるアクセス制御のバイパスを防止できる。
【0078】
また、本実施の形態の複合機100によれば、任意の利用者に対して、所定の動作情報(例えばフルカラー)による処理(例えばコピー、印刷)等を抑止したい場合に、当該処理を行うリソース(例えばプロッタアプリ124)の権限のみ変更すれば、アプリケーションを問わず所定の動作情報による処理を抑止できるので、設定が容易になる。これにより、従来はアプリケーション毎に権限の判断を行っていた場合と比べて、アプリケーション毎に設定するという煩雑な設定が不要になり、設定ミスが減少することになる。
【0079】
(第2の実施の形態)
上述した第1の実施の形態は、利用者が使用する権限を有するか否かの判断をアプリケーション共有サービス層のみに制限するものではない。そこで、第2の実施の形態は、アプリケーション層でも権限の判断を行うこととした形態である。
【0080】
図7は、第2の実施の形態にかかる複合機700の構成を示すブロック図である。複合機700は、上述した第1の実施の形態にかかる複合機100とは、アプリケーション層103とは処理が異なるアプリケーション層701に変更された構成を有している点で異なる。以下の説明では、上述した第1の実施の形態と同一の構成要素には同一の符号を付してその説明を省略している。
【0081】
アプリケーション層701は、アプリケーション層103とは、コピーアプリ111と処理が異なるコピーアプリ711に変更され、プリンタアプリ112と処理が異なるプリンタアプリ714に変更された点で異なる。
【0082】
コピーアプリ111は、コピー権限判断部712を備え、複合機100の機能であるコピー処理を行うアプリケーションであり、アプリケーションコントロール層102から実行の指示が入力された場合に、コピー処理を行う。
【0083】
コピー権限判断部712は、コピー権限設定テーブル713を備え、アプリケーションコントロール層102からコピー実行の指示が入力された場合に、利用者が設定した動作情報でコピーを行う権限を有しているか否か判断する。また、コピー権限判断部712は、コピー権限設定テーブル713を用いて、当該権限の有しているか否か判断する。
【0084】
コピー権限設定テーブル713は、図3に示したスキャナ権限設定テーブル123と同様に各主体情報に対して、動作情報毎に実行する権限を有しているか否かを保持している。
【0085】
プリンタアプリ714は、プリンタ権限判断部715を備え、複合機100の機能であるプリント処理を行うアプリケーションであり、アプリケーションコントロール層102から実行の指示が入力された場合に、プリント処理を行う。
【0086】
プリンタ権限判断部715は、コピー権限設定テーブル713を備え、アプリケーションコントロール層102からプリント実行の指示が入力された場合に、利用者が設定された動作情報でプリントを行う権限を有しているか否か判断する。また、プリンタ権限判断部715は、プリンタ権限設定テーブル716を用いて、当該権限の有しているか否か判断する。
【0087】
プリンタ権限設定テーブル716は、図3に示したスキャナ権限設定テーブル123と同様に各主体情報に対して、動作情報毎に実行する権限を有しているか否かを保持している。図8は、プリンタ権限設定テーブル716のテーブル構造の例を示した図である。図8に示すように、プリンタ権限設定テーブル716の動作情報は、“白黒”、“2色”、“カラー”の3種類の項目が設定されている。
【0088】
また、スキャナアプリ121及びプロッタアプリ124は、第1の実施の形態と同様である。これらスキャナアプリ121及びプロッタアプリ124は、アプリケーション層103のアプリケーションから実行の指示を受け付けた場合に、設定された動作情報で使用する権限を有しているか否か判断する。
【0089】
図9は、プロッタ権限設定テーブル126のテーブル構造を示した図である。図9に示すように、プロッタ権限設定テーブル126は、各主体情報に対して、プロッタユニット108を実行する際の動作情報毎に権限を有しているか否かを保持している。図9に示すように、プロッタ権限設定テーブル126の動作情報は、“白黒”、“カラー”の2種類の項目が設定されている。
【0090】
本実施の形態にかかる複合機では、プリンタアプリ714とプロッタアプリ124とのそれぞれで利用者が動作情報で処理を行う権限を有しているか否かを行うことで、多段階で権限のチェックが可能としている。
【0091】
また、図8のプリンタ権限設定テーブル716の動作情報と、図9のプロッタ権限設定テーブル126の動作情報とでは、設定可能な項目が異なる。つまり、プロッタアプリ124では、2種類の動作情報に対して権限を有しているか否か判断できないが、プリンタアプリ714では、“2色”を含む3種類の動作情報に対して権限を有しているか否か判断できる。つまり、複合機700では、段階的に粒度の異なる権限のチェックを可能としている。
【0092】
次に、利用者から2色で印刷する旨の入力を受け付けた場合のプリント処理について説明する。図10は、アプリケーションコントロール層102からの2色でプリント処理の実行が指示された際の実行手順を示したシーケンス図である。
【0093】
まず、アプリケーションコントロール層102は、プリンタアプリ714に対してプリンタ処理の実行を指示する(ステップS1001)。この際、アプリケーションコントロール層102がコピーアプリ111に対して送信する情報は、「実行(“ユーザ名(主体情報)”、“コピー”、“2色”)」とする。つまり、処理の要求を行った利用者のユーザ名と、要求された処理(コピー)と、当該処理での動作情報(2色)とを含んでいる。
【0094】
そして、プリンタアプリ714は、入力された情報に基づいて、使用する権限を有しているか否か判断する(ステップS1002)。なお、権限の判断手法については後述する。なお、本実行手順では、使用する権限を有していると判断されたものとする。また、使用する権限を有していないと判断された場合は、ステップS1003以降の処理は行われないものとする。
【0095】
次に、プリンタアプリ714は、制御に必要なリソースを、対応リソース管理テーブル113を用いて特定する(ステップS1003)。本処理手順では、プリンタに必要なリソースとして、プロッタユニット108が特定されたものとする。そこで、プリンタアプリ714は、プロッタアプリ124に対して制御を要求する。
【0096】
また、プリンタアプリ714が使用する権限を有していると判断した動作情報“2色”は、プロッタアプリ124が認識できない。そこで、プリンタアプリ714は、当該動作情報“2色”を、プロッタアプリ124が認識可能な動作情報であって、利用者が設定した“2色”による処理が可能な動作情報“フルカラー”に変更する(ステップS1004)。このように動作情報を段階に応じて変更していくことで、粒度に応じた権限の判断を行うことができる。
【0097】
そして、プリンタアプリ714は、プロッタアプリ124に対してプリント処理の実行を指示する(ステップS1005)。この際、プリンタアプリ714がプロッタアプリ124に対して送信する情報は、「実行(“ユーザ名(主体情報)”、“プロッタ”、“フルカラー”)」とする。
【0098】
そして、プロッタアプリ124は、入力された情報に基づいて、使用する権限を有しているか否か判断する(ステップS1006)。なお、本実行手順では、使用する権限を有していると判断されたものとする。
【0099】
次に、プロッタアプリ124は、プリンタアプリ714に対して使用する権限の判断結果を通知する(ステップS1007)。そして、この判断結果の通知が使用する権限を有している旨の場合に、プリンタアプリ714は、プロッタアプリ124を用いて、プリント処理を行う。
【0100】
次に、複合機700において利用者から“2色”によるプリント処理を要求された場合における権限の判断処理について説明する。図11は、本実施の形態にかかる複合機700における上述した処理の手順を示すフローチャートである。
【0101】
まず、プリンタアプリ714は、アプリケーションコントロール層102からの処理の実行を指示する情報を入力処理する(ステップS1101)。この入力処理する情報は、「実行(ユーザ名、プリンタ、動作情報(例えば2色)」とする。
【0102】
次に、プリンタ権限判断部715が、プリンタ権限設定テーブル716により、入力処理されたユーザ名(主体情報)及び動作情報で使用する権限があるか否か判断する(ステップS1102)。
【0103】
また、図8に示したプリンタ権限設定テーブル716は、図9に示したプロッタ権限設定テーブル126と異なり、動作情報に“2色”が設定されている。このため、利用者が動作情報として“2色”を設定した場合であっても、利用者が使用する権限を有しているか否か判断することができる。これにより、複合機700において、処理を行う段階の粒度に応じて、適切に使用する権限を有しているか否か判断することができる。
【0104】
そして、プリンタ権限判断部715が使用する権限がないと判断した場合(ステップS1102:No)、処理を終了する。
【0105】
また、プリンタ権限判断部715が使用する権限があると判断した場合(ステップS1102:Yes)、対応リソース管理テーブル113により、プリント処理に用いられるリソースを特定する(ステップS1103)。本処理手順では、プロッタユニット108が特定されたものとする。
【0106】
そして、プリンタアプリ714は、動作情報を、特定されたリソースを制御するプロッタアプリ124が認識可能な動作情報に変更する(ステップS1104)。例えば、プリンタアプリ714は、動作情報“2色”を動作情報“フルカラー”に変更する。
【0107】
次に、プリンタアプリ714は、特定されたリソースを制御するプロッタアプリ124に対して、処理の実行を指示する情報を出力処理する(ステップS1105)。この出力処理する情報は、「実行(ユーザ名、プロッタ、動作情報(例えばフルカラー)」とする。このような情報を出力処理することで、プロッタアプリ124による処理を開始する。
【0108】
そして、プロッタアプリ124は、プリンタアプリ714からの処理の実行を指示する情報を入力処理する(ステップS1111)。この入力処理する情報は、「実行(ユーザ名、プロッタ、動作情報(例えばフルカラー)」とする。
【0109】
次に、プロッタ権限判断部125が、プロッタ権限設定テーブル126により、入力処理されたユーザ名(主体情報)及び動作情報で使用する権限があるか否か判断する(ステップS1112)。
【0110】
そして、プロッタ権限判断部125が使用する権限がないと判断した場合(ステップS1112:No)、プロッタアプリ124は、プリンタアプリ714に対してエラーを通知する(ステップS1115)。
【0111】
また、プロッタ権限判断部125が使用する権限があると判断した場合(ステップS1112:Yes)、プロッタアプリ124は、プリンタアプリ714に対して、使用可能である旨を通知する(ステップS1113)。そして、プロッタアプリ124は、プリンタアプリ714からの要求に従って処理を実行する(ステップS1114)。
【0112】
本実施の形態にかかる複合機700では、アプリケーション層701のアプリケーション毎にアクセス制御を行うことで、アプリケーション共有サービス層104によるアクセス制御を合わせて多段階でアクセス制御を行うことになり、バイパスを抑止すると共に、細かい粒度のアクセス制御を実現できる。
【0113】
また、上述した第2の実施の形態においては、以下に例示するような種々の変形が可能である。
【0114】
(第2の実施の形態の変形例1)
上述した第2の実施の形態にかかる複合機700では、各アプリケーションの内部に備えられた権限判断部により権限の判断を行うこととした。次に、第2の実施の形態の変形例1にかかる複合機1200では、アプリケーション層のアプリケーションの入れ替えにより、処理可能な動作情報を変更すると共に、アクセス制御を変更する例について説明する。
【0115】
図12は、第2の実施の形態の変形例1にかかる複合機1200の構成を示すブロック図である。図12に示すように複合機1200は、上述した第2の実施の形態にかかる複合機700とは、アプリケーション層701と異なる構成のアプリケーション層1201に変更された点で異なる。以下の説明では、上述した第2の実施の形態と同一の構成要素には同一の符号を付してその説明を省略している。また、図示していないが、各権限判断部では、権限の判断に用いる権限設定テーブルを備えているものとする。
【0116】
アプリケーション層1201は、第1プリンタアプリ1211と、対応リソース管理テーブル1213とを有している。対応リソース管理テーブル1213では、第1プリンタアプリ1211と、当該第1プリンタアプリ1211が処理に用いるアプリケーション共有サービス層104のリソースと、を対応付けて保持している。
【0117】
第1プリンタアプリ1211は、第1プリンタ権限判断部1212を備え、機能として“白黒”印刷と“フルカラー”印刷とを提供している。第1プリンタ権限判断部1212は、利用者毎に動作情報“白黒”及び“フルカラー”において使用する権限を有しているか否か判断している。
【0118】
この複合機1200に対して、第1プリンタアプリ1211を、第2プリンタアプリ1221に入れ換えられることになった。
【0119】
この第2プリンタアプリ1221は、第2プリンタ権限判断部1222を備え、機能として“白黒”印刷と“2色”印刷と“フルカラー”印刷とを提供している。そして、第1プリンタ権限判断部1222は、利用者毎に動作情報“白黒”、“2色”及び“フルカラー”において使用する権限を有しているか否か判断している。
【0120】
入れ換える手順としては、第1プリンタアプリ1211を第2プリンタアプリ1221とを入れ換えると共に、第2プリンタアプリ1221に対応するように対応リソース管理テーブル1213を更新する。
【0121】
そして、本変形例では、権限判断部が各アプリケーションの中に格納されているので、アプリケーションを入れ換えるだけで、当該アプリケーションが提供している機能に応じたアクセス制御(使用する権限を有しているか否かの判断)を行うことが可能となる。
【0122】
次に、利用者から2印刷する旨の入力を受け付けた場合のプリント処理について説明する。図13は、アプリケーションコントロール層102からのプリント処理の実行が指示された際の実行手順を示したシーケンス図である。なお、図13に示す処理では、利用者は2色で印刷したいが、2色という設定を行うことができないため、フルカラーを選択しているものとする。
【0123】
まず、アプリケーションコントロール層102は、第1プリンタアプリ1211に対してプリンタ処理の実行を指示する(ステップS1301)。この際、アプリケーションコントロール層102がコピーアプリ111に対して送信する情報は、「実行(“ユーザ名(主体情報)”、“プリンタ1”、“フルカラー”)」とする。
【0124】
そして、第1プリンタアプリ1211は、入力された情報に基づいて、使用する権限を有しているか否か判断する(ステップS1302)。なお、権限の判断手法については第2の実施形態と同様として、説明を省略する。なお、本実行手順では、使用する権限を有していると判断されたものとする。また、使用する権限を有していないと判断された場合は、ステップS1303以降の処理は行われないものとする。
【0125】
次に、第1プリンタアプリ1211は、制御に必要なリソースを、対応リソース管理テーブル1213を用いて特定する(ステップS1303)。本処理手順では、プリンタに必要なリソースとして、プロッタユニット108が特定されたものとする。そこで、第1プリンタアプリ1211は、プロッタアプリ124に対して制御を要求する。
【0126】
そして、ステップS1304〜ステップS1306は、ステップS1005〜ステップS1007の処理手順と同様に、プロッタアプリ124による使用する権限を有するか否か判断されることとして、説明を省略する。
【0127】
次に、第1プリンタアプリ1211を第2プリンタアプリ1221に入れ換えた後に行われるプリント処理について説明する。図14は、アプリケーションコントロール層102からのプリント処理の実行が指示された際の実行手順を示したシーケンス図である。なお、図14に示す処理では、入れ換えられた第2プリンタアプリ1221の機能により、利用者は2色印刷の受け付け可能となっている。
【0128】
まず、アプリケーションコントロール層102は、第2プリンタアプリ1221に対してプリンタ処理の実行を指示する(ステップS1401)。この際、アプリケーションコントロール層102が第2プリンタアプリ1221に対して送信する情報は、「実行(“ユーザ名(主体情報)”、“プリンタ2”、“2色”)」とする。
【0129】
そして、第2プリンタアプリ1221は、入力された情報に基づいて、使用する権限を有しているか否か判断する(ステップS1402)。なお、権限の判断手法は第2の実施の形態と同様として説明を省略する。そして、本実行手順では、使用する権限を有していると判断されたものとする。また、使用する権限を有していないと判断された場合は、ステップS1303以降の処理は行われないものとする。
【0130】
次に、第2プリンタアプリ1221は、制御に必要なリソースを、対応リソース管理テーブル1213を用いて特定する(ステップS1403)。本処理手順では、プリンタに必要なリソースとして、プロッタユニット108が特定されたものとする。
【0131】
そして、第2プリンタアプリ1221は、動作情報“2色”をプロッタアプリ124が認識可能な動作情報“フルカラー”に変更する(ステップS1404)。その後、第2プリンタアプリ1221は、プロッタアプリ124に対して制御を要求する。
【0132】
そして、ステップS1405〜ステップS1407は、ステップS1005〜ステップS1007の処理手順と同様に、プロッタアプリ124による使用する権限を有するか否か判断されることとして、説明を省略する。
【0133】
本変形例においては、複合機1200のアプリケーション層1201において、第1プリンタアプリ1211を第2プリンタアプリ1221に入れ換えることで、プリントする際の機能を変更すると共に、当該機能の変更に適したアクセス制御(変更された機能を使用する権限を有しているか否か)の判断を行うことが可能となる。
【0134】
つまり、複合機1200では、アプリケーションの入れ替えが行われた際、意識することなく入れ換えられたアプリケーションに適したアクセス制御を行うことができるので、アプリケーションの入れ換えに伴う作業負担を軽減することができる。
【0135】
また、本変形例にかかる複合機1200では、アプリケーションを入れ替えにより、アクセス制御自体をカスタマイズすることが可能となる。
【0136】
(第2の実施の形態の変形例2)
上述した第2の実施の形態にかかる複合機700においては、各アプリケーションの権限判断部は、各アプリケーション内部の権限設定テーブルを用いて、使用する権限を有しているか否か判断を行っていた。しかしながら、第2の実施の形態は、権限設定テーブルをアプリケーション内部に設けることに制限するものではない。そこで、第2の実施の形態の変形例2では、権限設定テーブルを一括管理する例について説明する。
【0137】
図15は、第2の実施の形態の変形例2にかかる複合機1500の構成を示すブロック図である。図15に示すように複合機1500は、上述した第2の実施の形態にかかる複合機700とは、アプリケーション層701と異なる構成のアプリケーション層1501に変更され、アプリケーション共有サービス層104と異なる構成のアプリケーション共有サービス層1502に変更された点で異なる。以下の説明では、上述した第2の実施の形態と同一の構成要素には同一の符号を付してその説明を省略している。このように本変形例にかかる複合機1500では、アプリケーション層1501の他にフレームワーク部1550についても変更されている。
【0138】
アプリケーション共有サービス層1502は、スキャナアプリ1521と、プロッタアプリ1523と、権限管理部1525と、を備えている。
【0139】
権限管理部1525は、第2の実施の形態ではアプリケーション毎に設けられていた権限設定テーブルを一括管理している。なお、権限設定テーブルは、上述した実施の形態のようにアプリケーション毎にテーブルを設けられているものに制限するものではない。そこで、本変形例では、利用者毎に権限設定テーブルが設けられていることとする。
【0140】
図16は、権限管理部1525が備える権限設定テーブルのテーブル構造の例を示した図である。図16に示すように、権限管理部1525は、利用者毎に設けられた権限設定テーブルでは、資源情報毎に、各動作情報において使用する権限を有しているか否かを保持している。なお、資源情報とは、本実施の形態では、複合機1500が備えるリソース等を識別する情報とする。
【0141】
図15に戻り、スキャナアプリ1521は、スキャナ権限判断部1522を備え、アプリケーション層1501の各アプリケーションからの指示に従い、スキャナユニット107を制御する。
【0142】
スキャナ権限判断部1522は、アプリケーション層103の各アプリケーションからスキャナユニット107の使用要求を受け付けた場合に、スキャナユニット107を利用者により入力された動作情報で使用する権限を有しているか否か判断する。また、スキャナ権限判断部1522は、当該判断を行う際に、権限管理部1525から、権限判断に必要な権限設定テーブルの情報を取得する。これにより、スキャナ権限判断部1522は、利用者が入力した動作情報でスキャナユニット107を使用する権限を有しているか否か判断することができる。
【0143】
プロッタアプリ1523は、プロッタ権限判断部1524を備え、アプリケーション層1501の各アプリケーションからの指示に従い、プロッタユニット108を制御する。
【0144】
プロッタ権限判断部1524は、アプリケーション層103の各アプリケーションからスキャナユニット107の使用要求を受け付けた場合に、プロッタユニット108を利用者により入力された動作情報で使用する権限を有しているか否か判断する。また、プロッタ権限判断部1524は、当該判断を行う際に、権限管理部1525から、権限判断に必要な権限設定テーブルの情報を取得する。これにより、プロッタ権限判断部1524は、利用者が入力した動作情報でプロッタユニット108を使用する権限を有しているか否か判断することができる。
【0145】
アプリケーション層1501は、コピーアプリ1511と、プリンタアプリ1513とを備えている。
【0146】
コピーアプリ1511は、コピー権限判断部1512を備え、アプリケーションコントロール層102からの指示に従い、コピー処理を実行する。
【0147】
コピー権限判断部1512は、コピー処理を利用者により入力された動作情報で使用する権限を有しているか否か判断する。また、コピー権限判断部1512は、当該判断を行う際に、権限管理部1525から、権限判断に必要な権限設定テーブルの情報を取得する。これにより、コピー権限判断部1512は、利用者が入力した動作情報でコピーを使用する権限を有しているか否か判断することができる。
【0148】
プリンタアプリ1513は、プリンタ権限判断部1514を備え、アプリケーションコントロール層102からの指示に従い、コピー処理を実行する。
【0149】
プリンタ権限判断部1514は、プリンタ処理を利用者により入力された動作情報で使用する権限を有しているか否か判断する。また、プリンタ権限判断部1514は、当該判断を行う際に、権限管理部1525から、権限判断に必要な権限設定テーブルの情報を取得する。これにより、プリンタ権限判断部1514は、利用者が入力した動作情報でプリンタを使用する権限を有しているか否か判断することができる。
【0150】
また、本変形例にかかる複合機1500では、各アプリケーション又は各リソースの権限設定テーブルを権限管理部1525で一括管理することで、変更が必要な場合、各アプリケーション又は隔離ソース毎に変更する必要がないため、管理するための作業負担が軽減する。
【0151】
また、本変形例にかかる複合機1500では、権限管理部1525の権限設定テーブルを、資源名(コピーやプリンタ)ではなく、主体名(田中さん、鈴木さん)をキーとしたテーブルを用いることとした。これにより、利用者の追加/削除時の設定変更を、1つのテーブルの追加/削除のみで対応できる。これにより管理者の作業負担が軽減する。さらに、資源情報毎にテーブルを設けた場合、複数の資源のテーブルを同時に変更する必要があるため設定ミスが生じやすかった。これに対して、本変形例では、主体名をキーとしたテーブルを用いることとしたので、設定ミスを減少させることが可能となった。
【0152】
(第2の実施の形態の変形例3)
上述した第2の実施の形態の変形例1にかかる複合機1200では、アプリケーション層1501のアプリケーションを入れ換える例について説明した。しかしながら、入れ換える対象をアプリケーション層のアプリケーションに制限するものではなく、フレームワーク部の構成を入れ換えてもよい。そこで、第2の実施の形態の変形例3では、アプリケーション共有サービス層のアプリケーションを入れ換える例について説明する。
【0153】
図17は、第2の実施の形態の変形例3にかかる複合機1700の構成を示すブロック図である。図17に示すように複合機1700は、上述した第2の実施の形態の変形例2にかかる複合機1500とは、アプリケーションコントロール層102とは構成が異なるアプリケーションコントロール層1701に変更され、アプリケーション共有サービス層104と異なる構成のアプリケーション共有サービス層1702に変更された点で異なる。以下の説明では、上述した第2の実施の形態の変形例2と同一の構成要素には同一の符号を付してその説明を省略している。
【0154】
アプリケーションコントロール層1701は、プラグイン管理モジュール1731を備えている。なお、アプリケーションコントロール層1701は、プラグイン管理モジュール1731を備えている以外、アプリケーションコントロール層102と同様の機能を備えているものとして、説明を省略する。
【0155】
プラグイン管理モジュール1731は、フレームワーク部1750に備えられているアプリケーション等のリソースを管理している。そして、アプリケーション共有サービス層1702のリソースの入れ換えや、リソースの追加を行う場合には、プラグイン管理モジュール1731を介して行われる。
【0156】
アプリケーション共有サービス層1702は、第1プロッタアプリ1711と、権限管理部1713とを備えている。権限管理部1713は、アプリケーション層1501の各アプリケーションの権限設定テーブルと、アプリケーション共有サービス層1702の各アプリケーション(第1プロッタアプリ1711)の権限設定テーブルとを備えている。
【0157】
第1プロッタアプリ1711は、第1プロッタ権限判断部1712を備え、印刷機能を提供している。第1プリンタ権限判断部1212は、利用者が、入力された動作情報で使用する権限を有しているか否か判断している。
【0158】
この複合機1700に対して、第1プロッタアプリ1711を、第2プロッタアプリ1721に入れ換え、スキャンアプリ1723を追加する。
【0159】
この第2プロッタアプリ1721は、第2プロッタ権限判断部1722を備え、第1プロッタアプリ1711より拡張された印刷機能を提供している。そして、第2プロッタアプリ1721は、利用者が、拡張された印刷機能における動作情報を使用する権限を有しているか否か判断している。
【0160】
スキャンアプリ1723は、スキャン権限判断部1724を備え、スキャン機能を提供している。そして、スキャンアプリ1723は、利用者が、スキャン機能における動作情報を使用する権限を有しているか否か判断している。
【0161】
そして、プラグイン管理モジュール1731は、第1プロッタアプリ1711を第2プロッタアプリ1721に入れ換えると共に、第2プロッタアプリ1721に対応するように対応リソース管理テーブル1213を更新する。また、プラグイン管理モジュール1731は、スキャンアプリ1723を追加する際に、スキャンアプリ1723を使用可能とするために、対応リソース管理テーブル1213を更新する。
【0162】
そして、第2プロッタアプリ1721と、スキャンアプリ1723は、アプリケーション共有サービス層1702に格納された後、権限管理部1713に対して、新規に権限設定テーブルを追加する。これにより、追加された権限設定テーブルを用いて、第2プロッタアプリ1721と、スキャンアプリ1723は、利用者が権限を有するか否か判断することができる。
【0163】
上述した変形例が示すように、アプリケーション共有サービス層1702等のフレームワーク部1750に対して、構成の入れ換えや、新たな構成の追加を行うことができる。これにより、リソース毎にアクセス制御に関する設定項目を容易に変更することができる。
【0164】
このように、プラグイン管理モジュール1731を備えて、フレームワーク部1750の構成の入れ換えや新たな構成を追加可能としたことで、フレームワーク部1750において必要に応じて詳細なアクセス制御を実現できる。
【0165】
(第3の実施の形態)
第3の実施の形態にかかる複合機は、アプリケーション層を構成するアプリケーションを多段構成とした形態である。
【0166】
図18は、第3の実施の形態にかかる複合機1800の構成を示すブロック図である。複合機1800は、上述した第2の実施の形態にかかる複合機700とは、アプリケーション層701とは処理が異なるアプリケーション層1801に変更された構成を有している点で異なる。以下の説明では、上述した第2の実施の形態と同一の構成要素には同一の符号を付してその説明を省略している。
【0167】
アプリケーション層1801は、第1プリンタアプリ1811と、地紋プリンタアプリ1812と、第2プリンタアプリ1813と、印刷アプリ1814と、対応リソース管理テーブル1817とを備えている。
【0168】
第1プリンタアプリ1811は、複合機100でプリント処理を行うアプリケーションとし、アプリケーションコントロール層102から実行の指示が入力された場合に、後述する印刷アプリ1814に対して印刷処理の実行を指示する。
【0169】
地紋プリンタアプリ1812は、複合機100で地紋を埋め込んでプリント処理を行うアプリケーションとし、アプリケーションコントロール層102から実行の指示が入力された場合に、後述する印刷アプリ1814に対して、地紋を埋め込んだ印刷処理の実行を指示する。
【0170】
第2プリンタアプリ1813は、第1プリンタアプリ1811と異なる機能でプリント処理を行うアプリケーションとし、アプリケーションコントロール層102から実行の指示が入力された場合に、プロッタアプリ124に対して、プリント処理の実行を指示する。
【0171】
印刷アプリ1814は、印刷権限判断部1815を備え、第1プリンタアプリ1811及び地紋プリンタアプリ1812に共通する機能を備える印刷処理を行うアプリケーションである。そして、第1プリンタアプリ1811又は地紋プリンタアプリ1812から実行の指示が入力された場合に、プロッタアプリ124に対して、プリント処理の実行を指示する。
【0172】
印刷権限判断部1815は、印刷権限設定テーブル1816を備え、第1プリンタアプリ1811又は地紋プリンタアプリ1812から印刷実行の指示が入力された場合に、利用者が設定された動作情報で印刷を行う権限を有しているか否か判断する。この際、印刷権限判断部1815は、印刷権限設定テーブル1816を用いて、当該権限の有しているか否か判断する。
【0173】
対応リソース管理テーブル1817は、アプリケーション層1801のアプリケーション(印刷アプリ1814及び第2プリンタアプリ1813)と、アプリケーション共有サービス層104のリソースとを対応付けて保持している。
【0174】
このように第1プリンタアプリ1811と地紋プリンタアプリ1812とは、印刷アプリ1814を介してからプロッタアプリ124に対してプリント処理を指示し、第2プリンタアプリ1813は直接プロッタアプリ124に対してプリント処理を指示する。
【0175】
図19は、アプリケーションコントロール層102からのプリント処理の実行が指示された際の実行手順を示したシーケンス図である。なお、本実行手順では、アプリケーションコントロール層102から、第1プリンタアプリ1811及び第2プリンタアプリ1813に対してプリントの指示が行われた例とする。
【0176】
まず、アプリケーションコントロール層102は、第1プリンタアプリ1811に対してプリンタ処理の実行を指示する(ステップS1901)。この際、アプリケーションコントロール層102が第1プリンタアプリ1811に対して送信する情報は、「実行(“ユーザ名(主体情報)”、“プリンタ1”、“フルカラー”)」とする。つまり、処理の要求を行った利用者のユーザ名と、要求された処理(プリンタ1)と、当該処理での動作情報(フルカラー)とを含んでいる。
【0177】
そして、第1プリンタアプリ1811は、制御に必要なプログラムを、対応リソース管理テーブル1817を用いて特定する(ステップS1902)。本処理手順では、必要なプログラムとして印刷アプリ1814が特定されたものとする。そこで、第1プリンタアプリ1811は、印刷アプリ1814に対して制御を要求する。
【0178】
次に、第1プリンタアプリ1811は、印刷アプリ1814に対して印刷処理の実行を指示する(ステップS1903)。この際、第1プリンタアプリ1811が印刷アプリ1814に対して送信する情報は、「実行(“ユーザ名(主体情報)”、“印刷”、“フルカラー”)」とする。
【0179】
そして、印刷アプリ1814は、入力された情報に基づいて、使用する権限を有しているか否か判断する(ステップS1904)。なお、本実行手順では、上述した実施形態と同様として説明を省略する。また、本実行手順では、使用する権限を有していると判断されたものとする。
【0180】
次に、印刷アプリ1814は、制御に必要なリソースを、対応リソース管理テーブル1817を用いて特定する(ステップS1905)。本処理手順では、必要なリソースとしてプロッタアプリ124が特定されたものとする。そこで、印刷アプリ1814は、プロッタアプリ124に対して制御を要求する。
【0181】
次に、印刷アプリ1814は、プロッタアプリ124に対してプリント処理の実行を指示する(ステップS1906)。この際、印刷アプリ1814がプロッタアプリ124に対して送信する情報は、「実行(“ユーザ名(主体情報)”、“プロッタ”、“フルカラー”)」とする。
【0182】
そして、プロッタアプリ124は、入力された情報に基づいて、使用する権限を有しているか否か判断する(ステップS1907)。なお、本実行手順では、上述した実施形態と同様として説明を省略する。また、本実行手順では、使用する権限を有していると判断されたものとする。これにより、プロッタアプリ124からの権限判断の通知が行われ、結果として、第1プリンタアプリ1811からの指示により、プロッタユニット108の制御が行われることとになる。
【0183】
次に、アプリケーションコントロール層102は、第2プリンタアプリ1813に対してプリンタ処理の実行を指示する(ステップS1908)。この際、アプリケーションコントロール層102が第2プリンタアプリ1813に対して送信する情報は、「実行(“ユーザ名(主体情報)”、“プリンタ2”、“フルカラー”)」とする。つまり、処理の要求を行った利用者のユーザ名と、要求された処理(プリンタ2)と、当該処理での動作情報(フルカラー)とを含んでいる。
【0184】
そして、第2プリンタアプリ1813は、制御に必要なプログラムを、対応リソース管理テーブル1817を用いて特定する(ステップS1909)。本処理手順では、必要なプログラムとしてプロッタアプリ124が特定されたものとする。そこで、第2プリンタアプリ1813は、プロッタアプリ124に対して制御を要求する。
【0185】
次に、第2プリンタアプリ1813は、プロッタアプリ124に対してプリント処理の実行を指示する(ステップS1910)。この際、第2プリンタアプリ1813がプロッタアプリ124に対して送信する情報は、「実行(“ユーザ名(主体情報)”、“プロッタ”、“フルカラー”)」とする。
【0186】
そして、プロッタアプリ124は、入力された情報に基づいて、使用する権限を有しているか否か判断する(ステップS1911)。なお、本実行手順では、上述した実施形態と同様として説明を省略する。また、本実行手順では、使用する権限を有していると判断されたものとする。これにより、プロッタアプリ124からの権限判断の通知が行われ、結果として、第2プリンタアプリ1813からの指示により、プロッタユニット108の制御が行われることとになる。
【0187】
本実施の形態にかかる複合機1800では、アプリケーション層1801を多段の構成とした。つまり、第1プリンタアプリ1811及び地紋プリンタアプリ1812という上位のカスタマイズアプリと、印刷アプリ1814という中位のカスタマイズアプリとをいう構成として、上位のカスタマイズアプリが、中位のカスタマイズアプリを通して、デバイスを制御している。そして、本実施の形態にかかる複合機1800では、中位のカスタマイズアプリ(印刷アプリ1814)でアクセス制御を行うこととした。これにより、第1プリンタアプリ1811及び地紋プリンタアプリ1812という上位のカスタマイズアプリのそれぞれで必要なアクセス制御が、1箇所となったため、アクセス制御を変更する際の設定が容易になる。
【0188】
(第4の実施の形態)
上述した実施の形態では、アプリケーション層及びアプリケーション共有サービス層においてアクセス制御を行った。しかしながら、アクセス制御を行う構成を、アプリケーション層及びアプリケーション共有サービス層に制限するものではない。そこで、第4の実施の形態にかかる複合機では、さらにアプリケーションコントロール層でもアクセス制御を行うこととした実施の形態である。
【0189】
図20は、第4の実施の形態にかかる複合機2000の構成を示すブロック図である。複合機2000は、上述した第2の実施の形態にかかる複合機700とは、アプリケーションコントロール層102とは処理が異なるアプリケーションコントロール層2001に変更された構成を有している点で異なる。以下の説明では、上述した第2の実施の形態と同一の構成要素には同一の符号を付してその説明を省略している。
【0190】
アプリケーションコントロール層2001は、リクエスト管理モジュール2011を備え、アプリケーション層701に含まれる各アプリケーションをコントロールする。
【0191】
リクエスト管理モジュール2011は、リクエスト権限判断部2012を備え、各アプリケーションの要求に応じて生成されたジョブをリクエストとして管理して、実行する処理のスケジューリングを行う。
【0192】
リクエスト権限判断部2012は、リクエスト権限設定テーブル2013を備え、各アプリケーションからジョブの生成する要求を受け付けた際に、利用者が、当該アプリケーションを、使用する権限を有しているか否か判断する。リクエスト権限設定テーブル2013は、利用者毎に、各アプリケーションを使用する権限を有しているか否かを管理している。
【0193】
本実施の形態にかかる複合機2000のように、アプリケーション層を問わずに、各構成を多段構成とすることができる。これにより、複合機2000では、粒度に応じて適切にアクセス制御を行うことができる。また、管理者の要求通りにアクセス制御を行うことができるので、権限の設定及び管理が容易になる。
【0194】
複合機2000のように、アプリケーションコントロール層102において、アプリケーション層1501の各アプリケーションに対する処理要求の入力を制御することで、アプリケーション層1501の各アプリケーションに対する脆弱性への攻撃(例えば、脆弱性のあるプリンタアプリ714又はプロッタアプリ124の悪用)を回避することができる。さらには、複合機2000が備えるCPUの占有など、アプリケーション共有サービス層104のアクセス制御では回避できない課題にも対処できる。
【0195】
(第5の実施の形態)
上述した実施の形態では、アプリケーション層及びアプリケーション共有サービス層のアプリケーション毎にアクセス制御を行った。しかしながら、アプリケーション層及びアプリケーション共有サービス層のアプリケーション毎にアクセス制御を行うことに制限するものではない。そこで、第5の実施の形態にかかる複合機では、アクセス制御を一括して行うこととした実施の形態である。
【0196】
図21は、第5の実施の形態にかかる複合機2100の構成を示すブロック図である。複合機2100は、上述した第2の実施の形態にかかる複合機700とは、アプリケーション層701とは処理が異なるアプリケーション層2101と、アプリケーション共有サービス層104とは処理が異なるアプリケーション共有サービス層2102と、共有メカニズム105とは処理が異なる共有メカニズム2103とを有している点で異なる。以下の説明では、上述した第2の実施の形態と同一の構成要素には同一の符号を付してその説明を省略している。
【0197】
アプリケーション共有サービス層2102は、スキャナアプリ2121と、プロッタアプリ2122と、権限設定管理DB2123とを保持する。
【0198】
スキャナアプリ2121は、複合機100が備えたスキャナユニット107を制御するリソースである。そして、スキャナアプリ2121は、実行する旨を受け付けた際、スキャナアプリ2121を示す資源情報と、入力された動作情報と、利用者を識別する主体情報とを、後述する権限判断部2131に出力し、権限判断部2131から使用する権限を有している旨が入力された場合に、スキャナユニット107の制御を行う。
【0199】
プロッタアプリ2122は、複合機100が備えたプロッタユニット108を制御するリソースである。そして、プロッタアプリ2122は、実行する旨を受け付けた際、プロッタアプリ2122を示す資源情報と、入力された動作情報と、利用者を識別する主体情報とを、後述する権限判断部2131に出力し、権限判断部2131から使用する権限を有している旨が入力された場合に、プロッタユニット108の制御を行う。
【0200】
権限設定管理DB2123は、各資源情報における動作情報毎に、各主体情報と対応付けて使用する権限を有しているか否かを保持している。また、本実施の形態における資源情報とは、複合機2100のアプリケーション共有サービス層2102のリソースやアプリケーション層2101の各アプリケーションを識別する情報とする。この権限設定管理DB2123が保持している情報は、後述する権限判断部2131が使用する。
【0201】
アプリケーション層2101は、コピーアプリ2111と、プリンタアプリ2112と、対応リソース管理テーブル113とを備えている。
【0202】
コピーアプリ2111は、実行する旨を受け付けた際、コピーアプリ2111を示す資源情報と、入力された動作情報と、利用者を識別する主体情報とを、後述する権限判断部2131に出力し、権限判断部2131から使用する権限を有している旨が入力された場合に、アプリケーション共有サービス層2102の、コピーに用いられるリソースに対して実行を指示する。また、コピーアプリ2111の他の機能は、第2の実施の形態にかかるコピーアプリ711と同様として説明を省略する。
【0203】
プリンタアプリ2112は、実行する旨を受け付けた際、プリンタアプリ2112を示す資源情報と、入力された動作情報と、利用者を識別する主体情報とを、後述する権限判断部2131に出力し、権限判断部2131から使用する権限を有している旨が入力された場合に、アプリケーション共有サービス層2102のプロッタアプリ2122に対して実行を指示する。また、プリンタアプリ2112の他の機能は、第2の実施の形態にかかるプリンタアプリ714と同様として説明を省略する。
【0204】
共有メカニズム2103は、上述した実施形態の共有メカニズム105が備えている機能の他に、権限判断部2131を備えている。
【0205】
権限判断部2131は、後述するアプリケーション等からの入力された資源情報(アプリケーション又はリソース名)と、動作情報と、主体情報(ユーザ名)とから、当該ユーザ名の利用者が、当該資源情報を示されるリソース又はプログラムを、当該動作情報で使用する権限を有しているか否か判断する。そして、権限判断部2131は、判断した結果(使用する権限を有しているか否か示す情報を、資源情報等を入力したアプリケーション等に対して出力する。
【0206】
次に、権限判断を行うために必要な処理について説明する。図22は、アプリケーションコントロール層102からの2色でプリント処理の実行が指示された際の実行手順を示したシーケンス図である。
【0207】
図22は、各アプリケーション等がインストールされた後に起動した複合機2100における実行手順を示したシーケンス図である。
【0208】
まず、コピーアプリ2111は、コピーアプリ2111を示す資源情報において、設定可能な動作情報毎に、主体情報で識別される利用者が使用可能か否かを保持するコピー権限設定テーブルの生成を、権限設定管理DB2123に対して行う(ステップS2201)。
【0209】
次に、プリンタアプリ2112は、プリンタアプリ2112を示す資源情報において、設定可能な動作情報毎に、主体情報で識別される利用者が使用可能か否かを保持するプリンタ権限設定テーブルの生成を、権限設定管理DB2123に対して行う(ステップS2202)。
【0210】
そして、スキャナアプリ2121は、スキャナアプリ2121を示す資源情報において、設定可能な動作情報毎に、主体情報で識別される利用者が使用可能か否かを保持するスキャナ権限設定テーブルの生成を、権限設定管理DB2123に対して行う(ステップS2203)。
【0211】
次に、プロッタアプリ2122は、プロッタアプリ2122を示す資源情報において、設定可能な動作情報毎に、主体情報で識別される利用者が使用可能か否かを保持するスキャナ権限設定テーブルの生成を、権限設定管理DB2123に対して行う(ステップS2204)。
【0212】
上述した処理手順により、権限設定管理DB2123が権限を判定するために必要な権限設定テーブルを保持することになる。そして、生成された権限設定テーブルを用いたアクセス制御を以下に説明する。
【0213】
次に、利用者からフルカラーで印刷する旨の入力を受け付けた場合のプリント処理について説明する。図23は、アプリケーションコントロール層102からのフルカラーでプリント処理の実行が指示された際の実行手順を示したシーケンス図である。
【0214】
まず、アプリケーションコントロール層102は、プリンタアプリ2112に対してプリンタ処理の実行を指示する(ステップS2301)。この際、アプリケーションコントロール層102がプリンタアプリ2112に対して送信する情報は、「実行(“ユーザ名(主体情報)”、“コピー”、“フルカラー”)」とする。つまり、処理の要求を行った利用者のユーザ名と、要求された処理(コピー)と、当該処理での動作情報(フルカラー)とを含んでいる。
【0215】
次に、プリンタアプリ2112は、権限判断部2131に対して、チェックを要求する(ステップS2302)。その際、プリンタアプリ2112は、権限判断部2131に対して、主体情報となるユーザ名と、資源情報である“プリンタ”と、動作情報である“フルカラー”とを出力する。
【0216】
そして、権限判断部2131が要求を受け付けた場合、権限設定管理DB2123から、入力された資源情報等に対応する権限設定テーブルを取得する(ステップS2303)。
【0217】
そして、権限判断部2131は、入力されたユーザ名で識別される利用者が、“プリンタ”を“フルカラー”で使用する権利があるか否か判断する(ステップS2304)。なお、本実行手順では使用する権利があると判断されたものとする。
【0218】
次に、権限判断部2131は、プリンタアプリ2112に対して、使用する権限の判断結果を通知する(ステップS2305)。これにより、プリンタアプリ2112は、“フルカラー”で使用する権限を有していると判断する。
【0219】
その後、プリンタアプリ2112は、制御に必要なリソースを、対応リソース管理テーブル113を用いて特定する(ステップS2306)。本処理手順では、プリンタに必要なリソースとして、プロッタユニット108が特定されたものとする。そこで、プリンタアプリ2112は、プロッタアプリ2122に対して制御を要求する。
【0220】
そして、プリンタアプリ2112は、プロッタアプリ2122に対してプリント処理の実行を指示する(ステップS2307)。この際、プリンタアプリ2112がプロッタアプリ2122に対して送信する情報は、「実行(“ユーザ名(主体情報)”、“プロッタ”、“フルカラー”)」とする。
【0221】
そして、プロッタアプリ2122は、権限判断部2131に対して、チェックを要求する(ステップS2308)。その際、プロッタアプリ2122は、権限判断部2131に対して、主体情報となるユーザ名と、資源情報である“プロッタ”と、動作情報である“フルカラー”とを出力する。
【0222】
そして、権限判断部2131が要求を受け付けた場合、権限設定管理DB2123から、入力された資源情報等に対応する権限設定テーブルを取得する(ステップS2309)。
【0223】
そして、権限判断部2131は、入力されたユーザ名で識別される利用者が、“プロッタ”を“フルカラー”で使用する権利があるか否か判断する(ステップS2310)。なお、本実行手順では使用する権利があると判断されたものとする。
【0224】
次に、権限判断部2131は、プロッタアプリ2122に対して、使用する権限の判断結果を通知する(ステップS2311)。これにより、プロッタアプリ2122は、“フルカラー”で使用する権限を有していると判断する。
【0225】
その後、プリンタアプリ2112は、プロッタアプリ2122を用いて、プリント処理を行うことになる。
【0226】
上述した実施の形態にかかる複合機2100では、権限判断部2131で権限を有しているか否かの判断を行うこととした。これにより、各アプリケーション及びリソースのプログラムサイズを軽減することができるとともに、これら各アプリケーション及びリソースを作成する作業工数を軽減することができる。
【0227】
また、本実施の形態にかかる複合機2100では、権限判断部2131を、リソース又はプログラムを使用する権限を有しているか否か判断する部分として構成した。これにより、複合機2100では、権限判断部2131を修正することで、アクセス制御のチェックのロジックを、呼び出し側に意識させずに一括変更することができる
【0228】
(第5の実施の形態の変形例1)
【0229】
上述した第5の実施の形態では、権限判断部2131は、権限判断の要求を受け付ける度に、対応する権限設定テーブルを取得していた。しかしながら、逐一権限設定テーブルを取得するものではなく、予め全ての権限設定テーブルを取得しても良い。そこで、第5の実施の形態の変形例1では、予め全ての権限設定テーブルを取得する例について説明する。なお、複合機の各構成は、第5の実施の形態と同様として説明を省略する。
【0230】
次に、利用者からフルカラーで印刷する旨の入力を受け付けた場合のプリント処理について説明する。図24は、アプリケーションコントロール層102からのフルカラーでプリント処理の実行が指示された際の実行手順を示したシーケンス図である。
【0231】
まず、権限判断部2131は、複合機2100の電源投入時に、権限設定管理DB2123から、全ての権限設定テーブルを取得する(ステップS2401)。
【0232】
次に、アプリケーションコントロール層102は、プリンタアプリ2112に対してプリンタ処理の実行を指示する(ステップS2402)。この際、アプリケーションコントロール層102がプリンタアプリ2112に対して送信する情報は、「実行(“ユーザ名(主体情報)”、“コピー”、“フルカラー”)」とする。つまり、処理の要求を行った利用者のユーザ名と、要求された処理(コピー)と、当該処理での動作情報(フルカラー)とを含んでいる。
【0233】
次に、プリンタアプリ2112は、権限判断部2131に対して、チェックを要求する(ステップS2403)。その際、プリンタアプリ2112は、権限判断部2131に対して、主体情報となるユーザ名と、資源情報である“プリンタ”と、動作情報である“フルカラー”とを出力する。
【0234】
そして、権限判断部2131は、予め取得した権限設定テーブルを用いて、入力されたユーザ名で識別される利用者が、“プリンタ”を“フルカラー”で使用する権利があるか否か判断する(ステップS2404)。なお、本実行手順では使用する権利があると判断されたものとする。
【0235】
次に、権限判断部2131は、プリンタアプリ2112に対して、使用する権限の判断結果を通知する(ステップS2405)。これにより、プリンタアプリ2112は、“フルカラー”で使用する権限を有していると判断する。
【0236】
その後、プリンタアプリ2112は、制御に必要なリソースを、対応リソース管理テーブル113を用いて特定する(ステップS2406)。本処理手順では、プリンタに必要なリソースとして、プロッタユニット108が特定されたものとする。そこで、プリンタアプリ2112は、プロッタアプリ2122に対して制御を要求する。
【0237】
そして、プリンタアプリ2112は、プロッタアプリ2122に対してプリント処理の実行を指示する(ステップS2407)。この際、プリンタアプリ2112がプロッタアプリ2122に対して送信する情報は、「実行(“ユーザ名(主体情報)”、“プロッタ”、“フルカラー”)」とする。
【0238】
そして、プロッタアプリ2122は、権限判断部2131に対して、チェックを要求する(ステップS2408)。その際、プロッタアプリ2122は、権限判断部2131に対して、主体情報となるユーザ名と、資源情報である“プロッタ”と、動作情報である“フルカラー”とを出力する。
【0239】
次に、権限判断部2131は、予め取得した権限設定テーブルを用いて、入力されたユーザ名で識別される利用者が、“プロッタ”を“フルカラー”で使用する権利があるか否か判断する(ステップS2409)。なお、本実行手順では使用する権利があると判断されたものとする。
【0240】
次に、権限判断部2131は、プロッタアプリ2122に対して、使用する権限の判断結果を通知する(ステップS2410)。これにより、プロッタアプリ2122は、“フルカラー”で使用する権限を有していると判断する。
【0241】
これにより、本変形例にかかる複合機2100は、第5の実施形態と同様に、プリンタアプリ2112は、プロッタアプリ2122を用いて、プリント処理を行うことができる。
【0242】
本変形例にかかる複合機2100は、権限判断部2131が予め権限設定テーブルを、電源投入時などの実行前に予め読み込んでおくことで、権限の判断の速度を向上させることができる。
【0243】
(第6の実施の形態)
第6の実施の形態では、権限判断を、複合機とネットワークを介して接続される認可サーバで行われる場合について説明する。
【0244】
図25は、第6の実施の形態にかかる複合機2500の構成を示すブロック図である。本図に示すように複合機2500は、上述した第5の実施の形態にかかる複合機2100とは、送受信処理部2502が追加されていること、そして共有メカニズム2103とは処理が異なる共有メカニズム2501に変更された構成を有している点で異なる。以下の説明では、上述した第1の実施の形態と同一の構成要素には同一の符号を付してその説明を省略している。
【0245】
そして、図25に示すように複合機2500とネットワーク2560を介して認可サーバ2550が接続されている。
【0246】
図25に示す認可サーバ2550は、送受信処理部2551と、権限判断部2552と、権限設定管理DB2553とを備えている。
【0247】
権限設定管理DB2553は、第5の実施の形態の権限設定管理DB2123と同様に、各資源情報における動作情報毎に、各主体情報と対応付けて使用する権限を有しているか否かを保持している。
【0248】
送受信処理部2551は、複合機2500等の機器との間で情報の送受信を行う。例えば、送受信処理部2551は、複合機2500等の機器から、使用する権限を有するか否かの判断の要求を、資源情報、動作情報及び主体情報と共に受信する。
【0249】
また、送受信処理部2551は、後述する権限判断部2552による判断結果を、判断要求を行った複合機2500等の機器に対して送信する。
【0250】
権限判断部2552は、使用する権限の判断要求と共に送信された、資源情報(アプリケーション又はリソース名)と、動作情報と、主体情報(ユーザ名)とから、当該ユーザ名の利用者が、当該資源情報を示されるリソース又はプログラムを、当該動作情報で使用する権限を有しているか否かを、権限設定管理DB2553を用いて判断する。
【0251】
次に、利用者からフルカラーで印刷する旨の入力を受け付けた場合のプリント処理について説明する。図26は、アプリケーションコントロール層102からのフルカラーでプリント処理の実行が指示された際の実行手順を示したシーケンス図である。
【0252】
まず、認可サーバ2550の権限判断部2552は、認可サーバ2550の電源投入時に、権限設定管理DB2553から、全ての権限設定テーブルを取得する(ステップS2601)。
【0253】
次に、アプリケーションコントロール層102は、プリンタアプリ2112に対してプリンタ処理の実行を指示する(ステップS2602)。この際、アプリケーションコントロール層102がプリンタアプリ2112に対して送信する情報は、「実行(“ユーザ名(主体情報)”、“コピー”、“フルカラー”)」とする。つまり、処理の要求を行った利用者のユーザ名と、要求された処理(コピー)と、当該処理での動作情報(フルカラー)とを含んでいる。
【0254】
次に、プリンタアプリ2112は、権限判断部2511に対して、チェックを要求する(ステップS2603)。その際、プリンタアプリ2112は、権限判断部2131に対して、主体情報となるユーザ名と、資源情報である“プリンタ”と、動作情報である“フルカラー”とを出力する。
【0255】
そして、権限判断部2511は、ネットワークを介して接続される認可サーバ2550に対してチェックを要求する(ステップS2604)。
【0256】
次に、認可サーバ2550の権限判断部2552は、予め取得した権限設定テーブルを用いて、入力されたユーザ名で識別される利用者が、“プリンタ”を“フルカラー”で使用する権利があるか否か判断する(ステップS2605)。なお、本実行手順では使用する権利があると判断されたものとする。
【0257】
次に、権限判断部2131は、権限判断部2511に対して、使用する権限の判断結果を通知する(ステップS2606)。
【0258】
その後、ステップS2607〜S2610では、図24のステップS2405〜S2408と同様の処理を行う。
【0259】
そして、権限判断部2511は、ネットワークを介して接続される認可サーバ2550に対してチェックを要求する(ステップS2611)。
【0260】
次に、認可サーバ2550の権限判断部2552は、予め取得した権限設定テーブルを用いて、入力されたユーザ名で識別される利用者が、“プロッタ”を“フルカラー”で使用する権利があるか否か判断する(ステップS2612)。なお、本実行手順では使用する権利があると判断されたものとする。
【0261】
次に、権限判断部2131は、複合機2500の権限判断部2511に対して、使用する権限の判断結果を通知する(ステップS2613)。その後、権限判断部2511は、プロッタアプリ2122に対して、使用する権限の判断結果を通知する(ステップS2614)。
【0262】
これにより、本実施の形態にかかる複合機2500は、認可サーバ2550による権限の判断結果に応じて、アクセス制御を行うことができる。
【0263】
また、本実施の形態にかかる複合機2500は、認可サーバ2550に対して権限の判断を委譲することとした。これにより、複数台の複合機に対して、使用する権限を設定する作業負担を軽減することができる。
【0264】
図27は、上述した実施の形態にかかる複合機(100、700、1200、1500、1700、1800、2000、2100、2500)のハードウェア構成を示すブロック図である。本図に示すように、この複合機(100、700、1200、1500、1700、1800、2000、2100、2500)は、コントローラ2710とエンジン部(Engine)2760とをPCI(Peripheral Component Interconnect)バスで接続した構成となる。コントローラ2710は、複合機全体の制御と描画、通信、操作部2720からの入力を制御するコントローラである。エンジン部2760は、PCIバスに接続可能なプリンタエンジン等であり、たとえば白黒プロッタ、1ドラムカラープロッタ、4ドラムカラープロッタ、スキャナまたはファックスユニット等である。なお、このエンジン部2760には、プロッタ等のいわゆるエンジン部分に加えて、誤差拡散やガンマ変換等の画像処理部分が含まれる。
【0265】
コントローラ2710は、CPU2711と、ノースブリッジ(NB)2713と、システムメモリ(MEM−P)2712と、サウスブリッジ(SB)2714と、ローカルメモリ(MEM−C)2717と、ASIC(Application Specific Integrated Circuit)2716と、ハードディスクドライブ(HDD)2718とを有し、ノースブリッジ(NB)2713とASIC2716との間をAGP(Accelerated Graphics Port)バス2715で接続した構成となる。また、MEM−P2712は、ROM(Read Only Memory)2712aと、RAM(Random Access Memory)2712bとをさらに有する。
【0266】
CPU2711は、複合機(100、700、1200、1500、1700、1800、2000、2100、2500)の全体制御をおこなうものであり、NB2713、MEM−P2712及びSB2714からなるチップセットを有し、このチップセットを介して他の機器と接続される。
【0267】
NB2713は、CPU2711とMEM−P2712、SB2714、AGP2715とを接続するためのブリッジであり、MEM−P2712に対する読み書き等を制御するメモリコントローラと、PCIマスタ及びAGPターゲットとを有する。
【0268】
MEM−P2712は、プログラムやデータの格納用メモリ、プログラムやデータの展開用メモリ、プリンタの描画用メモリ等として用いるシステムメモリであり、ROM2712aとRAM2712bとからなる。ROM2712aは、プログラムやデータの格納用メモリとして用いる読み出し専用のメモリであり、RAM2712bは、プログラムやデータの展開用メモリ、プリンタの描画用メモリ等として用いる書き込み及び読み出し可能なメモリである。
【0269】
SB2714は、NB2713とPCIデバイス、周辺デバイスとを接続するためのブリッジである。このSB2714は、PCIバスを介してNB2713と接続されており、このPCIバスには、ネットワークインターフェース(I/F)部等も接続される。
【0270】
ASIC2716は、画像処理用のハードウェア要素を有する画像処理用途向けのIC(Integrated Circuit)であり、AGP2715、PCIバス、HDD2718及びMEM−C2717をそれぞれ接続するブリッジの役割を有する。このASIC2716は、PCIターゲット及びAGPマスタと、ASIC2716の中核をなすアービタ(ARB)と、MEM−C2717を制御するメモリコントローラと、ハードウェアロジック等により画像データの回転等をおこなう複数のDMAC(Direct Memory Access Controller)と、エンジン部2760との間でPCIバスを介したデータ転送をおこなうPCIユニットとからなる。このASIC2716には、PCIバスを介してFCU(Fax Control Unit)2730、USB(Universal Serial Bus)2740、IEEE1394(the Institute of Electrical and Electronics Engineers 1394)インターフェース2750が接続される。
【0271】
MEM−C2717は、コピー用画像バッファ、符号バッファとして用いるローカルメモリであり、HDD(Hard Disk Drive)2718は、画像データの蓄積、プログラムの蓄積、フォントデータの蓄積、フォームの蓄積を行うためのストレージである。
【0272】
AGP2715は、グラフィック処理を高速化するために提案されたグラフィックスアクセラレーターカード用のバスインターフェースであり、MEM−P2712に高スループットで直接アクセスすることにより、グラフィックスアクセラレーターカードを高速にするものである。
【0273】
なお、上述した実施の形態の複合機(100、700、1200、1500、1700、1800、2000、2100、2500)で実行される情報処理プログラムは、ROM等に予め組み込まれて提供される。
【0274】
本実施形態の複合機(100、700、1200、1500、1700、1800、2000、2100、2500)で実行される情報処理プログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。
【0275】
さらに、上述した実施の形態の複合機(100、700、1200、1500、1700、1800、2000、2100、2500)で実行される情報処理プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、本実施形態の複合機(100、700、1200、1500、1700、1800、2000、2100、2500)で実行される情報処理プログラムをインターネット等のネットワーク経由で提供または配布するように構成しても良い。
【0276】
本実施の形態の複合機(100、700、1200、1500、1700、1800、2000、2100、2500)で実行される情報処理プログラムは、上述した各部(共有メカニズム、ユーザインターフェース層、アプリケーションコントロール層、アプリケーション層、アプリケーション共有サービス層)を含むモジュール構成となっており、実際のハードウェアとしてはCPU(プロセッサ)が上記ROMから情報処理プログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、共有メカニズム、ユーザインターフェース層、アプリケーションコントロール層、アプリケーション層、アプリケーション共有サービス層が主記憶装置上に生成されるようになっている。
【産業上の利用可能性】
【0277】
以上のように、本発明にかかる情報処理装置及び情報処理プログラムは、アプリケーション又はリソースのアクセス制御に有用であり、特に、情報処理装置が備える構成の粒度に応じたアクセス制御に適している。
【図面の簡単な説明】
【0278】
【図1】第1の実施の形態にかかる複合機の構成を示すブロック図である。
【図2】第1の実施の形態にかかる複合機の対応リソース管理テーブルのテーブル構造を示した図である。
【図3】第1の実施の形態にかかる複合機のスキャナ権限設定テーブルのテーブル構造の例を示した図である。
【図4】第1の実施の形態にかかる複合機におけるアプリケーションが処理を実行するまで処理の手順を示すフローチャートである。
【図5】第1の実施の形態にかかる複合機におけるアプリケーションコントロール層からのコピー処理の実行が指示された際の実行手順を示したシーケンス図である。
【図6】第1の実施の形態にかかる複合機におけるスキャナアプリで行われる権限の判断処理の手順を示すフローチャートである。
【図7】第2の実施の形態にかかる複合機の構成を示すブロック図である。
【図8】第2の実施の形態にかかる複合機のプリンタ権限設定テーブルのテーブル構造の例を示した図である。
【図9】第2の実施の形態にかかる複合機のプロッタ権限設定テーブルのテーブル構造を示した図である。
【図10】第2の実施の形態にかかる複合機のアプリケーションコントロール層からの2色でプリント処理の実行が指示された際の実行手順を示したシーケンス図である。
【図11】第2の実施の形態にかかる複合機における利用者から“2色”によるプリント処理を要求された場合における権限の判断処理の手順を示すフローチャートである。
【図12】第2の実施の形態の変形例1にかかる複合機の構成を示すブロック図である。
【図13】第2の実施の形態の変形例1にかかる複合機のアプリケーションコントロール層からのプリント処理の実行が指示された際の実行手順を示したシーケンス図である。
【図14】第2の実施の形態の変形例1にかかる複合機のアプリケーションコントロール層からのプリント処理の実行が指示された際の実行手順を示したシーケンス図である。
【図15】第2の実施の形態の変形例2にかかる複合機の構成を示すブロック図である。
【図16】第2の実施の形態の変形例2にかかる複合機の権限管理部が備える権限設定テーブルのテーブル構造の例を示した図である。
【図17】第2の実施の形態の変形例3にかかる複合機の構成を示すブロック図である。
【図18】第3の実施の形態にかかる複合機の構成を示すブロック図である。
【図19】第3の実施の形態にかかる複合機のアプリケーションコントロール層からのプリント処理の実行が指示された際の実行手順を示したシーケンス図である。
【図20】第4の実施の形態にかかる複合機の構成を示すブロック図である。
【図21】第5の実施の形態にかかる複合機の構成を示すブロック図である。
【図22】第5の実施の形態にかかる複合機のアプリケーションコントロール層からの2色でプリント処理の実行が指示された際の実行手順を示したシーケンス図である。
【図23】第5の実施の形態にかかる複合機のアプリケーションコントロール層からのフルカラーでプリント処理の実行が指示された際の実行手順を示したシーケンス図である。
【図24】第5の実施の形態にかかる複合機のアプリケーションコントロール層からのフルカラーでプリント処理の実行が指示された際の実行手順を示したシーケンス図である。
【図25】第6の実施の形態にかかる複合機の構成を示すブロック図である。
【図26】第6の実施の形態にかかる複合機のアプリケーションコントロール層からのフルカラーでプリント処理の実行が指示された際の実行手順を示したシーケンス図である。
【図27】複合機のハードウェア構成を示すブロック図である。
【符号の説明】
【0279】
100、700、1200、1500、1700、1800、2000、2100、2500 複合機
101 ユーザインターフェース層
102、1701、2001、2101 アプリケーションコントロール層
103、701、1200、1501、1801 アプリケーション層
104、1502、1702、2102 アプリケーション共有サービス層
105、2103、2501 共有メカニズム
106 OS
107 スキャナユニット
108 カラーラインプリンタ
109 ハードウェアリソース
111、711、1511、2111 コピーアプリ
112、714、1513、2112 プリンタアプリ
113 対応リソース管理テーブル
121、1521、2121 スキャナアプリ
122 スキャナ権限判断部
123 スキャナ権限設定テーブル
124、1523、1711、2122 プロッタアプリ
125 プロッタ権限判断部
126 プロッタ権限設定テーブル
150、1550、1750 フレームワーク部
712 コピー権限判断部
713 コピー権限設定テーブル
715 プリンタ権限判断部
716 プリンタ権限設定テーブル
1211 第1プリンタアプリ
1212 第1プリンタ権限判断部
1213 対応リソース管理テーブル
1221 第2プリンタアプリ
1222 第2プリンタ権限判断部
1512 コピー権限判断部
1514 プリンタ権限判断部
1522 スキャナ権限判断部
1524 プロッタ権限判断部
1525 権限判断部
1711 第1プロッタアプリ
1712 第1プロッタ権限判断部
1713 権限管理部
1721 第2プロッタアプリ
1722 第2プロッタ権限判断部
1723 スキャンアプリ
1724 スキャン権限判断部
1731 プラグイン管理モジュール
1811 第1プリンタアプリ
1812 地紋プリンタアプリ
1813 第2プリンタアプリ
1814 印刷アプリ
1815 印刷権限判断部
1816 印刷権限設定テーブル
1817 対応リソース管理テーブル
2011 リクエスト管理モジュール
2012 リクエスト権限判断部
2013 リクエスト権限設定テーブル
2131、2511 権限判断部
2123、2553 権限設定管理DB
2502 送受信処理部
2550 認可サーバ
2551 送受信処理部
2552 権限判断部
2760 ネットワーク
2710 コントローラ
2711 CPU
2712 MEM−P
2712a ROM
2712b RAM
2713 NB
2714 SB
2715 AGPバス
2716 ASIC
2717 MEM−C
2718 HDD
2720 操作部
2730 FCU
2740 USB
2750 インターフェース
2760 エンジン部

【特許請求の範囲】
【請求項1】
利用者から、処理の実行要求と、当該処理を行う際の動作設定と、の入力を受け付ける入力受付部と、
利用者からの入力された処理の実行要求に従って処理を行う複数個のアプリケーションと、
前記複数個のアプリケーションが共通して使用する複数のリソースと、
前記アプリケーションから、前記複数のリソースのうちの任意のリソースに対して、入力された前記動作設定で処理を要求する場合に、前記任意のリソースにおいて前記動作設定を、前記動作設定を入力した利用者が使用する権限を有しているか否か判断するリソース権限判断部と、
前記リソース権限判断部で利用者が使用する権限を有していると判断された場合に、当該任意のリソースを、前記動作設定で制御するリソース制御アプリケーションと、
を備えることを特徴とする情報処理装置。
【請求項2】
前記アプリケーションが、入力された前記動作設定で処理を実行する場合に、当該アプリケーションにおいて前記動作設定を、前記動作設定を入力した利用者が使用する権限を有しているか否か判断するアプリケーション権限判断部を、さらに備え、
前記アプリケーションは、前記アプリケーション権限判断部で利用者が使用する権限を有していると判断された場合に、前記リソース制御アプリケーションに対して前記動作設定による処理を要求すること、
を特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記アプリケーションは、前記アプリケーション権限判断部で利用者が使用する権限を有していると判断された場合に、さらに前記動作設定を、前記リソースが処理可能な設定に変更すること、
を特徴とする請求項2に記載の情報処理装置。
【請求項4】
前記アプリケーション権限判断部は、利用者が使用する権限を有しているか否かを判断する必要があるアプリケーション毎に格納されていること、
を特徴とする請求項2又は3に記載の情報処理装置。
【請求項5】
前記リソース権限判断部は、当該リソースの制御を行う前記リソース制御アプリケーション毎に含まれていること、
を特徴とする請求項1に記載の情報処理装置。
【請求項6】
前記複数のアプリケーションから共通して使用される機能を有する中間ソフトウェアと、
前記アプリケーションから、前記中間ソフトウェアに対して、入力された前記動作設定で処理を要求する場合に、前記中間ソフトウェアにおいて前記動作設定を、前記動作設定を入力した利用者が使用する権限を有しているか否か判断する中間ソフトウェア権限判断部と、をさらに備え、
前記中間ソフトウェアは、前記中間ソフトウェア権限判断部で利用者が使用する権限を有していると判断された場合に、前記リソース制御アプリケーションに対して前記動作設定による処理を要求すること、
を特徴とする請求項1乃至5のいずれか一つに記載の情報処理装置。
【請求項7】
利用者を識別する利用者情報毎にテーブルを設けて、当該テーブルにおいて、前記リソースが実行可能な動作設定毎に、当該動作設定を使用する権限を有しているか否かを保持するリソース権限設定情報をさらに備え、
前記リソース権限判断部は、前記リソース権限設定情報に基づいて、利用者に入力された前記動作設定を、当該利用者が使用する権限を有しているか否か判断すること、
を特徴とする請求項1に記載の情報処理装置。
【請求項8】
ネットワークを介して接続されている情報処理装置に対して利用者を識別する利用者情報と、利用者に入力された動作設定と、前記リソースを識別する情報と、を送信する送信処理部と、
前記情報処理装置から利用者が使用する権限を有しているか否かを示す権限情報を受信する受信処理部と、
前記リソース権限判断部は、受信した前記権限情報に基づいて、利用者が使用する権限を有しているか否か判断すること、
を特徴とする請求項1乃至7のいずれか一つに記載の情報処理装置。
【請求項9】
利用者からの入力された処理の実行要求に従って処理を行う複数個のアプリケーションと、前記複数個のアプリケーションが共通して使用する複数のリソースと、を備えるコンピュータにおける情報処理プログラムであって、
利用者から、処理の実行要求と、当該処理を行う際の動作設定と、の入力を受け付ける入力受付ステップと、
前記アプリケーションから、前記複数のリソースのうちの任意のリソースに対して、入力された前記動作設定で処理を要求する場合に、前記任意のリソースにおいて前記動作設定を、前記動作設定を入力した利用者が使用する権限を有しているか否か判断するリソース権限判断ステップと、
前記リソース権限判断部で利用者が使用する権限を有していると判断された場合に、当該任意のリソースを、前記動作設定で制御するリソース制御ステップと、
をコンピュータに実行させる情報処理プログラム。
【請求項10】
前記アプリケーションが、入力された前記動作設定で処理を実行する場合に、当該アプリケーションにおいて前記動作設定を、前記動作設定を入力した利用者が使用する権限を有しているか否か判断するアプリケーション権限判断ステップを、さらに実行させること、
を特徴とする請求項9に記載の情報処理プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate


【公開番号】特開2008−233947(P2008−233947A)
【公開日】平成20年10月2日(2008.10.2)
【国際特許分類】
【出願番号】特願2007−67971(P2007−67971)
【出願日】平成19年3月16日(2007.3.16)
【出願人】(000006747)株式会社リコー (37,907)
【Fターム(参考)】