本発明は、一つには、画像処理装置にインストールされたプラグインアプリケーションに対応するサービスのセットを呼び出す方法に関する。画像処理装置はMFPである。MFPは、スキャン、印刷及び/又はファックスのような多機能を有する任意のプリンター又は複写機である。更に、上述のMFPは、スキャン及び印刷が個別機能であるため、単一段階で文書をスキャン及び印刷する複写機を有して良い。
方法は、画像処理装置のホストアプリケーションを開始する段階、及び画像処理装置の構成ファイルにアクセスする段階、を更に有する。ホストアプリケーションは、MFPのオペレーティングシステムと相互作用し及びMFPのハードウェアへオペレーティングシステムを通じてアクセスする実行コードであって良い。
構成ファイルは、少なくとも1つのプラグインの識別情報及び対応するサービスのセットを有する。構成ファイルは、XML、汎用マークアップ言語(SGML)、GML、RDF/XML、RSS、Atom、MathML、XHTML、SVG、DSDL、XUL、MXML、EAD又はKlipのような拡張マークアップ言語を有する任意の種類の設定ファイルであって良い。
留意すべき点はまた、構成ファイルが混合ブランド環境で使用可能であることである。例えば、いくつかの異なるブランドの複写機がオフィス又はビルのような1つの環境で使用される場合でさえ、各独自ブランドは構成ファイルを利用可能である。更に、それぞれの異なるMFPは、統一クライアントアーキテクチャ及びプラグインを読み込み可能であって良い。従って、各複写機又は多機能装置は、同一の基本インターフェース、及び問題の特定の複写機又は多機能プリンターの機能である限られたコマンドのみを有することが可能である。
各プラグインは、MFPの機能性を向上する多数のサービスを有する。方法は、識別された少なくとも1つのプラグインを開始する段階、を更に有する。プラグインは、サービスの対応するセットを統合形式でホストアプリケーションへ提供する。ここで統合は、1つの単位として形成し及び動作する個別の要素の組織的配置として定められる。
方法はまた、ホストアプリケーションサービス及びプラグインのサービスの対応するセットを有する統一グラフィカルインターフェースを提示する段階、を有する。統一グラフィカルインターフェースの例は、以下の図12−19を参照して議論される。
図を参照すると、いくつかの図を通じ同様の参照番号は同一の又は対応する部分を示す。より詳細には、図2では、統一クライアントアプリケーション5を有するアプリケーション層1が示される。MFPにインストールされた統一クライアントアプリケーション5は、コアアプリケーション6を有する。コアアプリケーションは、アプリケーションに仕えるプライマリルーチンを有するアプリケーションである。これらのプライマリルーチンは、標準的に、例えばスキャン、印刷、複写、ファックス、及び通信を有するMFPの基本機能を実行する。
図2では、統一クライアントアプリケーション5は、統一クライアントアプリケーション5に関する設定を有するconfig.xmlファイル7を更に有する。更に、プラグイン8a−nは、コアアプリケーション6により制御される。
異なる種類のプラグインが、統一クライアントアプリケーション6にインストールされ得る。例えば、図2に示された当該例では、Document Mall(商標)プラグイン8a、eCabinet(商標)プラグイン8b及び汎用プラグイン8nがインストールされる。
プラグインは一般に、コアアプリケーション6を介し多機能プリンターのハードウェアを動作するプログラム又はコードを有する。図2に示された統一クライアントアプリケーション5の別の説明は、図3で説明される。図3は、コアアプリケーション6、config.xmlファイル7及びプラグイン8を有する。
図4は、プラグイン8の内部構造の例を示す。例えば、プラグイン8は、単一のサービスウインドウ10aを有して良く、又は10a−nのような多数のサービスウインドウを有しても良い。サービスウインドウ10a−nは、ユーザーがサービスウインドウ10a−nに対応するサービスと相互作用することを可能にするユーザーインターフェースである。サービスウインドウ10a−nの更なる説明は、図12−16を参照して以下に議論される。プラグイン8はまた、単一のサービスデータ11aを有して良く、又は多数のサービスデータ要素11a−nを有しても良い。各サービスウインドウ10a−nは、対応するサービスデータ11a−nを有する。サービスデータ11a−nは一般的に、サービス名、サービスID、サービスウインドウ10a−nに対応する構成データ、規定サービスウインドウデータ及びユーザーによりサービスウインドウ10a−nを通じて入力された実行時間データを有する。
プラグイン8はまた、サービスデータハンドラ12を有し、及び任意的にログインウインドウ13及びログインデータ14、換言すると認証ユーザーインターフェースを有して良い。サービスデータハンドラ12は、MFPから受信装置へデータをアップロードする統一クライアントアプリケーションの一部である。各プラグイン8では、複数のサービスウインドウ10a−n及びサービスデータ要素11a−nが存在して良い。しかしながら、ある好適な実施例によると、唯1つのサービスデータハンドラ12が存在する。他の実施例は、1つより多いサービスデータハンドラ12を有して良い。
図5は、Document Mall(商標)プラグイン8aの例を示す。Document Mall(商標)サービスは、プラグイン8としてコアアプリケーションにインストールされ得る。Document Mall(商標)プラグイン8aが統一クライアントアプリケーション5にインストールされた場合、Document Mall(商標)により提供されるサービスは、統一クライアントアプリケーション5がインストールされるMFPにまで及ぶ。Document Mall(商標)プラグイン8aは、望ましくは選択的なログインウインドウ23及びログインデータ24を有する。これらの選択肢は、ユーザー名、パスワード及びアカウントを入力させ、そしてプラグイン8aにより利用されることを可能にし、プラグイン8aが未許可のユーザーによるプラグイン8aの使用を制限することを可能にする。
Document Mall(商標)プラグイン8aは、いくつかの異なるサービスウインドウ及びサービスデータを更に有する。例えば、Document Mall(商標)プラグイン8aには、eメールサービスウインドウ20a及びフォルダーサービスウインドウ20bが含まれる。eメールサービスウインドウ20aは、ユーザーにDocument Mall(商標)が格納するeメールアドレスをスキャン宛先として入力させるユーザーインターフェースである。一方で、フォルダーサービスウインドウ20bは、ユーザーにDocument Mall(商標)フォルダーをスキャン宛先として選択させるユーザーインターフェースである。更に、eメールサービスデータ21a及びフォルダーサービスデータ21bも含まれる。eメールサービスデータ21a及びフォルダーサービスデータ20bは、それぞれeメールサービスウインドウ20a及びフォルダーサービスウインドウ20bにより生成されたデータに相当する。Document Mall(商標)プラグイン8bはまた、サービスデータハンドラ22を有する。Document Mall(商標)プラグイン8aの例では、サービスデータハンドラ22は、eメールサービスデータ21a及びフォルダーサービスデータ21bの両方を1つのupload.xmlファイルに融合し、そしてアップロードファイルをDocument Mall(商標)サーバーへhttpsポストコマンドを通じて送信するアップロードハンドラとして使用される。当該例で言及されないサービスデータハンドラ22の他の使用もまた、可能である。
図6aは、統一クライアントソフトウェアアーキテクチャ構造を示す。図2及び3に示される統一クライアントアプリケーション5は、統一クライアント主スレッド30により開始される。図6aでは、統一クライアント主スレッド30は、プロジェクトアレイ31及びプロジェクトアレイウインドウ32を有するように示される。主スレッド30は、コアアプリケーション6を開始し、そしてconfig.xmlファイル7を読み出し、プロジェクトアレイ31を作成する。プロジェクトアレイ31は、いくつかのプロジェクト33a−nを有する。各プロジェクト33a−nは、少なくとも1つのプラグイン8に対応する。
プロジェクトアレイ31は、統一クライアントアプリケーションにインストールされたプロジェクトのリストである。プロジェクトアレイ31は、config.xmlファイル7に含まれるプロジェクト(<project>)タグを読み出し構築される。更に、主スレッド30は、config.xmlファイル7に含まれるサービス(<service>)タグを読み出すことにより各プロジェクト33a−nに対しサービスアレイ34a−nを作成する。サービスアレイは、各プロジェクトの下にインストールされたサービスのリストである。主スレッド30はまた、プロジェクトアレイウインドウ32を表示する。プロジェクトアレイウインドウ32は、統一クライアントアプリケーション6を使用する又は実行する時に最初に表示される画面である。しかしながら、本発明のある実施例によると、唯1つのプロジェクト33bがシステムに構成される場合、プロジェクトアレイウインドウ32はバイパスされる。プロジェクトアレイウインドウ32は、ユーザーに選択のためのプロジェクトボタンを表示する。プロジェクトボタンが選択されると、対応するプロジェクト33a−nが呼び出される。プロジェクトアレイウインドウ32は、図9を参照して以下に更に詳細に議論される。
図6aに示されたいくつかのプロジェクト33a−nは、プロジェクトアレイ31と接続される。各プロジェクト33a−nは、対応するログインデータプラグイン36及びログインウインドウプラグイン37を通じてプロジェクト33a−nのログイン/ログアウト処理を管理し得る。例えば、プロジェクト33a−nで認証が必要な場合、ログインウインドウプラグイン37が使用され、ユーザーがプロジェクト33a−nへのアクセスを開始し得る前に表示されるログインウインドウを表示し得る。ログイン/ログアウトボタンが押下されると、ログインデータプラグイン36により使用される対応するログイン及びログアウトハンドラが、呼び出される。
更に、プロジェクト33a−nは、ポストログイン処理を制御し得る。例えば、各サービス38a−nは、各サービス自身のポストログイン処理を、サービスウインドウプラグイン40a−nにより表示される各サービスのサービスウインドウに対し定め得る。認証が成功した場合、各サービス38a−nのポストログイン処理は、順次呼び出される。
上述のログインウインドウプラグイン37により表示されたログインウインドウは、認証ユーザーインターフェース(「UI」)表示の例である。ログインウインドウプラグイン37により表示されたログインウインドウは、ログインデータプラグイン36に含まれ及び認証処理記述を有するログインデータと相互作用する。更に、ログインウインドウプラグイン37により使用されるログインウインドウが実施され、追加認証情報を要求し得る。Document Mall(商標)プラグイン8aのある例として、Document Mall(商標)ログインウインドウ23が実施され、ユーザーのためのアカウント情報を入力する場所を有して良い。他の情報は、ログインウインドウプラグイン37により利用されて良い。更に、ログインデータは、各サービスウインドウ40a−n及びサービスデータハンドラ12によりアクセスされ得る。更に、各プロジェクト33a−nは、主ウインドウ35及びサービスアレイ34a−nを有する。
図6aでは、主ウインドウ35は、プロジェクト33bと関連付けられる。主ウインドウ35だけがプロジェクト33bの下に図示されるが、各プロジェクト33a−nは主ウインドウを有するよう実施されて良い。主ウインドウ35は、ボタンに対応する各サービス38a−nに対するサービス管理のために使用される。当該ボタンは、ユーザーが選択可能な、サービスウインドウへのリンクであり、主ウインドウ35に含まれる。例えば、Document Mall(商標)プラグイン8aの例では、主ウインドウ35は、スキャン設定の取り扱い、文書名入力及びログインボタンの取り扱いのためのボタンを有する。主ウインドウ35の別の例は、図10を参照して以下に議論される。
各プロジェクト33a−nには、サービスアレイ34a−nが含まれる。各サービスアレイ34a−nは、含まれるサービス38a−nのリストを有する。サービス38a−nは、インストールされたプラグインに関連する機能である。各サービス38a−nは、サービスウインドウプラグイン40a−n及びサービスデータプラグイン39a−nを有する。サービスウインドウプラグイン40a−nに含まれるサービスウインドウは、サービスウインドウユーザーインターフェースを表示する。更に、サービスウインドウプラグイン40a−nは、ポストログイン処理を実行するか、又は既定値を得てそしてサービスデータプラグイン39a−nに設定する。例えば、Document Mall(商標)プラグイン8aの例のポストログイン処理では、Document Mall(商標)フォルダーサービスは、ユーザーのフォルダーリストをダウンロードし、そしてユーザーのフォルダーを規定フォルダー宛先として設定する。サービスウインドウプラグイン40a−nはまた、ユーザーとの相互作用動作を実行し、サービスデータプラグイン39a−n内のサービスデータと相互作用し及び更新する。サービスウインドウプラグイン40a−nは、抽象型クラスである。また、サービスウインドウプラグイン40a−nの特定の動作は、コードで予め定められている。しかしながら、開発者は、開発者の必要に応じて、サービスウインドウプラグインに機能を追加するか、又は拡張することが可能である。例えば、Document Mall(商標)プラグイン8aの例では、Document Mall(商標)eメールサービスウインドウは、Document Mall(商標)サービスを使用したeメールアドレス検索、及び手動eメールアドレス入力の両方を支援する。
サービスデータプラグイン39a−nに含まれるサービスデータは、ユーザー動作に基づき、サービスウインドウプラグイン40a−nにより更新される。更に、サービスデータプラグイン39a−nに含まれるサービスデータは、アップロード動作が実行された場合、サービスデータハンドラ12によりアクセスされる。例えば、ネットワークフォルダーへのeメールの送信又はアップロードは、Document Mall(商標)プラグイン8aの例では、サービスデータハンドラ12により実行される。サービスウインドウプラグイン40a−nのように、サービスデータプラグイン39a−nは抽象型クラスであり、プラグインの開発者により更新又は拡張され更なるサービス関連データを作成し得る。例えば、Document Mall(商標)プラグイン8aの例では、Document Mall(商標)eメールサービスは、サービスデータプラグイン39a−n内に含まれるサービスデータ内に保存されたeメール宛先アドレスに基づき、eメールを送信する。
従って、統一クライアント主スレッド30は、いくつかのプロジェクト33a−nを記載するプロジェクトアレイ31を有し、各プロジェクトはいくつかのサービス38a−nを記載するサービスアレイ34a−nを有する。プロジェクト33a−nは、プロジェクトアレイウインドウ32に表示される。また各プロジェクトは主ウインドウ35、及び主ウインドウ35の前に表示される選択的なログインウインドウを有する。ログインウインドウは、或いは主ウインドウ35と同時に表示され得る。更に、各サービス38a−nは、サービスウインドウプラグイン40a−nに含まれるサービスウインドウを有する。
また留意すべき点は、複数のプラグイン8が単一のプロジェクト33a−nと関連付けられ得ることである。例えば、Document Mall(商標)プラグイン8a及びeCabinet(商標)プラグイン8bが単一のプロジェクト33a−nに含まれる場合、ユーザーはDocument Mall(商標)及びeCabinet(商標)サービスウインドウ40a−nの両方を主ウインドウ35内に見る。ユーザーが対応するサービスウインドウ40a−n内の全ての必要な情報を入力した場合、1つのスキャンジョブは、Document Mall(商標)及びeCabinet(商標)サーバーの両方へ分配され得る。
図6bを参照すると、当該図は、接続記号Aにより図6aと接続する。MFPによるスキャンが完了すると、アップロードデータ50が作成される。アップロードデータ50は、例えば、文書名、スキャンデータ、ログインデータ及びサービスデータを有する。アップロードデータ50はまた、サービスデータハンドラ54a−nによりアップロードされ得る、受信装置への任意の他の情報を有し得る。サービスデータハンドラ54a−nは、MFPからのデータのアップロードを実行する。また各サービスデータハンドラは、プロジェクト33a−nに関連する。アップロードスレッド/ジョブモニター51は、ジョブ待ち行列53を有する。アップロードスレッド/ジョブモニター51は、ジョブ待ち行列53を監視し及びジョブが利用可能になった場合にジョブを処理するバックグランド処理である。アップロードスレッド/ジョブモニター51は、サービスデータハンドラ54a−nに接続される。スキャンが完了した場合、主スレッド30は、主スレッド30の最終アップロードデータ50を投稿し、そして最終アップロードデータ50をジョブ待ち行列53に追加する。
各ジョブに対し、アップロードスレッド/ジョブモニター51は、対応するサービスデータハンドラ54a−nに基づきアップロードデータ50を分類し、そして対応するサービスデータハンドラプラグイン54a−nを呼び出し、アップロードデータ50を処理する。例えば、Document Mall(商標)プラグイン8aの例では、アップロードスレッド/ジョブモニター51はスキャン又は画像ファイルに関連する情報、ログインデータ、eメールサービスデータ及びフォルダーサービスデータのような一般的なデータを、処理されるようDocument Mall(商標)サービスデータハンドラプラグイン54a−nへ渡す。アップロードスレッド/ジョブモニター51が上述の段階を完了すると、最終段階は、ジョブアップロード状態を得て、そしてジョブログを更新することである。ジョブアップロード状態は、サービスデータハンドラ54a−nによるアップロードの状態である。またジョブログは、アップロードスレッド/ジョブモニター51により処理されたジョブのリストである。
上述のように、サービスデータハンドラ54a−nは、アップロードデータ50のアップロードを実行する。例えば、Document Mall(商標)プラグイン8aの例では、サービスデータハンドラ54a−nは、一般的データ、ログインデータ、eメール宛先のようなeメールサービスデータ、及びフォルダー宛先のようなフォルダーサービスデータを受信する。最後に、サービスデータハンドラ54a−nは、受信したアップロードデータ50をupload.xmlファイルに構成し、そして当該xmlファイルを、config.xmlファイル7内で指定されたDocument Mall(商標)サーバーへ、httpポスト処理を介しアップロードする。最後に、サービスデータハンドラ54a−nは、アップロード状態をジョブロギングのためジョブモニターへ報告する。
フローチャート内の如何なる処理の記載又はブロックも、モジュール、セグメント、特定の論理関数又は処理中の段階を実施するための1つ以上の実行命令を有するコードの部分として理解されるべきである。また代案の実装は、当業者に理解されるように、含まれる機能に依存して実質的に同時に又は逆を含み、示された又は議論された順序から外れた順序で実行されて良い本発明の例である実施例の範囲に含まれる。
図7A−7Dは、統一クライアント主スレッド30のフローチャートを示す。図7Aで開始された後、統一クライアントアプリケーション5は、段階60で初期化される。統一クライアントアプリケーション5は、コアアプリケーション6を最初に初期化することにより初期化される。Config.xmlファイル7は、次に段階61で読み出される。Config.xmlファイル7は、コアアプリケーション6の及びホスト又はコアアプリケーション6と関連付けられたプラグイン8の設定を有する。プロジェクトアレイ31は次に、段階62で、インストールされたプラグイン8の数に基づき構築される。次に段階63で、サービスアレイ34a−nは各プロジェクト33a−nに対し構築される。更に主ウインドウ35が、段階64で構築される。前述のように、以下により詳細に議論される図10は、主ウインドウ35の例を示す。フローは次に、図7Bの処理Bへ進む。
図7Bでは、プロジェクトアレイ31の長さは、段階70で検査される。プロジェクトアレイ31は、統一クライアントで構成されたプロジェクト33a−nのリストを有する。プロジェクトアレイ31の長さが1より長い場合、フローは段階71へ進む。しかしながら、プロジェクトアレイ31の長さが1より長くない場合、フローは段階74へ進む。段階74では、プロジェクトカウントはi=0に設定され、及びプロジェクト0が選択される。上述のように、段階70で決定されたプロジェクトアレイ31の長さが1より長い場合、段階71でプロジェクトアレイウインドウ32が作成される。プロジェクトアレイウインドウ32は次に、段階72で表示される。そして段階73で、プロジェクトは手動ユーザー入力に基づき選択される。段階73又は段階74によりプロジェクトが選択されると、段階75は選択されたプロジェクトを初期化又は実行する。
全体的な手順として、段階70−74は、1つより多いプロジェクトがシステムに構成されているかどうかを知るために検査する処理を実行する。1つのプロジェクトだけが構成されている場合、プロジェクトアレイウインドウ32は表示されず、そして単一の構成されたプロジェクトが初期化される。1つ以上のプロジェクトがシステムに構成されている場合、プロジェクトアレイウインドウ32が構築されそしてユーザーに示され、初期化するプロジェクトを選択する能力をユーザーに与える。
図7BのCから図7Cを参照すると、段階80は、初期化されたプロジェクトがログインウインドウプラグイン37を有するかどうかを決定する。如何なるログインウインドウプラグイン37もインストールされない場合、フローは図7Dの処理Eへ進む。プロジェクトがログインウインドウプラグイン37を有する場合、ログインウインドウクラス及びログインデータクラスの両方は、段階81で読み込まれる。
クラスファイルが読み込まれると、段階82でログインウインドウが表示される。ログインウインドウは、ログインボタン及び取り消しボタンの両方を有する。段階83で、どのボタンが押下されたかに依存して、フローは異なる方へ進む。ログインボタンが押下された場合、フローは段階84へ進む。段階84では、ログインウインドウプラグイン37の処理ログイン関数が呼び出される。しかしながら、段階83で取り消しボタンが押下された場合、フローは図7Bの処理Dへ進む。処理Dは、フローを処理70へ戻し、プロジェクトアレイ31が1より長い場合、プロジェクトアレイウインドウ32をもう一度表示する。
段階83でログインボタンが押下された場合、段階84で、ログインウインドウプラグイン37のログイン関数が呼び出される。段階85は、ログインが成功したかどうかを知るために検査する。ログインが成功しなかった場合、フローは段階86へ進み、ログインウインドウをリセットし、そして次に段階82へ戻る。ログインが成功した場合、フローは図7Dの処理Eへ進む。
従って、図7Cは、ログインウインドウプラグイン37が選択されたプロジェクト33a−nにインストールされた場合、認証を完了する一般的な手順を有する。如何なるログインウインドウプラグイン37もインストールされない場合、ログイン処理の全体はスキップされる。
図7Dを参照すると、段階90で、各サービスのサービスデータが読み込まれる。サービスデータが読み込まれると、フローは段階91へ進む。段階91では、各サービスのポストログイン関数が呼び出される。段階92では、ログアウトリスナーは、主ウインドウ35に設定される。更に、段階93で、各サービス38a−nのサービスボタンは、主ウインドウ35内に作成される。各サービスのサービスウインドウクラスは次に、段階94で読み込まれる。そしてアップロードデータ50は、段階95で初期化されるか又は作成される。
アップロードデータ50が段階95で初期化されると、段階96で、主ウインドウ35がユーザーに表示される。規定サービスは次に段階97で選択される。そして選択されたサービスに対応するサービスウインドウは、段階98で表示される。段階99では、サービスデータは段階98で表示されるサービスウインドウに入力される。フローは次に段階100へ進む。段階100は、自動ログアウト時間が終了したかどうかを検査する。自動ログアウト機能は、如何なるユーザー活動も所定の時間期間の間に検出されない場合、フローをログアウト段階101へ進める。段階100で自動ログアウト時間が終了していないと決定された場合、フローは段階101へ進む。段階101は、ボタンが押下されたかどうかを決定する。ボタンが押下された場合、フローは段階102へ進む。押下されない場合、フローは段階100へ戻る。段階102は、どのボタンが押下されたかを決定する。サービスボタンの1つが押下された場合、段階103で選択されたサービスが設定され、そしてフローは段階98へ戻る。段階98では、新たに選択されたサービスウインドウが表示される。段階102でログアウトボタンが押下された場合、フローは段階101へ進む。段階101では、各サービスはリセットされ、主ウインドウ35はリセットされ、そしてアップロードデータはリセットされる。
段階102でMFP「開始ボタン」がユーザーにより押下された場合、フローは段階105へ進む。段階105で、スキャンが完了する。フローは次に、段階106へ進む。段階106では、アップロードデータ50は複製されそしてジョブ待ち行列53へ追加される。
図8を参照すると、図8は、統一クライアントアップロードスレッド51のフローチャートを示す。開始後、段階120でジョブモニター初期化が実行される。システムは次に、段階121で任意のジョブがジョブ待ち行列53にあるかどうかを検査する。如何なるジョブもジョブ待ち行列53に存在しないと決定された場合、フローは段階121の始めに戻る。システムは、ジョブがジョブ待ち行列53内で観察されるまで、ループの間、この状態に留まる。
段階121で、ジョブがジョブ待ち行列53内に存在すると決定された場合、フローは段階122へ進み、そしてジョブ待ち行列53からジョブを得て、及び対応するサービスデータハンドラ54a−nに基づき、ジョブに含まれるサービスを分類する。次に、段階124で、一般的ログインデータ及び対応するサービスデータは、サービスデータハンドラ54a−nへ渡される。サービスデータハンドラ54a−nは次に、段階124で、ジョブアップロードデータ50を処理する。
サービスデータハンドラ54a−nがジョブアップロードデータ50を処理すると、段階125で、ジョブモニター51はジョブアップロード状態をサービスデータハンドラ54a−nから得て、そしてジョブログを更新する。フローは段階126へ進む。段階126は、更なるサービスデータハンドラ54a−nが存在するかどうかを知るために検査する。如何なるサービスデータハンドラ54a−nもジョブのために残っていない場合、フローは段階121へ戻り、待ち行列内の新しいジョブを検査する。126でより多くのサービスデータハンドラ54a−nが含まれる場合、フローは段階123へ戻り、そして段階123−125を再び処理する。このループは、如何なるサービスデータハンドラ54a−nもジョブのために残されなくなるまで続く。
従って、統一クライアントアップロードスレッドは2個のループを有する。最初のループは、待ち行列内の新たなジョブを検査する。2番目のループは、ジョブが存在すると決定されると生じる。2番目のループでは、システムは検査を通じループし、ジョブ内の全てのサービスデータハンドラ54a−nが処理されていることを保証する。
図9を参照すると、プロジェクトアレイウインドウ32の例が示される。プロジェクトアレイウインドウ32は、システムメッセージ151のために予約された行を有する。また、統一クライアントロゴ152及びプロジェクトアレイウインドウ153の使用方法に関するユーザーへの指示が含まれる。プロジェクトアレイウインドウ153はまた、ユーザーにより選択可能であり並びにユーザーを主ウインドウ35及び選択されたプロジェクト33a−nの規定サービスウインドウへ接続するいくつかのプロジェクトボタン154を有する。このようなボタンの例は、Document Mall(商標)ボタン154、eCabinet(商標)ボタン154a又は他の同様の種類のプロジェクトボタン154b、154nである。スクロールバー155は、多数のプロジェクトボタンをプロジェクトアレイウインドウ32にインストール可能にする。従って、プロジェクトアレイウインドウ32の機能は、どのプロジェクト33a−nをユーザーがMFPで使用したいかをユーザーが選択することを可能にすることである。
図10は、主ウインドウ35の例を示す。主ウインドウ35は、統一クライアントロゴ161、また文書名162及びログアウトボタン163を有する。図7dに関連して先に議論されたように、ログアウトボタン163は、ユーザーが選択されたプロジェクトからログアウトし、そして図9で記載されたプロジェクトアレイウインドウ32へ戻ることを可能にする。主ウインドウ35はまた、多数のサービスに対応する多数のボタン156乃至159を有する。主ウインドウ35内に表示されたボタンは、プロジェクトアレイウインドウ32で選択されたプロジェクト33a−nに対応する。例えば、Document Mall(商標)プロジェクト154がプロジェクトアレイウインドウ32で選択された場合、いくつかのDocument Mall(商標)に関連するボタンが利用可能である。例えば、ボタン156は、ユーザーがDocument Mall(商標)eメールサービスウインドウへのスキャンを開始することを可能にする。項目157は、ユーザーがフォルダーサービスウインドウへのスキャンを開始することを可能にする。項目158は、スキャン設定サービスウインドウを開くボタンである。一方で項目159は、ユーザーがジョブログサービスウインドウを開くことを可能にする。本発明は、図10に含まれるボタンの数、又は図10に示されたサービスに限られない。更に矢印ボタン160a及び160bは、ユーザーが多数のサービスボタンを通じてスクロールするのを可能にする。従って、如何なる種類のサービスボタンも、主ウインドウ35にインストールされ得る。
図11A−11Cは、config.xmlファイル7の例を示す。留意すべき点は、図11A−11Cが、どのようにconfig.xmlファイル7が設計され得るかの包括的な例を意図していないことである。代わりに、図11A−11Cは、統一クライアントアプリケーション5のためにconfig.xmlファイル7が書かれ得るある方法を有する。
図11Aは、config.xmlファイル7の例を開始する。図11Aの行1では、config.xmlファイル7はルートタグ(<root>)で開始する。ルートタグの下は、システムにインストールされた異なるjarファイルを有するjarファイルリストタグ(<JarFileList>)である。Jarファイルは、いくつかのクラスフィアルを有する単一ファイルである。各クラスファイルは、当該例では、異なるサービス38a−nに対応するコードの部分を有する。当該実施例では、config.xmlファイル7に記載されたjarファイルは、統一クライアントアプリケーション5にインストールされたプラグイン8に対応する。この例では、eCabinet(商標)jarファイル及びDocument Mall(商標)jarファイルがインストールされる。eCabinet(商標)jarファイルは、eCabinet(商標)プラグイン8bに対応する。またDocument Mall(商標)jarファイルは、Document Mall(商標)プラグイン8aに対応する。各プラグインはまた、行6に示されるようにプロジェクト33a−nに対応する。
行6で、プロジェクトタグはプロジェクト33a−nを開始する。そして行7で、プロジェクト名が指定される。この例では、プロジェクト名はeCabinet(商標)として記載される。行9に含まれる規定スキャン設定は、この例では空いているが、多数の異なる設定を有し得る。行11に、規定解像度設定タグ(<DefaultResolution>)が含まれる。この例では、規定解像度は、200dpiに相当する200に設定される。行13に、規定両面スキャン設定が含まれる。この例では、規定両面スキャン設定は偽に設定される。この設定は、多機能プリンターが片面だけではなく紙の両面をスキャンするかどうかを、ユーザーが設定することを可能にする。行15には、プロジェクトのログイン設定が含まれる。この例では、eCabinet(商標)プロジェクトは、ログインを有さない。しかしながら、この設定はまた真に設定され得る。Config.xmlファイル7のある実施例では、行15でログイン設定が真に設定されている場合、行16にログインクラスが含まれる。他の実施例は、この方法でクラスファイルを有さなくて良い。この例では、行15のログイン設定が偽に設定されるので、如何なるログインクラスも含まれない。
先に議論されたように、各プロジェクト33a−nは、多数のサービス38a−nを含む。行17で、サービスタグはサービス38a−nを記載する区間を開始する。行19に、サービスの名称が含まれる。また行20に、表示名が含まれる。この例では、サービス名はeCabinet(商標)に設定され、及び表示名はeCabinet(商標)Ownerに設定される。表示名設定は、サービスが主ウインドウ35のサービスボタンにどのように表示されるかを示す。プロジェクト毎に、データハンドラが含まれる。またサービス毎に、サービスウインドウが含まれる。この例では、行22及び23に、サービスウインドウクラスファイルが記載される。サービスウインドウクラスファイルは、サービスウインドウを表示するために必要な全てのコードを有する。行25及び26に、データハンドラクラスファイルが記載される。これは、このプロジェクト内のデータハンドラに必要な全てのコードを有する。行27から、このサービスの構成データが含まれる。この例では、行29にeCabinet(商標)サーバーアドレスが11.11.11.111として記載される。アドレス11.11.11.111は、使用され得るアドレスの例である。IPv6アドレスを有する他のアドレス又はドメイン名のような名称アドレスも使用され得る。更に、eCabinet(商標)サーバーポートは、ポート81として記載される。他のポート番号も、この例で使用され得る。行33から、データハンドラ構成データが含まれる。この例では、データハンドラ構成データは、eCabinet(商標)サーバーアドレスを行33に、またFTPポートを行34に有する。如何なるFTPポートも行34に含まれない場合、21のような規定FTPポートが使用される。行37で、データハンドラ構成データタグは閉じられる。そして行38でサービスは閉じられる。従って、この例のeCabinet(商標)サービス構成は、行17乃至39の間に記載される。
図11Bを参照する。図11Bには、eCabinet(商標)プロジェクトの下に含まれる第2のサービスが記載される。行1から、サービスタグはサービスを開始する。この例のサービス名は、行2に含まれ、eCabinet(商標)フォルダーとして記載される。表示名は、行3に含まれ、eCabinet(商標)Folderとして記載される。上述のeCabinet(商標)サービスの場合のように、eCabinet(商標)フォルダーサービスはまた、行5−7に示されたサービスウインドウクラス及び行9−11に含まれるデータハンドラクラスを有する。またeCabinet(商標)フォルダーサービスには、eCabinet(商標)サーバーアドレスが行14で含まれ、またeCabinet(商標)サーバーポートが行16で含まれる。またこの例では、データハンドラ構成データは行19で含まれ、並びにeCabinet(商標)サーバーアドレスを行21に、及びFTPポート設定を行22に有する。サービスは次に行24で閉じられ、そしてプロジェクトは行25で閉じられる。従ってこの例では、eCabinet(商標)プロジェクトは2個のサービス、つまりeCabinet(商標)サービス及びeCabinet(商標)フォルダーサービスを有する。
行27は、config.xmlファイル7の例の続きである。図11Bの行27で、新しいプロジェクトは、プロジェクトタグで開始される。このプロジェクトの名称は、行29にDocument Mall(商標)として記載される。この例では、行31で、規定スキャン設定タグが開かれ、そして規定設定を表示して閉じられる。そして行32で規定解像度は200に設定される。行33で、規定両面スキャンは真に設定される。そして行35で、ログイン設定は真に設定される。上述のeCabinet(商標)プロジェクトに関する議論で記されたように、ログイン設定はこの例では行35で真に設定されるので、行37及び38で、ログインクラスファイルが記載される。図11Aの行16と対照的に、Document Mall(商標)プロジェクトの例では、ログインクラスが含まれる。
図11Cを参照する。図11Cには、Document Mall(商標)プロジェクトの下に含まれるサービスタグが記載される。第1のサービスは、行1に含まれるサービスタグで開始する。行2に、サービス名DMEmailが含まれる。また行3に、表示名DM Emailが含まれる。このサービスウインドウクラスは行5−7に記載される。またデータハンドラクラスは行8−10に記載される。
行11から、Document Mall(商標)eメールサービスの構成データが含まれる。この例では、行12に、Document Mall(商標)サーバーアドレスは、documentmall.comとして含まれる。また行13で、構成データタグは閉じられる。行15に、データハンドラ構成データタグが開始される。このタグ内で、行16に、Document Mall(商標)サーバーアドレスが含まれる。また行17で、データハンドラ構成データタグは閉じられる。行18で、Document Mall(商標)eメールサービスは閉じられる。
行20は、Document Mall(商標)プロジェクトの下の第2のサービスを、サービスタグで開始する。行21に、DMFolderのサービス名が含まれる。また行22に、表示名DM Folderが含まれる。行24−26に、サービスウインドウクラスが記載される。また行27−29にデータハンドラクラスが記載される。行30で、構成データは構成データタグで開始する。行31に、Document Mall(商標)サーバーアドレスが含まれる。行32で、構成データは閉じられる。行33−35は、データハンドラ構成データを示し、行34はDocument Mall(商標)サーバーアドレスを示す。行36で、サービス終了タグはサービスを閉じる。行37で、プロジェクト終了タグはDocument Mall(商標)プロジェクトを閉じる。行38で、ルート終了タグはconfig.xmlファイル7を閉じる。
多機能プリンターにインストールされた統一クライアントアプリケーション5の機能的な例は、図12−16に記載される。この例では、統一クライアントアプリケーション5は、eCabinet(商標)プラグイン8bと共にインストールされる。eCabinet(商標)プラグイン8bを有する統一クライアントアプリケーション5は、SDK/Jを使用して開発され、及び統一クライアントアプリケーション5がインストールされる各MFPでCVMオプションを使用する。SDK/Jは、組み込みソフトウェアアーキテクチャのソフトウェア開発キット(「SDK」)である。SDKは、会社内開発者、独立のソフトウェアベンダー及びシステムインテグレーターがカスタマイズされたJAVA(登録商標)ベースのソリューションをMFPに分配することを可能にする。CVMの選択肢は、MFPにインストール可能なJava(登録商標)バーチャルマシンである。他の種類のバーチャルマシン及び/又はプログラム言語が使用され、統一クライアントアプリケーションに関連付けられたプラグインを作成し得る。
eCabinet(商標)プラグイン8bを有する統一クライアントアプリケーション5の例は、2個のSDK/J型アプリケーションを使用する。2個のSDK/Jアプリケーションは、例えば、主要統一クライアント機能を実施する1個のJava(登録商標) Xletアプリケーション、及びユーザーがウェブブラウザを介してconfig.xmlファイル7を遠隔で更新することを可能にする1個のサーブレットアプリケーションである。eCabinet(商標)プラグイン8bを有する統一クライアントアプリケーション5により支援されるいくつかのサービスは、eCabinet(商標)サーバーへのスキャン、eCabinet(商標)フォルダーへのスキャン、スキャン設定及びジョブログの閲覧である。これらのサービスは、eCabinet(商標)プロジェクト主ウインドウ35のサービスボタンとして表現される。統一クライアントアプリケーション5が、当該例のように、1つのインストールされたプロジェクト33a−nだけを有する場合、規定サービスウインドウは、主ウインドウ35と一緒に表示される最初のウインドウである。
図12に、主ウインドウ35及びサービスウインドウ173の例を示す。主ウインドウ35及びeCabinet(商標)オーナーサービスウインドウ173が表示される。主ウインドウ35は、ロゴ161、また文書名162及び終了セッション又はログアウトボタン163を有する。更に、いくつかのサービスボタン164−167はまた、主ウインドウ35に含まれる。eCabinet(商標)の例では、第1のサービスボタンはeCabinet(商標)オーナーボタン164である。図12では、当該ボタンが選択され、そして結果として対応するeCabinet(商標)オーナーサービスウインドウ173が表示される。eCabinet(商標)オーナーサービスウインドウの左側は、オーダーリストウインドウ168及びリフレッシュボタン169を有する。更に、eCabinet(商標)オーナーサービスウインドウ173の左側には、選択済みのオーナーのウインドウ170がある。また、公開171及びリセットボタン172も含まれる。eCabinet(商標)オーナーボタンは、ユーザーに、eCabinet(商標)オーナーサービスへのスキャンを提供する。オーナーリストは、eCabinet(商標)サーバーから自動的にダウンロードされ、そしてオーナーリストウインドウ168に表示される。如何なるeCabinet(商標)フォルダーもeCabinet(商標)フォルダーウインドウ193で選択されない場合、複数のオーナーが選択され得る。eCabinet(商標)フォルダーがeCabinet(商標)フォルダーウインドウ193で選択された場合、単一オーナーの選択のみが許可される。オーナーリストウインドウ168は、オーナーのリストを示す。選択済みウインドウ170は、宛先オーナーを示す。宛先オーナーを追加するため、ユーザーはオーナーリストウインドウ168内の所望のオーナーを強調表示し、そして右矢印ボタン175を押下し得る。宛先オーナーを削除するため、ユーザーは選択済みウインドウ170内のオーナーを強調表示し、そして左矢印ボタン176を押下し得る。リフレッシュボタン169は、ユーザーがオーナーリストをサーバーから再びダウンロードすることを可能にする。公開ボタン171は、ユーザーがスキャン文書の属性を公開又は非公開に設定することを可能にする。リセットボタン172は、ユーザーが選択済みウインドウの全ての内容を削除することを可能にする。
図13は、選択されたeCabinet(商標)フォルダーサービスボタン165及び表示されたeCabinet(商標)フォルダーサービスウインドウ193を有する主ウインドウ35の例を示す。この例では、eCabinet(商標)フォルダーボタン165が選択され、そして結果としてeCabinet(商標)フォルダーサービスウインドウ193が表示される。eCabinet(商標)フォルダーサービスウインドウ193は、フォルダーリストウインドウ189、リフレッシュボタン190、選択済みウインドウ191、及びリセットボタン192を有する。eCabinet(商標)フォルダーサービスは、ユーザーに、eCabinet(商標)フォルダーサービスへスキャンする能力を提供する。eCabinet(商標)フォルダーリストは、eCabinet(商標)サーバーから、config.xmlファイル7に含まれる構成設定を使用して自動的にダウンロードされる。ユーザーがeCabinet(商標)フォルダーボタン165を選択した場合、統一クライアントアプリケーション5は、ユーザーにソフトウェアキーボードでユーザー名及びパスワードを入力するよう促す。統一クライアントアプリケーション5は次に、ユーザーのフォルダーツリーをダウンロードし、そして当該ツリーをフォルダーリストウインドウに表示する。留意すべき点は、eCabinet(商標)フォルダーサービスの使用が単一オーナーの選択を要求することである。複数のオーナーがeCabinet(商標)オーナーサービスウインドウ173で選択され、及びユーザーがeCabinet(商標)フォルダーボタン165を押下した場合、エラーメッセージがポップアップし、eCabinet(商標)フォルダーサービスが単一オーナーの選択を要求していることを提示する。フォルダーリストウインドウ189は、ユーザーのeCabinet(商標)フォルダーツリーを示す。ユーザーは、フォルダーリストウインドウ189内のフォルダーツリーを閲覧し得る。宛先フォルダーを追加するため、ユーザーはフォルダーリストウインドウ189内の所望のフォルダーを強調表示し、そして右矢印ボタン175を押下し得る。選択済みウインドウ191内の宛先フォルダーを削除するため、ユーザーは選択済みウインドウ191内の所望のフォルダーを強調表示し、そして左矢印ボタン176を押下し得る。また留意すべき点は、複数のフォルダーが選択され得ることである。リフレッシュボタン190は、ユーザーがeCabinet(商標)フォルダーリストをeCabinet(商標)サーバーから再びダウンロードすることを可能にする。リフレッシュボタン190が押下された場合、ユーザーはユーザー名及びパスワードを再び入力することを促される。リセットボタン192は、選択済みウインドウ191内に配置された全ての内容を削除することを可能にする。また留意すべき点は、フォルダーリストウインドウ189に含まれるeCabinet(商標)フォルダーリストが、図12に含まれるeCabinet(商標)オーナーサービスウインドウ173内の選択されたオーナーに依存することである。選択されそして選択済みウインドウ170に含まれるユーザーは、フォルダーリストウインドウ189内に含まれるフォルダーリストに対応するユーザーである。
図14は、スキャン設定ボタン166が選択された場合の例のユーザーインターフェースを示す。スキャン設定ボタン166が選択された場合、スキャン設定サービスウインドウ218が表示される。スキャン設定サービスウインドウは、解像度209、オリジナル211、画像種類214及びファイル形式215を有するいくつかの選択肢を有する。解像度選択肢209の下、スキャナー解像度に関連するいくつかの異なるボタンが使用される。この例では、200dpi、210a、300dpi、210b、400dpi、210c、又は600dpi、210nが選択可能である。他の同様の種類のdpi選択肢である解像度選択肢も使用され得る。オリジナル選択肢211は、2個のボタンを有する。第1のボタン212aは、片面選択肢を選択することを可能にする。第2のボタン212nは、両面選択肢を選択することを可能にする。更に、バッチスキャンボタン213が表示される。画像種類選択肢214はまた、多数の画像種類を一覧表にするドロップダウンメニューを有する。現行の例では、文字選択肢が表示される。また留意すべき点は、画像種類ドロップダウンボックス内で、文字、写真、グレースケール又は写真選択肢が利用可能であることである。同様に、ファイル形式選択肢215の下に、第2のドロップダウンボックスが含まれ、多数の異なるファイル形式を一覧表にする。現行の例では、PDF選択肢が表示される。しかしながら、ファイル形式ドロップダウンボックス内で、単一ページのTIFF、複数ページのTIFF、JPEG及びPDF選択肢が利用可能である。また、スキャン設定サービスウインドウ218には、スキャンサイズボタン216及びリセットボタン217が含まれる。
スキャンサイズボタン216は、図15に示される新たなウインドウを開く。スキャンサイズウインドウ219は、スキャン設定サービスウインドウ218の静止部分である。しかしながら、スキャンサイズウインドウ219は、主ウインドウ35の下のスキャン設定サービスウインドウ218の代わりに表示される。スキャンサイズウインドウ219では、いくつかの異なる選択肢が利用可能である。例えば、自動検出239、8−1/2x11 5−1/2x8−1/2 A5、240a、8−1/2x11 5−1/2x8−1/2 A5、240b、11x17 A3 B4 JIS、240c、8−1/2x13 A4 B5 JIS、240d、及び8−1/2x14 A4 B5 JIS 240nである。また、リセットボタン242及びユーザーを元のスキャン設定サービスウインドウ218に戻す全般ボタン241が含まれる。
図16は、主ウインドウ35及びジョブログボタン167が選択された場合に表示されるジョブログサービスウインドウ264を示す。ジョブログサービスウインドウ264には、日付及び時刻259、文書名260、ページ261及び状態262の標記が表示される。ジョブログサービスウインドウ264から、ユーザーは、スキャンジョブアップロード状態を、特に日付及び時刻、文書名、ページ数、及びジョブの状態を通じて検査し得る。これで、eCabinet(商標)プラグイン8bのMFPの表示例を終了する。
図17−19は、eCabinet(商標)プラグイン8bの設定を遠隔で管理する例である表示を示す。eCabinet(商標)プラグイン8bを有する統一クライアントアプリケーション5は、ウェブアクセスを通じて遠隔で構成され得る。セキュリティを目的として、ウェブサイトはパスワードにより保護される。図17−19は、eCabinet(商標)プラグイン8bの遠隔構成ウェブサイトの例を示す。
図17は、eCabinet(商標)プラグイン8bをインストールされた統一クライアントアプリケーション5の遠隔構成ウェブサイトの全般構成ウインドウ300の例を示す。ユーザーが図17に示されるウェブサイトにアクセスする場合、3個の選択肢が示される。全般ウインドウボタン271、eCabinet(商標)サーバーボタン272又は規定スキャン設定ボタン273である。これら3個の選択肢は、3個の画面に対応する。つまり、全般画面300、eCabinet(商標)サーバー構成画面290及び規定設定構成画面270である。いくつかの設定は、全般ボタン271により選択されそして読み込まれた規定画面である全般構成画面300を通じて構成可能である。最初に、タイムスタンプサフィックスを有する有効/無効文書名を、チェック可能である。マシンリセットタイマー秒303は、変更可能である。マシンリセットタイマー秒303の設定は、リフレッシュタイマーを有する自動セッションログアウトに関連する。この例では、600秒が自動セッションリフレッシュタイマーに設定される。管理者パスワード変更選択肢304はまた、選択可能である。この設定は、ユーザーが遠隔構成サービスを使用するための管理パスワードを変更することを可能にする。また留意すべき点は、再インストールがパスワードを既定値にリセットし得ることである。また、更新282及び取り消し283ボタンが含まれる。これらのボタンは、ユーザーが、更新及び全般構成ウインドウ300でユーザーが行った変更を適用又は当該変更を取り消すことを可能にする。
図18は、eCabinet(商標)サーバーボタン272が選択された場合の結果を示す。eCabinet(商標)サーバーボタンは、以下の選択肢、つまりeCabinet(商標)サーバーアドレス及びFTPポートを可能にするeCabinet(商標)サーバーウインドウ290を表示する。これらの両方の選択肢は、281に示されたような要求フィールドである。eCabinet(商標)サーバーアドレス291及びFTPポート292は、共にユーザーにより入力され得る。FTPポート292は、自動的に規定FTPポートで満たされる。図17のように、更新282及び取り消し283ボタンが利用可能である。
図19は、規定スキャン設定ボタン273が選択された場合の例を図示する。規定スキャン設定ボタンが選択された場合、規定スキャン設定ウインドウ270が表示される。規定スキャン設定ウインドウ270では、多数の選択肢が表示される。最初に、規定スキャン解像度275が、変更可能である。この例では、200dpiが選択される。eCabinet(商標)プラグイン8bをインストールされた統一クライアントアプリケーション5では、200dpi、300dpi、400dpi、及び600dpiの規定スキャン解像度が利用可能であり、及び項目275のドロップダウンボックス内に表示される。規定バッチスキャン選択肢276はまた、両面印刷選択肢277と一緒に選択可能である。規定画像種類278はまた、eCabinet(商標)プラグイン8bの例で選択可能である。項目278のドロップダウンボックスで利用可能な規定画像種類は、文字、印刷、文字写真、写真又はグレースケールである。これらの画像種類は、異なる品質のスキャン画像に対応する。次に利用可能な選択肢は、規定文字写真ファイル形式279である。この例では、複数ページTIFFが選択される。eCabinet(商標)プラグイン8bをインストールされた統一クライアントアプリケーション5では、279のドロップダウンボックスで利用可能な選択肢は、単一ページTIFF、複数ページTIFF又はPDFである。単一ページTIFFは、ファイル毎に単一の画像のみを有するTIFF画像ファイルである。複数ページTIFFは、いくつかの画像を有する画像ファイルである。PDFは、Adobe Systemsの独自形式であり、複数ページの固定レイアウトの文書を有する。最後の選択肢は、規定グレースケール/カラーファイル形式280である。この例では、JPGは規定グレースケール/カラーファイル形式として選択される。しかし、PDF選択肢も、eCabinet(商標)プラグイン8bをインストールされた統一クライアントアプリケーション5で利用可能である。項目281は、選択されなければならない要求フィールドを示す。図23のように、更新282及び取り消し283ボタンが利用可能である。更新ボタン282及び取り消しボタン283は、ユーザーが更新ボタン282で変更を適用し、又は取り消しボタン283で変更を取り消すことを可能にする。
図20は、本発明の実施例によるMFPのブロック図である。図20に示されるように、MFP300は、アプリケーション層301、OS302、及びハードウェア資源303を有する。
アプリケーション層301は、統一クライアントアプリケーション304、及び統一クライアントアプリケーション304に含まれるいくつかのプラグイン305a−nを有する。
アプリケーション層301はソフトウェア階層の中の位置である。当該階層内では、統一クライアントアプリケーション304のような、アプリケーション層301にインストールされたアプリケーションが、OS302を通じてハードウェア303にアクセスする。更に、プラグイン305a−nは、OS302及びハードウェア303に、アプリケーション層301にインストールされた統一クライアントアプリケーション304を介してアクセスする。
また重要な留意すべき点は、アプリケーション層301がOS302から独立していること、及びアプリケーション層301はOS302を通じてハードウェアにアクセスするが、OS302の部分ではないことである。
OS302は、ハードウェア303にアクセスする任意のオペレーティングシステムである。更に、OS302は、アプリケーション層301にインストールされたアプリケーションが、ハードウェア303にアクセスすることを可能にするパイプとして動作する。
ハードウェア303は、多機能プリンターの物理構成要素である。例えば、ハードウェア303は、スキャナー、プリンター、ファックス、又は任意の他のハードウェア構成要素を有し得る。
図21は、本発明の実施例によるMFP499のハードウェア構成の例を示す。図21に示されるように、MFP499は、制御部基板400、動作パネル410、ファックス制御部(FCU)420、USB430、IEEE1394ポート440、及びプリンター450を有する。また留意すべき点は、IEEE1394b、USB2.0を有する他の種類のi/oインターフェースが含まれ得ることである。制御部基板400は、処理のためのCPU402、及びSDRAM403、SRAM408、フラッシュメモリー(フラッシュROM)404のようないくつかの記憶装置、フラッシュカードインターフェース部406及びMFP499と関連付けられたデータを格納するために使用されるHD405を有する。これらの構成要素のそれぞれは、ASIC401と接続される。ASIC401は、MFP499での使用専用に設計された特定用途向け集積回路である。他の種類の記憶装置はまた、他の種類のデータプロセッサー及び集積回路と同様に可能である。動作パネル410は、ASIC401と直接に、そのまま通信インターフェース420へ接続される。通信インターフェース420はまた、ネットワーク又は他の同様の種類の通信媒体と接続され得る。USB430、IEEE1394 440及びスキャン、印刷、及びファックスのような多機能プリンターの機能450は、PCIバス480を介しASIC401と接続される。
SRAM408は不揮発性RAMである。他の種類のSRMAもまた可能である。フラッシュカード407は、フラッシュカードインターフェース部406に挿入され得る。従ってデータはASIC401とフラッシュカード407との間で、フラッシュカードインターフェース部406を介し送信/受信される。
動作パネル410は、ユーザーによるキー入力及びボタン押下等のようなキー動作のために使用される動作部分、及び種々の画面のような描画データを表示する表示部分を有する。理解されるべき点は、他の種類のハードウェア構成要素が本発明で使用され得ることである。
更に、フロッピー(登録商標)ディスク、磁気テープ、CD−ROM等のようなコンピューター可読媒体に関し、コンピューター可読媒体に格納されたプログラムをMFPにインストールすることにより、MFPは本発明の機能を実行し得る。
本発明は多機能プリンターに関し記載されたが、複写機、デジタル複写機、プリンター、スキャナー、デジタルカメラ、ファックス機のような如何なる画像処理装置、又は多機能プリンター又はこれらの如何なる組み合わせにも適用可能である。汎用コンピューターは、画像処理装置と見なされない。更に、本発明は、ナビゲーションシステム、全地球測位システム、自動販売機、計量システム、工作機械、及びプログラム又はプログラムされたプロセッサーを使用して動作する他の工具、自動車、列車、オートバイ、飛行機、又は船舶のような他の輸送装置、レーダーシステム、ラジオ、MP3プレーヤー、デジタル音楽プレーヤー、及び他の音声システム、携帯電話、他の通信装置及びシステム、及びプラグインを使用して動作する如何なる他の特定用途装置に適用可能である。
本発明は、具体的に開示された実施例に限定されない。また本発明の範囲から逸脱することなく変形及び変更が行われて良い。