以下に添付図面を参照して、この発明にかかる情報処理装置、アクセス制御方法、及びアクセス制御プログラムの最良な実施の形態を詳細に説明する。
本発明の一実施の形態として、情報処理装置をコピー機能、ファクシミリ(FAX)機能、印刷機能、スキャナ機能等を一つの筐体に納めたいわゆるMFP(Multi Function Peripheral)と称される複合機等、印刷機能を備えた装置に適用した例を示す。尚、以下の説明では、情報処理装置を上述の複合機に適用した場合について説明しているが、上述した機能以外の機能を備える複合機以外の装置であっても適用可能である。
(第1の実施の形態)
図1は、第1の実施の形態にかかる複合機1000のブロック図である。図1に示すように、複合機1000は、操作パネル100と、アプリケーション部200と、リクエスト受付部300と、サブリクエスト生成部400と、サブリクエスト判定部4700と、アプリ検知部450と、ハード検知部460と、記憶部470と、を含んで構成される。さらに記憶部470は、方法識別情報4710と、アクセス制御対象情報4720と、サブリクエスト種類情報4730と、ACL設定情報4740と、ルール情報4700と、アプリ構成情報4780と、ハード構成情報4790と、サブリクエスト集約情報4800と、画面情報4810と、ユーザ情報4820と、を主に含んで構成される。また、ルール情報4700は、年齢ルール設定情報4750と、時間ルール設定情報4760と、新規ルールZ設定情報4770と、を含んで構成され、サブリクエスト判定部4700は、ACL判断部410と、年齢ルール判断部420と、時間ルール判断部430と、新規ルールZ判断部440と、を含んで構成される。
操作パネル100は、LCD(Liquid Crystal Display)等のディスプレイから構成され、後述するアプリケーション部200に含まれる各種のアプリケーションを指定したり、ユーザが、それらのアプリケーションを利用するための設定情報(例えば、ユーザ名、アプリケーションの種類、利用時間、ユーザの年齢、実行開始指示、コピー部数等)を指定して入力するためのインタフェースである。
図2は、第1の実施の形態にかかる操作パネル100の構成の例を示している。図2に示すように、操作パネル100は、ユーザ選択画面1010と、操作選択画面1020と、アプリケーション選択画面1030と、詳細設定画面1040と、時間設定画面1050と、年齢設定画面1060と、新規ルールZ設定画面1070と、を含んで構成される。これらの各画面は、図2に示すように、ユーザ選択画面1010を最上位として、最下位の時間設定画面1050等の各ルール設定画面までの表示順序が紐付けされており、このような画面に関する切替情報は、後述する画面情報4810に記憶されている。
図3は、操作パネル100のユーザ選択画面1010の例を示す図である。図3に示すように、複合機1000を利用するユーザは、このユーザ選択画面1010から自らのユーザ名を押下して、操作選択画面1020を表示させる。このユーザ情報は、ユーザ情報4820に記憶され、ユーザがユーザ選択画面1010を呼び出すときに、その内容が表示される。ユーザは、自らのユーザ名をこの画面から選択して指定する。
図4は、操作パネル100の操作選択画面1020の例を示す図である。図4に示すように、操作選択画面1020には、ユーザが操作するアプリケーション(コピー、スキャナ、FAX等)、その他の操作(ドキュメント呼出、システム設定、データ送信等)が表示され、ユーザは複合機1000に対してどのような操作を行うかをこの画面から選択して指定する。尚、以下の説明では、ユーザが複合機1000にアクセスして操作を行う対象となるこれらの総称をアクセス制御対象と呼ぶこととする。
また、図5は図4に示す操作選択画面1020おいて、ユーザが操作対象として「アプリケーション」を選択した場合の例を示す図である。図5に示すように、ユーザは、アプリケーション選択画面1030に表示された複数のアプリケーション(コピー、スキャナ、FAX等)の中から、操作するアプリケーションを選択して指定する。
図6は、図5に示すアプリケーション選択画面1030においてコピー、スキャナ、FAX等のアプリケーションが選択された場合の詳細設定を行う詳細設定画面1040の例を示す図である。図6に示すように、あるアプリケーションが選択されると、そのアプリケーションに関する出力設定(例えば、コピーの場合であれば、用紙サイズ、2in1集約有無、カラー印刷、出力トレイ等)、アプリケーションの利用時間に関する時間設定(例えば、平日・休日、利用可能な時間帯等)、アプリケーションの利用対象年齢に関する年齢設定(例えば、21歳以上30歳未満の者のみ利用可能等)の各種の詳細設定情報を指定するための選択画面が表示される。
また、図7及び図8は、上述した詳細設定画面1040において、時間設定を指定するための時間設定画面1050(図7)、年齢設定を指定するための年齢設定画面1060(図8)の例である。
図7に示すように、時間設定画面1050では、利用可能な時間帯の分類として「営業時間」、利用可能な曜日としてウィークデイ、具体的な時間帯として「9:00〜17:00」の時間帯が設定されており、ユーザが、この時間帯での操作を行う場合の例を示している。
また、図8に示すように、年齢設定画面1060では、アプリケーションを利用可能な年齢として、21歳〜30歳まで、51歳から55歳まで等の利用対象年齢が設定されており、ユーザが「21歳〜30歳」を指定している場合の例を示している。尚、上述した各種のユーザによって指定され、または入力された各種の情報の集合体(各種の情報を組み合わせたもの)をリクエストと呼ぶこととする。すなわち、ユーザは、上述したような細かい設定情報を組み合わせて指定することによって、複合機1000に対して1つのリクエストを行うこととなる。
上述したように、あるアプリケーションの操作を行う際に、上述したようなユーザの指定、利用時間帯の指定、年齢の指定は、そのユーザ自らが指定するものなので、例えば、年齢や時間を偽って指定する場合も考えられるが、このような場合には、例えば、ユーザを指定する代わりに、ID(Identifier)カード等を複合機1000に接触させることによって複合機1000を利用可能なユーザであるか否かを認証したり、複合機1000が備えるタイマ情報を参照して、ユーザが利用する時間帯が正しい時間帯か否かを判定する等の処理を行うことによって、セキュリティを確保することもできる。
図1に戻って、アプリケーション部200は、コピー処理、FAX送信処理、スキャナ処理等の画像形成に関する処理のほか、スキャナ処理したデータを送信する処理、システムをメンテナンスする処理等、画像形成以外の処理を含むプログラム等のソフトウェアである。これらのソフトウェアは、後述するようにアプリ検知部450やハード検知部460による処理が終わると、操作パネル100でユーザから指定されたユーザ名、アクセス制御対象の種類、アプリケーションの種類、利用時間、ユーザの年齢、実行開始指示、コピー部数等の指定された情報を受けると、ソフトウェアを起動してスタンバイ状態にすると共に、これらの各種情報をリクエスト受付部300に送信する。
リクエスト受付部300は、アプリケーション部200からユーザ名、アクセス制御対象の種類、アプリケーションの種類、利用時間、ユーザの年齢、実行開始指示、コピー部数等の指定された情報を受信すると、記憶部470から図9に示す方法識別情報4710を取得する。この方法識別情報4710は、あらかじめシステム管理者等によって設定され、どのような方法によってユーザから指定された情報を組み立てて、後述するようにサブリクエスト生成部400においてサブリクエストを生成するかを判別するためのものである。図9では、「方法3」によってサブリクエストを生成することを示している。
図1に戻って、また、リクエスト受付部300は、上述したユーザから指定された情報を受信すると、記憶部470から図10に示すアクセス制御対象情報4720を参照して、取得した方法識別情報4710をキーにして、どのアプリケーションを対象とするものであるか否かを読み出して、受信したアクセス制御対象の種類を特定する。そして、リクエスト受付部300は、アクセス制御対象が特定できた場合にのみ、ユーザから指定されたユーザ名、アクセス制御対象の種類、アプリケーションの種類、利用時間、ユーザの年齢、実行開始指示、コピー部数等の指定された情報に加え、方法識別情報4710をサブリクエスト生成部400に送信すると共に、その指定された情報から、その方法識別情報4710に記された方法によってサブリクエストを生成するようにサブリクエスト生成部400に指示する。一方、読み出したアプリケーションと一致すると判定しない場合には、「あなたはこの操作を実行できません。」等のメッセージを操作パネル100に表示する。
なお、このリクエスト受付部300では、アクセス制御対象の種類は、その種類(例えば、「アプリケーション」「システム」等の操作の種類)を受信すると、受信したそのアクセス制御対象の種類を変数に変換し、変換された変数を、アプリケーション生成部400に送信する。そして、以降の処理では、アクセス制御対象の種類は、形式上変数として各種の処理が行われることとなる。このようにすることで、アクセス制御対象の種類が増加した場合であっても、アクセス制御対象情報4720さえ修正すれば、その増加したアクセス制御対象の種類のアクセス制御に対応できる。
サブリクエスト生成部400は、リクエスト受付部300から受信したユーザが指定した情報を組み合わせてサブリクエストを生成する。このサブリクエストとは、ユーザが操作パネル100で指定した各種の情報を、アクセスを制御するための小ルールに分解して組み合わせたものであり、例えば、ACL(Access Control List)の設定、年齢、時間、その他(新規ルールZ)種々の概念のことをいう。
具体的には、サブリクエスト生成部400は、リクエスト受付部300からユーザから指定されたユーザ名、アクセス制御対象の種類、アプリケーションの種類、利用時間、ユーザの年齢、実行開始指示、コピー部数等の指定された情報、方法識別情報4710を受信すると、受信した方法識別情報4710をキーとして図11に示すサブリクエスト種類情報4730を参照し、その方法識別情報4710に対応するサブリクエスト名を取得する。
また、サブリクエスト生成部400は、リクエスト受付部300から受信したアクセス制御対象の種類が、その方法識別情報4710に対応するものであるか否かを、図11に示すサブリクエスト種類情報4730のアプリケーションの種類情報を参照して判定する。そして、受信したアクセス制御対象の種類が、その方法識別情報4710に対応するものであると判定した場合にのみ、サブリクエストを生成する。一方、受信したアプリケーションの種類が、その方法識別情報4710に対応するものでないと判定した場合には、「あなたはこの操作を実行できません。」等のメッセージを操作パネル100に表示する。
さらに、サブリクエスト生成部400は、方法識別情報4710をキーとして参照して取得したサブリクエスト名と同じサブリクエスト名のルール情報(例えば、図12に示すACL設定情報、年齢ルール設定情報、時間ルール設定情報、新規ルールZ型情報)をルール情報4700の中から特定し、特定したルール情報に設定されている項目名を読み取って、リクエスト受付部300から受信したユーザ名、アクセス制御対象の種類、アプリケーションの種類、利用時間、ユーザの年齢、実行開始指示、コピー部数等に該当する情報の中からその項目名と同じものを組み合わせてサブリクエストを生成する。
より具体的には、例えば、サブリクエスト生成部400は、ACL設定情報4740にアクセスして、図12(a)に示す「指示情報」項目の中の「ユーザ名」「アプリケーション」「操作」の各名称を読み取って、リクエスト受付部300から受信したユーザ名、アクセス制御対象の種類、アプリケーションの種類、利用時間、ユーザの年齢、実行開始指示、コピー部数等に該当する情報から、「ユーザ名」「アプリケーションの種類」「実行開始指示」を抽出してサブリクエストを生成する。そして、生成したサブリクエストを、後述するようにサブリクエスト判定部4000のACL判断部410に送信する。
上述した例では、サブリクエスト生成部400が、ACL設定情報4740からサブリクエストを生成した場合について説明した。しかし、ユーザが、操作パネル100の時間設定画面1050で図7に示す時間帯を指定した場合には、その情報をリクエスト受付部300から受信し、ルール情報4700の時間ルール設定情報4760にアクセスし、図12(b)に示す年齢ルール設定情報4750の「指示情報」項目の中の「時間」「ユーザ名」の各名称を読み取って、リクエスト受付部300から受信した各情報の中から、「ユーザ名」「利用時間(9:00〜17:00)」を抽出してサブリクエストを生成する。
同様に、サブリクエスト生成部400は、ユーザが操作パネル100の年齢設定画面1060で年齢範囲(年代)を指定した場合には、年齢ルール設定情報4750にアクセスして、年齢ルール設定情報4750の「指示情報」に記載された「下限年齢」「上限年齢」の各名称を読み取って、年齢に関するサブリクエストを生成する。
このように、サブリクエスト生成部400は、ルール情報4700に設定されている各種のルール情報にアクセスして、「指示情報」に記載された各名称を読み取って各種のルール設定情報に関するサブリクエストを生成する。したがって、ルール情報4700に、図12に示すような新規ルールZ情報4770をユーザが新たに登録した場合には、その新規ルールZ情報4770の指示情報の各名称「場所」「アプリケーション」を読み取って、この新規ルールに関するサブリクエストを生成する。この場合、操作パネル100には場所ルールを設定するための画面が表示され、ユーザはその画面から、ユーザ名、アクセス制御対象の種類、アプリケーションの種類、利用時間、ユーザの年齢、実行開始指示、コピー部数等に該当する情報以外に、例えば「○○支店」という場所を示す情報を入力し、サブリクエスト生成部400は、場所を示す新規ルールに関するサブリクエストを生成する。
また、サブリクエスト生成部400は、後述するように、サブリクエスト判定部4700の各判断部(例えば、ACL判断部410、年齢ルール判断部420、時間ルール判断部430、新規ルールZ判断部440等)からサブリクエストの要求を認めるか否かを判断した結果(以下、可否情報という。サブリクエストを「許可」するか「拒否」するかを示すもの。)を受信すると、図13に示すサブリクエスト集約情報4800にアクセスして、リクエスト受付部300から受信した方法識別情報4710に一致するサブリクエスト集約情報4800の方法識別情報を特定し、その方法識別情報に対応する集約方法を参照して、最終的にユーザが操作パネル100から指定した指示内容を実行すべきか否かを判定する。
具体的には、リクエスト受付部300から受信した方法識別情報4710が「方法3」である場合には、図13において、「方法3」に対応する集約方法「全てのルールが許可なら許可」を参照して、ユーザからの指示内容を実行すべきか否かを判定する。すなわち後述するサブリクエスト判定部4000のACL判断部410、年齢ルール判断部420、時間ルール判断部430等の各判断部からの可否情報がすべて「許可」でなければ、ユーザが指定した指示情報を実行すべきでないと判定する。
サブリクエスト判定部4000は、サブリクエスト生成部400が生成したサブリクエストを受けとって、そのサブリクエストの内容が「許可」できるものなのか、「拒否」すべきものなのかを判定するものであり、記憶部470のルール情報4700に記憶されたACL設定情報4740、年齢ルール設定情報4750、時間ルール設定情報4760、新規ルールZ設定情報等の各ルール情報に対応するACL判断部410、年齢ルール判断部420、時間ルール判断部430、新規ルールZ判断部440等の各判断部から構成される。
前述したように、各判断部は、サブリクエスト生成部400から、各判断部に対応するサブリクエストを受信し、受信したサブリクエストが図12に示すルール情報4700の各設定情報に記載された指示情報を参照して、そのサブリクエストが「許可」すべきものか「拒否」すべきものかを示す決定値を取得し、その値をサブリクエスト生成部400に送信する。
より具体的には、例えば、ACL判断部410は、ユーザ名「田中」というユーザがアプリケーション「コピー」を「実行」操作するサブリクエストをサブリクエスト生成部400から受信した場合には、図12に示すACL設定情報4740の決定値を参照して「許可」を取得する。また、年齢ルール判断部420は、そのユーザ名「田中」が21歳〜30歳の年齢であるというサブリクエストを受信した場合には、図12に示す年齢ルール設定情報4750の決定値を参照して「許可」を取得する。さらに、時間ルール判断部430は、そのユーザ「田中」が、コピー機能を利用する時間帯が、休日の営業時間外であるというサブリクエストを受信した場合には、図12に示す時間ルール設定情報4760の決定値を参照して「拒否」を取得する。
図1に戻って、アプリ検知部450は、操作パネル100のアプリケーション選択画面1030で指定されたアプリケーションが、記憶部470に記憶されるハード構成情報4790に記憶されているか否かを判断し、指定されたアプリケーションが存在する場合にのみ、操作パネル100で指定されたユーザ名、アクセス制御対象の種類、アプリケーションの種類、利用時間、ユーザの年齢、実行開始指示、コピー部数等に該当する情報を、後述するハード検知部460に送信する。一方、指定されたアプリケーションが存在しない場合には、その「旨を操作パネル100に通知するとともに、そのアプリケーションをアプリ構成情報4780から削除する。
このアプリ構成情報4780には、複合機1000に組み込まれているアプリケーションの一覧が操作パネル100のアプリケーション選択画面1030に紐付けされて記憶され、アプリケーション選択画面1030に表示されるアプリケーションは組み込まれているアプリケーションと同じアプリケーションが表示される。
ハード検知部460は、アプリ検知部450から、ユーザ名、アクセス制御対象の種類、アプリケーションの種類、利用時間、ユーザの年齢、実行開始指示、コピー部数等に該当する情報を受け取ると、その中で指定された種類のアプリケーションが動作するために必要なハードウェアが実装されているか否かを、ハード構成情報4790を参照して判断し、指定されたアプリケーションに必要なハードウェアが実装されている場合にのみ、操作パネル100で指定された各種の情報を、リクエスト受付部300に送信する。
このハード構成情報4790には、アプリケーションの種類とそのアプリケーションの実行に関連するハードウェアの構成情報やその設定情報(例えば、指定された種類のアプリケーリョンがコピーの場合には、出力トレイの設定や、そのトレイの用紙の有無等のコピー画像を印刷するための各種の設定情報が記憶されている。そして、ハード検知部460は、指定されたアプリケーションに必要なハードウェアが実装されていない場合、例えば、トレイの用紙が空である場合には、その旨を操作パネル100に通知する。
図14は、上述した複合機1000の各部の主要部分の関係を示す図である。図14に示すように、リクエスト受付部300、サブリクエ生成部400、記憶部470の間に、サブリクエストを判定するサブリクエスト判定部4000のACL判断部410、年齢ルール判断部420、時間ルール判断部430等の各判断部が構成される。ユーザが新たに「新規ルールZ」というサブリクエストを判断するような場合には、このように各判断部の1つとして追加され、そのサブリクエストに対して上述した各種の処理を行う。
次に、上述した複合機1000で行われる実行処理について説明する。図15は、ユーザが、複合機1000のアプリケーションの中でコピー機能を使用して、そのアクセス制御を行う場合のシーケンス図である。尚、以下の説明では、ユーザ「田中○○」(年齢25歳)が、営業時間外に1部の書類等をコピーする場合について説明する。
ユーザは、操作パネル100を操作して、ユーザ名(田中○○)、アクセス制御対象の種類(アプリケーション)、アプリケーションの種類(コピー)、利用時間(営業時間外)、ユーザの年齢(25歳)、コピー部数(1部)を入力し、実行キーを押下して実行開始指示をする(ステップS1501)。ユーザから入力または指示されたこれらの各種の情報は、アプリ検知部450に送信される。
アプリ検知部450は、操作パネル100から受信したこれらの各種情報の中からアプリケーションの種類を読み取って、読み取ったアプリケーションの種類がアプリ構成情報4780に存在するか否かを判定する(ステップS1502)。そして、読み取ったアプリケーションの種類がアプリ構成情報4780に存在しないと判定した場合(ステップS1502;No)、そのアプリケーションをアプリ構成情報4780の中から削除し、その旨を操作パネル100に送信して処理を終了する(ステップS1503)。
一方、読み取ったアプリケーションの種類がアプリ構成情報4780に存在すると判定した場合(ステップS1502;Yes)、受信したユーザ名、アクセス制御対象の種類、アプリケーションの種類、利用時間、ユーザの年齢、コピー部数の各情報をハード検知部460に送信する。
ハード検知部460は、アプリ検知部450からユーザ名、アクセス制御対象の種類、アプリケーションの種類、利用時間、ユーザの年齢、コピー部数の各情報を受信すると、指定された種類のアプリケーションに必要なハードウェアが実装されているか否かをハード構成情報4790を参照して判定する(ステップS1504)。
そして、指定された種類のアプリケーションに必要なハードウェアが実装されていないと判定した場合(ステップS1504;Yes)、その旨を操作パネル100に送信して処理を終了する(ステップS1505)。
一方、指定された種類のアプリケーションに必要なハードウェアが実装されていると判定した場合(ステップS1504;No)、アプリ検知部450から受信したユーザ名、アクセス制御対象の種類、アプリケーションの種類、利用時間、ユーザの年齢、コピー部数の各情報をアプリケーション部200に送信する(ステップS1506)。
その後、アプリケーション部200は、実装されたアプリケーションの中から、指定された種類のアプリケーションを起動し、スタンバイ状態にすると共に、受信した各種の情報をリクエスト受付部300に送信する(ステップS1507)。
リクエスト受付部300は、図9に示すような記憶された方法識別情報4710を読み取り、その読み取った方法識別情報4710をキーにしてアクセス制御対象情報4720を参照してアクセスすべき対象を特定し、特定したアクセス制御対象が、アプリケーション部200から受信したアクセス制御対象と同じであるか否かを判定する(ステップS1508)。そして、特定したアクセス制御対象が、アプリケーション部200から受信したアクセス制御対象と同じでないと判定した場合(ステップS1508;No)、その旨操作パネル100に送信し、処理を終了する(ステップS1510)。
一方、リクエスト受付部300は、特定したアクセス制御対象が、アプリケーション部200から受信したアクセス制御対象と同じであると判定した場合(ステップS1508;Yes)、ステップS1507で読み取った方法識別情報4710、アプリケーション部200から受信したユーザ名、アクセス制御対象の種類、アプリケーションの種類、利用時間、ユーザの年齢、コピー部数の各情報をサブリクエスト生成部400に送信すると共に、その方法識別情報4710に記載された方法によってサブリクエストを生成するようにサブリクエスト生成部400に指示する(ステップS1509)。
サブリクエスト生成部400は、リクエスト受付部300から、方法識別情報4710、ユーザ名、アクセス制御対象の種類、アプリケーションの種類、利用時間、ユーザの年齢、コピー部数の各情報を受信すると、受信した方法識別情報4710をキーにしてサブリクエスト種類情報4730にアクセスして、その方法識別情報に記載された識別情報に対応する具体的なサブリクエストの生成方法を特定する。
例えば、方法識別情報4710が、「方法3」である場合には、図11に示すように、その「方法3」は、「ACL型」「年齢ルール型」「時間ルール型」の3つの種類のサブリクエストを生成するような方法識別情報であることがわかる。
さらに、サブリクエスト生成部400は、特定したサブリクエストの種類「ACL型」「年齢ルール型」「時間ルール型」というサブリクエストの情報をキーにして、ルール情報4700に記憶されたACL設定情報4740、年齢ルール設定情報4750、時間ルール設定情報4760にアクセスし、これらの各設定情報が、どのような指示情報によって構成されているのかを特定する。そして、特定した指示情報に従って、リクエスト受付部300から受信したユーザ名、アクセス制御対象の種類、アプリケーションの種類、利用時間、ユーザの年齢、コピー部数の各情報を組み合わせてサブリクエストを生成し、生成したサブリクエストを、サブリクエスト判定部4000のACL判断部410、年齢ルール判断部420、時間ルール判断部430に送信する(ステップS1511)。
この例では、ステップS1501で操作パネルから入力された情報は、ユーザ名(田中○○)、アクセス制御対象の種類(アプリケーション)、アプリケーションの種類(コピー)、利用時間(営業時間外)、ユーザの年齢(25歳)、コピー部数(1部)、実行キー(実行開始指示)であるので、ACL判断部410に対しては、「田中○○」「コピー」「実行開始指示」を組み合わせたサブリクエストを送信する(ステップS1513)。これと同様に、年齢ルール判断部420については「25歳」というサブリクエスト、時間ルール判断部430については、「営業時間外」「田中○○」を組み合わせたサブリクエストを送信する(ステップS1514、S1515)。
サブリクエスト判定部4000の各判断部は、ステップS1513〜S1515で受信した各サブリクエストと、図12に示すようなルール情報4700に記憶された各種の設定情報を比較して、各サブリクエストを「許可」するか「拒否」するかを、各設定情報の決定値を参照してその値を取得し(ステップS1516〜S1518)、取得した値をサブリクエスト生成部400に送信する(ステップS1519〜S1521)。
具体的には、ACL判断部410は、「田中○○」「コピー」「実行開始指示」というサブリクエストから「許可」という決定値を取得し、年齢ルール判断部420については「25歳」というサブリクエストから「許可」という決定値を取得し、時間ルール判断部430については、時間ルール判断部430については、「営業時間外」「田中○○」を組み合わせたサブリクエストから「拒否」という決定値を取得し、これらの各値をサブリクエスト生成部400に送信する。
サブリクエスト生成部400は、ACL判断部410、年齢ルール判断部420、時間ルール判断部430からそれぞれ決定値を取得すると、ステップS1509でリクエスト受付部300から受信した方法識別情報4710をキーにして、図18に示すサブリクエスト集約情報を参照して、各決定値をどのように集約するかを示す集約方法を特定する(ステップS1522)。
具体的には、方法識別情報が「方法3」であるので、最終的にユーザ「田中○○」がステップS1501で操作パネル100を操作して指定したリクエストに対して「全ての小ルールが許可なら許可」とする集約方法を読み取って、ACL判断部410から受信した「許可」という決定値、年齢ルール判断部420から受信した「許可」という決定値、及び時間ルール判断部430から受信した「拒否」という決定値を比較して、1つでも「拒否」があるので、全体としてのリクエストも「拒否」であるとしてこれらの決定値を集約する。
そして、ステップS1522で集約した決定値を、リクエスト受付部300に送信し(ステップS1523)、さらにリクエスト受付部300は、アプリケーション部200にその旨を送信する(ステップS1524)。そして、アプリケーション部200は、受信した「拒否」という決定値を参照して、ユーザが指定したアプリケーションの実行を拒否する旨の通知を操作パネル100に送信する(ステップS1525)。具体的には、「田中○○さんは、営業時間外はこの操作を実行できません。」等のメッセージを表示する。
一方、ステップS1522において、各判断部から集約した決定値が全て「許可」の場合(例えば、ユーザ「田中○○」が営業時間内にコピー操作をしたような場合で、時間ルール設定情報4760を満たすようなサブリクエストが生成されたような場合)には、サブリクエスト生成部400は、ユーザからの全体としてのリクエストを「許可」し、その旨リクエスト受付部300に送信し(ステップS1523)、リクエスト受付部300は、さらにその決定値をアプリケーション部200に送信する(ステップS1524)。すると、アプリケーション部200は、ステップS1506でスタンバイ状態となっていたアプリケーションを起動させ、コピー処理等の指定された処理を行い、その結果を操作パネル100に送信する(ステップS1525)。このステップS1525の処理が終了すると、本実施の形態にかかるすべての処理が終了する。
このように、本実施の形態においては、複数の操作受付部100がアプリケーションを実行するための複数の指示情報からなるリクエストの入力を受け付け、記憶部470がリクエストに含まれる指示情報を組み合わせたサブリクエストを生成する方法に固有の識別情報と、識別情報とサブリクエストの種類とを関連付けたサブリクエスト種類情報と、指示情報を組み合わせたサブリクエストとサブリクエストの要求を認めるか否かを示す第1の可否情報とを関連付けたルール情報と、識別情報と第1の可否情報を集約してリクエストの要求を認めるか否かを示す第2の可否情報とを関連付けたサブリクエスト集約情報と、を記憶し、リクエスト受付部300が識別情報とサブリクエスト種類情報とに基づいてリクエストから指示情報を組み合わせてサブリクエストを生成する方法を決定し、サブリクエスト生成部400が決定したサブリクエストを生成する方法とサブリクエスト種類情報とルール情報とに基づいてリクエストに含まれる指示情報を組み合わせてルール情報に含まれるサブリクエストを生成し、第2の可否情報に基づいてリクエストの要求を認めるか否かを判定し、サブリクエスト判定部4000が生成されたサブリクエストと第1の可否情報とに基づいてサブリクエストの要求を認めるか否かを判定するので、アクセス制御の処理の拡張性を高めることができるとともに、その処理を容易にカスタマイズできる。
また、本実施の形態においては、指示情報には、操作対象となる種類を含み、記憶部470は、識別情報と操作対象となる種類とを関連付けたアクセス制御対象情報と、をさらに記憶し、リクエスト受付部300は、アクセス制御対象情報に基づいてリクエストから操作対象となる種類に関連したサブリクエストの生成方法を決定するので、複数の種類のアプリケーションを備える場合であっても、アクセス制御の処理の拡張性を高めることができるとともに、その処理を容易にカスタマイズできる。
また、本実施の形態においては、リクエスト受付部300が操作対象となる種類を変数として定義し、操作パネル100が入力受付した指示情報に含まれる操作対象となる種類を定義した変数に引渡し、引き渡された変数に定義された操作対象となる種類に関連したサブリクエストの生成方法を決定するので、アクセス制御対象の種類が増加した場合であっても、アクセス制御の処理を容易にメンテナンスすることができる。
また、本実施の形態においては、指示情報には、アプリケーションの種類を含み、記憶部470が情報処理装置が備えるアプリケーションの構成情報と、をさらに記憶し、アプリ検知部450が指示情報に含まれるアプリケーションの種類が構成情報に含まれているか否かを判定し、リクエスト受付部300は、アプリ検知部450がアプリケーションの種類が構成情報に含まれると判定した場合にのみ、アプリケーションに関連したサブリクエストの生成方法を決定するので、ユーザが誤って存在しないアクセス制御の処理を行うことを速やかに防止することができる。
また、本実施の形態においては、アプリ検知部450が操作パネル100が入力を受け付けたアプリケーションの種類が構成情報に含まれないと判定した場合に、構成情報から操作パネル100が入力を受け付けた種類のアプリケーションを削除し、リクエスト受付部300が操作パネル100が入力を受け付けたアプリケーションが情報処理装置に含まれない旨を操作パネル100に通知するので、ユーザが誤って存在しないアクセス制御の処理を行うことを防止することができるとともに、入力受付されたアプリケーションとの整合性をとることができる。
また、本実施の形態においては、操作パネル100は、サブリクエストごとに構成され、記憶部470が操作パネル100とサブリクエストとを関連付けた入力受付遷移情報と、をさらに記憶し、操作パネル100が画面情報4810に従って切替わるので、ユーザが操作する画面についてもサブリクエストと同様に容易にカスタマイズできる。
また、本実施の形態においては、サブリクエスト種類情報4730は、操作対象となるものの種類を識別情報とサブリクエストの種類とに関連付けて記憶し、サブリクエスト生成部400がリクエスト受付部300によって決定されたサブリクエストが操作対象となる種類に関連するものであるか否かを判定し、操作対象となる種類に関連すると判定した場合にのみ、指示情報を組み合わせてルール情報に含まれる複数のサブリクエストを生成するので、制御すべきでないアクセス制御の処理を誤って実行してしまうことを防止できる。
また、本実施の形態においては、記憶部470が情報処理装置を構成するハードウェア構成情報と、をさらに記憶し、ハード検知部460が操作パネル100が入力を受け付けたアプリケーションを実行するために必要なハードウェアが存在するか否かを判定し、リクエスト受付部300がハード検知部460が入力を受け付けた種類のアプリケーションを実行するために必要なハードウェアが存在すると判定した場合にのみ、アプリケーションに関連する前記サブリクエストの生成方法を決定するので、ユーザが誤って存在しないアクセス制御の処理を行うことをより速やかに防止することができる。
(第2の実施の形態)
上述した第1の実施の形態においては、サブリクエスト生成部400が、リクエスト受付部300から受信したユーザ名、アクセス制御対象の種類、アプリケーションの種類、利用時間、ユーザの年齢、コピー部数の各情報からサブリクエスト種類情報4730等を参照して、ACL判断部410、年齢ルール判断部420、時間ルール判断部430に対するサブリクエストを生成し、その決定値を集約することとした。しかし、各判断部の数が多くなればなるほど、サブリクエスト生成部400に処理負荷がかかり、また、1つのサブリクエストについての判断に修正があった場合に、サブリクエスト生成部400全体を見直して修正しなくてならない場合がある。そこで、ユーザ名、アクセス制御対象の種類、アプリケーションの種類、利用時間、ユーザの年齢、コピー部数の各情報からサブリクエストを生成して、その決定値を集約する処理を、各判断部で行う場合について説明する。
図16は、第2の実施の形態にかかる複合機2000の構成を示すブロック図である。第2の実施の形態にかかる複合機2000は、サブリクエスト生成部400、ACL判断部410、年齢ルール判断部420、時間ルール判断部430の各機能が第1の実施の形態と異なっている。以下の説明では、上述した第1の実施の形態と同一の構成要素には同一の符号を付してその説明を省略している。
前述したように、第2の実施の形態にかかる複合機2000は、リクエスト受付部300から受信したユーザ名、アクセス制御対象の種類、アプリケーションの種類、利用時間、ユーザの年齢、コピー部数の各情報のサブリクエストの生成を、サブリクエスト生成部では行わず、ACL判断部、年齢ルール判断部、時間ルール判断部で行う点で第1の実施の形態にかかる複合機1000と異なるものである。
図17に示すように、サブリクエスト生成部1600は、リクエスト受付部300からユーザ名、アクセス制御対象の種類、アプリケーションの種類、利用時間、ユーザの年齢、コピー部数の各情報および方法識別情報4710を受信すると、受信した方法識別情報4710をキーにしてサブリクエスト種類情報4730にアクセスして、その方法識別情報に記載された識別情報に対応する具体的なサブリクエストの生成方法を特定する(ステップS1701)。そして、その方法が特定できない場合には、その旨操作パネル100に通知する(ステップS1702)。
そして、特定したサブリクエストの生成方法(例えば、「ACL型」「年齢ルール型」「時間ルール型」)の各の3つの種類のサブリクエストの情報、およびリクエスト受付部300から受信した各種の指定された情報を、各判断部であるACL判断部410、年齢ルール判断部420、時間ルール判断部430に送信する(ステップS1703〜S1705)。
サブリクエスト判定部4000の各判断部は、ステップS1703〜S1705で受信した各種の指定された情報から、サブリクエスト種類情報4730を参照してサブリクエストを生成し(ステップS1706〜S1708)、図12に示すようなルール情報4700に記憶された各種の設定情報を比較して、各サブリクエストを「許可」するか「拒否」するかを、各設定情報の決定値を参照してその値を取得し、これらの決定値をサブリクエスト生成部1600に送信する(ステップS1520〜S1522)。以降は第1の実施の形態と同様に、リクエスト受付部300に決定値を送信し、アプリケーション部200にその旨通知し、その情報が操作パネル100に表示される(ステップS1523〜S1525)。
このように、本実施の形態においては、複数の操作パネル100がアプリケーションを実行するための複数の指示情報からなるリクエストの入力を受け付け、記憶部470がリクエストに含まれる指示情報を組み合わせたサブリクエストを生成する方法を示す識別情報と、識別情報とサブリクエストの種類とを関連付けたサブリクエスト種類情報と、指示情報を組み合わせたサブリクエストとサブリクエストの要求を認めるか否かを示す第1の可否情報とを関連付けたルール情報と、識別情報と第1の可否情報を集約してリクエストの要求を認めるか否かを示す第2の可否情報とを関連付けたサブリクエスト集約情報と、を記憶し、リクエスト受付部300が識別情報とサブリクエスト種類情報とに基づいてリクエストから指示情報を組み合わせてサブリクエストを生成する方法を決定し、サブリクエスト生成部1600が第2の可否情報に基づいてリクエストの要求を認めるか否かを判定し、サブリクエスト判定部4000が決定したサブリクエストを生成する方法とサブリクエスト種類情報とルール情報とに基づいてリクエストに含まれる指示情報を組み合わせてルール情報に含まれるサブリクエストを生成し、生成したサブリクエストと第1の可否情報とに基づいてサブリクエストの要求を認めるか否かを判定するので、サブリクエストの数が増加した場合であってもアクセス制御の処理の拡張性を高めることができ、その処理をより容易にカスタマイズできる。
(第3の実施の形態)
上述した第1、第2の実施の形態においては、操作パネル100における各設定画面は、最上位画面としてユーザ選択画面を表示させ、その後アプリケーションの種類等を順次遷移させて表示することとした。しかし、ユーザが利用するアプリケーションの種類によっては、ユーザの指定を一括して行いたい場合もある。例えば、複合機でスキャンしたデータをその場で複数のユーザに送信したい場合である。このような場合には、ユーザを選択する画面は操作選択画面を表示した後に表示させることが望ましい。そこで、操作パネルにおいて、まず操作選択画面を表示させ、その後ユーザを指定する場合について説明する。
図18は、第3の実施の形態にかかる複合機8000の構成を示すブロック図である。第3の実施の形態にかかる複合機8000は、操作パネル100の画面、画面情報4810に記憶される画面遷移情報が第1の実施の形態と異なっている。以下の説明では、上述した第1の実施の形態と同一の構成要素には同一の符号を付してその説明を省略している。
前述したように、第3の実施の形態にかかる複合機8000は、操作パネル100の画面遷移が、操作選択画面を最上位とする点で、第1の実施の形態にかかる複合機1000と異なるものである。
図19は、第3の実施の形態にかかる操作パネル1800の構成の例を示している。図19に示すように、操作パネル1800は、操作選択画面1910を最上位画面として、ユーザ選択画面1010、アプリケーション選択画面1030が次の階層に位置づけられ、各画面間を遷移するように、画面情報1890に記憶されている。
また、図20は、操作パネル100の操作選択画面1910の例を示す図である。図20に示すように、複合機8000を利用するユーザは、まず、複合機8000に対してどのような操作を行うかを操作選択画面の中から、例えば「データ送信」を選択し、さらにその画面で「ユーザ指定」を選択し、そのユーザ選択画面1010から複数のユーザ名(例えば、送信先のユーザ名)を指定し、その他の設定を詳細設定画面等で行う。
このように、本実施の形態においては、指示情報には、ユーザを識別するためのユーザ識別情報と、をさらに含み、画面情報4810は、ユーザ識別情報に関連する操作パネル100が、前記サブリクエストに関連する操作パネル100より上位に構成されるので、一度に複数のユーザに対して同じアクセス制御の処理を適用することができ、容易にカスタマイズできる。
図21は、第1〜3の実施の形態にかかる複合機のハードウェア構成を示すブロック図である。本図に示すように、この複合機1000、2000、8000は、コントローラ10とエンジン部(Engine)60とをPCI(Peripheral Component Interconnect)バスで接続した構成となる。コントローラ10は、複合機1000、2000全体の制御と描画、通信、図示しない操作部からの入力を制御するコントローラである。エンジン部60は、PCIバスに接続可能なプリンタエンジンなどであり、たとえば白黒プロッタ、1ドラムカラープロッタ、4ドラムカラープロッタ、スキャナまたはファックスユニットなどである。なお、このエンジン部60には、プロッタなどのいわゆるエンジン部分に加えて、誤差拡散やガンマ変換などの画像処理部分が含まれる。
コントローラ10は、CPU11と、ノースブリッジ(NB)13と、システムメモリ(MEM−P)12と、サウスブリッジ(SB)14と、ローカルメモリ(MEM−C)17と、ASIC(Application Specific Integrated Circuit)16と、ハードディスクドライブ(HDD)18とを有し、ノースブリッジ(NB)13とASIC16との間をAGP(Accelerated Graphics Port)バス15で接続した構成となる。また、MEM−P12は、ROM(Read Only Memory)12aと、RAM(Random Access Memory)12bとをさらに有する。
CPU11は、複合機1000、2000、8000の全体制御をおこなうものであり、NB13、MEM−P12およびSB14からなるチップセットを有し、このチップセットを介して他の機器と接続される。
NB13は、CPU11とMEM−P12、SB14、AGP15とを接続するためのブリッジであり、MEM−P12に対する読み書きなどを制御するメモリコントローラと、PCIマスタおよびAGPターゲットとを有する。
MEM−P12は、プログラムやデータの格納用メモリ、プログラムやデータの展開用メモリ、プリンタの描画用メモリなどとして用いるシステムメモリであり、ROM12aとRAM12bとからなる。ROM12aは、プログラムやデータの格納用メモリとして用いる読み出し専用のメモリであり、RAM12bは、プログラムやデータの展開用メモリ、プリンタの描画用メモリなどとして用いる書き込みおよび読み出し可能なメモリである。
SB14は、NB13とPCIデバイス、周辺デバイスとを接続するためのブリッジである。このSB14は、PCIバスを介してNB13と接続されており、このPCIバスには、ネットワークインタフェース(I/F)部なども接続される。
ASIC16は、画像処理用のハードウェア要素を有する画像処理用途向けのIC(Integrated Circuit)であり、AGP15、PCIバス、HDD18およびMEM−C17をそれぞれ接続するブリッジの役割を有する。このASIC16は、PCIターゲットおよびAGPマスタと、ASIC16の中核をなすアービタ(ARB)と、MEM−C17を制御するメモリコントローラと、ハードウェアロジックなどにより画像データの回転などをおこなう複数のDMAC(Direct Memory Access Controller)と、エンジン部60との間でPCIバスを介したデータ転送をおこなうPCIユニットとからなる。このASIC16には、PCIバスを介してFCU(Fax Control Unit)30、USB(Universal Serial Bus)40、IEEE1394(the Institute of Electrical and Electronics Engineers 1394)インタフェース50が接続される。操作表示部20はASIC16に直接接続されている。
MEM−C17は、コピー用画像バッファ、符号バッファとして用いるローカルメモリであり、HDD(Hard Disk Drive)18は、画像データの蓄積、プログラムの蓄積、フォントデータの蓄積、フォームの蓄積を行うためのストレージである。
AGP15は、グラフィック処理を高速化するために提案されたグラフィックスアクセラレーターカード用のバスインタフェースであり、MEM−P12に高スループットで直接アクセスすることにより、グラフィックスアクセラレーターカードを高速にするものである。
なお、本実施の形態の複合機1000、複合機2000、複合機8000で実行されるプログラムは、ROM等に予め組み込まれて提供される。本実施の形態の複合機1000、複合機2000、複合機8000で実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。
さらに、本実施の形態の複合機1000、複合機2000、複合機8000で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、本実施形態の複合機1000、複合機2000、複合機8000で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。
本実施の形態の複合機1000、複合機2000、複合機8000で実行されるプログラムは、上述した各部(リクエスト受付部、サブリクエスト生成部、サブリクエスト判定部、ハード検知部、アプリ検知部等)を含むモジュール構成となっており、実際のハードウェアとしてはCPU(プロセッサ)が上記ROMからプログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、リクエスト受付部、サブリクエスト生成部、サブリクエスト判定部、ハード検知部、アプリ検知部等が主記憶装置上に生成されるようになっている。
なお、上述した実施の形態では、複合機を一例として説明したが、本発明は複合機に限る必要はなく、コピー機、ファクシミリ、プリンタを含む様々な装置、情報処理装置に適用することができる。