(57)【要約】【課題】プログラムごとの表示画面について効率的なカスタマイズを実現することのできる情報処理装置、表示画面カスタマイズ方法、及び表示画面カスタマイズプログラムの提供を目的とする。【解決手段】それぞれに対応する表示画面を介して利用される複数のプログラムを有する情報処理装置であって、前記表示画面の画面構成情報を管理する画面構成情報管理手段と、前記表示画面に対するカスタマイズ内容が記録されるカスタマイズ情報を管理するカスタマイズ情報管理手段と、複数のプログラムに対応する各表示画面を、当該表示画面に係る前記画面構成情報及び前記カスタマイズ情報に基づいて生成する画面生成手段とを有することにより上記課題を解決する。【選択図】図１０
2009054027.tif 000002
【特許請求の範囲】
【請求項１】
それぞれに対応する表示画面を介して利用される複数のプログラムを有する情報処理装置であって、
前記表示画面の画面構成情報を管理する画面構成情報管理手段と、
前記表示画面に対するカスタマイズ内容が記録されるカスタマイズ情報を管理するカスタマイズ情報管理手段と、
複数のプログラムに対応する各表示画面を、当該表示画面に係る前記画面構成情報及び前記カスタマイズ情報に基づいて生成する画面生成手段とを有することを特徴とする情報処理装置。
【請求項２】
前記画面構成情報には表示画面の構成要素ごとにカスタマイズの可否を示すカスタマイズ可否情報が記録されており、
前記カスタマイズ可否情報に基づいてカスタマイズが可能な構成要素を前記画面構成情報より抽出し、抽出された構成要素に関してカスタマイズ内容が記録される前記カスタマイズ情報を生成し、前記カスタマイズ情報管理手段に登録するカスタマイズ情報生成手段を有することを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記表示画面のカスタマイズを行わせるカスタマイズ画面に対する入力に応じて前記カスタマイズ情報を更新するカスタマイズ情報更新手段を有することを特徴とする請求項１又は２記載の情報処理装置。
【請求項４】
前記プログラムのアンインストールに応じ、アンインストールの対象とされたプログラムに対応する前記カスタマイズ情報を前記カスタマイズ情報管理手段より削除するカスタマイズ情報削除手段を有することを特徴とする請求項１乃至３いずれか一項記載の情報処理装置。
【請求項５】
前記カスタマイズ情報管理手段に管理されているカスタマイズ情報を、所定の形式に変換して記録媒体に出力するカスタマイズ情報出力手段を有することを特徴とする請求項１乃至４いずれか一項記載の情報処理装置。
【請求項６】
前記所定の形式によって記録媒体に記録されているカスタマイズ情報を前記カスタマイズ情報管理手段における保存形式に変換して前記カスタマイズ情報管理手段に登録するカスタマイズ情報入力手段を有することを特徴とする請求項５記載の情報処理装置。
【請求項７】
前記カスタマイズ情報管理手段は、前記カスタマイズ情報をユーザに応じて管理し、
前記画面生成手段は、前記プログラムを利用するユーザに応じた前記カスタマイズ情報に基づいて表示画面を生成することを特徴とする請求項１乃至６いずれか一項記載の情報処理装置。
【請求項８】
前記カスタマイズ情報管理手段は削除可能であり、
前記画面生成手段は、前記カスタマイズ情報管理手段が存在しないときは、複数のプログラムに対応する各表示画面を、当該表示画面に係る前記画面構成情報に基づいて生成することを特徴とする請求項１乃至７いずれか一項記載の情報処理装置。
【請求項９】
それぞれに対応する表示画面を介して利用される複数のプログラムを有する情報処理装置が実行する画面カスタマイズ方法であって、
前記表示画面の画面構成情報を管理する画面構成情報管理手順と、
前記表示画面に対するカスタマイズ内容が記録されるカスタマイズ情報を管理するカスタマイズ情報管理手順と、
複数のプログラムに対応する各表示画面を、前記表示画面の画面構成情報を管理する画面構成情報管理手段に管理される画面構成情報と、前記表示画面に対するカスタマイズ内容が記録されるカスタマイズ情報を管理するカスタマイズ情報管理手段に管理されるカスタマイズ情報とに基づいて生成する画面生成手順とを有することを特徴とする画面カスタマイズ方法。
【請求項１０】
前記画面構成情報には表示画面の構成要素ごとにカスタマイズの可否を示すカスタマイズ可否情報が記録されており、
前記カスタマイズ可否情報に基づいてカスタマイズが可能な構成要素を前記画面構成情報より抽出し、抽出された構成要素に関してカスタマイズ内容が記録される前記カスタマイズ情報を生成し、前記カスタマイズ情報管理手段に登録するカスタマイズ情報生成手順を有することを特徴とする請求項９記載の画面カスタマイズ方法。
【請求項１１】
前記表示画面のカスタマイズを行わせるカスタマイズ画面に対する入力に応じて前記カスタマイズ情報を更新するカスタマイズ情報更新手順を有することを特徴とする請求項９又は１０記載の画面カスタマイズ方法。
【請求項１２】
前記プログラムのアンインストールに応じ、アンインストールの対象とされたプログラムに対応する前記カスタマイズ情報を前記カスタマイズ情報管理手段より削除するカスタマイズ情報削除手順を有することを特徴とする請求項９乃至１１いずれか一項記載の画面カスタマイズ方法。
【請求項１３】
前記カスタマイズ情報管理手段に管理されているカスタマイズ情報を、所定の形式に変換して記録媒体に出力するカスタマイズ情報出力手順を有することを特徴とする請求項９乃至１２いずれか一項記載の画面カスタマイズ方法。
【請求項１４】
前記所定の形式によって記録媒体に記録されているカスタマイズ情報を前記カスタマイズ情報管理手段における保存形式に変換して前記カスタマイズ情報管理手段に登録するカスタマイズ情報入力手順を有することを特徴とする請求項１３記載の画面カスタマイズ方法。
【請求項１５】
前記カスタマイズ情報管理手段は、前記カスタマイズ情報をユーザに応じて管理し、
前記画面生成手順は、前記プログラムを利用するユーザに応じた前記カスタマイズ情報に基づいて表示画面を生成することを特徴とする請求項９乃至１４いずれか一項記載の画面カスタマイズ方法。
【請求項１６】
前記カスタマイズ情報管理手段は削除可能であり、
前記画面生成手順は、前記カスタマイズ情報管理手段が存在しないときは、複数のプログラムに対応する各表示画面を、当該表示画面に係る前記画面構成情報に基づいて生成することを特徴とする請求項９乃至１５いずれか一項記載の画面カスタマイズ方法。
【請求項１７】
請求項９乃至１６いずれか一項記載の画面カスタマイズ情報をコンピュータに実行させるための画面カスタマイズプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、表示画面カスタマイズ方法、及び表示画面カスタマイズプログラムに関し、特に表示画面を介して利用される複数のプログラムを有する情報処理装置、表示画面カスタマイズ方法、及び表示画面カスタマイズプログラムに関する。
【背景技術】
【０００２】
近年、コピー、スキャナ、ＦＡＸ、プリンタ等の画像形成装置は、利用方法の多様化に対応するため、多機能化が進んでいる。多機能化に伴い、操作パネルから設定される動作モードの数も多くなり、所望のアウトプットを得るための設定操作が煩雑化する傾向にある。しかし、利用者によっては、必ずしも全ての機能を使用せず、特定の一部の機能のみを使用する者も多い。それにも拘わらず、多数の機能を搭載するために、開発・部品・製造などのコストが嵩んで画像形成装置が高価になってしまうと、利用者とって不利益となる。一部の機能しか利用しない利用者にとっては、当該一部の機能に関する動作モードの入力手段だけが分かり易い態様で操作パネルに表示されることが操作性の向上につながる。
【０００３】
但し、利用者の装置使用の習熟度によって、使い易いユーザインタフェースは異なってくる。利用頻度の低い利用者にとっては、複雑なユーザインタフェースでは操作ミスが起こりやすく、また時間効率も悪い。したがって、機能を絞ったシンプルなユーザインタフェースが歓迎される。
【０００４】
一方、利用頻度の高い利用者にとっては、多少煩雑な操作であっても使いこなすことは可能であり、多くの機能を利用する場合には全ての機能を設定することが可能なユーザインタフェースが必要である。
【０００５】
これらの問題を解決するために、利用者の好みに合わせて画面を構成する要素（ボタン等）の表示／非表示の切替えや並び替え等のカスタマイズを行う技術（例えば、特許文献１）や、認証によって特定された利用者毎に表示内容を切替える技術（例えば、特許文献２）が開示されている。
【０００６】
他方において、機能のインストール／アンインストールや、機能に対する拡張を追加でインストール／アンインストールすることにより、ファームウェアの更新が可能とされた画像形成装置が開示されている（例えば、特許文献３、特許文献４）。
【特許文献１】特開２００５−４５３７０号公報
【特許文献２】特開２００３−１５０９７１号公報
【特許文献３】特開２００３−２５６２１６号公報
【特許文献４】特開２００４−２１５７６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、機能ごとにインストール等を可能とした場合、機能ごとに操作画面が実装される必要がある。従来、機能ごとに実装される操作画面のカスタマイズを可能とするため、その操作画面のカスタマイズのためのロジックは機能ごとに実装されていた。この場合、厳格なガイドラインに沿って当該ロジックが実装されないと、操作画面のカスタマイズ方法に統一性を欠き、操作性の良いカスタマイズ手段を提供できないという問題がある。
【０００８】
また、カスタマイズロジックには共通部分が多いにも拘わらず、機能ごとにそのロジックが実装されるのは、非常に非効率であるという問題もある。
【０００９】
本発明は、上記の点に鑑みてなされたものであって、プログラムごとの表示画面について効率的なカスタマイズを実現することのできる情報処理装置、表示画面カスタマイズ方法、及び表示画面カスタマイズプログラムの提供を目的とする。
【課題を解決するための手段】
【００１０】
そこで上記課題を解決するため、本発明は、それぞれに対応する表示画面を介して利用される複数のプログラムを有する情報処理装置であって、前記表示画面の画面構成情報を管理する画面構成情報管理手段と、前記表示画面に対するカスタマイズ内容が記録されるカスタマイズ情報を管理するカスタマイズ情報管理手段と、複数のプログラムに対応する各表示画面を、当該表示画面に係る前記画面構成情報及び前記カスタマイズ情報に基づいて生成する画面生成手段とを有することを特徴とする。
【００１１】
このような情報処理装置では、プログラムごとの表示画面について効率的なカスタマイズを実現することができる。
【発明の効果】
【００１２】
本発明によれば、プログラムごとの表示画面について効率的なカスタマイズを実現することのできる情報処理装置、表示画面カスタマイズ方法、及び表示画面カスタマイズプログラムを提供することができる。
【発明を実施するための最良の形態】
【００１３】
以下、図面に基づいて本発明の実施の形態を説明する。本実施の形態では、画像形成装置を情報処理装置の一例として説明する。図１は、本発明の実施の形態における画像形成装置のハードウェア構成の一例を示す図である。図１では、画像形成装置の具体例として、プリンタ、コピー、スキャナ、又は、ファクス等の複数の機能を一台の筐体において実現する複合機１のハードウェア構成が示されている。
【００１４】
複合機１のハードウェアとしては、コントローラ６０１と、オペレーションパネル６０２と、ファクシミリコントロールユニット（ＦＣＵ）６０３と、撮像部６０４と、印刷部６０５が存在する。
【００１５】
コントローラ６０１は、ＣＰＵ６１１、ＡＳＩＣ６１２、ＮＢ６２１、ＳＢ６２２、ＭＥＭ−Ｐ６３１、ＭＥＭ−Ｃ６３２、ＨＤＤ（ハードディスクドライブ）６３３、メモリカードスロット６３４、ＮＩＣ（ネットワークインタフェースコントローラ）６４１、ＵＳＢデバイス６４２、ＩＥＥＥ１３９４デバイス６４３、セントロニクスデバイス６４４により構成される。
【００１６】
ＣＰＵ６１１は、種々の情報処理用のＩＣである。ＡＳＩＣ６１２は、種々の画像処理用のＩＣである。ＮＢ６２１は、コントローラ６０１のノースブリッジである。ＳＢ６２２は、コントローラ６０１のサウスブリッジである。ＭＥＭ−Ｐ６３１は、複合機１のシステムメモリである。ＭＥＭ−Ｃ６３２は、複合機１のローカルメモリである。ＨＤＤ６３３は、複合機１のストレージである。メモリカードスロット６３４は、メモリカード２３５をセットするためのスロットである。ＮＩＣ６４１は、ＭＡＣアドレスによるネットワーク通信用のコントローラである。ＵＳＢデバイス６４２は、ＵＳＢ規格の接続端子を提供するためのデバイスである。ＩＥＥＥ１３９４デバイス６４３は、ＩＥＥＥ１３９４規格の接続端子を提供するためのデバイスである。セントロニクスデバイス６４４は、セントロニクス仕様の接続端子を提供するためのデバイスである。オペレーションパネル６０２は、オペレータが複合機１に入力を行うためのハードウェア（操作部）であると共に、オペレータが複合機１から出力を得るためのハードウェア（表示部）である。
【００１７】
図２は、本発明の実施の形態の画像形成装置におけるソフトウェア構成例を示す図である。図２に示されるように、複合機１におけるソフトウェアは、ユーザインタフェース層１０、コントロール層２０、機能実現層３０、デバイスサービス層４０、及びデバイス制御層５０等より構成される。なお、図２における各部の上下関係は、各部間の呼び出し関係に基づいている。すなわち、基本的に図中において上にある層が下の層を呼び出す。
【００１８】
ユーザインタフェース層１０は、ジョブ（例えば、コピー、印刷、スキャン、ファクス送信等）の実行要求を受け付けるための機能が実装されている部分であり、例えば、ＵＩ制御部１１０及び通信サーバ部１２０当該が含まれる。ＵＩ制御部１１０は、例えば、オペレーションパネル６０２を介して入力されるジョブの実行要求を受け付ける。通信サーバ部１２０は、例えば、図示しないクライアントＰＣ等からネットワーク経由でジョブの実行要求を受け付ける。ユーザインタフェース層１０において受け付けられたジョブの実行要求は、コントロール層２０に伝えられる。
【００１９】
コントロール層２０は、要求されたジョブを実行するための処理を制御するための機能が実装されている部分である。コントロール層２０は、例えば、プラグイン管理部２１０、リクエスト管理部２２０、及び認証管理部２３０等が含まれる。プラグイン管理部２１０は、複合機１に実装（又はインストール）された「プラグイン」の物理的なアドレス（位置情報）とプラグインの動作とを管理する。なお、本実施の形態において、「プラグイン」とは、複合機１が有する基本機能に対して新たに追加される機能に対応するプログラムモジュール、や複合機１が有する基本機能に対応するプログラムモジュールをいい、それぞれ個別に（独立して）インストール及びアンインストール可能であるものをいう。すなわち、プラグイン管理部２１０は、複合機１が有する基本機能及び追加機能に対応するプログラムの物理的なアドレス、及びそれらの動作を管理する。
【００２０】
リクエスト管理部２２０は、要求されたジョブの実行を機能実現層３０が有する各アプリケーションに要求する。また、複数のジョブが実行される場合は、それらの実行順のスケジューリングを行う。
【００２１】
なお、本実施の形態において「ジョブ」とは、複合機１がユーザに対して提供する一つのまとまった単位（要求が入力されて最終的な出力が得られるまで）のサービスをいう。一つのジョブは、基本的に一つのアプリケーションによって実行されるが、複数のアプリケーションの連携によって実行されてもよい。
【００２２】
認証管理部２３０は、利用者の認証要求を受け付け、アカウント名とパスワード等の利用者を特定する情報（認証情報）に基づいて認証を行う。
【００２３】
機能実現層３０は、それぞれが複合機１において提供されるジョブの一部を実行するソフトウェア部品群が実装されている部分である。すなわち、機能実現層３０における部品を組み合わせることにより一つのジョブを実行するためのアプリケーションが構築される。本実施の形態では、機能実現層３０におけるソフトウェア部品を「フィルタ」と呼ぶ。これは、複合機１のジョブを実行する手アプリケーションが、「パイプ＆フィルタ」と呼ばれるソフトウェアアーキテクチャを採用していることに基づく。
【００２４】
図３は、パイプ＆フィルタアーキテクチャの概念を説明するための図である。図３において、「Ｆ」はフィルタを示し、「Ｐ」はパイプを示す。図中に示されるように、各フィルタはパイプによって接続される。フィルタは、入力されたデータに対して変換を施し、その結果を出力する。パイプは、フィルタから出力されたデータを次のフィルタに伝達する。
【００２５】
すなわち、本実施の形態における複合機１では、ジョブをドキュメント（データ）に対する「変換」の連続として捉える。複合機１のジョブは、ドキュメントの入力、加工、及び、出力によって構成されるものとして一般化することができる。そこで「入力」、「加工」、及び、「出力」を、それぞれ「変換」として捉え、一つの「変換」を実現するソフトウェア部品がフィルタとして構成される。入力を実現するフィルタを特に「入力フィルタ」という。また、加工を実現するフィルタを特に「加工フィルタ」という。更に、出力を実現するフィルタを特に「出力フィルタ」という。なお、各フィルタは独立しており、フィルタ間における依存関係（呼び出し関係）は基本的に存在しない。従って、フィルタ単位で追加（インストール）又は削除（アンインストール）が可能とされ、本実施の形態におけるプラグインの一つとして扱われる。
【００２６】
図２において、機能実現層３０には、入力フィルタとして、読取フィルタ３１１、保管文書読出フィルタ３１２、メール受信フィルタ３１３、及びファクス受信フィルタ３１４等が示されている。
【００２７】
読取フィルタ３１１は、スキャナによる画像データの読み取りを制御し、読み取られた画像データを出力する。保管文書読出フィルタ３１２は、複合機１の記憶装置に保管されている文書データ（画像データ）を読み出し、読み出されたデータを出力する。メール受信フィルタ３１３は、電子メールを受信し、当該電子メールに含まれているデータを出力する。ファクス受信フィルタ３１４は、ファクス受信を制御し、受信された印刷データを出力する。
【００２８】
また、加工フィルタとしては、文書加工フィルタ３２１及び文書変換フィルタ３２２等が示されている。文書加工フィルタ３２１は、入力されたデータに所定の画像変換処理（集約、拡大、又は、縮小等）を施し、出力する。文書変換フィルタ３２２は、画像データのデータ形式を変換する。文書変換フィルタ３２２は、例えば、レンダリング処理、すなわち、入力されたＰｏｓｔＳｃｒｉｐｔデータをビットマップデータに変換して出力する。
【００２９】
また、出力フィルタとしては、印刷フィルタ３３１、保管文書登録フィルタ３３２、メール送信フィルタ３３３、及びファクス送信フィルタ３３４等が示されている。
【００３０】
印刷フィルタ３３１は、入力されたデータをプロッタに出力（印刷）させる。保管文書登録フィルタ３３２は、入力されたデータを複合機１内の記憶装置、例えば、ハードディスク装置に保存する。メール送信フィルタ３３３は、入力されたデータを電子メールに添付して送信する。ファクス送信フィルタ３３４は、入力されたデータをファクス送信する。
【００３１】
機能実現層３０には、また、複数のフィルタをどの順番で接続するかを管理し、その順番でフィルタを実行させることによりジョブを実行するアプリケーションとして、コピーアプリケーション３０１、送信アプリケーション３０２、及びファクスアプリケーション３０３等が含まれる。例えば、コピーアプリケーション３０１は、読取フィルタ３１１と、文書加工フィルタ３２１と、印刷フィルタ３３１との組み合わせにより、コピー機能（コピーアプリケーション）を実現するアプリケーションである。
【００３２】
なお、機能実現層３０におけるアプリケーションも独立してインストール及びアンインストール可能であり、本実施の形態におけるプラグインとして扱われる。
【００３３】
機能実現層３０には、更に、アプリケーション又はフィルタ等に対する設定情報等のデータの永続化、並びに永続化されたデータの参照、更新、削除、及び検索等を実現する手段として、ユーザ情報管理部３４１及びＵＩカスタマイズ情報管理部３５０が含まれる。
【００３４】
ユーザ情報管理部３４１は、複合機１にログインするためのユーザの名やパスワード等の認証情報を、後述するデータ管理部４１０に登録（永続化）し、参照、更新、削除、検索を行う。ＵＩカスタマイズ情報管理部３５０は、オペレーションパネル６０２に表示させる操作画面（表示画面）を生成するための情報（又は操作画面の構成を表現する情報）である画面構成情報に対する、カスタマイズ対象部分のデータ（カスタマイズによる差分情報）をデータ管理部４１０に登録（永続化）し、参照、更新、削除、及び検索を行う。
【００３５】
デバイスサービス層４０は、機能実現層３０における各フィルタから共通に利用される下位機能が実装されている部分であり、データ管理部４１０を有する。データ管理部４１０は、後述する各種のデータベースを表現する。
【００３６】
デバイス制御層５０は、複合機１が有するデバイス毎に設けられたデバイスを制御する手段を有する。
【００３７】
図２に示されるソフトウェア構成において、操作画面のカスタマイズに関する構成要素について更に詳しく説明する。図４は、操作画面のカスタマイズ機能を実現するためのソフトウェア構成例を示す図である。図４中、図２と同一部分には同一符号を付している。
【００３８】
ユーザインタフェース層１０において、ＵＩ制御部１１０は、動作オブジェクト取得部１１１及びユーザインタフェース部１１２を有する。ユーザインタフェース部１１２は、オペレーションパネル６０２等のへの操作画面等の生成、表示制御、及びオペレーションパネル６０２等のから入力される指示に応じた処理の制御等を行う。動作オブジェクト取得部１１１は、複合機１において動作中のプラグインの動作オブジェクトを取得する。ここで、動作オブジェクトとは、動作中のプラグインにアクセスするためにメモリ上に形成されるいわゆるオブジェクト（クラスのインスタンス）をいう。
【００３９】
図４に示されるユーザインタフェース層１０には、更に、機能ＵＩプラグイン１５０が含まれている。機能ＵＩプラグイン１５０は、後述する機能実現層３０の機能プラグイン３７０の操作画面（ユーザインタフェース）を実現するプラグインである。なお、機能ＵＩプラグイン１５０と機能プラグイン３７０とのペアが、図２における、一つのフィルタ又はアプリケーションに対応する。すなわち、各フィルタ又はアプリケーションは、それぞれに対応する機能ＵＩプラグイン１５０及び機能プラグイン３７０を含む。したがって、複合機１にインストールされたフィルタ又はアプリケーションの数に応じて、機能ＵＩプラグイン１５０及び機能プラグイン３７０が存在する。そのうち、機能ＵＩプラグイン１５０は、操作画面（ユーザインタフェース）との関連が強いため、ユーザインタフェース層１０に示されている。
【００４０】
機能ＵＩプラグイン１５０は、機能ＵＩコンテンツ情報１５１、機能ＵＩ制御部１５２、及び動作オブジェクト取得部１５３を有する。機能ＵＩコンテンツ情報１５１は、当該機能ＵＩプラグイン１５０が対応する機能プラグイン３７０の操作画面を生成するための（又は操作画面の構成（レイアウト）を表現する）画面構成情報である。機能ＵＩ制御部１５２は、機能ＵＩコンテンツ情報１５１に基づいて表示される操作画面の制御を行う。例えば、機能ＵＩ制御部１５２は、操作画面を介したユーザによる入力の検知や、当該入力に応じた機能プラグイン３７０の呼び出しや、機能プラグイン３７０等からの状態へ化通知に応じた操作画面の表示内容の更新等を行う。動作オブジェクト取得部１５３は、複合機１において動作中の他のプラグインの動作オブジェクトを取得する。
【００４１】
なお、本実施の形態では、機能ＵＩプラグイン１５０によって実現される操作画面は、複合機１に設けられたオペレーションパネル６０２等のローカルユーザインタフェースに表示される例について説明するが、通信サーバ部１２０を用いて複合機１とネットワークを介して接続されたクライアントＰＣ等に対して操作画面を表示させるようにしてもよい。
【００４２】
図４のコントロール層２０において、プラグイン管理部２１０は、プラグインアドレス保持部２１１及びプラグイン管理テーブル保持部２１２を有する。プラグインアドレス保持部２１１は、複合機１に対してインストール（追加）されている各プラグインの実行プログラムが格納されたファイルのアドレス情報を保持して管理する。より詳しくは、プラグインアドレス保持部２１１は、プラグインの名称とプラグインが格納されているアドレスとを対応づけて保持する。プラグイン管理テーブル保持部２１２は、各プラグインの動作オブジェクトを管理する。すなわち、起動されたプラグインの動作オブジェクトは、プラグイン管理テーブル保持部２１２に登録される。
【００４３】
各プラグインは、他のプラグインの持つ機能を利用したり、情報を参照したりするために、プラグイン管理テーブル保持部２１２に保持されている、動作オブジェクトを取得するための動作オブジェクト取得部を有する。図４では、ＵＩ制御部１１０及び機能ＵＩプラグイン１５０についてのみ、動作オブジェクト取得部１１１又は１５２が図示されているが、他のプラグインも同様に動作オブジェクト取得部を有する。したがって、各プラグインは、プラグイン管理テーブル２１２を介して他のプラグインに対して機能の実行要求を行うことができる。例えば、機能ＵＩプラグイン１５０が、対応する機能プラグイン３７０にアクセス（例えば、機能の状態の問い合わせ）を行うためには、その機能プラグイン３７０の動作オブジェクトを取得すればよい。
【００４４】
図４において、認証管理部２３０は、認証部２３１を有する。認証部２３１は、認証情報を入力する画面を介して入力される、ユーザを特定するための情報（例えば、ユーザ名等）とユーザを証明するための情報（例えば、パスワード等）と、デバイスサービス層４０における認証情報ＤＢ４１２の登録内容とを比較することにより、ユーザの正当性を判定する。認証情報ＤＢ４１２には、機器を利用可能なユーザを特定するための情報（例えばユーザ名）と、そのユーザであることを証明するための情報（例えばパスワード）との組み合わせが登録されている。なお、ユーザを証明する情報は、必ずしもパスワードに限られず、生体認証に用いられる情報（例えば、指紋情報）であってもよい。
【００４５】
図４の機能実現層３０において、機能プラグイン３７０は、機能を実行するための処理を行う機能実行部３７１を有する。機能プラグイン３７０は、当該機能に対応する操作画面を有してもよいが、図４では当該操作画面が別プラグイン（機能ＵＩプラグイン１５０）に実装された例が示されている。
【００４６】
ＵＩカスタマイズ情報管理部３５０は、ＵＩカスタマイズ情報の管理を行うプラグインである。ＵＩカスタマイズ情報とは、機能ＵＩプラグイン１５０の操作画面に対するカスタマイズ内容が記録される情報である。ＵＩカスタマイズ情報は、デバイスサービス層４０におけるカスタマイズ情報ＤＢ４１１に保存される。
【００４７】
ＵＩカスタマイズ管理部３５０は、登録部３５１、参照部３５２、更新部３５３、削除部３５４、検索部３５５、エクスポート部３５６、インポート部３５７、及びＵＩカスタマイズ部３５８等を有する。
【００４８】
登録部３５１は、カスタマイズ情報ＤＢ４１１にＵＩカスタマイズ情報を登録する。参照部３５２は、指定されたＵＩカスタマイズ情報を参照させる。更新部３５３は、既存のＵＩカスタマイズ情報を更新する。削除部３５４は、指定されたＵＩカスタマイズ情報をカスタマイズ情報ＤＢ４１１より削除する。検索部３５５は、カスタマイズ情報ＤＢ４１１よりＵＩカスタマイズ情報を検索する。エクスポート部３５６は、カスタマイズ情報ＤＢ４１１内のＵＩカスタマイズ情報をＣＳＶ形式又はＸＭＬ形式等に変換し、外部記憶装置（記録媒体）にファイルとして書き出す。インポート部３５７は、エクスポートにより、外部記憶装置に書き出されたＵＩカスタマイズ情報をカスタマイズ情報ＤＢ４１１の保存形式に変換して書き戻す。
【００４９】
ＵＩカスタマイズ部３５８は、ＵＩカスタマイズ情報の編集や又は複製して新規登録を行うための処理を制御する。より詳しくは、ＵＩカスタマイズ部３５８は、参照部３５２を利用して編集する対象のＵＩカスタマイズ情報を参照し、カスタマイズ（編集）を行い、更新部３５３を利用してカスタマイズ結果（編集結果）をカスタマイズ情報ＤＢ４１１に反映する。
【００５０】
本実施の形態ではＵＩカスタマイズ部３５８をＵＩカスタマイズ情報管理部３５０内に配置しているが、独立したプラグインとして実装してもよい。また、ＰＣなどの専用アプリケーションにＵＩカスタマイズ部３５８を持つようにしても良い。
ＵＩカスタマイズ部３５８は、ＵＩカスタマイズ情報管理部３５０の提供する、
なお、図４において、カスタマイズ情報ＤＢ４１１及び認証情報ＤＢ４１２は、図２におけるデータ管理部４１０の構成要素である。
【００５１】
本実施の形態では、コピーアプリケーション３０１の操作画面をカスタマイズ対象として説明する。図５は、コピーアプリケーションの操作画面例を示す図である。すなわち、図５に示される操作画面は、コピーアプリケーション３０１の機能ＵＩプラグイン１５０に含まれる機能ＵＩコンテンツ情報１５１に基づいて表示される画面である。
【００５２】
図５において、７１はトップ画面（操作対象がコピーアプリケーション３０１に切り替えられたときに最初に表示される操作画面）を示す。トップ画面７１には、ボタン７１−１〜ボタン７１−１９の１９個のボタンが配置されている。このうち、本実施の形態では、７１−１〜７１−３のカラーモードを設定するためのボタン、７１−６のキー色を反転させるためのボタン、７１−１３〜７１−１６の原稿面、印刷面、又は集約の設定を行うためのボタンについてカスタマイズ（表示又は非表示の切り替え）が可能であるとする。
【００５３】
また、７２は、トップ画面７１においてボタン７１−８が選択されたときに表示される用紙選択画面を示す。用紙選択画面７２には、ボタン７２−１〜ボタン７２−６の６個のボタンが配置されている。このうち、本実施の形態では、７２−３〜７２−６の給紙トレイを選択するためのボタンについてカスタマイズ（表示又は非表示の切り替え）が可能であるとする。
【００５４】
図５に示されるトップ画面７１及び用紙選択画面７２に対応する機能ＵＩコンテンツ情報１５１（画面構成情報）を示す。図６は、コピーアプリケーションの操作画面の機能ＵＩコンテンツ情報の構成例を示す図である。
【００５５】
図６においてコピーアプリケーション３０１の機能ＵＩコンテンツ情報１５１ａは、コピーアプリケーション３０１の全操作画面の情報を定義する画面定義情報６−１００と、操作画面に配置されるボタンやアイコン等の画面構成要素（表示部品）のレイアウトを定義する画面レイアウト情報６−１０１と、各ボタン内に配置されるメッセージやアイコン等の画面構成要素を定義するボタンレイアウト情報６−１０２から構成される。画面レイアウト情報１０１は、画面ごとに存在する。ボタンレイアウト情報６−１０２は、メッセージやアイコン等が配置されるボタンごとに存在する。
【００５６】
画面定義情報６−１００は、操作画面ごとに、画面ＩＤ、始点Ｘ、始点Ｙ、幅、高さ、形状、及びレイアウト等の情報を有する。画面ＩＤは、コピーアプリケーション３０１の機能ＵＩプラグイン１５０の機能ＵＩ制御部１５２が操作対象とされた操作画面を識別するために利用されるＩＤである。始点Ｘ及びＹは、オペレーションパネル６０２におけるタッチパネルの左上を起点としときの、操作画面の配置位置を規定する座標値である。幅及び高は、操作画面の幅と高さを示す情報である。形状は、操作画面の背景として表示させる画像のファイル名である。図６ではビットマップ画像を利用する例が示されている。レイアウトは、操作画面のレイアウトが定義された画面レイアウト情報６−１０１の識別名である。すなわち、レイアウトの値によって、操作画面とその画面レイアウト情報６−１０１とが関連付けられる。
【００５７】
例えば、画面定義情報６−１００において、行６−１は、図５で示したトップ画面７１に関するデータであり、行６−２は、図５で示した用紙選択画面に関するデータである。
【００５８】
続いて、画面レイアウト情報６−１０１について説明する。図６における画面レイアウト情報６−１０１は、トップ画面７１の画面レイアウト情報、すなわち、行６−１のレイアウトの値として指定されている「ｌａｙｏｕｔ＿ｃｏｐｙ＿ｔｏｐ」という識別名によって識別される画面レイアウト情報である。
【００５９】
画面レイアウト情報６−１０１において、行６−４〜行６−６は、対応する操作画面（トップ画面７１）に配置されるアイコンに関する定義情報（アイコン情報）である。アイコン情報は、アイコンごとに、画面構成要素ＩＤ、始点Ｘ、始点Ｙ、幅、高さ、及び画像等の情報を有する。
【００６０】
画面構成要素ＩＤは、画面ＩＤと同様、機能ＵＩ制御部１５２がアイコンを特定するために利用されるＩＤである。始点ＸとＹの列は、操作画面上におけるアイコンの配置位置を示す情報であり、例えば、操作画面の始点を基点とした相対座標値によって示される。幅、高さは、アイコンの幅、高さを示す。画像は、アイコンの画像のファイル名である。図６ではビットマップ画像を利用する例が示されている。
【００６１】
行６−７及び行６−８は、対応する操作画面（トップ画面７１）に表示するメッセージに関する情報（メッセージ情報）である。メッセージ情報は、メッセージごとに、画面構成要素ＩＤ、始点Ｘ、始点Ｙ、幅、高さ、フォントサイズ、及びフォントカラー等の情報を有する。画像構成要素ＩＤから高さまでの情報に関しては、アイコン情報におけるものと同義である。フォントサイズは、メッセージの文字のサイズである。フォントカラーは、メッセージの文字の色である。
【００６２】
行６−９〜行６−２７は、対応する操作画面（トップ画面７１）に配置されるボタンに関する定義情報（ボタン情報）である。ボタン情報は、ボタンごとに、画面構成要素ＩＤ、始点Ｘ、始点Ｙ、幅、高さ、形状、レイアウト、及びカスタマイズフラグ等の情報を有する。画像構成要素ＩＤから高さまでの情報に関しては、アイコン情報におけるものと同義である。形状は、ボタンの形状（背景）として利用される画像のファイル名である。レイアウトは、ボタン内のレイアウト（配置されるアイコンやメッセージ等の配置）が定義されたボタンレイアウト情報６−１０２の識別名である。すなわち、レイアウトの値によって、ボタンとそのボタンレイアウト情報６−１０２とが関連付けられる。カスタマイズフラグは、カスタマイズの可否（表示又は非表示の切り替えの可否）を示す情報である。「ｔｒｕｅ」は、カスタマイズが可能であることを示し、「ｆａｌｓｅ」は、カスタマイズが不可能であることを示す。
【００６３】
続いて、ボタンレイアウト情報６−１０２について説明する。なお、図６におけるボタンレイアウト情報６−１０２は、図５におけるボタン７１−１のボタンレイアウト情報、すなわち、行６−９のレイアウトの値として指定されている「ｌａｙｏｕｔ＿ａｕｔｏ＿ｃｏｌｏｒ」という識別名によって識別されるボタンレイアウト情報である。なお、ボタンレイアウト情報６−１０２の構成は、画面レイアウト情報６−１０１におけるアイコン情報又はメッセージ情報と同じ形式である。図中の例では、メッセージに関する行６−２８のみが定義されているが、これは、ボタン７１−１には、メッセージのみが表示されるからである。
【００６４】
以下、複合機１の処理手順について説明する。図７は、プラグインのインストール時の処理手順を説明するためのシーケンス図である。図７では、コピーアプリケーション３０１のプラグインをインストールする場合について説明する。
【００６５】
例えば、ユーザがオペレーションパネル６０２上に表示されたインストール画面において「コピーアプリケーション３０１」を選択して「インストール」ボタン押下すると、ＵＩ制御部１１０は、プラグイン管理部２１０に対し、コピーアプリケーション３０１のインストールを要求する（Ｓ１０１）。プラグイン管理部２１０は、インストールするコピーアプリケーション３０１に対応する機能プラグイン３７０（以下、「コピープラグイン３７０ａ」という。）及び機能ＵＩプラグイン１５０（以下、「コピーＵＩプラグイン１５０ａ」という。）を取得し、インストールされるべき位置に保存する（Ｓ１０２）。プラグインの取得は、ネットワークを介して所定のコンピュータからのダウンロードによって行われてもよいし、複合機１に接続された記録媒体（例えば、メモリカードスロット２３４にセットされたメモリカード２３５）より行われてもよい。
【００６６】
続いて、プラグイン管理部２１０は、コピーアプリケーション３０１のコピープラグイン３７０ａの動作オブジェクトを生成し（Ｓ１０３）、コピープラグイン３７０ａのアドレス情報をプラグインアドレス保持部２１１に登録する（Ｓ１０４）。
【００６７】
コピープラグイン１０５ａは、動作オブジェクトの生成に応じ、プラグイン管理部２１０に対し当該動作オブジェクトの登録を要求する（Ｓ１０５）。プラグイン管理部２１０は、コピープラグイン３７０ａの名称とその動作オブジェクトとを対応付けてプラグイン管理テーブル保持部２１２に登録する（Ｓ１０６）。
【００６８】
続いて、プラグイン管理部２１０は、コピーアプリケーション３０１のコピーＵＩプラグイン１５０ａの動作オブジェクトを生成する（Ｓ１０７）。コピーＵＩプラグイン１５０ａは、自らの機能ＵＩコンテンツ情報１５１（以下、「コピーＵＩコンテンツ情報１５１ａ」という。）より、カスタマイズ対象となる画面構成要素情報（ＵＩカスタマイズ情報）を抽出し、抽出されたＵＩカスタマイズ情報の登録をＵＩカスタマイズ情報管理部３５０に要求する（Ｓ１０８）。なお、カスタマイズ対象となる画面構成要素情報とは、図６の画面レイアウト情報６−１０１におけるボタン情報のうち、カスタマイズフラグの値が「ｔｒｕｅ」の行に係る情報が相当する。
【００６９】
ＵＩカスタマイズ情報の登録要求に応じ、カスタマイズ情報管理部３５０は、カスタマイズ情報ＤＢ４１１にカスタマイズ情報を保存する（Ｓ１０９）。これによって、コピーアプリケーション３０１のＵＩカスタマイズ情報はカスタマイズ情報ＤＢ４１１に永続化される（Ｓ１１０）。なお、カスタマイズ情報は、アプリケーション（プラグイン）ごとに関連付けられて保存される。
【００７０】
一方、プラグイン管理部２１０は、コピーＵＩプラグイン１５０ａの動作オブジェクトの生成後、コピーＵＩプラグイン１５０ａのアドレス情報をプラグインアドレス保持部２１１に登録する（Ｓ１１１）。
【００７１】
続いて、コピープラグイン１０５ａは、プラグイン管理部２１０に対し当該動作オブジェクトの登録を要求する（Ｓ１１２）。プラグイン管理部２１０は、コピーＵＩプラグイン１５０ａの名称とその動作オブジェクトとを対応付けてプラグイン管理テーブル保持部２１２に登録する（Ｓ１１３）。
【００７２】
以上のインストール処理により、コピーアプリケーション３０１のＵＩカスタマイズ情報がカスタマイズ情報ＤＢ４１１に登録されたことになる。
【００７３】
図８は、コピーアプリケーションのＵＩカスタマイズ情報が登録されたカスタマイズ情報ＤＢの例を示す図である。図中において、（Ａ）は、コピーアプリケーション３０１のＵＩカスタマイズ情報が登録される前のカスタマイズ情報ＤＢ４１１の状態を示す。（Ａ）では、送信アプリケーション３０２に関するＵＩカスタマイズ情報が登録されている。
【００７４】
図中に示されるように、ＵＩカスタマイズ情報は、画面構成要素（ボタン）ごとに、機能名、画面ＩＤ、画面構成要素ＩＤ、及び表示状態等の情報を有する。機能名は、カスタマイズ対象とされるボタンを含む操作画面を表示させるプラグイン（アプリケーション）の機能を示す。画面ＩＤは、カスタマイズ対象とされるボタンを含む操作画面の画面ＩＤである。画面構成要素ＩＤは、カスタマイズ対象とされるボタンの画面構成要素ＩＤである。表示状態は、当該操作画面が表示される際に当該画面構成要素（ボタン）を表示するか否かを示す情報である。「ｔｒｕｅ」は表示を示し、「ｆａｌｓｅ」は非表示を示す。
【００７５】
一方、（Ｂ）は、コピーアプリケーション３０１のＵＩカスタマイズ情報が登録された後のカスタマイズ情報ＤＢ４１１の状態を示す。図示されるように、図６においてカスタマイズフラグの値が「ｔｒｕｅ」であって、画面構成要素に関するレコードが新たに追加される。ここで、新たに追加されるレコードを構成する情報は、図７のステップＳ１０８において、コピーＵＩプラグイン１５０ａによって出力されるものである。なお、機能名は、コピーＵＩプラグイン１５０ａ自身が知っている（保持している）ため、コピーＵＩコンテンツ情報１５１ａより抽出された情報に対して、コピーＵＩプラグイン１５０ａが付加する。また、表示状態の値は、最初にＵＩカスタマイズ情報が登録される際は、「ｔｒｕｅ」をデフォルト値としてもよいし、プラグインごとに予め定義されている値が登録されてもよい。また、図８では、カスタマイズ情報ＤＢ４１１を単純なテーブルによって表現しているが、正規化して複数のテーブルによって構成してもよい。
【００７６】
次に、ＵＩカスタマズ情報を用いて、コピーアプリケーション３０１の操作画面をカスタマイズする際の処理について説明する。図９は、操作画面のカスタマイズ処理を説明するためのシーケンス図である。図９において、ＵＩカスタマイズ情報管理部３５０は、ＵＩカスタマイズ部３５８を除く部分に相当する。なお、図９の処理の開始時において、ＵＩカスタマイズ部３５８は、既に、カスタマイズ情報ＤＢ４１１よりコピーアプリケーション３０１のＵＩカスタマイズ情報を取得し、保持（キャッシュ）していることとする。
【００７７】
ＵＩカスタマイズ部３５８は、カスタマイズ画面を例えばオペレーションパネル６０２に表示させ、カスタマイズ画面上においてコピーアプリケーション３０１の操作画面のカスタマイズをユーザに行わせる（Ｓ３０１）。
【００７８】
カスタマイズ画面は、図８に示されるＵＩカスタマイズ情報に基づいて、カスタマイズ可能な画面構成要素ごとに表示又は非表示を選択（チェック）させる一覧表のようなものであってもよいし、実際の操作画面を表示させ、操作画面上において非表示とするボタン又は表示させるボタンを選択させるようなものであってもよい。いずれにしても、ユーザによるカスタマイズによって、表示又は非表示されるボタンが選択され、それに応じて、ＵＩカスタマイズ部３５８は、キャッシュしているＵＩカスタマイズ情報を編集（更新）する。具体的には、表示対象とされたボタンの表示状態は「ｔｒｕｅ」とし、非表示対象とされたボタンの表示状態は「ｆａｌｓｅ」とする。
【００７９】
続いて、ユーザによってカスタマズ結果の保存要求が入力される（Ｓ３０２）。保存要求に応じ、ＵＩカスタマイズ部３５８は、編集されたＵＩカスタマイズ情報をＵＩカスタマイズ情報管理部３５０に出力することにより、カスタマイズ情報ＤＢ４１１の更新を要求する（Ｓ３０３）。編集されたＵＩカスタマイズ情報と更新要求とを受信したＵＩカスタマイズ情報管理部３５０は、カスタマイズ情報ＤＢ４１１の内容を、受信したＵＩカスタマイズ情報で更新する（Ｓ３０４〜Ｓ３０７）。
【００８０】
このように、本実施の形態では、操作画面（機能ＵＩコンテンツ情報１３１）の差分情報であるＵＩカスタマイズ情報を編集することにより、操作画面のカスタマイズが行われる。なお、ＵＩカスタマイズ情報は、変更があった画面構成要素（ボタン）に関するものだけをＵＩカスタマイズ部３５８が送信して更新を行ってもよいし、カスタマイズを行った画面に属する全ての画面構成要素に関するＵＩカスタマイズ情報をＵＩカスタマイズ部３５８が送信して、変更が無いものに関しても更新を行ってもよい。
【００８１】
次に、ＵＩカスタマイズ情報に基づいて、コピーアプリケーション３０１の操作画面（例えば、トップ画面７１）が表示される際の処理手順について説明する。図１０は、操作画面の表示処理の処理手順を説明するためのシーケンス図である。図１０の処理は、コピーアプリケーション３０１以外のアプリケーション（例えば、ファクスアプリケーション３０３）の操作画面がオペレーションパネル６０２に表示されている状態において、ボタンの押下などのユーザによる入力により、コピーアプリケーション３０１の操作画面への遷移が生じることによって開始される。
【００８２】
まず、ＵＩ制御部１１０は、コピーＵＩプラグイン１５０ａの動作オブジェクト（以下、「コピーＵＩオブジェクト」という。）の取得をプラグイン管理部２１０に要求する（Ｓ２０１）。プラグイン管理部２１０は、プラグイン管理テーブル保持部２１２に保持されている動作オブジェクトの中から、コピーＵＩプラグイン１５０ａの名称をキーとしてコピーＵＩオブジェクトを検索し（Ｓ２０２）、検索されたコピーＵＩオブジェクトをＵＩ制御部１１０に送信する（Ｓ２０３）。
【００８３】
続いて、ＵＩ制御部１１０は、コピーＵＩオブジェクトを介してコピーＵＩプラグイン１５０ａに対し、コピーＵＩコンテンツ情報１５１ａの取得を要求する（Ｓ２０４）。コピーＵＩプラグイン１５０ａは、自身に属するコピーＵＩコンテンツ情報１５１ａをＵＩ制御部１１０に送信する（Ｓ２０５）。
【００８４】
ＵＩ制御部１１０は、受信したコピーＵＩコンテンツ情報１５１ａに基づき、コピーアプリケーション３０１の操作画面の生成を行う（Ｓ２０６）。ＵＩ制御部１１０は、操作画面の生成の過程において、コピーＵＩコンテンツ情報１５１ａ内にカスタマイズ対象となる画面構成要素（すなわち、カスタマイズフラグが「ｔｒｕｅ」の画面構成要素）を発見すると、当該画面構成要素の画面構成要素ＩＤを伴ってＵＩカスタマイズ情報の取得をＵＩカスタマイズ情報管理部３５０に要求する（Ｓ２０７）。
【００８５】
ＵＩカスタマイズ情報の取得要求を受信したＵＩカスタマイズ情報管理部３５０は、受信した画面構成要素ＩＤに基づいて、要求されているＵＩカスタマイズ情報をカスタマイズ情報ＤＢ４１１より検索し、その検索結果（ＵＩカスタマイズ情報）をＵＩ制御部１１０に送信する（Ｓ２０８〜Ｓ２１１）。ＵＩ制御部１１０は、コピーＵＩコンテンツ情報１５１ａに対し、取得されたＵＩカスタマイズ情報をマージして操作画面を生成する。すなわち、ＵＩカスタマイズ情報において非表示とされている画面構成要素（ボタン）は表示されないように操作画面を生成する。
【００８６】
操作画面の生成が完了すると、ＵＩ制御部１１０は、コピーＵＩプラグイン１５０ａに画面生成完了通知を送信する（Ｓ２１２）。画面生成完了通知を受信したコピーＵＩプラグイン１５０ａは、コピーアプリケーション３０１に対する設定情報（動作条件）を取得するため、当該設定情報を保持しているコピープラグイン３７０ａの動作オブジェクト（以下、「コピーオブジェクト」という。）の取得をプラグイン管理に要求する（Ｓ２１３）。プラグイン管理部２１０は、プラグイン管理テーブル保持部２１２に保持されている動作オブジェクトの中から、コピープラグイン３７０ａの名称に基づいてコピーオブジェクトを検索し（Ｓ２１４）、検索されたコピーオブジェクトをコピーＵＩプラグイン１５０ａに送信する（Ｓ２１５）。
【００８７】
コピーＵＩプラグイン１５０ａは、取得したコピーオブジェクトを介して、コピーＵＩプラグイン１５０ａに設定情報の取得を要求する（Ｓ２１６）。設定情報の取得要求を受信したコピーアプリケーション３０１は、その時点でのコピーアプリケーション３０１に対する設定情報をコピーＵＩプラグイン１５０ａに送信する（Ｓ２１７）。なお、設定情報には、例えば、原稿のサイズや読み取り時のカラーモード、給紙するカセット段等に関する情報が含まれている。設定情報を受信したコピーＵＩプラグイン１５０ａは、当該設定情報に基づき、画面の表示更新を行う（Ｓ２１８）。例えば、ボタンを反転表示させたり、メッセージを表示させたりする。
【００８８】
このように、本実施の形態では、操作画面の生成は、各プラグインによってではなく、ＵＩ制御部１１０によって一元的に行われる。その際に、ＵＩカスタマイズ情報に基づいて、カスタマイズされた操作画面が生成される。
【００８９】
次に、コピーアプリケーション３０１のプラグインをアンインストールする際の処理手順について説明する。図１１は、プラグインのアンインストール時の処理手順を説明するためのシーケンス図である。
【００９０】
例えば、ユーザがオペレーションパネル６０２上に表示されたアンインストール画面において「コピーアプリケーション３０１」を選択して「アンインストール」ボタン押下すると、ＵＩ制御部１１０は、プラグイン管理部２１０に対し、コピーアプリケーション３０１のアンインストールを要求する（Ｓ４０１）。プラグイン管理部２１０は、コピープラグイン３７０ａ及びコピーＵＩプラグイン１５０ａに対して停止要求を送信する（Ｓ４０２、Ｓ４０３）停止要求は、プログラムの削除であってもよく、また、プログラムを格納している記憶装置の管理テーブルからプログラムのアドレス情報の削除であってもよい。
【００９１】
停止要求を受信したコピープラグイン３７０ａは、停止前処理を行い、その完了後にプラグイン管理部２１０に応答を送信する（Ｓ４０３）。停止の応答を受信したプラグイン管理部２１０は、プラグイン管理テーブル保持部２１２が保持するプラグイン管理テーブルから、コピープラグイン３７０ａの動作オブジェクト（コピーオブジェクト）を削除する（Ｓ４０４）。続いて、プラグイン管理部２１０は、プラグインアドレス保持部２１１が保持するコピープラグイン３７０ａが格納されているアドレス等の情報を削除する（Ｓ４０５）。
【００９２】
一方、停止要求を受信したコピーＵＩプラグイン１５０ａは、停止前処理として、コピーアプリケーション３０１（コピーＵＩプラグイン１５０ａ）のＵＩカスタマイズ情報の削除をＵＩカスタマイズ情報管理部３５０に要求する（Ｓ４０７）。ＵＩカスタマイズ情報の削除要求を受信したＵＩカスタマイズ情報管理部３５０は、カスタマイズ情報ＤＢ４１１に蓄積されているＵＩカスタマイズ情報からコピープラグイン３７０ａに関連するＵＩカスタマイズ情報を削除する（Ｓ４０８、Ｓ４０９）。停止前処理としてのＵＩカスタマイズ情報の削除が完了すると、コピーＵＩプラグイン１５０ａは、プラグイン管理部２１０に応答を送信する（Ｓ４１０）。
【００９３】
停止の応答を受信したプラグイン管理部２１０は、プラグイン管理テーブル保持部２１２が保持するプラグイン管理部２１０テーブルから、コピーＵＩプラグイン１５０ａの動作オブジェクト（コピーＵＩオブジェクト）を削除する（Ｓ４０４）。続いて、プラグイン管理部２１０は、プラグインアドレス保持部２１１が保持する、コピーＵＩプラグイン１５０ａが格納されているアドレス等の情報を削除する（Ｓ４０５）。
【００９４】
このように、コピーアプリケーション３０１（コピーＵＩプラグイン１５０ａ）のアンインストールに応じて、対応するＵＩカスタマイズ情報がカスタマイズ情報ＤＢ４１１から削除される。したがって、記憶領域の不要な消費が防止される。
【００９５】
次に、ＵＩカスタマイズ情報のエクスポート及びインボートについて説明する。上述したように、エクスポートとは、カスタマイズ情報ＤＢ４１１に永続化されているＵＩカスタマイズ情報を、ＣＳＶ形式やＸＭＬ形式などに変換し、外部記憶装置に書き出すことをいう。外部記憶装置に書き出された情報は、ＰＣなどで読み込み、編集を行うことも可能である。
【００９６】
また、インポートとは、エクスポートにより外部記憶装置に書き出された情報を、カスタマイズ情報ＤＢ４１１の保存形式に変換して書き戻すことをいう。インポートには、外部記憶装置の情報によってカスタマイズ情報ＤＢ４１１の全ての情報を上書きする完全インポートや、カスタマイズ情報ＤＢ４１１に存在しないデータのみを書き戻す差分インポート等があるが、いずれを用いても良い。
【００９７】
エクスポート及びインボートは、ＵＩカスタマイズ情報のバックアップや、他の機器でも同じＵＩカスタマイズ情報を利用したい場合等に便利である。
【００９８】
図１２は、ＵＩカスタマイズ情報のエクスポート処理及びインポート処理を説明するためのシーケンス図である。
【００９９】
例えば、操作パネル６０２に表示された、ＵＩカスタマイズ情報のエクスポート要求を入力させる画面（エクスポート画面）を介して、エクスポート対象としてＵＩカスタマイズ情報が選択され、書き出し先の外部記憶装置が選択された後、エクスポートの開始を指示するボタンがユーザによって押下される（Ｓ５０１）。
【０１００】
エクスポートの開始の指示を受けたＵＩ制御部１１０は、エクスポート対象がＵＩカスタマイズ情報であるため、その情報を管理するＵＩカスタマイズ情報管理部３５０に対して書き出し先の外部記憶装置を識別する情報をパラメータとしてエクスポートを要求する（Ｓ５０２）。エクスポート要求を受けたＵＩカスタマイズ情報管理部３５０は、カスタマイズ情報ＤＢ４１１より全てのＵＩカスタマイズ情報を取得する（Ｓ５０３〜Ｓ５０５）。
【０１０１】
続いて、ＵＩカスタマイズ情報管理部３５０は、取得したＵＩカスタマイズ情報をシリアライズ（ＣＳＶ又はＸＭＬ等の形式への変換）し（Ｓ５０６）、エクスポート要求において指定された外部記憶装置へ書き出す（Ｓ５０７）。この際、ＵＩカスタマイズ情報管理部３５０は、書き出しの進捗状況をＵＩ制御部１１０へ通知する（Ｓ５０８）。したがって、ＵＩ制御部１１０によって、進捗状況を示す画像（例えば、進捗バー）がオペレーションパネル６０２に表示される。全てのＵＩカスタマイズ情報の書き出しが終了すると、ＵＩカスタマイズ情報管理部３５０は、ＵＩ制御部１１０へ終了通知を行い（Ｓ５０９）、エクスポート処理を終了させる。
【０１０２】
続いて、図１２を用いてインポート処理について説明する。
【０１０３】
例えば、操作パネル６０２に表示された、ＵＩカスタマイズ情報のインポート要求を入力させる画面（インポート画面）を介して、インポート対象としてＵＩカスタマイズ情報が選択され、書き出し先の外部記憶装置が選択された後、インポートの開始を指示するボタンがユーザによって押下される（Ｓ５１１）。
【０１０４】
インポートの開始の指示を受けたＵＩ制御部１１０は、インポート対象がＵＩカスタマイズ情報であるため、その情報を管理するＵＩカスタマイズ情報管理部３５０に対して、読み込み対象の外部記憶装置を識別する情報をパラメータとして、ＵＩカスタマイズ情報のインポートを要求する（Ｓ５０２）。インポート要求を受けたＵＩカスタマイズ情報管理部３５０は、インポート要求において指定された外部記憶装置からデータを読み込み（Ｓ５１３）、デシリアライズ（ＣＳＶ又はＸＭＬ等の形式への変換からカスタマイズ情報ＤＢ４１１における保存形式への変換）し（Ｓ５１４）、カスタマイズ情報ＤＢ４１１に書き戻す（Ｓ５１５、Ｓ５１６）。この際、ＵＩカスタマイズ情報管理部３５０は、書き戻しの進捗状況をＵＩ制御部１１０へ通知する（Ｓ５１７）。したがって、ＵＩ制御部１１０によって、進捗状況を示す画像（例えば、進捗バー）がオペレーションパネル６０２に表示される。全てのＵＩカスタマイズ情報の書き戻しが終了すると、カスタマイズ情報管理部３５０は、ＵＩ制御部１１０に終了通知を行い、インポート処理を終了させる（Ｓ５１８）。
【０１０５】
なお、図１２では、カスタマイズ情報ＤＢ４１１に保存されている全てのＵＩカスタマイズ情報をエクスポート対象とする例について説明したが、アプリケーション（プラグイン）単位や画面単位等、所定の単位でエクスポートを行っても良い。
【０１０６】
ところで、上記では、ユーザごとのＵＩカスタマイズ情報の管理については特に言及されていない。しかし、ユーザに応じて使う機能が異なり、また、機器を利用する習熟度が異なることに鑑みれば、操作画面もユーザごとにパーソナライズされて表示されることが望ましい。そこで、以下では、ユーザに応じて操作画面の構成の変更を可能として例について説明する。
【０１０７】
ユーザに応じて操作画面の構成の変更を可能とするには、同一の操作画面に対して複数のＵＩカスタマイズ情報をユーザに応じて定義可能とすればよい。
【０１０８】
図１３は、ユーザに応じて操作画面の構成の変更を可能とした場合のカスタマイズ情報ＤＢの構成例を示す図である。
【０１０９】
図中において、１３−１００及び１３−１０１は、同一の操作画面に対するＵＩカスタマイズ情報であり、それぞれを特定するためのＩＤが割り当てられている。すなわち、ＵＩカスタマイズ情報１３−１００のＩＤは、「０」、ＵＩカスタマイズ情報１３−１０１のＩＤは、「１」である。なお、ＵＩカスタマイズ情報の構成については、図８において説明した通りである。
【０１１０】
１３−００１は、複合機１に登録されている各ユーザと、当該ユーザが利用するＵＩカスタマイズ情報との関連付け情報である。例えば、理工太郎は複合機１の機能をもれなく利用したいということから、全ての機能を設定するためのボタンが表示されるＩＤが「１」のＵＩカスタマイズ情報１３−１０１が利用対象とされている。また、山田花子と日本太郎は、カラー設定を行うボタンのうち、フルカラー及び自動カラー選択のボタンが非表示とされたＩＤが「０」のＵＩカスタマイズ情報１３−１００が利用対象とされている。
【０１１１】
なお、各ユーザが利用するＵＩカスタマイズ情報は、操作パネル６０２等を介して各ユーザに選択させてもよいし、管理者が、ユーザの役割等に応じて機能制限を行うために作成したＵＩカスタマイズ情報を、各ユーザに割り当ててもよい。
【０１１２】
また、図１３では、複合機１を操作するための全操作画面に対するＵＩカスタマイズ情報を一つのまとまりとして扱っているが、それらを分割してアプリケーション（プラグイン）や機能の単位、又は操作画面の単位で扱い、分割された単位ごとに、各ユーザとの関連付けを行うようにしてもよい。
【０１１３】
更に、図１３では、ＵＩカスタマイズ情報を単純なテーブルで表現しているため、画面ＩＤ等、共通のデータを重複して保持するように構成されているが、正規化して一つのＵＩカスタマイズ情報を複数のテーブルによって管理するようにしてもよい。
【０１１４】
以下、ＵＩカスタマイズ情報が図１３に示されるように構成される場合の処理手順について説明する。図１４は、ユーザに応じた操作画面の表示処理の処理手順を説明するためのシーケンス図である。
【０１１５】
例えば、オペレーションパネル６０２に表示されているログイン画面を介して、ユーザによってユーザ名及びパスワードが入力され、認証の開始を指示するボタンが押下される（Ｓ６０１）。認証の開始の指示を受けたＵＩ制御部１１０は、ユーザ名とパスワードとをパラメータとして認証管理部２３０に認証を要求する（Ｓ６０２）。認証要求を受けた認証管理部２３０は、認証情報ＤＢ４１２からユーザ名が一致する情報（ユーザ名とパスワードとの組）を検索する（Ｓ６０３〜Ｓ６０５）。続いて、認証管理部２３０は、認証情報ＤＢ４１２より取得した情報に設定されているパスワードと、パラメータとして受け取ったパスワードとを比較し、一致しているかどうかの判定を行う（Ｓ６０６）。判定が終了すると、認証管理部２３０は、認証結果をＵＩ制御部１１０に応答として通知する（Ｓ６０７）。
【０１１６】
ユーザの認証が成功した場合、ＵＩ制御部１１０は、ログインしたユーザに対応する操作画面を表示させるために、ＵＩカスタマイズ情報管理部３５０に対して、ユーザ名を検索パラメータとして、当該ユーザに係る関連付け情報１３−００１（以下、「ユーザカスタマイズ情報」という。）の取得を要求する（Ｓ６０８）。
【０１１７】
ユーザカスタマイズ情報の取得要求を受け取ったＵＩカスタマイズ情報管理部３５０は、パラメータに指定されたユーザ名をキーとしてカスタマイズ情報ＤＢ４１１の関連付け情報１３−００１を検索し、指定されたユーザ名に関連付けられているＩＤに係るＵＩカスタマイズ情報を取得し、取得された情報を当該ユーザのユーザカスタマイズ情報をとしてＵＩ制御部１１０に送信する（Ｓ６１２）。続いて、ＵＩ制御部１１０は、ログインしたユーザの利用するＵＩカスタマイズ情報のＩＤを、取得されたユーザカスタマイズ情報より取得し、保持する（Ｓ６１３）。
【０１１８】
続いて、ステップＳ６１４〜ステップＳ６１８において、図１０のステップＳ２０１〜Ｓ２０５と同様の処理が実行される。
【０１１９】
続いて、ＵＩ制御部１１０は、コピーＵＩコンテンツ情報１５１ａに基づき、コピーアプリケーション３０１の操作画面の生成を行う（Ｓ６１９）。ＵＩ制御部１１０は、操作画面の生成の過程において、コピーＵＩコンテンツ情報１５１ａ内にカスタマイズ対象となる画面構成要素（すなわち、カスタマイズフラグが「ｔｒｕｅ」の画面構成要素）を発見すると、保持しているＵＩカスタマイズ情報のＩＤと当該画面構成要素の画面構成要素ＩＤとをパラメータとしてＵＩカスタマイズ情報管理部３５０にＵＩカスタマイズ情報の取得を要求する（Ｓ６２０）。
【０１２０】
ＵＩカスタマイズ情報取得要求を受信した、ＵＩカスタマイズ情報管理部３５０はＵＩカスタマイズ情報のＩＤと画面構成要素ＩＤとに基づき、カスタマイズ情報ＤＢ４１１の関連付け情報１３−１００等を検索し、その検索結果（ユーザカスタマイズ情報）をＵＩ管理に送信する（Ｓ６１９〜Ｓ６２４）。
【０１２１】
以降の処理に関しては、図１０におけるステップＳ２１２と同様であるため、ここでの説明は省略する。
【０１２２】
このように、本実施の形態では、ユーザに応じて異なる構成によって操作画面を表示させることができる。
【０１２３】
なお、ＵＩカスタマイズ情報が図１３のように構成される場合において、或るプラグイン（例えば、コピーアプリケーション３０１のプラグイン）がアンインストールされた場合、図１１の処理において、アンインストール対象とされたプラグインに関して全ユーザ分のＵＩカスタマイズ情報をカスタマイズ情報ＤＢ４１２より削除すればよい。
【０１２４】
また、各ＵＩカスタマイズ情報に、その内容をユーザが容易に識別可能な名称を設定可能としてもよい。また、アプリケーション（プラグイン）単位ではなく、ユーザ単位でＵＩカスタマイズ情報の削除を可能としてもよい。この場合、複数のプラグインを跨って、横断的にＵＩカスタマイズ情報が削除されうる。
【０１２５】
更に、ユーザ単位のエクスポート及びインポートを可能としてもよい。この場合、エクスポートを要求するユーザに関連付いているＵＩカスタマイズ情報がエクスポートされ、また、インポートを要求するユーザに関連付いているＵＩカスタマイズ情報が書き戻される。
【０１２６】
ところで、ＵＩカスタマイズ情報管理部３５０は、プラグインの一つであるため、必要に応じて適宜インストール又はアンインストールが可能である。したがって、複合機１では、ＵＩカスタマイズ情報管理部３５０が存在しない状況も発生しうる。以下、斯かる場合の処理手順について説明する。
【０１２７】
図１５は、ＵＩカスタマイズ情報管理部がインストールされていない場合の操作画面の表示処理の処理手順を説明するためのシーケンス図である。図１５では、複合機１の起動時にコピーアプリケーション３０１の操作画面を表示する例について説明する。すなわち、図１５では、複合機１の起動後に最初に表示される操作画面は、コピーアプリケーション３０１の操作画面であるとする。
【０１２８】
複合機１が起動されると、ＵＩ制御部１１０は、ＵＩカスタマイズ情報管理部３５０の動作オブジェクト（以下、「ＵＩカスタマイズ情報管理オブジェクト」という。）の取得をプラグイン管理部２１０に要求する（Ｓ７０１）。プラグイン管理部２１０は、プラグイン管理テーブル保持部２１２に保持されている動作オブジェクトの中からＵＩカスタマイズ情報管理オブジェクトを検索する（Ｓ７０２）。ここで、ＵＩカスタマイズ情報管理部３５０のプラグインはインストールされていないため、その動作オブジェクトを見つけることはできない。したがって、プラグイン管理部２１０は、ＵＩカスタマイズ情報管理オブジェクトは未登録であることをＵＩ制御部１１０に通知する（Ｓ７０３）。プラグイン管理部２１０からの通知に応じ、ＵＩ制御部１１０は、ＵＩカスタマイズ情報管理オブジェクトは未登録であることを記憶する。
【０１２９】
続いて、初期アプリケーションはコピーアプリケーション３０１であるという前提なので、ＵＩ制御部１１０は、コピーＵＩオブジェクトの取得をプラグイン管理部２１０に要求する（Ｓ７０４）。プラグイン管理部２１０は、プラグイン管理テーブル保持部２１２に保持されている動作オブジェクトの中から、コピーＵＩオブジェクトを検索し（Ｓ７０５）、検索されたコピーＵＩオブジェクトをＵＩ制御部１１０に送信する（Ｓ７０６）。
【０１３０】
続いて、ステップＳ７０７及びＳ７０８では、図１０のステップＳ２０４及びＳ２０５と同様の処理によって、ＵＩ制御部１１０は、コピーＵＩコンテンツ情報１５１ａを取得する。続いて、ＵＩ制御部１１０は、受信したコピーＵＩコンテンツ情報１５１ａに基づき、コピーアプリケーション３０１の操作画面（トップ画面７１）の生成を行う（Ｓ７０９）。この際、図１０の場合とは異なり、ＵＩ制御部１１０は、ＵＩカスタマイズ情報管理オブジェクトを有していないため、コピーＵＩコンテンツ情報１５１ａ内におけるカスタマイズ対象となる画面構成要素の検索は行わない。したがって、コピーＵＩコンテンツ情報１５１ａの情報のみで基本構成（デフォルト）の操作画面が生成される。
【０１３１】
画面の生成が完了した以降（Ｓ７１０以降）の処理手順は図１０のステップＳ２１２以降と同様であるため、ここでの説明は省略する。
【０１３２】
上述したように、本実施の形態における複合機１によれば、ＵＩカスタマイズ情報管理部３５０によって、インストールされたプラグインのそれぞれのＵＩカスタマイズ情報が一元管理される。また、ＵＩ制御部１１０によって、プラグインの操作画面の基本構成（既定の構成）としての画面構成情報（機能ＵＩコンテンツ情報１５１）と、ＵＩカスタマイズ情報とに基づいて、各プラグインの操作画面が一元的に生成される。したがって、各プラグインの開発者は、画面構成情報を定義しておけばよく、カスタマイズに関するロジックをプラグインに実装する必要はない。よって、開発作業が効率化されると共に、統一性のあるカスタマイズ手段を提供することができる。
【０１３３】
また、ＵＩカスタマイズ情報管理部３５０によってＵＩカスタマイズ情報のエクスポート及びインポートが一元的に行われるため、プラグインごとに、ＵＩカスタマイズ情報のエクスポート及びインポートに関するロジックを実装する必要はない。また、エクスポート及びインポートするデータのデータ形式が変更されても、その影響範囲は、ＵＩカスタマイズ情報管理部３５０に限られ、各プラグインのソースコードを修正する必要はない。
【０１３４】
更に、ユーザに応じて異なるＵＩカスタマイズ情報を対応付けることが可能であるため、ユーザごとに最適な操作画面を提供することができ、アクセシビリティを向上させることができる。
【０１３５】
なお、本実施の形態では、カスタマイズの内容としてボタンの表示又は非表示を切り替える例について説明したが、カスタマイズ対象となる画面構成要素はボタンに限られない。また、カスタマイズの内容についても、配置場所の変更、サイズの変更、形状や色の変更等、各種の態様に対して本発明は適用可能である。但し、カスタマイズの内容に応じてＵＩカスタマイズ情報において管理する情報を変化させる必要がある。すなわち、本実施の形態のように、表示状態ではなく、配置場所の座標情報、サイズ、形状や色を示す情報等を管理すればよい。
【０１３６】
また、カスタマイズ情報ＤＢ４１１は、複合機１ごとに実装されていなくてもよい。例えば、ネットワークを介して接続されるコンピュータにおいて、複数の複合機１に対するＵＩカスタマイズ情報が一元管理されていてもよい。この場合、一元管理されているＵＩカスタマイズ情報を編集することによって、複数の複合機１の操作画面をカスタマイズすることができる。
【０１３７】
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【図面の簡単な説明】
【０１３８】
【図１】本発明の実施の形態における画像形成装置のハードウェア構成の一例を示す図である。
【図２】本発明の実施の形態の画像形成装置におけるソフトウェア構成例を示す図である。
【図３】パイプ＆フィルタアーキテクチャの概念を説明するための図である。
【図４】操作画面のカスタマイズ機能を実現するためのソフトウェア構成例を示す図である。
【図５】コピーアプリケーションの操作画面例を示す図である。
【図６】コピーアプリケーションの操作画面の機能ＵＩコンテンツ情報の構成例を示す図である。
【図７】プラグインのインストール時の処理手順を説明するためのシーケンス図である。
【図８】コピーアプリケーションのＵＩカスタマイズ情報が登録されたカスタマイズ情報ＤＢの例を示す図である。
【図９】操作画面のカスタマイズ処理を説明するためのシーケンス図である。
【図１０】操作画面の表示処理の処理手順を説明するためのシーケンス図である。
【図１１】プラグインのアンインストール時の処理手順を説明するためのシーケンス図である。
【図１２】ＵＩカスタマイズ情報のエクスポート処理及びインポート処理を説明するためのシーケンス図である。
【図１３】ユーザに応じて操作画面の構成の変更を可能とした場合のカスタマイズ情報ＤＢの構成例を示す図である。
【図１４】ユーザに応じた操作画面の表示処理の処理手順を説明するためのシーケンス図である。
【図１５】ＵＩカスタマイズ情報管理部がインストールされていない場合の操作画面の表示処理の処理手順を説明するためのシーケンス図である。
【符号の説明】
【０１３９】
１          複合機
１０        ユーザインタフェース層
２０        コントロール層
３０        機能実現層
４０        デバイスサービス層
５０        デバイス制御層
１１０      ＵＩ制御部
１１１      動作オブジェクト取得部
１１２      ユーザインタフェース部
１２０      通信サーバ１
１５０      機能ＵＩプラグイン
１５１      機能ＵＩコンテンツ情報
１５２      機能ＵＩ制御部
１５３      動作オブジェクト取得部
２１０      プラグイン管理部
２１１      プラグインアドレス保持部
２１２      プラグイン管理テーブル保持部
２２０      リクエスト管理部
２３０      認証管理部
２３１      認証部
３１１      読取フィルタ
３１２      保管文書読出フィルタ
３１３      メール受信フィルタ
３１４      ファクス受信フィルタ
３２１      文書加工フィルタ
３２２      文書変換フィルタ
３３１      印刷フィルタ
３３２      保管文書登録フィルタ
３３３      メール送信フィルタ
３３４      ファクス送信フィルタ
３４１      ユーザ情報管理部
３５０      ＵＩカスタマイズ情報管理部
３５１      登録部
３５２      参照部
３５３      更新部
３５４      削除部
３５５      検索部
３５６      エクスポート部
３５７      インポート部
３５８      ＵＩカスタマイズ部
３７０      機能プラグイン
３７１      機能実行部３７１
４１０      データ管理部
６０４      撮像部
６０５      印刷部
６０１      コントローラ
６０２      オペレーションパネル６０２
６０３      ファクシミリコントロールユニット
６１１      ＣＰＵ
６１２      ＡＳＩＣ
６２１      ＮＢ
６２２      ＳＢ
６３１      ＭＥＭ−Ｐ
６３２      ＭＥＭ−Ｃ
６３３      ＨＤＤ
６３４      メモリカードスロット
２３５      メモリカード
６４１      ＮＩＣ
６４２      ＵＳＢデバイス
６４３      ＩＥＥＥ１３９４デバイス
６４４      セントロニクスデバイス
【図１】
2009054027.tif 000003
【図２】
2009054027.tif 000004
【図３】
2009054027.tif 000005
【図４】
2009054027.tif 000006
【図５】
2009054027.tif 000007
【図６】
2009054027.tif 000008
【図７】
2009054027.tif 000009
【図８】
2009054027.tif 000010
【図９】
2009054027.tif 000011
【図１０】
2009054027.tif 000012
【図１１】
2009054027.tif 000013
【図１２】
2009054027.tif 000014
【図１３】
2009054027.tif 000015
【図１４】
2009054027.tif 000016
【図１５】
2009054027.tif 000017