(57)【特許請求の範囲】
【請求項１】
インタフェースを介して複数種類の外部デバイスと接続可能な外部デバイス制御装置であって、
前記外部デバイスの制御を行う複数の第一の制御手段と、
前記複数種類の外部デバイスのうち一の前記外部デバイスと、該外部デバイスの制御を行うときに利用する前記第一の制御手段とを対応付けた対応情報を記憶する対応情報記憶手段と、
前記対応情報を表示させる表示手段と、
表示された前記対応情報の編集を受け付ける編集手段と、
前記対応情報に基づいて、前記複数の第一の制御手段のうち、前記インタフェースを介して接続した前記外部デバイスに対応する前記第一の制御手段を特定し、前記対応する第一の制御手段によって当該外部デバイスを制御させる第二の制御手段とを有する外部デバイス制御装置。
【請求項２】
前記表示手段は、ネットワークを介して接続する情報処理装置の表示装置に前記対応情報を表示させ、
前記編集手段は、ネットワークを介して接続する前記情報処理装置における編集を受け付けることを特徴とする請求項１記載の外部デバイス制御装置。
【請求項３】
前記第一の制御手段によって制御した前記外部デバイスから取得した情報を用いて前記認証処理を実行する認証手段を有することを特徴とする請求項１又は２記載の外部デバイス制御装置。
【請求項４】
前記複数の第一の制御手段のいずれかによって、前記外部デバイスから取得された情報を取得する外部デバイス情報取得手段を備え、
前記認証手段は、前記外部デバイス情報取得手段に対して前記外部デバイスから取得した情報の取得を要求することで、前記情報を取得することを特徴とする請求項３記載の外部デバイス制御装置。
【請求項５】
前記第二の制御手段は、前記対応情報に基づいて、前記インタフェースを介して接続した前記外部デバイスに対応する前記第一の制御手段が複数特定される場合に、優先度に基づいて、当該外部デバイスを制御させる前記第一の制御手段を特定することを特徴とする請求項１乃至４いずれか一項記載の外部デバイス制御装置。
【請求項６】
前記編集手段は、前記対応情報が含む対応付けの変更又は削除を受け付け、
当該外部デバイス制御装置は、画像形成装置であることを特徴とする請求項１乃至５いずれか一項記載の外部デバイス制御装置。
【請求項７】
インタフェースを介して複数種類の外部デバイスと接続可能な装置が実行する外部デバイス制御方法であって、
対応情報記憶手段が記憶する、前記複数種類の外部デバイスのうち一の前記外部デバイスと、該外部デバイスの制御を行うときに利用する、前記外部デバイスの制御を行う複数の第一の制御手段のうちの一の前記第一の制御手段とを対応付けた対応情報を表示させる表示手順と、
表示された前記対応情報の編集を受け付ける編集手順と、
前記対応情報に基づいて、前記複数の第一の制御手段のうち、前記インタフェースを介して接続した前記外部デバイスに対応する前記第一の制御手段を特定し、前記対応する第一の制御手段によって当該外部デバイスを制御させる制御手順とを有する外部デバイス制御方法。
【請求項８】
前記表示手順は、ネットワークを介して接続する情報処理装置の表示装置に前記対応情報を表示させ、
前記編集手順は、ネットワークを介して接続する前記情報処理装置における編集を受け付けることを特徴とする請求項７記載の外部デバイス制御方法。
【請求項９】
前記第一の制御手段によって制御した前記外部デバイスから取得した情報を用いて前記認証処理を実行する認証手順を有することを特徴とする請求項７又は８記載の外部デバイス制御方法。
【請求項１０】
前記認証手順は、前記複数の第一の制御手段のいずれかによって、前記外部デバイスから取得された情報を取得する外部デバイス情報取得手段に対して前記外部デバイスから取得した情報の取得を要求することで、前記情報を取得することを特徴とする請求項９記載の外部デバイス制御方法。
【請求項１１】
前記制御手順は、前記対応情報に基づいて、前記インタフェースを介して接続した前記外部デバイスに対応する前記第一の制御手段が複数特定される場合に、優先度に基づいて、当該外部デバイスを制御させる前記第一の制御手段を特定することを特徴とする請求項７乃至１０いずれか一項記載の外部デバイス制御方法。
【請求項１２】
前記編集手順は、前記対応情報が含む対応付けの変更又は削除を受け付け、
前記装置は、画像形成装置であることを特徴とする請求項７乃至１１のいずれか一項記載の外部デバイス制御方法。
【請求項１３】
インタフェースを介して複数種類の外部デバイスと接続可能な装置に、
対応情報記憶手段が記憶する、前記複数種類の外部デバイスのうち一の前記外部デバイスと、該外部デバイスの制御を行うときに利用する、前記外部デバイスの制御を行う複数の第一の制御手段のうちの一の前記第一の制御手段とを対応付けた対応情報を表示させる表示手順と、
表示された前記対応情報の編集を受け付ける編集手順と、
前記対応情報に基づいて、前記複数の第一の制御手段のうち、前記インタフェースを介して接続した前記外部デバイスに対応する前記第一の制御手段を特定し、前記対応する第一の制御手段によって当該外部デバイスを制御させる制御手順とを実行させるプログラム。
【請求項１４】
前記表示手順は、ネットワークを介して接続する情報処理装置の表示装置に前記対応情報を表示させ、
前記編集手順は、ネットワークを介して接続する前記情報処理装置における編集を受け付けることを特徴とする請求項１３記載のプログラム。
【請求項１５】
前記第一の制御手段によって制御した前記外部デバイスから取得した情報を用いて前記認証処理を実行する認証手順を前記装置に実行させることを特徴とする請求項１３又は１４記載のプログラム。
【請求項１６】
前記認証手順は、前記複数の第一の制御手段のいずれかによって、前記外部デバイスから取得された情報を取得する外部デバイス情報取得手段に対して前記外部デバイスから取得した情報の取得を要求することで、前記情報を取得することを特徴とする請求項１５記載のプログラム。
【請求項１７】
前記制御手順は、前記対応情報に基づいて、前記インタフェースを介して接続した前記外部デバイスに対応する前記第一の制御手段が複数特定される場合に、優先度に基づいて、当該外部デバイスを制御させる前記第一の制御手段を特定することを特徴とする請求項１３乃至１６いずれか一項記載のプログラム。
【請求項１８】
前記編集手順は、前記対応情報が含む対応付けの変更又は削除を受け付け、
前記装置は、画像形成装置であることを特徴とする請求項１３乃至１７のいずれか一項記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、外部デバイス制御装置、外部デバイス制御方法、及びプログラムに関する。
【背景技術】
【０００２】
近年、画像形成装置等の組み込み系機器においても、ＵＳＢデバイス等の外部デバイスを接続するためのインタフェースが標準搭載されているモデルが多くなってきている。そこで、画像形成装置におけるユーザ認証の際に、外部デバイス（例えば、ＩＣカードリーダ等）を使用してユーザ情報を入力させるといったソリューションが展開されている（例えば、特許文献１〜３）。
【０００３】
ところで、パーソナルコンピュータのように汎用性及び処理能力の高い多目的な情報処理装置においては、ＵＳＢデバイス等の外部デバイスを制御するためのデバイスドライバプログラムがＯＳ中にプリインストールされていたり、外部デバイスの製造元から無償で公開されていたりする場合が多い。したがって、斯かる情報処理装置では、ユーザの任意に応じて接続可能な外部デバイスを簡便に変更することができる。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、画像処理装置等の組み込み系機器においては、デバイスドライバプログラムや、そのデバイスドライバプログラムを使用して任意の情報を入力又は出力するプログラム等が出荷時等に固定的にインストールされており、使用可能な外部デバイスを変更することは困難であった。したがって、上記特許文献に記載された技術では、ユーザ認証の際に使用可能な外部デバイスが固定的に制限されている。
【０００５】
本発明は、上記の点に鑑みてなされたものであって、外部デバイスとの接続について柔軟性を向上させることのできる外部デバイス制御装置、外部デバイス制御方法、及びプログラムの提供を目的とする。
【課題を解決するための手段】
【０００６】
そこで上記課題を解決するため、本発明は、インタフェースを介して複数種類の外部デバイスと接続可能な外部デバイス制御装置であって、前記複数種類の前記外部デバイスごとに該外部デバイスの制御を行う複数の第一の制御手段と、前記複数の第一の制御手段のうち、前記インタフェースを介して接続した前記外部デバイスに対応する前記第一の制御手段によって当該外部デバイスを制御する第二の制御手段とを有する。
【発明の効果】
【０００７】
本発明によれば、外部デバイスとの接続について柔軟性を向上させることのできる外部デバイス制御装置、外部デバイス制御方法、及びプログラムを提供することができる。
【図面の簡単な説明】
【０００８】
【図１】本発明の実施の形態における画像形成装置のハードウェア構成例を示す図である。
【図２】本発明の実施の形態の画像形成装置のソフトウェア構成例を説明するための図である。
【図３】画像形成装置に複数のデバイスドライバプログラムがインストールされた状態を示す図である。
【図４】管理テーブルの編集処理を説明するためのフローチャートである。
【図５】管理テーブルの表示例を示す図である。
【図６】管理テーブルの第二の表示例を示す図である。
【図７】管理テーブルの第三の表示例を示す図である。
【図８】管理テーブルの第四の表示例を示す図である。
【図９】外部デバイス接続時の処理手順を説明するためのフローチャートである。
【図１０】外部デバイスからの情報の取得時の処理手順を説明するための図である。
【発明を実施するための形態】
【０００９】
以下、図面に基づいて本発明の実施の形態を説明する。図１は、本発明の実施の形態における画像形成装置のハードウェア構成例を示す図である。図１において、画像形成装置１０は、スキャン、コピー、及び印刷等の複数の機能を一台の筐体において実現する複合機であり、ＣＰＵ１０１、メモリ１０２、記録媒体１０３、ネットワークＩ／Ｆ１０４、画像出力部１０５、画像処理部１０６、外部デバイスＩ／Ｆ１０７、表示部１０８、及び操作部１０９等を有する。
【００１０】
画像形成装置１０での機能を実現するプログラムは、ＨＤＤ（Hard Disk Drive）等の不揮発性の記録媒体１０３に記録（インストール）される。記録媒体１０３は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。メモリ１０２は、プログラムの起動指示があった場合に、記録媒体１０３からプログラムを読み出して格納する。ＣＰＵ１０１は、メモリ１０２に格納されたプログラムに従って画像形成装置１０に係る機能を実現する。ネットワークＩ／Ｆ１０４は、ネットワークに接続するためのインタフェースとして用いられる。
【００１１】
表示部１０８は、ＬＣＤ（Liquid Crystal Display）等によって構成され、操作画面やメッセージ等を表示させる。操作部１０９は、ハード的なボタン（キー）によって構成され、ユーザによる操作入力を受け付ける。なお、表示部１０８及び操作部１０９は、オペレーションパネルとして一体的に構成されてもよい。
【００１２】
画像処理部１０６は、画像データを出力（印刷）等する際に必要とされる各種の画像処理を実行する。画像出力部１０５は、画像データの出力（印刷）を行う。
【００１３】
外部デバイスＩ／Ｆ１０７は、認証のためのユーザ情報の入力に用いられる外部デバイス３０と接続するためのインタフェースであり、例えば、ＵＳＢポート（ＵＳＢホストインタフェース）又はシリアルボート等によって構成される。外部デバイス３０は、外部デバイスＩ／Ｆ１０７と接続可能なハードウェアインタフェース（例えば、ＵＳＢコネクタ又はシリアルインタフェース等）を有するデバイスであり、例えば、ＩＣカードを読み取るＩＣカードリーダー、ＵＳＢメモリ、又はキーボード等が相当する。同一の外部デバイスＩ／Ｆ１０７には複数種類の外部デバイス３０を接続することができる。
【００１４】
図２は、本発明の実施の形態の画像形成装置のソフトウェア構成例を説明するための図である。図２において、画像形成装置１０は、デバイス制御フレームワーク１２０、管理アプリ１３０、及び認証アプリ１４０等を有する。
【００１５】
デバイス制御フレームワーク１２０は、画像形成装置１０が外部デバイス３０と接続するための制御機構に関するフレームワークである。図中において、デバイス制御フレームワーク１２０は、外部デバイス制御部１２１、外部デバイス情報取得部１２２、及び管理テーブル１２３を含む。
【００１６】
外部デバイス制御部１２１は、外部デバイスＩ／Ｆ１０７を介して画像形成装置１０に接続される外部デバイス３０を制御し、外部デバイス３０との通信を行う。外部デバイス情報取得部１２２は、外部デバイス制御部１２１を介して外部デバイス３０より情報（外部デバイス３０を介して取得又は入力等される情報）を取得する。
【００１７】
但し、デバイス制御フレームワーク１２０としての外部デバイス制御部１２１及び外部デバイス情報取得部１２２は、外部デバイス３０の制御又は外部デバイス３０からの情報の取得に関する枠組み（例えば、各種の外部デバイス３０に対して共通の処理）を提供するだけであり、各種の外部デバイス３０に固有の処理は、デバイスドライバプログラム１５０に含まれているソフトウェアモジュール（以下「ロジック実装モジュール」という。）に実装される。図中において、デバイスドライバプログラム１５０は、外部デバイス制御実装モジュール１５１及び外部デバイス情報取得実装モジュール１５２等のロジック実装モジュールを含む。
【００１８】
外部デバイス制御実装モジュール１５１は、外部デバイス３０のインタフェースレベルでの通信処理が実装されるロジック実装ジュールであり、外部デバイス制御部１２１に対して登録される。外部デバイス情報取得実装モジュール１５２は、外部デバイス３０よりからの情報の取得処理が実装されるロジック実装モジュールであり、外部デバイス情報取得部１２２に対して登録される。
【００１９】
なお、デバイスドライバプログラム１５０は、外部デバイス３０に対するいわゆるデバイスドライバと呼ばれるプログラムであり、外部デバイス３０の種類等に応じてその実装内容は異なる。したがって、接続される外部デバイス３０に応じたデバイスドライバプログラム１５０を画像形成装置１０にインストールすることによって、外部デバイス制御実装モジュール１５１及び外部デバイス情報取得実装モジュール１５２を当該外部デバイス３０に対応させて機能させることができる。但し、各デバイスドライバプログラム１５０は、デバイス制御フレームワーク１２０が規定する所定の形式に従って実装されている必要がある。すなわち、デバイスドライバプログラム１５０は、外部デバイス制御実装モジュール１５１及び外部デバイス情報取得実装モジュール１５２を有する必要がある。また、外部デバイス制御実装モジュール１５１は、外部デバイス制御部１２１において規定されたインタフェースに対する実装（デバイスドライバとしての初期化処理及び終了処理や、外部デバイス３０との対応付けに使用されるデバイスドライバプログラム１５０の情報（識別情報）を提供する処理等））を備えている必要がある。更に、外部デバイス情報取得実装モジュール１５２は、外部デバイス情報取得部１２２において規定されたインタフェースに対する実装を備えている必要がある。
【００２０】
管理テーブル１２３は、画像形成装置１０にインストールされたデバイスドライバプログラム１５０と外部デバイス３０との対応情報を管理するテーブルであり、例えば、記録媒体１０３に記録される。すなわち、画像形成装置１０には複数のデバイスドライバプログラム１５０をインストールすることができる。
【００２１】
図３は、画像形成装置に複数のデバイスドライバプログラムがインストールされた状態を示す図である。同図では、二つのデバイスドライバプログラム１５０（デバイスドライバプログラム１５０ａ及び１５０ｂ）がインストールされた状態が示されている。すなわち、外部デバイス制御部１２１には、デバイスドライバプログラム１５０ａの外部デバイス制御モジュール１５１ａとデバイスドライバプログラム１５０ｂの外部デバイス制御モジュール１５１ｂとが登録されている。また、外部デバイス情報取得部１２２には、デバイスドライバプログラム１５０ａの外部デバイス情報取得実装モジュール１５２ａとデバイスドライバプログラム１５０ｂの外部デバイス情報取得実装モジュール１５２ｂとが登録されている。
【００２２】
管理テーブル１２３は、このように複数インストールされうる各デバイスドライバプログラム１５０について、外部デバイス３０との対応情報を管理する。
【００２３】
管理アプリ１３０は、管理テーブル１２３の管理を行うアプリケーションである。認証アプリ１４０は、外部デバイス３０より取得される情報に基づいて画像形成装置１０のユーザの認証処理を行うアプリケーションである。すなわち、認証アプリ１４は、外部デバイス３０より取得される情報をユーザの認証情報として扱う。
【００２４】
以下、画像形成装置１０の処理手順について説明する。図４は、管理テーブルの編集処理を説明するためのフローチャートである。
【００２５】
例えば、操作部１０９を介して管理テーブル１２３の表示指示がユーザによって入力されると（Ｓ１０１）、管理アプリ１３０は、管理テーブル１２３を読み出し、メモリ１０２に記録する（Ｓ１０２）。続いて、管理アプリ１３０は、メモリ１０２に記録された管理テーブル１２３を表示部１０８に表示させる（Ｓ１０３）。
【００２６】
図５は、管理テーブルの表示例を示す図である。同図の管理テーブル表示画面５１０には、画像形成装置１０にインストールされているデバイスドライバプログラム１５０ごとに、デバイス名、プロダクトＩＤ、ベンダＩＤ、及びデバイスドライバ名が表示されている。ここで、デバイス名は外部デバイス３０の名前（例えば、モデル名等）である。プロダクトＩＤは、外部デバイス３０のプロダクトＩＤである。ベンダＩＤは、外部デバイス３０のベンダ（製造者）のＩＤである。同図の例では、プロダクトＩＤ及びベンダＩＤによって各外部デバイス３０は一意に識別される。デバイスドライバ名は、外部デバイス３０に対応するデバイスドライバプログラム１５０の名前（識別情報）である。なお、管理テーブル１２３には、管理テーブル表示画面５１０に表示されている情報が登録されている。この点は、以降に説明する管理テーブル表示画面５１０の他の例についても同様である。
【００２７】
管理テーブル表示画面５１０には更に、行ごとに（外部デバイス３０ごとに）編集ボタン及び削除ボタンが配置されている。編集ボタンが押下されると管理アプリ１３０は、当該編集ボタンに係る行を編集可能な状態とする。したがって、ユーザは、当該行の各項目の値を編集（変更）することにより、外部デバイス３０とデバイスドライバプログラム１５０との対応関係を変更することができる。また、削除ボタンが押下されると、管理アプリ１３０は当該行を削除する。したがって、当該行に係る対応関係は削除される。
【００２８】
管理テーブル表示画面５１０における管理テーブル１２３の編集が完了し（Ｓ１４０）、ＯＫボタンが押下されると、管理アプリ１３０は、当該編集内容に基づいて管理テーブル１２３を更新する（Ｓ１０５）。
【００２９】
なお、外部デバイス３０を一意に識別するためのパラメータを更に増やしてもよい。例えば、図６は、管理テーブルの第二の表示例を示す図である。同図では、外部デバイス３０を一意に識別するためのパラメータとしてリリース番号が追加された例が示されている。パラメータを増加させることにより、より厳密に外部デバイス３０を特定することができ、外部デバイス３０とデバイスドライバプログラム１５０とを対応付けることができる。なお、リリース番号は例示である。したがって、他のパラメータによって外部デバイス３０を識別可能であれば、当該他のパラメータを管理するようにすればよい。
【００３０】
また、管理テーブル１２３において、外部デバイス１３０を識別する情報にワイルドカード（任意の文字を意味する特殊文字）を用いてもよい。例えば、図７は、管理テーブルの第三の表示例を示す図である。
【００３１】
同図の例では、リリース番号にワイルドカード（「＊」）が含まれている。ワイルドカードを利用可能とすることにより、或る外部デバイス３０はリリース番号まで厳密に特定し、別の外部デバイス３０ではプロダクトＩＤ、ベンダＩＤだけを特定するといったように、外部デバイス３０とデバイスドライバプログラム１５０との対応付けに柔軟性を持たせることが可能となる。なお、ワイルドカードは、「＊」に限らず、「？」（任意の１文字）を用いてもよい。また、プロダクトＩＤ又はベンダＩＤにワイルドカードを指定してもよい。
【００３２】
更に、画像形成装置１０に接続された外部装置３０に対応するデバイスドライバプログラム１５０を判定する際の優先度を管理テーブル１２３に登録可能としてもよい。図８は、管理テーブルの第四の表示例を示す図である。
【００３３】
同図の管理テーブル表示画面５１０ｂでは、各行に優先度が付加されている。画像形成装置１０に接続された外部装置３０に対応するデバイスドライバプログラム１５０の判定時において、二つ以上のデバイスドライバプログラム１５０が検索される場合、この優先度（優先順位）に基づいて利用するデバイスドライバプログラム１５０が特定される。外部デバイス１３０の制御時は、一つのデバイスドライバプログラム１５０によって制御が行われるため、例えば、図７のようにワイルドカードが使用された場合に優先度は有効である。
【００３４】
なお、管理テーブル表示画面５１０（以下、管理テーブル表示画面５１０ａ及び５１０ｂも含めて総称する。）は、画像形成装置１０とネットワーク（有線又は無線の別は問わない）を介して接続するクライアントＰＣ２０（図１参照）の表示装置に表示させ、クライアントＰＣ２０において編集可能としてもよい。この場合、管理テーブル表示画面５１０に「ダウンロード」ボタンが配置されていてもよい。「ダウンロード」ボタンが押下されると、管理アプリ１３０は、管理テーブル１２３をファイルとしてクライアントＰＣ２０に転送する。これにより、管理テーブル１２３をクライアントＰＣ２０においてバックアップとして保存しておくこと等が可能となる。
【００３５】
また、クライアントＰＣ２０に管理テーブル表示画面５１０が表示される場合、「管理ファイルアップロード」ボタンが管理テーブル表示画面５１０に配置されるようにしてもよい。この場合、「管理ファイルアップロード」ボタンが押下されると、クライアントＰＣ２０は、クライアントＰＣ２０に保存されている管理テーブル１２３を画像形成装置１０に転送する。管理アプリ１３０は、当該管理テーブル１２３を受信すると、受信された管理テーブル１２３によって既存の管理テーブル１２３を更新（置換）する。これにより、クライアントＰＣ２０において、ＣＳＶ形式等によって管理テーブル１２３を作成することができ、管理テーブル１２３の作成に要する労力を軽減することが可能となる。また、上記ダウンロード機能と組み合わせることで、一つの画像形成装置１０における管理テーブル１２３をクライアントＰＣ２０にダウンロードし、当該管理テーブル１２３をクライアントＰＣ２０から他の画像形成装置１０にアップロードするといった運用が可能となる。これにより、複数の画像形成装置１０に対する管理テーブル１３０のメンテナンスが容易となる。
【００３６】
更に、クライアントＰＣ２０に管理テーブル表示画面５１０が表示される場合、「ドライバアップロード」ボタンが管理テーブル表示画面５１０に配置されるようにしてもよい。この場合、「ドライバアップロード」が押下されると、クライアントＰＣ２０は、クライアントＰＣに保存されているデバイスドライバプログラム１５０を画像形成装置１０に転送する。管理アプリ１３０は、デバイスドライバプログラム１５０を受信すると、当該デバイスドライバプログラム１５０をインストールする。具体的には、当該デバイスドライバプログラム１５０に含まれている外部デバイス制御実装モジュール１５１を外部デバイス制御部１２１に登録し、外部デバイス情報取得実装モジュール１５２を外部デバイス情報取得部１２２に登録する。
【００３７】
続いて、外部デバイス３０の接続時の処理手順について説明する。図９は、外部デバイス接続時の処理手順を説明するためのフローチャートである。
【００３８】
外部デバイスＩ／Ｆ１０７を介して外部デバイス３０が接続されると、外部デバイス制御部１２１は、当該接続を検知する（Ｓ２０１）。外部デバイス３０の接続の検知に応じ、外部デバイス制御部１２１は、外部デバイス３０の識別情報（プロダクトＩＤ、ベンダＩＤ、リリース番号等）を取得すると共に、取得された識別情報を外部デバイス情報取得部１２２に通知する（Ｓ２０２）。取得する識別情報の内容は、管理テーブル１２３に対応させればよい。続いて、外部デバイス制御部１２１及び外部デバイス情報取得部１２２のそれぞれは、接続された外部デバイス３０に対応するデバイスドライバプログラム１５０（ロジック実装モジュール）を当該外部デバイス３０の識別情報と管理テーブル１２３とに基づいて判定する（Ｓ２０３）。この際、外部デバイス３０の識別情報にワイルドカードが用いられている場合や、デバイスドライバプログラム１５０に対して優先度が設定されている場合は、これらに基づいて接続された外部デバイス３０に対応するデバイスドライバプログラム１５０が判定される。なお、外部デバイス制御部１２１及び外部デバイス情報取得部１２２のそれぞれは、判定結果としてのロジック実装モジュールの識別情報をメモリ１０２に記録しておく。また、デバイスドライバプログラム１５０と各ロジック実装モジュールとの関連付けは、ファイル名やその他の対応情報等に基づいて行えばよい。
【００３９】
続いて、デバイスドライバプログラム１５０の利用時の処理手順について説明する。本実施の形態では、認証アプリ１４０が外部デバイス３０より認証情報を取得する際の処理手順を具体例とする。図１０は、外部デバイスからの情報の取得時の処理手順を説明するための図である。図１０中、図３と同一部分には同一符号を付している。
【００４０】
認証アプリ１４０は、ユーザの認証時において、外部デバイス情報取得部１２２に外部デバイス３０からの情報の取得を要求する（Ｓ３０１）。この際、認証アプリ１４０は、外部デバイス情報取得部１２２とのインタフェースを意識していればよく、いずれの外部デバイス情報取得実装モジュール１５２が利用されるかは意識する必要はない。
【００４１】
続いて、外部デバイス情報取得部１２２は、図９の処理の判定結果としてその識別情報がメモリ１０２に記録されている外部デバイス情報取得実装モジュール１５２（ここでは外部デバイス情報取得実装モジュール１５２ａであるとする。）を呼び出し、情報の取得を指示する（Ｓ３０２）。続いて、外部デバイス情報取得実装モジュール１５２ａは、外部デバイス制御部１２１に対して外部デバイス３０からの情報の取得を要求する（Ｓ３０３）。外部デバイス制御部１２１は、図９の処理の判定結果としてその識別情報がメモリ１０２に記録されている外部デバイス制御実装モジュール１５１（ここでは外部デバイス制御実装モジュール１５１ａであるとする。）を呼び出し、情報の取得を指示する（Ｓ３０４）。外部デバイス制御実装モジュール１５１ａは、外部デバイス３０のインタフェース仕様レベルでの通信を外部デバイス３０と行い、外部デバイス３０より情報を取得する（Ｓ３０５）。取得された情報は、外部デバイス制御部１２１を介して外部デバイス情報実装モジュール１５２ａに返却される（Ｓ３０６、Ｓ３０７）。外部デバイス情報実装モジュール１５２ａは、取得された情報の形式を外部デバイス３０に応じた記録フォーマットに基づいて解釈し、解釈結果としての情報（ここでは、認証情報）を外部デバイス情報取得部１２２を介して認証アプリ１４０に返却する（Ｓ３０９）。その後、認証アプリ１４０は、返却された認証情報を用いて認証処理を行う。
【００４２】
上述したように、本実施の形態によれば、画像形成装置１０が使用しうる外部デバイス３０の種類が多岐に渡る場合であっても、接続された外部デバイス３０に対応するデバイスドライバプログラム１５０を適切に判定し、利用することができる。
【００４３】
また、外部デバイス３０とデバイスドライバプログラム１５０との対応関係を管理する管理テーブル１２３を、ユーザに簡便に編集させることができる。
【００４４】
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【００４５】
１０          画像形成装置
２０          クライアントＰＣ
３０          外部デバイス
１０１        ＣＰＵ
１０２        メモリ
１０３        記録媒体
１０４        ネットワークＩ／Ｆ
１０５        画像出力部
１０６        画像処理部
１０７        外部デバイスＩ／Ｆ
１０８        表示部
１０９        操作部
１２０        デバイス制御フレームワーク
１２１        外部デバイス制御部
１２２        外部デバイス情報取得部
１２３        管理テーブル
１３０        管理アプリ
１４０        認証アプリ
１５０、１５０ａ、１５０ｂ    デバイスドライバプログラム
１５１、１５１ａ、１５１ｂ    外部デバイス制御実装モジュール
１５２、１５２ａ、１５２ｂ    外部デバイス情報取得実装モジュール
【先行技術文献】
【特許文献】
【００４６】
【特許文献１】特開２００６−２１５７７０号公報
【特許文献２】特開２００７−１２２３８４号公報
【特許文献３】特開２００６−９２４３７号公報
【図１】
0005447608.tif 000002
【図２】
0005447608.tif 000003
【図３】
0005447608.tif 000004
【図４】
0005447608.tif 000005
【図５】
0005447608.tif 000006
【図６】
0005447608.tif 000007
【図７】
0005447608.tif 000008
【図８】
0005447608.tif 000009
【図９】
0005447608.tif 000010
【図１０】
0005447608.tif 000011