(57)【特許請求の範囲】
【請求項１】
画像の印刷処理と、画像の読取処理と、の少なくとも一方を含む画像処理を実行する画像処理実行部と、
前記画像処理を含む複数個の特定の処理を実行する複数個のアプリケーションであって、前記複数個の特定の処理のうちの対応する処理について、ユーザインターフェース画面を提供することによってユーザからの指示をそれぞれ取得する複数個のアプリケーション表示制御部と、前記複数個の前記特定の処理のうちの対応する処理をそれぞれ実行する複数個のアプリケーション実行制御部と、を含む、前記複数個のアプリケーションと、
前記複数個のアプリケーション表示制御部と前記複数個のアプリケーション実行制御部との間に介在するアプリケーション管理部と、
を備え、
前記複数個のアプリケーション表示制御部のそれぞれは、対応する前記特定の処理についての指示を取得した場合に、対応する前記特定の処理を示す処理識別情報と、取得した指示を入力した特定のユーザを示すユーザ識別情報と、を前記アプリケーション管理部に供給し、
前記アプリケーション管理部は、
前記処理識別情報と前記ユーザ識別情報とを取得した場合に、前記処理識別情報と前記ユーザ識別情報とを用いて、複数個の前記特定の処理のそれぞれについて実行を許容するか否かを示す許容情報をユーザごとに記録した許容テーブルを参照することによって、前記ユーザ識別情報によって示される前記特定のユーザに対して、前記処理識別情報によって示される前記特定の処理の実行が許容されているか否かを判断し、
前記ユーザ識別情報によって示される前記特定のユーザに対して、前記処理識別情報によって示される前記特定の処理の実行が許容されている場合に、前記処理識別情報によって示される前記特定の処理に対応する前記アプリケーション実行制御部に対して、前記処理識別情報によって示される前記特定の処理の実行指示を供給し、
前記ユーザ識別情報によって示される前記特定のユーザに対して、前記処理識別情報によって示される前記特定の処理の実行が許容されていない場合に、前記処理識別情報によって示される前記特定の処理に対応する前記アプリケーション実行制御部に対して、前記処理識別情報によって示される前記特定の処理の実行指示を供給せず、
前記複数個のアプリケーション実行制御部のそれぞれは、対応する前記特定の処理の実行指示を前記アプリケーション管理部から取得した場合に、対応する前記特定の処理を実行する、画像処理装置。
【請求項２】
請求項１に記載の画像処理装置であって、さらに、
前記許容テーブルを含むデータベース内のデータに対するアクセスを管理するアクセス管理部を備え、
前記アプリケーション管理部は、前記処理識別情報と前記ユーザ識別情報とを取得した場合に、前記ユーザ識別情報を含む第１種のクエリを、前記アクセス管理部に供給し、
前記アクセス管理部は、前記第１種のクエリを取得した場合に、前記ユーザ識別情報によって示される前記特定のユーザの前記許容情報を前記許容テーブルから取得して、前記アプリケーション管理部に供給し、
前記アプリケーション管理部は、前記アクセス管理部から取得された前記許容情報を用いて、前記ユーザ識別情報によって示される前記特定のユーザに対して、前記処理識別情報によって示される前記特定の処理の実行が許容されているか否かを判断する、画像処理装置。
【請求項３】
請求項２に記載の画像処理装置であって、さらに、
前記アプリケーション管理部の指示に基づいて、構造化問い合わせ言語（ＳＱＬ）に従って記述された前記第１種のクエリを生成して、前記アクセス管理部に供給する第１のクエリ生成部を備え、
前記アプリケーション管理部は、前記第１のクエリ生成部を介して、前記第１種のクエリを、前記アクセス管理部に供給する、画像処理装置。
【請求項４】
請求項２または３に記載の画像処理装置であって、
前記データベースは、前記特定の処理の実行の際に利用される特定のデータを含み、
前記複数個のアプリケーション実行制御部のうちの特定のアプリケーションは、対応する前記特定の処理の実行指示を前記アプリケーション管理部から取得した場合に、前記特定のデータを要求する第２種のクエリを、前記アクセス管理部に供給し、
前記アクセス管理部は、
前記第２種のクエリを取得した場合に、前記特定のデータへのアクセスを許容するか否かを判断し、
前記特定のデータへのアクセスを許容する場合に、前記特定のデータを前記特定のアプリケーションに供給し、
前記特定のアプリケーションは、前記アクセス管理部から取得した前記特定のデータを用いて、対応する前記特定の処理を実行する、画像処理装置。
【請求項５】
請求項４に記載の画像処理装置であって、
前記アプリケーション管理部は、対応する前記特定の処理の実行指示とともに、前記実行指示に対応する前記ユーザ識別情報であって、前記アプリケーション表示制御部から取得された前記ユーザ識別情報を、前記特定のアプリケーションに供給し、
前記特定のアプリケーションは、前記ユーザ識別情報を含む前記第２種のクエリを、前記アクセス管理部に供給し、
前記アクセス管理部は、
前記第２種のクエリを取得した場合に、前記ユーザ識別情報によって示されるユーザに対して前記特定のデータへのアクセスを許容するか否かを判断し、
前記特定のデータへのアクセスを許容する場合に、前記特定のデータを前記特定のアプリケーションに供給する、画像処理装置。
【請求項６】
請求項４または５に記載の画像処理装置であって、さらに、
前記特定のアプリケーションの指示に基づいて、構造化問い合わせ言語（ＳＱＬ）に従って記述された前記第２種のクエリを生成して、前記アクセス管理部に供給する第２のクエリ生成部を備え、
前記特定のアプリケーションは、前記第２のクエリ生成部を利用して、前記第２種のクエリを、前記アクセス管理部に供給する、画像処理装置。
【請求項７】
請求項２から６のいずれかに記載の画像処理装置であって、
前記データベースは、前記許容テーブルを含む複数個のデータテーブルを含み、
前記複数個のデータテーブルは、データテーブルごとにユーザのアクセス権限が定義される第１種のデータテーブルと、データテーブルに含まれるデータごとに前記アクセス権限が定義される第２種のデータテーブルと、を含む、画像処理装置。
【請求項８】
請求項１から７のいずれかに記載の画像処理装置であって、さらに、
ユーザによって操作される操作部と、
前記操作部を介してユーザから取得される認証情報に基づいて、ユーザの認証を実行する認証処理部と、を備え、
前記複数個のアプリケーション表示制御部のそれぞれは、前記操作部を介して、対応する前記特定の処理についての指示を取得した場合に、前記認証処理部によって認証済の前記特定のユーザを示すユーザ識別情報を前記アプリケーション管理部に供給する、画像処理装置。
【請求項９】
請求項１から７のいずれかに記載の画像処理装置であって、さらに、
ユーザの端末装置から送信される前記特定の処理についての指示であって、前記端末装置のユーザを示す情報を含む、前記特定の処理についての指示を受信する受信部を備え、
前記複数個のアプリケーション表示制御部のそれぞれは、前記端末装置から送信される前記特定の処理についての指示を、前記受信部を介して取得した場合に、前記端末装置のユーザを示す情報に基づく前記ユーザ識別情報を前記アプリケーション管理部に供給する、画像処理装置。
【請求項１０】
画像の印刷処理と、画像の読取処理と、の少なくとも一方を含む画像処理を実行する画像処理実行部を備える画像処理装置のためのコンピュータプログラムであって、
前記画像処理を含む複数個の特定の処理を実行する複数個のアプリケーションであって、前記複数個の特定の処理のうちの対応する処理について、ユーザインターフェース画面を提供することによってユーザからの指示をそれぞれ取得する複数個のアプリケーション表示制御機能と、前記複数個の前記特定の処理のうちの対応する処理をそれぞれ実行する複数個のアプリケーション実行制御機能と、を含む、前記複数個のアプリケーションと、
前記複数個のアプリケーション表示制御機能と前記複数個のアプリケーション実行制御機能との間に介在するアプリケーション管理機能と、
をコンピュータに実現させ、
前記複数個のアプリケーション表示制御機能のそれぞれは、対応する前記特定の処理についての指示を取得した場合に、対応する前記特定の処理を示す処理識別情報と、取得した指示を入力した特定のユーザを示すユーザ識別情報と、を前記アプリケーション管理機能に供給し、
前記アプリケーション管理機能は、
前記処理識別情報と前記ユーザ識別情報とを取得した場合に、前記処理識別情報と前記ユーザ識別情報とを用いて、複数個の前記特定の処理のそれぞれについて実行を許容するか否かを示す許容情報をユーザごとに記録した許容テーブルを参照することによって、前記ユーザ識別情報によって示される前記特定のユーザに対して、前記処理識別情報によって示される前記特定の処理の実行が許容されているか否かを判断し、
前記ユーザ識別情報によって示される前記特定のユーザに対して、前記処理識別情報によって示される前記特定の処理の実行が許容されている場合に、前記処理識別情報によって示される前記特定の処理に対応する前記アプリケーション実行制御機能に対して、前記処理識別情報によって示される前記特定の処理の実行指示を供給し、
前記ユーザ識別情報によって示される前記特定のユーザに対して、前記処理識別情報によって示される前記特定の処理の実行が許容されていない場合に、前記処理識別情報によって示される前記特定の処理に対応する前記アプリケーション実行制御機能に対して、前記処理識別情報によって示される前記特定の処理の実行指示を供給せず、
前記複数個のアプリケーション実行制御機能のそれぞれは、対応する前記特定の処理の実行指示を前記アプリケーション管理機能から取得した場合に、対応する前記特定の処理を実行する、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書は、画像処理装置の画像処理の利用をユーザごとに制限する技術に関する。
【背景技術】
【０００２】
特許文献１には、従来から、システム側ソフトウエアと、システム側ソフトウエアのサービスの提供を受ける複数個のアプリケーションと、を有する複合機において、ユーザコードとパスワードとを用いて認証を行う認証モジュールを、システム側ソフトウエアとは別に備えることが開示されている。これによって、システム側ソフトウエアを変更することなく、認証条件や認証方法の変更などのカスタマイズを容易に行うことができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００４−２４９７２２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記技術では、ユーザ認証後に、アプリケーションによって実行される処理を実行するか否かをユーザごとに管理する仕組みについて、十分な工夫がされているとは言えなかった。このために、これらの処理を実行するか否かのユーザごとの管理が複雑化する可能性があった。例えば、複数個のアプリケーションのそれぞれが、当該管理を行う必要が生じて、管理のレベルのばらつきが生じる可能性があった。
【０００５】
本明細書は、画像処理装置の複数個の特定の処理を実行するか否かをユーザごとに容易に管理できる技術を開示する。
【課題を解決するための手段】
【０００６】
本明細書に開示された技術は、以下の適用例として実現することが可能である。
【０００７】
［適用例１］画像の印刷処理と、画像の読取処理と、の少なくとも一方を含む画像処理を実行する画像処理実行部と、前記画像処理を含む複数個の特定の処理を実行する複数個のアプリケーションであって、前記複数個の特定の処理のうちの対応する処理について、ユーザインターフェース画面を提供することによってユーザからの指示をそれぞれ取得する複数個のアプリケーション表示制御部と、前記複数個の前記特定の処理のうちの対応する処理をそれぞれ実行する複数個のアプリケーション実行制御部と、を含む、前記複数個のアプリケーションと、前記複数個のアプリケーション表示制御部と前記複数個のアプリケーション実行制御部との間に介在するアプリケーション管理部と、を備え、前記複数個のアプリケーション表示制御部のそれぞれは、対応する前記特定の処理についての指示を取得した場合に、対応する前記特定の処理を示す処理識別情報と、取得した指示を入力した特定のユーザを示すユーザ識別情報と、を前記アプリケーション管理部に供給し、前記アプリケーション管理部は、前記処理識別情報と前記ユーザ識別情報とを取得した場合に、前記処理識別情報と前記ユーザ識別情報とを用いて、複数個の前記特定の処理のそれぞれについて実行を許容するか否かを示す許容情報をユーザごとに記録した許容テーブルを参照することによって、前記ユーザ識別情報によって示される前記特定のユーザに対して、前記処理識別情報によって示される前記特定の処理の実行が許容されているか否かを判断し、前記ユーザ識別情報によって示される前記特定のユーザに対して、前記処理識別情報によって示される前記特定の処理の実行が許容されている場合に、前記処理識別情報によって示される前記特定の処理に対応する前記アプリケーション実行制御部に対して、前記処理識別情報によって示される前記特定の処理の実行指示を供給し、前記ユーザ識別情報によって示される前記特定のユーザに対して、前記処理識別情報によって示される前記特定の処理の実行が許容されていない場合に、前記処理識別情報によって示される前記特定の処理に対応する前記アプリケーション実行制御部に対して、前記処理識別情報によって示される前記特定の処理の実行指示を供給せず、前記複数個のアプリケーション実行制御部のそれぞれは、対応する前記特定の処理の実行指示を前記アプリケーション管理部から取得した場合に、対応する前記特定の処理を実行する、画像処理装置。
【０００８】
上記構成によれば、アプリケーション管理部は、アプリケーション表示制御部から処理識別情報とユーザ識別情報とを取得した場合に、特定のユーザに対して特定の処理の実行が許容されているか否かを判断し、許容されていると場合に、特定の処理の実行指示をアプリケーション実行制御部に対して供給する。そして、複数個のアプリケーション実行制御部のそれぞれは、アプリケーション管理部から取得した場合に、特定の処理を実行する。この結果、特定の処理が実行されるか否かは、アプリケーション管理部が、実行指示をアプリケーション実行制御部に供給するか否かに依存する。したがって、許容テーブルに基づいて特定の処理を実行するか否かの管理を、アプリケーション管理部が一元的に行うことができる。したがって、例えば、複数個のアプリケーション表示制御部のそれぞれが、当該管理を行う必要がないので、特定の処理を実行するか否かをユーザごとに容易に管理できる。例えば、管理のレベルのばらつきの低減や、アプリケーション表示制御部などの開発工数の低減を図ることができる。
【０００９】
なお、本明細書に開示された技術は、種々の形態で実現可能であり、例えば、印刷装置、印刷装置の制御装置、画像処理方法、これらの装置および方法の機能を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体、等の形態で実現することができる。
【図面の簡単な説明】
【００１０】
【図１】本実施例の画像処理装置としての複合機１００の構成を示すブロック図。
【図２】システムテーブルの一例を示す図。
【図３】一般テーブルの一例を示す図。
【図４】複数個のソフトウェアコンポーネントの構成を示すブロック図。
【図５】アクセス管理部ＡＣＭに供給されるクエリの一例を示す図。
【図６】テーブル生成処理のフローチャート。
【図７】レコード追加処理のフローチャート。
【図８】データアクセス処理のフローチャート。
【図９】権限チェック処理のフローチャート。
【図１０】ＵＩ画面の一例を示す図。
【図１１】ＵＩ部が特定の処理の実行指示とユーザＩＤとを取得した場合に実行される一連の処理のシーケンス図。
【図１２】ファクス処理のシーケンス図。
【発明を実施するための形態】
【００１１】
Ａ．実施例：
Ａ−１：複合機の構成
次に、本明細書の技術の実施の形態を実施例に基づき説明する。図１は、本実施例の画像処理装置としての複合機１００の構成を示すブロック図である。
【００１２】
複合機１００は、複合機１００のコントローラとしてのＣＰＵ１１０と、ＲＡＭなどの揮発性記憶装置１２０と、ハードディスクドライブやＥＥＰＲＯＭなどの不揮発性記憶装置１３０と、所定の方式（例えば、インクジェット方式、レーザー方式）で画像を印刷する装置であるプリンタ部１４０と、イメージセンサを用いて、光学的に原稿を読み取ることによってスキャンデータを生成する装置であるスキャナ部１５０と、タッチパネルやボタンなどの操作部１６０と、タッチパネルと重畳された液晶パネルなどの表示部１７０と、ユーザの端末装置５００などの外部装置とネットワークＬＮＴを介して通信を行うためのネットワークインターフェース（ＩＦ）２８０と、ファクシミリの送受信に用いられる電話回線ＩＦ２９０と、を備えている。
【００１３】
不揮発性記憶装置１３０は、コンピュータプログラムＰＧとデータベースＤＢとを格納している。コンピュータプログラムＰＧは、例えば、複合機１００の製造時に、予め不揮発性記憶装置１３０に記憶されている。これに代えて、コンピュータプログラムＰＧは、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭなどに格納された形態、または、ネットワークＬＮＴを介して複合機１００に接続されたサーバ（図示省略）からダウンロードされる形態で提供される。揮発性記憶装置１２０は、例えば、ＣＰＵ１１０が処理を行う際に生成される種々の中間データを一時的に格納するバッファ領域として用いられる。
【００１４】
データベースＤＢは、複合機１００の制御に利用される各種のデータをそれぞれ含む複数個のデータテーブルを格納している。データベースＤＢは、ＳＱＬ（Structured Query Language）で記述されるクエリを用いてアクセスされる。データベースＤＢに含まれる各種のデータは、例えば、後述するアプリケーションが、特定の処理（ＰＣ印刷処理、ＦＡＸ処理、スキャン処理など）を実行するために利用されるデータ、ユーザによって設定された設定情報、初回起動時や出荷時に予め格納されるデフォルトのデータなどを含む。
【００１５】
データベースＤＢに格納される複数個のデータテーブルは、システムテーブルと、一般テーブルと、を含む。図２は、システムテーブルの一例を示す図である。図３は、一般テーブルの一例を示す図である。各データテーブルは、１個以上の項目をそれぞれ含む１個以上のレコードを含んでいる。図２、図３に示す各テーブルの１行分のデータ、例えば、図２（Ａ）の破線Ｒａ１で示すデータは、１個のレコードを示している。
【００１６】
システムテーブルは、具体的には、図２（Ａ）のユーザテーブルＵＴと、図２（Ｂ）のグループテーブルＧＴと、図２（Ｃ）のアクセス権限テーブルＡＴと、を含む。
【００１７】
ユーザテーブルＵＴは、ユーザ情報をユーザごとに格納するテーブルである。ユーザテーブルＵＴの各レコードは、項目として、ユーザ名と、パスワードと、ユーザを識別するユーザＩＤと、グループＩＤと、を含んでいる。ユーザ名とパスワードとは、ユーザの認証情報である。グループＩＤは、１以上のユーザが属するグループを識別するＩＤである。ユーザテーブルＵＴは、デフォルトユーザＤＵのレコードと、一般ユーザＡＵのレコードと、を含んでいる。デフォルトユーザＤＵは、管理ユーザ（ユーザ名「admin」）と、パブリックユーザ（ユーザ名「public」）と、システムユーザ（ユーザ名「system1」など）と、を含む。
【００１８】
パブリックユーザは、ユーザテーブルＵＴに登録されていないユーザである。例えば、複合機１００にログインしているユーザがいない状態で、操作部１６０を介して入力されたスキャン指示や印刷指示などの指示は、パブリックユーザによって入力された指示として扱われる。システムユーザは、ユーザの指示とは無関係に、ＯＳなどのシステムコンポーネントによって用いられるユーザＩＤに対応するユーザ名である。
【００１９】
グループテーブルＧＴは、グループＩＤによって識別されるグループを定義するテーブルである。グループテーブルＧＴの各レコードは、グループ名と、グループＩＤと、を含んでいる。ユーザテーブルＵＴと、グループテーブルＧＴと、を参照すれば、例えば、ユーザ「Alice」と、ユーザ「Bob」とは、同じグループ「TEAM1」に属していることが解る。
【００２０】
アクセス権限テーブルＡＴは、後述する一般テーブルのそれぞれについて、アクセス権限を定義する権限情報を含むレコードが記録されている。例えば、１行目のレコードＲｃ１は、図３（Ａ）の機能許容テーブルＦＴの権限情報を含むレコードであり、２行目のレコードＲｃ２は、図３（Ｂ）の連絡先テーブルＣＩＴの権限情報を含むレコードである。
【００２１】
一般テーブルについて定義されるアクセス権限には、テーブル権限と、レコード権限と、の２種類がある。テーブル権限は、データテーブルごとに定義されるアクセス権限である。テーブル権限が定義されるデータテーブルに含まれる全てのレコードへのアクセス権限は、該データテーブルに対応付けられる１組の権限情報によって定義される。レコード権限は、データテーブルに含まれるレコードごとに定義されるアクセス権限である。レコード権限が定義されるデータテーブルに含まれる１個以上のレコードは、１個以上のレコードのそれぞれに１組ずつ対応付けられる権限情報に従って決定される。
【００２２】
アクセス権限テーブルＡＴの各レコードは、対応するデータテーブルを示すテーブル名と、対応するデータテーブルについて定義されるアクセス権限の種類（レコード権限またはテーブル権限）を示す権限タイプ情報と、を含んでいる。
【００２３】
権限タイプ情報として、テーブル権限を示す情報を含むレコード、例えば、図２（Ｃ）の１行目のレコードＲｃ１は、さらに、オーナーＩＤと、オーナー権限情報と、グループ権限情報と、その他の権限情報と、を含む。オーナーＩＤは、対応するデータテーブルのオーナーであるユーザを示すユーザＩＤである。オーナー権限情報は、オーナーのアクセス権限を定義する情報である。グループ権限情報は、オーナーが所属するグループに所属するユーザ（オーナーを除く）のアクセス権限を定義する情報である。その他の権限情報は、その他のユーザ、すなわち、オーナーが所属するグループに所属するユーザ（オーナーを含む）を除いたユーザのアクセス権限を定義する情報である。
【００２４】
オーナー権限情報と、グループ権限情報と、その他の権限情報は、複数種類のアクセスの可否、具体的には、参照（SELECT）、更新（UPDATE）、追加(INSERT)、削除(DELETE)のそれぞれが許容されるか否かを示す情報である。図２に示すように、これらの情報の欄に記載された「Ｓ」「Ｕ」「Ｉ」「Ｄ」は、それぞれ、参照（SELECT）、更新（UPDATE）、追加(INSERT)、削除(DELETE)が、許容されることを示し、「不可」は、これらの４種類のアクセスのいずれも許容されないことを示す。
【００２５】
権限タイプ情報として、レコード権限を示す情報を含むレコード、例えば、図２（Ｃ）の２行目のレコードＲｃ２は、権限情報として、権限タイプ情報のみを含み、オーナーＩＤと、オーナー権限情報と、グループ権限情報と、その他の権限情報と、を含まない。これらの情報は、後述するように、対応するデータテーブル内に、レコードごとに記録されるからである。
【００２６】
これらのシステムテーブルＵＴ、ＧＴ、ＡＴに対しては、管理ユーザ（図１の例では、ユーザ名「admin」のユーザ）の指示に基づく、追加、更新、削除、参照のいずれのアクセスも許容されている。システムテーブルＵＴ、ＧＴ、ＡＴに対しては、管理ユーザ以外のユーザ（図１の例では、例えば、ユーザ名「alice」のユーザ）の指示に基づく、追加、更新、削除、参照のいずれのアクセスも許容されていない。これらのシステムテーブルは、後述するユーザ管理部ＵＭやアクセス管理部ＡＣＭなどの限られたコンポーネントによる参照が許容されている。例えば、ユーザ管理部ＵＭは、例えば、ログインの認証のために、ユーザテーブルＵＴを参照することができる。
【００２７】
図３（Ａ）の機能許容テーブルＦＴは、複数のユーザと複合機１００が実行可能な複数個の特定の処理とについて、実行が許容されているか否かを示す機能許容情報が、ユーザごと、かつ、特定の処理ごとに、記録されるテーブルである。
【００２８】
機能許容テーブルＦＴの各レコードは、ユーザ名と、コピー処理の機能許容情報と、スキャン処理の機能許容情報と、ＰＣ印刷処理の機能許容情報と、ＦＡＸ処理の機能許容情報と、を含んでいる。これらの情報の欄に記載された「可」は、対応する処理の実行が許容されること示し、「不可」は、対応する処理の実行が許容されないこと示す。例えば、図３（Ａ）の機能許容テーブルＦＴの３行目のレコードＲｄ３には、ユーザ「Alice」について、コピー処理と、スキャン処理と、ＰＣ印刷処理と、の実行が許容されること、および、ＦＡＸ処理の実行が許容されないこと、が記録されている。
【００２９】
なお、図３（Ａ）の機能許容テーブルＦＴは、図２（Ｂ）のアクセス権限テーブルＡＴに示すように、テーブル権限が定義されるテーブル（以下、テーブル権限テーブルとも呼ぶ）であるので、機能許容テーブルＦＴの各レコードは、後述する連絡先テーブルＣＩＴとは異なり、権限情報を含んでいない。
【００３０】
図３（Ｂ）の連絡先テーブルＣＩＴの各レコードは、連絡先の名称と、メールアドレスと、住所と、ＦＡＸ番号と、を含んでいる。連絡先テーブルＣＩＴは、図２（Ｂ）のアクセス権限テーブルＡＴに示すように、レコード権限が定義されるテーブル（レコード権限テーブルとも呼ぶ）であるので、連絡先テーブルＣＩＴの各レコードは、さらに、権限情報を含む。具体的には、連絡先テーブルＣＩＴの各レコードは、オーナーＩＤと、オーナー権限情報と、グループ権限情報と、その他の権限情報と、を含む。オーナーＩＤは、対応するレコードのオーナーであるユーザを示すユーザＩＤである。オーナー権限情報と、グループ権限情報と、その他の権限情報は、上述したとおりである。ただし、オーナー権限情報と、グループ権限情報と、その他の権限情報は、参照（SELECT）、更新（UPDATE）、削除(DELETE)のそれぞれが許容されるか否かを示す情報を含み、追加(INSERT)について情報を含まない。これは、データテーブルと異なり、１個のレコードに対しては、追加の操作は発生しないからである。
【００３１】
ＣＰＵ１１０は、コンピュータプログラムＰＧを実行することにより、複数個のソフトウェアコンポーネント（以下、単にコンポーネントとも呼ぶ）の機能を実現する。図４は、ＣＰＵ１１０が実現する複数個のソフトウェアコンポーネントの構成を示すブロック図である。コンポーネントは、カプセル化されたソフトウェアの部品であり、例えば、ＣＰＵ１１０が実現すべき複数個の機能のうちの一部の機能を実現する。
【００３２】
これらの複数個のコンポーネントは、ユーザの指示に基づいて複数個の特定の処理を実行するための複数個のアプリケーションと、ハードウェアを制御するための複数個の制御部ＣＴ１〜ＣＴ３と、を含んでいる。複数個のアプリケーションは、複数個の特定の処理のうちの対応する処理についてユーザからの指示をユーザインタフェースを介して取得する複数個のユーザインタフェース部（以下、ＵＩ部という）Ａ１１〜Ａ１４と、制御部ＣＴ１〜ＣＴ３を用いて、複数個の特定の処理のうちの対応する処理を実行する制御コア部（以下、コア部という）Ａ２１〜Ａ２４と、を含んでいる。
【００３３】
複数個の特定の処理は、複数個の画像処理、具体的には、ユーザが指定する画像データによって示される画像をプリンタ部１４０を用いて印刷するＰＣ印刷処理と、スキャナ部１５０を用いて読み取った原稿を示す画像を、プリンタ部１４０を用いて印刷するコピー処理と、スキャナ部１５０を用いて原稿を読み取るスキャン処理と、電話回線ＩＦ２９０を介して画像データの送受信を行うＦＡＸ処理と、を含んでいる。
【００３４】
これらの処理に対応して複数個のＵＩ部Ａ１１〜Ａ１４は、ＰＣ印刷処理のためのＰＣ印刷ＵＩ部Ａ１１と、コピー処理のためのコピーＵＩ部Ａ１２と、スキャン処理のためのスキャンＵＩ部Ａ１３と、ＦＡＸ処理のためのＦＡＸＵＩ部Ａ１４と、を含んでいる。
【００３５】
また、複数個のコア部Ａ２１〜Ａ２４は、ＰＣ印刷処理のためのＰＣ印刷コア部Ａ２１と、コピー処理のためのコピーコア部Ａ２２と、スキャン処理のためのスキャンコア部Ａ２３と、ＦＡＸ処理のためのＦＡＸコア部Ａ２４と、を含んでいる。
【００３６】
なお、本実施例では、１個の特定の処理について、１個のＵＩ部と１個のコア部と、が一対一で対応しているが、これに限られない。例えば、１個の特定の処理についてのアプリケーションは、操作部１６０を介して指示を取得するＵＩ部と、ユーザの端末装置５００のブラウザを介して指示を取得するＵＩ部と、これらの２個のＵＩ部が取得した指示に基づいて特定の処理を実行する１個のコア部と、を含んでもよい。
【００３７】
複数個の制御部ＣＴ１〜ＣＴ３は、プリンタ部１４０を制御する印刷制御部ＣＴ１と、スキャナ部１５０を制御する読取制御部ＣＴ２と、電話回線ＩＦ２９０を制御するＦＡＸ制御部ＣＴ３と、を備えている。印刷制御部ＣＴ１は、例えば、コピーコア部Ａ２２やＰＣ印刷コア部Ａ２１から、印刷データを受け取ってプリンタ部１４０を制御して画像を印刷させる。読取制御部ＣＴ２は、例えば、コピーコア部Ａ２２や、スキャンコア部Ａ２３の指示に従って、スキャナ部１５０を制御してスキャンデータを生成させる。ＦＡＸ制御部ＣＴ３は、ＦＡＸコア部Ａ２４の指示に従って、電話回線ＩＦ２９０を制御して画像データの送受信を実行させる。
【００３８】
複数個のコンポーネントは、さらに、アプリケーション管理部ＡＰＭと、ユーザ管理部ＵＭと、外部データ解析部ＪＢＲと、連絡先管理部ＣＩＭと、アクセス管理部ＡＣＭと、を含んでいる。
【００３９】
アプリケーション管理部ＡＰＭは、複数個のＵＩ部Ａ１１〜Ａ１４と、複数個のコア部Ａ２１〜Ａ２４と、の間のデータの遣り取りを仲介する。
【００４０】
ユーザ管理部ＵＭは、認証処理部ＡＴＰと、ユーザ情報管理部ＵＩＭと、を含んでいる。認証処理部ＡＴＰは、表示部１７０にログイン画面（図示省略）を表示して、操作部１６０を介して入力される認証情報（具体的には、ユーザ名とパスワード）を受け取る。認証処理部ＡＴＰは、入力される認証情報に基づいて、ユーザの認証を行う、すなわち、認証情報を入力したユーザのログインを認めるか否かを判断する。認証処理部ＡＴＰは、現在、ログイン中のユーザ（カレントユーザとも呼ぶ）を管理している。
【００４１】
ユーザ情報管理部ＵＩＭは、データベースＤＢに格納されたユーザに関連する情報を管理する。例えば、ユーザ情報管理部ＵＩＭは、アクセス管理部ＡＣＭに対して後述するクエリを供給して、ユーザごとの機能許容情報を記録する機能許容テーブルＦＴ（図３（Ａ））の生成や、機能許容テーブルＦＴへのアクセスを実行する。
【００４２】
外部データ解析部ＪＢＲは、ユーザの端末装置５００等から、ネットワークＬＮＴを介して、印刷ジョブを受信する。
【００４３】
連絡先管理部ＣＩＭは、データベースＤＢに格納された連絡先テーブルＣＩＴ（図３（Ｂ））を管理する。例えば、連絡先管理部ＣＩＭは、アクセス管理部ＡＣＭに対して後述するクエリを供給して、連絡先テーブルＣＩＴの生成や、連絡先テーブルＣＩＴへのアクセスを実行する。
【００４４】
アクセス管理部ＡＣＭは、他のコンポーネントによるデータベースＤＢへのアクセスを仲介する。例えば、アクセス管理部ＡＣＭは、後述するように、他のコンポーネントから供給されるクエリに基づいて、データベースＤＢ上でのデータテーブルの生成や、データベースＤＢに格納されたデータテーブルへのアクセスを仲介する。
【００４５】
Ａ−２．  複合機１００の動作
Ａ−２−１．データベースＤＢへのアクセス
データベースＤＢのアクセスについて説明する。データベースＤＢへのアクセスは、アクセス管理部ＡＣＭが、上述したように、他のコンポーネントから供給されるクエリを取得したときに、アクセス管理部ＡＣＭによって実行される。換言すれば、アクセス管理部ＡＣＭ以外のコンポーネントは、直接に、データベースＤＢへアクセスすることはできず、データベースＤＢへのアクセスは、アクセス管理部ＡＣＭによって一元的に管理されている。したがって、コア部Ａ２１〜Ａ２４などのコンポーネントのそれぞれは、データベースＤＢに格納されているデータにアクセスすべき際に、後述するクエリをアクセス管理部ＡＣＭに供給することによって、アクセス管理部ＡＣＭを介して、間接的に、データベースＤＢにアクセスする。
【００４６】
図５は、アクセス管理部ＡＣＭに供給されるクエリの一例を示す図である。これらのクエリ１０Ａ〜１０Ｄは、ユーザＩＤを付加できるようにカスタマイズされた構造化問い合わせ言語（ＳＱＬ（Structured Query Language））に従って記述される。換言すれば、これらのクエリは、一般的なＳＱＬに従うＳＱＬ文と、ユーザＩＤと、を含んでいる。例えば、図５（Ａ）〜（Ｅ）の全てのクエリは、ユーザＩＤ１１を含んでいる。
【００４７】
先ず、データベースＤＢへのデータテーブルの生成を行うテーブル生成処理について説明する。テーブル生成処理は、特定のコンポーネント（例えば、連絡先管理部ＣＩＭや、ユーザ情報管理部ＵＩＭ）が、アクセス管理部ＡＣＭに図５（Ａ）、（Ｂ）のテーブル生成用のクエリを供給したときに、開始される。
【００４８】
図６は、テーブル生成処理のフローチャートである。Ｓ１０５では、アクセス管理部ＡＣＭは、特定のコンポーネントから供給されたテーブル生成用のクエリを取得する。テーブル生成用のクエリは、テーブル権限テーブル生成用のクエリ１０Ａ（図５（Ａ））と、レコード権限テーブル生成用のクエリ１０Ｂ（図５（Ｂ））と、の２種類がある。テーブル生成用のクエリは、生成するデータテーブルの名称（テーブル名）、生成するデータテーブルの各レコードが含むべき項目の名称（項目名）、および、当該項目のデータ型などの、一般的なＳＱＬに従うクエリが含む情報に加えて、ユーザＩＤ１１と、権限タイプ情報１２と、を含んでいる。ユーザＩＤ１１は、例えば、テーブルを生成する契機となった指示を入力したユーザを示し、例えば、現在、複合機１００にログイン中のカレントユーザのユーザＩＤが用いられる。権限タイプ情報１２は、生成するデータテーブルについてテーブル権限が定義されることを示す情報と、生成するデータテーブルについてレコード権限が定義されることを示す情報と、のいずれかである。換言すれば、権限タイプ情報１２は、生成するデータテーブルが、テーブル権限テーブルであるか、レコード権限テーブルであるか、を示す情報である。
【００４９】
テーブル権限テーブル生成用のクエリ１０Ａ（図５（Ａ））は、さらに、生成されるデータテーブルへのアクセス権限を定義する権限情報１３を含む。この権限情報１３は、図５（Ａ）に示すように、オーナＩＤと、オーナー権限情報と、グループ権限情報と、その他の権限情報と、を含む。レコード権限テーブル生成用のクエリ１０Ｂ（図５（Ｂ））は、権限情報１３を含まない。
【００５０】
Ｓ１１０では、アクセス管理部ＡＣＭは、取得したクエリから、当該クエリに付加されたユーザＩＤ１１を取得する。Ｓ１１５では、アクセス管理部ＡＣＭは、ユーザテーブルＵＴ（図２（Ａ））を参照して、当該ユーザＩＤ１１が、ユーザテーブルＵＴに存在するか否かを判断する。ユーザＩＤ１１が、ユーザテーブルＵＴに存在しない場合には（Ｓ１１５：ＮＯ）、Ｓ１２５にて、アクセス管理部ＡＣＭは、クエリの供給元のコンポーネントに対して、エラーを通知して、テーブル生成処理を終了する。
【００５１】
ユーザＩＤ１１が、ユーザテーブルＵＴに存在する場合には（Ｓ１１５：ＹＥＳ）、Ｓ１２０にて、アクセス管理部ＡＣＭは、クエリに従って、データベースＤＢ上にデータテーブルを生成する。
【００５２】
Ｓ１３０では、アクセス管理部ＡＣＭは、Ｓ１２０にて生成したデータテーブルについて、権限情報をアクセス権限テーブルＡＴに記録する。具体的には、アクセス管理部ＡＣＭは、生成用のクエリに従い、Ｓ１２０にて生成したデータテーブルのテーブル名と、権限タイプと、を含むレコードを、アクセス権限テーブルＡＴに追加する。Ｓ１２０にて生成したデータテーブルが、テーブル権限テーブルである場合には、当該レコードには、さらに、クエリ１０Ａ（図５（Ａ））に含まれる権限情報１３、すなわち、オーナーＩＤと、オーナー権限情報と、グループ権限情報と、その他の権限情報と、が含められる。Ｓ１２０にて生成したデータテーブルが、レコード権限テーブルである場合には、当該レコードには、オーナーＩＤと、オーナー権限情報と、グループ権限情報と、その他の権限情報とは含められない。
【００５３】
Ｓ１３５では、アクセス管理部ＡＣＭは、データテーブルの生成の結果を、クエリの供給元のコンポーネントに対して通知して、テーブル生成処理を終了する。通常は、データテーブルの生成が成功したことが、通知される。
【００５４】
次に、生成済のデータテーブルに対して、データを、レコードとして追加するレコード追加処理について説明する。レコード追加処理は、特定のコンポーネント（例えば、連絡先管理部ＣＩＭや、ユーザ情報管理部ＵＩＭ）が、アクセス管理部ＡＣＭに図５（Ｃ）、（Ｄ）のレコード追加用のクエリを供給したときに、開始される。
【００５５】
図７は、レコード追加処理のフローチャートである。Ｓ２０５では、アクセス管理部ＡＣＭは、特定のコンポーネントから供給されたレコード追加用のクエリを取得する。
【００５６】
レコード追加用のクエリは、テーブル権限テーブルに対してレコードを追加するためのクエリ１０Ｃ（図５（Ｃ））と、レコード権限テーブルに対してレコードを追加するためのクエリ１０Ｄ（図５（Ｄ））と、の２種類がある。レコード追加用のクエリは、レコードを追加する対象となる生成済のデータテーブルの名称（テーブル名）、追加するレコードに含むべきデータの値などの、一般的なＳＱＬに従うクエリが含む情報に加えて、ユーザＩＤ１１を含んでいる。ユーザＩＤ１１は、例えば、レコードを追加する契機となった指示を入力したユーザを示し、例えば、現在、複合機１００にログイン中のカレントユーザのユーザＩＤが用いられる。以下、レコードの追加などのアクセスの対象となる生成済のデータテーブルを、対象データテーブルとも呼ぶ。
【００５７】
レコード権限テーブルに対してレコードを追加するためのクエリ１０Ｄ（図５（Ｄ））は、さらに、追加されるレコードに対するアクセス権限を定義する権限情報１４を含む。この権限情報１４は、図５（Ｄ）に示すように、オーナＩＤと、オーナー権限情報と、グループ権限情報と、その他の権限情報と、を含む。テーブル権限テーブルに対してレコードを追加するためのクエリ１０Ｃ（図５（Ｃ））は、権限情報１４を含まない。
【００５８】
Ｓ２１０では、アクセス管理部ＡＣＭは、取得したクエリから、当該クエリに付加されたユーザＩＤ１１を取得する。Ｓ２１５では、アクセス管理部ＡＣＭは、ユーザテーブルＵＴ（図２（Ａ））を参照して、当該ユーザＩＤ１１が、ユーザテーブルＵＴに存在するか否かを判断する。ユーザＩＤ１１が、ユーザテーブルＵＴに存在しない場合には（Ｓ２１５：ＮＯ）、Ｓ２１８にて、アクセス管理部ＡＣＭは、クエリの供給元のコンポーネントに対して、エラーを通知して、レコード追加処理を終了する。
【００５９】
ユーザＩＤ１１が、ユーザテーブルＵＴに存在する場合には（Ｓ２１５：ＹＥＳ）、Ｓ２２０にて、アクセス管理部ＡＣＭは、データベースＤＢのアクセス権限テーブルＡＴ（図２（Ｃ））から、対象データテーブルの権限情報、すなわち、クエリに含まれるテーブル名を有する生成済のデータテーブルの権限情報を取得する。
【００６０】
対象データテーブルがテーブル権限テーブルである場合には、取得される権限情報は、テーブル権限を示す権限タイプ情報と、オーナＩＤと、オーナー権限情報と、グループ権限情報と、その他の権限情報と、を含む。対象データテーブルがレコード権限テーブルである場合には、取得される権限情報は、レコード権限を示す権限タイプ情報のみを含み、オーナＩＤと、オーナー権限情報と、グループ権限情報と、その他の権限情報と、を含まない。
【００６１】
Ｓ２２５では、アクセス管理部ＡＣＭは、取得された権限情報のうち、権限タイプ情報を参照して、対象データテーブルが、テーブル権限テーブルであるか否かを判断する。対象データテーブルが、テーブル権限テーブルである場合には（Ｓ２２５：ＹＥＳ）、Ｓ２３０にて、アクセス管理部ＡＣＭは、権限チェック処理を実行する。権限チェック処理は、クエリに付加されたユーザＩＤ１１を有するユーザ（対象ユーザとも呼ぶ）が、クエリに従うアクセスを行う権限を有するか否かを判断する処理である。例えば、レコード追加処理中の権限チェック処理では、対象ユーザが、対象データテーブルに、レコードと追加（INSERT）する権限を有するか否かが判断される。権限チェック処理については、後述する。
【００６２】
Ｓ２３５では、アクセス管理部ＡＣＭは、権限チェック処理の結果、権限ありと判断されたか否かを判断する。権限チェック処理の結果、権限ありと判断された場合には（Ｓ２３５：ＹＥＳ）、Ｓ２４０にて、アクセス管理部ＡＣＭは、クエリに含まれるデータ（値）を含むレコードを、対象データテーブルに追加する。Ｓ２４５では、アクセス管理部ＡＣＭは、レコードの追加の結果を、クエリの供給元のコンポーネントに対して通知して、レコード追加処理を終了する。通常は、レコードの追加が成功したことが、通知される。
【００６３】
権限チェック処理の結果、権限なしと判断された場合には（Ｓ２３５：ＮＯ）、Ｓ２１８にて、アクセス管理部ＡＣＭは、クエリの供給元のコンポーネントに対して、エラーを通知して、レコード追加処理を終了する。
【００６４】
対象データテーブルが、レコード権限テーブルである場合には（Ｓ２２５：ＮＯ）、Ｓ２５０にて、アクセス管理部ＡＣＭは、権限チェック処理を行わずに、クエリに含まれるデータ（値）を含むレコードを、対象データテーブルに追加する。Ｓ２５５では、アクセス管理部ＡＣＭは、クエリ（例えば、図５（Ｄ）のクエリ１０Ｄ）に含まれる権限情報１４を、追加したレコードに記録する。Ｓ２６０では、アクセス管理部ＡＣＭは、レコードの追加の結果を、クエリの供給元のコンポーネントに対して通知して、レコード追加処理を終了する。通常は、レコードの追加が成功したことが、通知される。
【００６５】
以上の説明から解るように、例えば、対象データテーブルが、テーブル権限テーブルである場合には、図３（Ａ）の機能許容テーブルＦＴのレコードＲｄ３のように、通常のデータを含み、権限情報を含まないレコードが追加される。対象データテーブルが、レコード権限テーブルである場合には、図３（Ｂ）の連絡先テーブルＣＩＴのレコードＲｅ２のように、通常のデータと、権限情報と、を含むレコードが追加される。
【００６６】
次に、生成済のデータテーブルに記録されたデータの参照（SELECT）、更新（UPDATE）、削除(DELETE)のいずれかを実行するデータアクセス処理について説明する。データアクセス処理は、特定のコンポーネント（例えば、連絡先管理部ＣＩＭや、ユーザ情報管理部ＵＩＭ）が、アクセス管理部ＡＣＭに、参照、更新、削除用のクエリを供給したときに、開始される。
【００６７】
図８は、データアクセス処理のフローチャートである。Ｓ３０５では、アクセス管理部ＡＣＭは、特定のコンポーネントから供給されたデータアクセス用（参照用、更新用、削除用のいずれか）のクエリを取得する。
【００６８】
一例として、図５（Ｅ）には、参照用のクエリ１０Ｅが示されている。このクエリ１０Ｅは、対象データテーブルの名称（テーブル名）、参照すべきデータの検索条件式などの一般的なＳＱＬに従うクエリが含む情報に加えて、ユーザＩＤ１１を含んでいる。ユーザＩＤ１１は、上述した他のクエリと同様に、例えば、アクセスを追加する契機となった指示を入力したユーザを示し、例えば、現在、複合機１００にログイン中のカレントユーザのユーザＩＤが用いられる。参照すべきデータの検索条件式によって、アクセス対象のデータが特定されることから解るように、参照すべきデータの検索条件式は、アクセス対象のデータを示すデータ識別情報の例である。
【００６９】
Ｓ３１０では、アクセス管理部ＡＣＭは、データベースＤＢのアクセス権限テーブルＡＴ（図２（Ｃ））から、対象データテーブルの権限情報を取得する。図７のＳ２２０と同様に、対象データテーブルがテーブル権限テーブルである場合には、取得される権限情報は、テーブル権限を示す権限タイプ情報と、オーナＩＤと、オーナー権限情報と、グループ権限情報と、その他の権限情報と、を含む。対象データテーブルがレコード権限テーブルである場合には、取得される権限情報は、レコード権限を示す権限タイプ情報のみを含み、オーナＩＤと、オーナー権限情報と、グループ権限情報と、その他の権限情報と、を含まない。
【００７０】
Ｓ３１５では、アクセス管理部ＡＣＭは、取得された権限情報のうち、権限タイプ情報を参照して、対象データテーブルが、テーブル権限テーブルであるか否かを判断する。対象データテーブルが、テーブル権限テーブルである場合には（Ｓ３１５：ＹＥＳ）、Ｓ３２５にて、アクセス管理部ＡＣＭは、図７の２３０と同様に、権限チェック処理を実行する。この場合には、権限チェック処理に用いられる権限情報は、Ｓ３１０にてアクセス権限テーブルＡＴから取得された権限情報である。
【００７１】
対象データテーブルが、レコード権限テーブルである場合には（Ｓ３１５：ＮＯ）、Ｓ３２０にて、クエリに従って、アクセス対象のレコード（以下、対象レコードとも呼ぶ）を検索し、当該対象レコードから権限情報を取得する。これは、レコード権限テーブルの権限情報は、権限タイプ情報を除いて、アクセス権限テーブルＡＴには記録されておらず、レコード権限テーブルにレコードごとに記録されているからである（図３（Ｂ）参照）。続くＳ３２５にて、アクセス管理部ＡＣＭは、権限チェック処理を実行する。この場合には、権限チェック処理に用いられる権限情報は、Ｓ３２０にて対象レコードから取得された権限情報である。
【００７２】
Ｓ３３０では、アクセス管理部ＡＣＭは、権限チェック処理の結果、権限ありと判断されたか否かを判断する。権限チェック処理の結果、権限ありと判断された場合には（Ｓ３３０：ＹＥＳ）、Ｓ３３５にて、アクセス管理部ＡＣＭは、クエリに従ってアクセスを実行する。例えば、処理対象のクエリが、参照用のクエリである場合には、対象レコードを対象データテーブルから取得する。また、処理対象のクエリが、更新用のクエリである場合には、対象レコードを、クエリに含まれるデータに更新する。処理対象のクエリが、削除用のクエリである場合には、対象レコードを対象データテーブルから削除する。
【００７３】
Ｓ３４０では、アクセス管理部ＡＣＭは、Ｓ３３５でのアクセスの結果を、クエリの供給元のコンポーネントに対して通知して、データアクセス処理を終了する。例えば、処理対象のクエリが、参照用のクエリである場合には、Ｓ３３５にて取得した対象レコード内の対象のデータが、クエリの供給元のコンポーネントに供給される。処理対象のクエリが、更新用や削除用のクエリである場合には、更新や削除が成功したことが、通知される。
【００７４】
権限チェック処理の結果、権限なしと判断された場合には（Ｓ３３０：ＮＯ）、Ｓ３４５にて、アクセス管理部ＡＣＭは、クエリの供給元のコンポーネントに対して、エラーを通知して、データアクセス処理を終了する。
【００７５】
次に、図７のＳ２３０および図８のＳ３２５の権限チェック処理について説明する。図９は、権限チェック処理のフローチャートである。
【００７６】
Ｓ４０５では、アクセス管理部ＡＣＭは、対象ユーザを示すユーザＩＤ１１が、権限のチェック対象のオーナーＩＤであるか否かを判断する。権限のチェック対象は、例えば、対象データテーブルが、テーブル権限テーブルである場合には、対象データテーブルであり、対象データテーブルが、レコード権限テーブルである場合には、対象レコードである。権限のチェック対象のオーナーＩＤは、権限チェック処理に用いられる権限情報として取得されたオーナーＩＤである。
【００７７】
対象ユーザを示すユーザＩＤ１１が、権限のチェック対象のオーナーＩＤである場合には（Ｓ４０５：ＹＥＳ）、Ｓ４１０にて、アクセス管理部ＡＣＭは、権限のチェック対象について定義されたオーナー権限情報を、参照権限情報として決定する。
【００７８】
対象ユーザを示すユーザＩＤ１１が、権限のチェック対象のオーナーＩＤでない場合には（Ｓ４０５：ＮＯ）、Ｓ４１５にて、アクセス管理部ＡＣＭは、対象ユーザを示すユーザＩＤ１１が、権限のチェック対象のオーナーＩＤが属するグループ（対象グループとも呼ぶ）に属するか否かを判断する。この判断は、図２のユーザテーブルＵＴ、グループテーブルＧＴを参照することによって、実行される。
【００７９】
対象ユーザを示すユーザＩＤ１１が、対象グループに属する場合には（Ｓ４１５：ＹＥＳ）、Ｓ４２０にて、アクセス管理部ＡＣＭは、権限のチェック対象について定義されたグループ権限情報を、参照権限情報として決定する。
【００８０】
対象ユーザを示すユーザＩＤ１１が、対象グループに属さない場合には（Ｓ４１５：ＮＯ：ＹＥＳ）、Ｓ４２５にて、アクセス管理部ＡＣＭは、権限のチェック対象について定義されたその他の権限情報を、参照権限情報として決定する。
【００８１】
Ｓ４３０では、アクセス管理部ＡＣＭは、決定された参照権限情報を参照して、対象ユーザが、クエリに従うアクセス（参照、追加、更新、削除のいずれか）を行う権限を有するか否かを判断して、権限チェック処理を終了する。
【００８２】
Ａ−２−２．特定の処理の実行
次に、複合機１００がユーザの指示に基づいて特定の処理を実行する動作について説明する。図１０は、ＵＩ画面の一例を示す図である。ＯＳなどのシステムコンポーネント（図示省略）は、ユーザからの指示を待ち受ける状態では、表示部１７０に、初期ユーザインタフェース（ＵＩ）画面Ｗ１を表示する。図１０（Ａ）のＵＩ画面Ｗ１は、複合機１００が実行できる複数個の特定処理、例えば、ＰＣ印刷処理、ＦＡＸ処理、コピー処理、スキャン処理のいずれかをユーザが選択するためのボタンＢ０１〜Ｂ０４を含んでいる。ユーザがボタンＢ０１〜Ｂ０４のいずれかを押下することによって、１個の特定の処理を選択すると、システムコンポーネントは、押下された特定の処理に対応するＵＩ部を呼び出す。ＵＩ部は、対応する特定の処理を実行するために必要な指示をユーザから取得するためのＵＩ画面を提供して、必要な指示を取得するアプリケーションである。例えば、ＦＡＸ処理を選択するためのボタンＢ０２が押下されると、ＦＡＸ処理に対応するＦＡＸＵＩ部Ａ１４（図４）が呼び出される。ＦＡＸＵＩ部Ａ１４は、表示部１７０に、ＦＡＸ処理の指示をユーザから取得するためのＵＩ画面Ｗ２（図１０（Ｂ））を表示する。
【００８３】
このＵＩ画面Ｗ２は、ＦＡＸの送信開始を指示するスタートボタンＢ０５と、ＦＡＸの宛先をユーザが入力するためのフィールドＩＦと、を含んでいる。フィールドＩＦには、ＦＡＸ番号を入力することもでき、連絡先テーブルＣＩＴ（図３（Ｂ））に記録済の名称を入力することもできる。
【００８４】
ここで、ユーザが、フィールドＩＦに、連絡先テーブルＣＩＴに記録済の名称を入力して、スタートボタンＢ０５を押下することによって、ＦＡＸＵＩ部Ａ１４は、ユーザからＦＡＸ処理の実行指示を取得する。他のＵＩ部Ａ１１〜Ａ１３も、それぞれ、ＰＣ印刷処理、コピー処理、スキャン処理、ＦＡＸ処理の実行や設定の指示をユーザから取得するためのＵＩ画面（図示省略）をプリンタ部１４０に表示して、対応する特定の処理の実行指示を取得することができる。
【００８５】
実行指示を取得したＵＩ部は、ユーザ管理部ＵＭから、認証処理部ＡＴＰが管理しているカレントユーザのユーザＩＤを取得する。カレントユーザは、特定の処理の実行指示を入力したユーザである、と言うことができる。
【００８６】
なお、ＰＣ印刷ＵＩ部Ａ１１は、さらに、ＵＩ画面を介する経路とは異なる経路を介して、ユーザの指示を取得することができる。具体的には、図４の外部データ解析部ＪＢＲは、ユーザの端末装置５００にて起動されたプリンタドライバから印刷ジョブが送信されると、当該印刷ジョブをネットワークＬＮＴを介して受信して、当該印刷ジョブを解析する。印刷ジョブには、印刷データや印刷設定とともに、端末装置５００のユーザを示す情報、具体的にはユーザの認証情報（ユーザ名とパスワード）が含められる。外部データ解析部ＪＢＲは、アクセス管理部ＡＣＭに認証情報が正当であるか否かを問い合わせることで、ユーザの認証を行う。アクセス管理部ＡＣＭは、認証情報が正当である場合には、外部データ解析部ＪＢＲに当該ユーザのユーザＩＤを供給する。外部データ解析部ＪＢＲは、印刷ジョブとユーザＩＤとを、ＰＣ印刷ＵＩ部Ａ１１に供給する。ＰＣ印刷ＵＩ部Ａ１１は、印刷ジョブをＰＣ印刷処理についての実行指示として、取得する。
【００８７】
図１１は、ＵＩ部が特定の処理の実行指示とユーザＩＤとを取得した場合に実行される一連の処理のシーケンス図である。Ｓ１では、ＵＩ部は、アプリケーション管理部ＡＰＭに対して、ユーザＩＤと、各種のデータと、を供給する。各種のデータは、アプリケーション管理部ＡＰＭが、特定の処理の種類を識別できる情報（処理識別情報とも呼ぶ）や、特定の処理を実行するために必要なパラメータを含む。
【００８８】
アプリケーション管理部ＡＰＭが、ユーザＩＤと各種のデータとを取得すると、アプリケーション管理部ＡＰＭは、ユーザ情報管理部ＵＩＭに対して、実行指示を入力したユーザについての機能許容情報の取得要求を供給する。取得要求には、ＵＩ部から取得したユーザＩＤが含められる。
【００８９】
ユーザ情報管理部ＵＩＭは、アプリケーション管理部ＡＰＭから機能許容情報の取得要求を取得すると、Ｓ３にて、ユーザＩＤによって示されるユーザについての機能許容情報を取得するためのクエリを生成する。具体的には、ユーザＩＤによって示されるユーザについての機能許容情報を検索する検索条件式を含む参照（SELECT）用のクエリ１０Ｅ（図５（Ｅ））が生成される。このクエリは、上述したようにユーザＩＤ１１と、ＳＱＬ文と、を含む。この例では、ユーザＩＤ１１は、ユーザ情報管理部ＵＩＭが取得した機能許容情報の取得要求に含まれるユーザＩＤである。
【００９０】
Ｓ４では、ユーザ情報管理部ＵＩＭは、生成したクエリを、アクセス管理部ＡＣＭに供給する。クエリがアクセス管理部ＡＣＭに供給されると、Ｓ５では、アクセス管理部ＡＣＭは、上述した図８のデータアクセス処理を実行する。
【００９１】
基本的には、ユーザＩＤを有するユーザ（例えば、カレントユーザ）は、機能許容テーブルＦＴを参照(SELECT)する権限を有しているので、アクセス管理部ＡＣＭは、データアクセス処理によって機能許容テーブルＦＴ（図３（Ａ））からユーザＩＤを有するユーザについての機能許容情報を取得し、Ｓ６にて、取得した機能許容情報をユーザ情報管理部ＵＩＭに供給する。ユーザ情報管理部ＵＩＭが機能許容情報を取得すると、Ｓ７にて、ユーザ情報管理部ＵＩＭは、取得した機能許容情報をアプリケーション管理部ＡＰＭに供給する。
【００９２】
アプリケーション管理部ＡＰＭが機能許容情報を取得すると、Ｓ８では、アプリケーション管理部ＡＰＭは、実行指示に含まれる処理識別情報と、取得した機能許容情報と、を用いて、ユーザＩＤを有するユーザが、実行指示がなされた特定の処理（すなわち、処理識別情報が示す特定の処理）を実行することを許容されているか否かを判断する。
【００９３】
特定の処理を実行することを許容されている場合には（Ｓ８：ＹＥＳ）、Ｓ９にて、アプリケーション管理部ＡＰＭは、特定の処理の実行指示、すなわち、Ｓ１にて、ＵＩ部から取得した特定の処理の実行指示を、４個のコア部Ａ２１〜Ａ２４のうち、当該実行すべき特定の処理に対応するコア部に供給する。実行指示を取得したコア部は、Ｓ１０にて、特定の処理を実行する。
【００９４】
特定の処理を実行することを許容されていない場合には（Ｓ８：ＮＯ）、Ｓ１１にて、アプリケーション管理部ＡＰＭは、特定の処理の実行が許容されていないことを示すエラー通知を、４個のＵＩ部Ａ１１〜Ａ１４のうち、Ｓ１の特定の処理の実行指示の送信元のＵＩ部に対して供給する。
【００９５】
エラー通知を取得したＵＩ部は、Ｓ１２にて、所定のエラー処理、例えば、エラーを示すＵＩ画面（図示省略）を表示部１７０に表示する処理を実行する。
【００９６】
次に、図１１のＳ１０の特定の処理の一例として、ＦＡＸコア部が、連絡先管理部ＣＩＭおよびアクセス管理部ＡＣＭと協働して実行するＦＡＸ処理について、説明する。
【００９７】
図１２は、ＦＡＸ処理のシーケンス図である。Ｓ２１では、ＦＡＸコア部Ａ２４は、ＦＡＸ番号の取得要求を、ＦＡＸ番号が記録された連絡先テーブルＣＩＴ（図３（Ｂ））を管理する連絡先管理部ＣＩＭ（図４）に対して供給する。ＦＡＸ番号の取得要求には、アプリケーション管理部ＡＰＭから取得したユーザＩＤと、ＦＡＸ実行指示に含まれる宛先の名称とが含められる。
【００９８】
連絡先管理部ＣＩＭは、ＦＡＸコア部Ａ２４からＦＡＸ番号の取得要求を取得すると、Ｓ２２にて、宛先の名称に対応するＦＡＸ番号を取得するためのクエリを生成する。具体的には、宛先の名称に対応するＦＡＸ番号を検索する検索条件式を含む参照（SELECT）用のクエリ１０Ｅ（図５（Ｅ））が生成される。このクエリは、上述したようにユーザＩＤ１１と、ＳＱＬ文と、を含む。この例では、ユーザＩＤ１１は、連絡先管理部ＣＩＭが取得したＦＡＸ番号の取得要求に含まれるユーザＩＤである。すなわち、ＦＡＸコア部Ａ２４から供給されたユーザＩＤであり、例えば、現在のカレントユーザを示すユーザＩＤである。
【００９９】
Ｓ２３では、連絡先管理部ＣＩＭは、生成したクエリを、アクセス管理部ＡＣＭに供給する。クエリがアクセス管理部ＡＣＭに供給されると、Ｓ２４では、アクセス管理部ＡＣＭは、上述した図８のデータアクセス処理を実行する。
【０１００】
カレントユーザが、宛先の名称に対応するＦＡＸ番号を含むレコードを参照する権限を有していれば、アクセス管理部ＡＣＭは、データアクセス処理によって連絡先テーブルＣＩＴから当該ＦＡＸ番号を取得し、Ｓ２５にて、取得したＦＡＸ番号を連絡先管理部ＣＩＭに供給する。連絡先管理部ＣＩＭがＦＡＸ番号を取得すると、Ｓ２６にて、連絡先管理部ＣＩＭは、ＦＡＸ番号をＦＡＸコア部Ａ２４に供給する。ＦＡＸコア部Ａ２４がＦＡＸ番号を取得すると、Ｓ２７では、ＦＡＸコア部Ａ２４は、ＦＡＸ制御部ＣＴ３を制御して、当該ＦＡＸ番号を用いて、ＦＡＸを宛先に送信する。
【０１０１】
ここで、カレントユーザが、宛先の名称に対応するＦＡＸ番号を含むレコードを参照する権限を有していなければ、アクセス管理部ＡＣＭは、データアクセス処理によって連絡先テーブルＣＩＴから当該ＦＡＸ番号を取得せず、Ｓ２５にて、ＦＡＸ番号に代えて、エラー通知を連絡先管理部ＣＩＭに供給する。この場合には、Ｓ２６にて、連絡先管理部ＣＩＭは、ＦＡＸコア部Ａ２４にエラー通知を供給する。ＦＡＸコア部Ａ２４がエラー通知を取得すると、Ｓ２７では、ＦＡＸコア部Ａ２４は、所定のエラー処理、例えば、アプリケーション管理部ＡＰＭを介してＦＡＸＵＩ部Ａ１４に、エラー表示を行わせるためのエラー通知を供給する処理を実行する。
【０１０２】
なお、このようなユーザの指示に基づいて特定の処理が実行される際に、特定のコンポーネントがクエリを発行することによって、アクセス管理部ＡＣＭを介してデータベースＤＢにアクセスすることは、図１２のようなデータ（レコード）の参照に限られない。例えば、スキャンＵＩ部Ａ１３は、生成したスキャンデータをユーザごとに管理する指示をユーザから取得することができる。この場合に、スキャンＵＩ部Ａ１３によってユーザから取得された生成指示に基づいて、スキャンコア部Ａ２３は、アクセス管理部ＡＣＭに対して、ユーザごとにスキャンデータを管理する管理テーブルを生成するためのテーブル生成用のクエリ（例えば、図５（Ａ）、（Ｂ）の１０Ａ、１０Ｂ）を供給する。この結果、図６のテーブル生成処理が、アクセス管理部ＡＣＭによって実行される。この結果、テーブル生成用のクエリに基づいて、データベースＤＢ内に、新たなデータテーブルが生成される。そして、テーブル生成用のクエリに基づいて、アクセス権限テーブルＡＴに、新たに生成されるとともに、当該管理テーブルの権限情報が、アクセス権限テーブルＡＴに新たデータテーブルに対するアクセス権限を定義する権限情報が記録される。このように、ユーザの指示に基づいて、任意のタイミングで、新たなデータテーブルが生成され得る。この結果、一般ユーザの指示に基づいて、容易に、データテーブルを生成でき、該データテーブルに対するアクセス権限を定義できる。したがって、一般ユーザの指示に基づいて、データの管理およびデータのアクセスの管理を柔軟に行うことができる。
【０１０３】
以上説明した本実施例によれば、複数個のＵＩ部Ａ１１〜Ａ１４と複数個のコア部Ａ２１〜Ａ２４との間には、アプリケーション管理部ＡＰＭが介在している。そして、複数個のＵＩ部Ａ１１〜Ａ１４のそれぞれは、対応する特定の処理についての指示を取得した場合に、対応する特定の処理を示す処理識別情報と、取得した指示を入力した特定のユーザを示すユーザＩＤ（ユーザ識別情報とも呼ぶ）とを、アプリケーション管理部ＡＰＭに供給する（図１１のＳ１）。アプリケーション管理部ＡＰＭは、処理識別情報とユーザＩＤとを取得した場合に、処理識別情報とユーザＩＤとを用いて、複数個の特定の処理のそれぞれについて実行を許容するか否かを示す許容情報をユーザごとに記録した機能許容テーブルＦＴを参照することによって、ユーザＩＤによって示される特定のユーザに対して、処理識別情報によって示される特定の処理の実行が許容されているか否かを判断する（図１１のＳ２、Ｓ７、Ｓ８）。そして、特定の処理の実行が許容されている場合に（Ｓ８：ＹＥＳ）、特定の処理に対応するコア部に対して、特定の処理の実行指示を供給する（図１１のＳ９）。特定の処理の実行が許容されていない場合に（Ｓ８：ＮＯ）、特定の処理に対応するコア部に対して、特定の処理の実行指示を供給しない。複数個のコア部Ａ２１〜Ａ２４のそれぞれは、特定の処理の実行指示をアプリケーション管理部ＡＰＭから取得した場合に、対応する特定の処理を実行する（図１１のＳ１０）。この結果、特定の処理が実行されるか否かは、アプリケーション管理部ＡＰＭが、実行指示をコア部に供給するか否かに依存する。したがって、機能許容テーブルＦＴに基づいて特定の処理を実行するか否かの管理を、アプリケーション管理部ＡＰＭが一元的に行うことができる。したがって、例えば、複数個のＵＩ部Ａ１１〜Ａ１４のそれぞれが、当該管理を行う必要がないので、特定の処理を実行するか否かをユーザごとに容易に管理できる。例えば、管理のレベルのばらつきの低減や、ＵＩ部などの開発工数の低減を図ることができる。
【０１０４】
より具体的に説明すると、例えば、１個の特定の処理を行うアプリケーションをＵＩ部とコア部に分離せずに、各アプリケーションが、ユーザが当該特定の処理を実行することが許容されているか否かを判断することとすると、アプリケーションごとに、判断の仕組みや、特定の処理を実行することが許容されていない場合の扱いが異なり得る。この結果、ユーザごとに実行できる特定の処理を適切に制限できない可能性がある。また、アプリケーションごとに特定の処理を実行することが許容されているか否かを判断する仕組みを備えることとすると、新たなアプリケーションの開発工数が増加する可能性がある。本実施例では、そのような不都合を抑制することができる。
【０１０５】
上記実施例では、アプリケーション管理部ＡＰＭは、処理識別情報とユーザＩＤとを取得した場合に、ユーザＩＤを含むクエリを、アクセス管理部ＡＣＭに供給する（図１１のＳ２〜Ｓ４）。アクセス管理部ＡＣＭは、クエリを取得した場合に、ユーザＩＤによって示される特定のユーザの機能許容情報を機能許容テーブルＦＴテーブルから取得して、アプリケーション管理部ＡＰＭに供給する（図１１のＳ５〜Ｓ７）。この結果、アプリケーション管理部ＡＰＭは、アクセス管理部ＡＣＭを介して、機能許容テーブルＦＴから、必要な許容情報を容易に取得できるので、特定の処理の実行が許容されているか否かをユーザごとに適切に判断することができる。
【０１０６】
より具体的には、アプリケーション管理部ＡＰＭは、ユーザ情報管理部ＵＩＭを介して、クエリを、アクセス管理部ＡＣＭに供給する。すなわち、ユーザ情報管理部ＵＩＭは、アプリケーション管理部ＡＰＭの指示に基づいて、構造化問い合わせ言語（ＳＱＬ）に従って記述されたクエリを生成して（図１１のＳ３）、アクセス管理部ＡＣＭに供給する（図１１のＳ４）。こうすれば、構造化問い合わせ言語を用いて、アクセス管理部ＡＣＭを介して、容易に、データベースＤＢにアクセスできる。
【０１０７】
さらに、データベースＤＢは、特定の処理（例えば、ＦＡＸ処理）の実行の際に利用される特定のデータ（例えば、ＦＡＸ番号）を含み、コア部（例えば、ＦＡＸコア部Ａ２４）は、対応する特定の処理の実行指示をアプリケーション管理部ＡＰＭから取得した場合に、特定のデータを要求する参照用のクエリを、アクセス管理部ＡＣＭに供給する（図１２のＳ２１〜Ｓ２３）。そして、アクセス管理部ＡＣＭは、参照用のクエリを取得した場合に、特定のデータへのアクセスを許容するか否かを判断する（図１２のＳ２４、図８のＳ３２５）。アクセス管理部ＡＣＭは、特定のデータへのアクセスを許容する場合に、特定のデータをコア部に供給する（図１２のＳ２５、Ｓ２６）。コア部は、アクセス管理部ＡＣＭから取得した特定のデータを用いて、特定の処理を実行する（図１２のＳ２７）。この構成によれば、機能許容テーブルＦＴテーブルや特定のデータへのアクセスを、アクセス管理部ＡＣＭによって一元的に管理できる。この結果、機能許容テーブルＦＴテーブルや特定のデータへのアクセスを適切に管理して、セキュリティを確保することが容易になる。
【０１０８】
より具体的には、アプリケーション管理部ＡＰＭは、図１１のＳ９にて、実行指示とともに、実行指示に対応するユーザＩＤであって、ＵＩ部から取得されたユーザＩＤを、コア部に供給する。そして、コア部は、当該ユーザＩＤを含む参照用のクエリを、アクセス管理部ＡＣＭに供給する（図１２のＳ２１〜Ｓ２３）。そして、アクセス管理部ＡＣＭは、当該ユーザＩＤによって示されるユーザに対して特定のデータへのアクセスを許容するか否かを判断する（図１２のＳ２４）。したがって、ＦＡＸ番号などの特定のデータへのアクセスを許容するか否かをユーザごとに適切に管理できる。
【０１０９】
なお、図１２の例では、ＦＡＸコア部Ａ２４は、連絡先管理部ＣＩＭを利用して、間接的に参照用のクエリを、アクセス管理部ＡＣＭに供給している（図１２のＳ２１〜Ｓ２３）。すなわち、連絡先管理部ＣＩＭは、ＦＡＸコア部Ａ２４の指示に基づいて、構造化問い合わせ言語（ＳＱＬ）に従って記述された参照用のクエリを生成して（図１２のＳ２２）、アクセス管理部ＡＣＭに供給する（図１２のＳ２３）。こうすれば、構造化問い合わせ言語を用いて、アクセス管理部ＡＣＭを介して、容易に、データベースＤＢにアクセスできるので、コア部の開発工数を低減できる。
【０１１０】
上記実施例では、データベースＤＢは、機能許容テーブルＦＴを含む複数個のデータテーブルを含んでいる（図３）。そして、これらのデータテーブルは、データテーブルごとにユーザのアクセス権限が定義されるテーブル権限テーブルと、データテーブルに含まれるデータごとにアクセス権限が定義されるレコード権限テーブルと、を含んでいる。この結果、データテーブルごとにアクセス権限を定義することができ、データごとにアクセス権限を定義することができる。この結果、例えば、データの種類に応じて、アクセス権限を柔軟に管理できる。
【０１１１】
さらに、上記実施例では、操作部１６０を介してユーザから取得される認証情報（例えば、ユーザ名とパスワード）に基づいて、ユーザの認証を実行する認証処理部ＡＴＰを備える。ＵＩ部Ａ１１〜Ａ１４のそれぞれは、操作部１６０を介して、特定の処理についての指示を取得した場合に、認証処理部ＡＴＰによって認証済の特定のユーザ（すなわち、カレントユーザ）を示すユーザＩＤをアプリケーション管理部ＡＰＭに供給する（図１１のＳ１）。一方で、複合機１００は、ユーザの端末装置５００から送信され、端末装置５００のユーザを示す情報（具体的には、ユーザ名とパスワード）を含む特定の処理についての指示（具体的には、ＰＣ印刷処理の指示としての印刷ジョブ）を受信する外部データ解析部ＪＢＲを有している。そして、ＵＩ部Ａ１１〜Ａ１４のそれぞれは、端末装置５００から送信される特定の処理についての指示を、外部データ解析部ＪＢＲを介して取得した場合に、端末装置５００のユーザを示す情報に基づくユーザＩＤをアプリケーション管理部ＡＰＭに供給する（図１１のＳ１）。この結果、指示が取得された形態に応じた適切なユーザＩＤをアプリケーション管理部ＡＰＭに供給できる。したがって、特定の処理を実行するか否かをユーザごとに適切に管理できる。
【０１１２】
以上の説明から解るように、本実施例のＵＩ部Ａ１１〜Ａ１４は、アプリケーション表示制御部の例であり、本実施例のコア部Ａ２１〜Ａ２４は、アプリケーション実行制御部の例である。また、外部データ解析部ＪＢＲは、受信部の例である。
【０１１３】
Ｂ．変形例：
（１）上記実施例の複合機１００に代えて、プリンタ部１４０を備えるが、スキャナ部１５０を備えないプリンタが採用されても良く、プリンタ部１４０を備えるが、スキャナ部１５０を備えないスキャナが採用されてもよい。すなわち、一般的に言えば、画像の印刷処理と、画像の読取処理と、の少なくとも一方を含む画像処理を実行する画像処理実行部を備える装置が、採用可能である。また、採用される装置の種類に応じて、複数個のコンポーネントは、当該画像処理を画像処理実行に実行させるための１個以上の画像処理アプリケーション（例えば、本実施例のＵＩ部Ａ１１〜Ａ１４やコア部Ａ２１〜Ａ２４）を含むことが好ましい。さらに、複数個のコンポーネントは、画像処理アプリケーションに加えて、他の処理を行うアプリケーションを含んでもよい。例えば、複数個のコンポーネントは、管理ユーザに対して、管理対象のデータ（例えば、システムテーブルＵＴ、ＧＴ、ＡＴに格納されるデータ）の編集を行うためのＷＥＢサービスを提供するＷＥＢアプリケーションを含んでも良い。
【０１１４】
（２）上記実施例のコア部Ａ２１〜Ａ２４のうちの少なくとも一部と、制御部ＣＴ１〜ＣＴ３とのうちの対応する一部と、は１個のソフトウェアコンポーネントとして、構成されても良い。例えば、ＰＣ印刷コア部Ａ２１と、印刷制御部ＣＴ１と、が１個の制御部として構成され、コピーコア部Ａ２２と、印刷制御部ＣＴ１および読取制御部ＣＴ２と、が１個の制御部として構成され、スキャンコア部Ａ２３と読取制御部ＣＴ２と、が１個の制御部として構成され、ＦＡＸコア部Ａ２４と、ＦＡＸ制御部ＣＴ３と、が１個のソフトウェアコンポーネントとして構成されても良い。この場合には、ＵＩ部Ａ２１〜Ａ２４と、これらの制御部と、の間にアプリケーション管理部ＡＰＭが介在して、ＵＩ部Ａ２１〜Ａ２４と、これらの制御部と、の間の情報（例えば、実行指示やユーザＩＤ）の遣り取りを一元的に仲介しても良い。
【０１１５】
（３）上記実施例では、複数個のコンポーネントは、連絡先テーブルＣＩＴへアクセスするためのクエリを生成する連絡先管理部ＣＩＭや、機能許容テーブルＦＴへのアクセスするためのクエリを生成するユーザ情報管理部ＵＩＭを、含んでいる。これによって、複数個のアプリケーションが、連絡先管理部ＣＩＭやユーザ情報管理部ＵＩＭを利用して、容易にデータベースＤＢへのアクセスを実行できるので、アプリケーションの開発工数を低減している。これに代えて、各アプリケーションが、クエリを生成して、アクセス管理部ＡＣＭに供給する機能を備えても良い。例えば、図１２のＳ２１〜Ｓ２３では、ＦＡＸコア部Ａ２４は、連絡先管理部ＣＩＭを利用して、間接的に参照用のクエリを、アクセス管理部ＡＣＭに供給している。これに代えて、ＦＡＸコア部Ａ２４は、連絡先管理部ＣＩＭを用いることなく、自身で参照用のクエリを生成して、直接に参照用のクエリをアクセス管理部ＡＣＭに供給しても良い。同様に、図１１のＳ２〜Ｓ４では、アプリケーション管理部ＡＰＭは、ユーザ情報管理部ＵＩＭを利用して、クエリを、アクセス管理部ＡＣＭに供給している。これに代えて、アプリケーション管理部ＡＰＭが、ユーザ情報管理部ＵＩＭを用いることなく、自身でクエリを生成して、アクセス管理部ＡＣＭに供給しても良い。
【０１１６】
（４）上記実施例では、テーブル権限テーブルと、レコード権限テーブルと、の２種類のデータテーブルを利用できるが、テーブル権限テーブルと、レコード権限テーブルと、のいずれか一方だけが利用できる構成であっても良い。例えば、テーブル権限テーブルだけが利用できる構成であれば、全ての権限情報は、常にアクセス権限テーブルＡＴに記録され、データテーブルには記録されなくても良く、権限情報のうち、権限タイプ情報は、省略されて良い。
【０１１７】
（５）上記実施例では、各コンポーネントは、アクセス管理部ＡＣＭを介して、データベースＤＢ内のデータにアクセスしている。これに代えて、各コンポーネントは、アクセス管理部ＡＣＭを介さずに、直接的に、データベースＤＢにアクセスしても良い。例えば、アプリケーション管理部ＡＰＭは、アクセス管理部ＡＣＭを介さずに、データベースＤＢ内の機能許容テーブルＦＴを参照して、機能許容情報を取得しても良い。また、ＦＡＸコア部Ａ２４は、アクセス管理部ＡＣＭを介さずに、連絡先テーブルＣＩＴを参照して、ＦＡＸ番号を取得しても良い。
【０１１８】
（６）なお、クエリは、ＳＱＬに従うクエリに限らず、他の言語（例えば、オリジナルの言語）に従うクエリであっても良い。また、クエリは、参照、追加、更新、削除、テーブル生成の全ての種類が無くても良く、少なくとも参照を含む必要な種類のアクセスのためのクエリだけが用いられても良い。いずれの場合であっても、クエリは、データベースＤＢのアクセスを定義付ける部分に加えて、ユーザＩＤを含むことが好ましい。これによって、アクセス管理部ＡＣＭは、ユーザＩＤを利用して、アクセス権限の有無を一元的に適切に判断することができる。
【０１１９】
（７）上記実施例において、システムテーブルと、一般テーブルと、を区別することなく、全てのデータテーブルが、アクセス権限テーブルＡＴを用いて、管理されても良い。
【０１２０】
（８）上記各実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部あるいは全部をハードウェアに置き換えるようにしてもよい。
【０１２１】
以上、実施例、変形例に基づき本発明について説明してきたが、上記した発明の実施の形態は、本発明の理解を容易にするためのものであり、本発明を限定するものではない。本発明は、その趣旨並びに特許請求の範囲を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれる。
【符号の説明】
【０１２２】
１００...複合機、１１０...ＣＰＵ、１２０...揮発性記憶装置、１３０...不揮発性記憶装置、１４０...プリンタ部、１５０...スキャナ部、１６０...操作部、１７０...表示部、５００...端末装置、２９０...電話回線ＩＦ、Ａ１１〜Ａ１４...ＵＩ部、Ａ２１〜Ａ２４...コア部、ＦＴ...機能許容テーブル、ＤＢ...データベース、ＰＧ...コンピュータプログラム、ＵＭ...ユーザ管理部、ＵＴ...ユーザテーブル、ＧＴ...グループテーブル、ＡＴ...アクセス権限テーブル、ＦＴ...機能許容テーブル、ＣＴ１...印刷制御部、ＣＴ２...読取制御部、ＣＴ３...ＦＡＸ制御部、ＡＣＭ...アクセス管理部、ＪＢＲ...外部データ解析部、ＣＩＭ...連絡先管理部、ＵＩＭ...ユーザ情報管理部、ＣＩＴ...連絡先テーブル、ＡＰＭ...アプリケーション管理部、ＬＮＴ...ネットワーク、ＡＴＰ...認証処理部
【図１】
0006451514.tif 000002
【図２】
0006451514.tif 000003
【図３】
0006451514.tif 000004
【図４】
0006451514.tif 000005
【図５】
0006451514.tif 000006
【図６】
0006451514.tif 000007
【図７】
0006451514.tif 000008
【図８】
0006451514.tif 000009
【図９】
0006451514.tif 000010
【図１０】
0006451514.tif 000011
【図１１】
0006451514.tif 000012
【図１２】
0006451514.tif 000013