以下に添付図面を参照して、この発明にかかる画像処理装置、画像処理方法およびプログラムの最良な実施の形態を詳細に説明する。
(実施の形態1)
図1は、実施の形態1にかかる画像処理システムのネットワーク構成および複合機の主要構成を示すブロック図である。実施の形態1にかかる画像処理システムは、コピー、スキャナ、ファクシミリ、プリンタ等の画像処理にかかる機能を一つの筐体にさめた画像処理装置としての複合機100と、情報処理装置としての複数のPC−A160、PC−B161とがインターネット、LAN(Local Area Network)等のネットワーク150に接続された構成となっている。
PC−A160、PC−B161は、CPUなどの制御装置と、ROM(Read Only Memory)やRAM(Random Access Memory)などの記憶装置と、HDD、CDドライブ装置などの外部記憶装置と、ディスプレイ装置などの表示装置と、キーボードやマウスなどの入力装置を備えており、通常のコンピュータを利用したハードウェア構成となっている。
PC−A160、PC−B161には、オペレーティングシステム(OS:Operating System)とOS上で動作する文書アプリ、表計算アプリなどの各種情報処理に関するアプリケーション(以下、「情報処理アプリ」という。)がインストールされている。
このOSは、複合機100のドライバソフトウェアをインストールせずに複合機100を実行させて複合機100で生成されたデータを受信するために複合機100に対して後述する情報処理アプリの登録要求を行う機能を有している(以下、このOSを「画像処理制御OS」という)。このため、PC−A160、PC−B161には、複合機100のドライバソフトウェアはインストールされていない。そして、PC−A160、PC−B161は、画像処理制御OSの機能によって、ネットワーク上の複合機100に対して、インストールされている情報処理アプリの登録要求を行うようになっている。
図2は、登録要求のデータ構造を示す説明図である。登録要求は、PC−A160またはPC−B161で動作する情報処理アプリに固有のアプリIDと情報処理アプリの表示名であるアプリ表示名の複数の組とPC−A160、PC−B161に固有の装置IDとをを保持し、各PC−A160、PC−B161で動作する情報処理アプリの登録を複合機100に対して要求するものである。実際には、図2に示す登録要求は、XML(eXtended Markup Language)形式のデータで構成されており、アプリID、アプリ表示名、装置ID等はタグで構造化された表記で登録要求の中に記述されている。
図1に戻り、複合機100は、スキャナ処理を行うスキャナアプリ114と、その他のアプリ141と、UCS(User Control Service)129と、NCS(Network Control Service)128と、情報処理アプリ宛先データベース140と、オペレーションパネル170とを主に備えている。複合機100は、図1に示すように、PC−A160、PC−B161からの登録要求を受けて、後述する情報処理アプリ宛先情報(レコード)の登録処理等を行った後、登録要求を受信したPC−A160,PC−B161に対して応答を送信する。
情報処理アプリ宛先データベース140は、スキャナアプリ114によりスキャンした画像を送信する宛先としてのPC−A160、PC−B161のそれぞれにインストールされた情報処理アプリに関する情報を登録したデータベースである。
図3は、情報処理アプリ宛先データベース140の内容の一例を示す説明図である。情報処理アプリ宛先データベース140には、図3に示すように、PC−A160、PC−B161から受信した登録要求に含まれるアプリIDとアプリ表示名とPC−A160,PC−B161の装置IDと有効期限とを対応付けた情報処理アプリ宛先情報が複数登録されている。
ここで、有効期限とは、情報処理アプリ宛先情報が宛先として有効に使用することが可能な採集の期限であり、この有効期限を経過した場合には、情報処理アプリ宛先情報をスキャン画像の宛先として使用することができない。
NCS(ネットワークコントロールサービス)128は、受信手段として、PC−A160,PC−B161から送信された登録要求を受信し、送信手段として、登録要求に対する応答やスキャンデータをPC−A160,PC−B161へ送信する処理を行うプロセスとして動作する。
また、ネットワークI/Oを必要とする複合機100上のスキャナアプリ114やその他のアプリ141等のアプリケーションに対し、共通に利用できるサービスを提供するためのプロセスであり、ネットワーク側から各プロトコルによって受信したデータを各アプリケーションに振り分けたり、アプリケーションからデータをネットワーク側に送信する際の仲介を行う。
UCS(User Control Service)129は、宛先管理手段として、情報処理アプリ宛先データベース140に情報処理アプリ宛先情報を登録または更新したり、更新開始通知や更新完了通知をプロセス間通信によってスキャナアプリ114等の複合機100上で動作するアプリケーションに送信する処理を行うプロセスとして動作する。
また、UCS129は、この他、図示しないユーザデータベース等により複合機100を使用するユーザ情報の管理を行うものであり、要求に応じたユーザ情報が格納されている記憶装置を判定し、判定した記憶装置からユーザ情報を取得して各アプリケーションに供給する処理も行う。
オペレーションパネル170は、各種画面をタッチ入力可能に表示する液晶表示部と、利用者からの操作入力が可能な操作部とを有し、利用者に対して各種画面の表示や操作を行わせるものである。
次に、複合機100の全体構成について説明する。図4は、実施の形態1にかかる複合機100の全体構成を示すブロック図である。
図4に示すように、複合機100は、白黒ラインプリンタ(B&W LP)101と、カラーラインプリンタ(Color LP)102と、ハードディスク装置(HDD)103と、スキャナ、ファクシミリ、メモリ、ネットワークインタフェースなどのハードウェアリソース104とソフトウェア群110とを有するように構成される。また、ソフトウェア群110は、プラットフォーム120と、アプリケーション130とを有するように構成される。
プラットフォーム120は、アプリケーション130からの処理要求を解釈してハードウェア資源の獲得要求を発生させるコントロールサービスと、1つ以上のハードウェア資源の管理を行ってコントロールサービスからの獲得要求を調停するシステムリソースマネージャ(以下、SRMという)123と、オペレーティングシステム(以下、OSという)121とを有するように構成されている。
コントロールサービスは、システムコントロールサービス(以下、SCSという)122、エンジンコントロールサービス(以下、ECSという)124、メモリコントロールサービス(以下、MCSという)125、オペレーションパネルコントロールサービス(以下、OCSという)126、ファックスコントロールサービス(以下、FCSという)127、NCS(ネットワークコントロールサービス)128、UCS(ユーザ情報管理サービス)129など一つ以上のサービスモジュールを有するように構成されている。
なお、プラットフォーム120は予め定義されている関数によりアプリケーション130からの処理要求を受信可能とするアプリケーションプログラムインターフェース(以下、APIという)を有するように構成されている。
OS121は、UNIX(登録商標)などの汎用オペレーティングシステムであって、プラットフォーム120及びアプリケーション130の各ソフトウェアをプロセスとして並列実行する。
SRM123のプロセスは、SCS122と共にシステムの制御およびリソースの管理を行うものである。例えば、SRM123のプロセスは、スキャナ部やプリンタ部などのエンジン、メモリ、ハードディスク装置(HDD)ファイル、ホストI/O(セントロインターフェース、ネットワークインターフェース、IEEE1394インターフェース、RS232Cインターフェースなど)のハードウェア資源を利用する上位層からの要求に従って調停を行い、実行制御する。
具体的には、SRM123は、要求されたハードウェア資源が利用可能であるか(他の要求により利用されていないかどうか)を判定し、利用可能であれば要求されたハードウェア資源が利用可能である旨を上位層に伝える。また、SRM123は、上位層からの要求に対してハードウェア資源の利用スケジューリングを行い、例えばプリンタエンジンにより紙搬送と作像動作、メモリ確保、ファイル生成などの要求内容を直接実施している。
SCS122のプロセスは、アプリ管理、操作部制御、システム画面表示、LED表示、リソース管理、割り込みアプリ制御などを行う。なお、本実施の形態においてSCS122が行う具体的な処理については、後述する。
ECS124のプロセスは、白黒ラインプリンタ(B&W LP)101、カラーラインプリンタ(Color LP)102、HDD103スキャナ、ファクシミリなどからなるハードウェアリソース104のエンジンの制御を行う。
MCS125のプロセスは、画像メモリの取得および解放、ハードディスク装置(HDD)の利用、画像データの圧縮および伸張などを行う。OCS126のプロセスは、オペレータと本体制御との間の情報伝達手段となる操作パネルの制御を行う。
FCS127のプロセスは、システムコントローラの各アプリケーション層からPSTNまたはISDN網を利用したファクシミリ送受信、BKM(バックアップSRAM)で管理されている各種ファクシミリデータの登録/引用、ファクシミリ読みとり、ファクシミリ受信印刷、融合送受信を行うためのアプリケーションを提供する。
OCS126は、オペレータ(ユーザ)と本体制御間の情報伝達手段となるオペレーションパネル(操作パネル)170の制御を行う。OCS126は、オペレーションパネルからキー押下(またはタッチ操作)をキーイベントとして取得し、取得したキーに対応したキーイベント関数をSCS122に送信するOCSプロセスの部分と、アプリケーション130またはコントロールサービスからの要求によりオペレーションパネルに各種画面を描画出力する描画関数やその他オペレーションパネルに対する制御を行う関数などがあらかじめ登録されたOCSライブラリの部分とから構成される。このOCSライブラリは、アプリケーション130およびコントロールサービスの各モジュールにリンクされて実装されている。なお、OCS126のすべてをプロセスとして動作させるように構成しても良く、あるいはOCS126のすべてをOCSライブラリとして構成しても良い。なお、UCS129、NCS128については、図1で説明したとおりである。
また、アプリケーション130は、ページ記述言語(PDL)、PCLおよびポストスクリプト(PS)を有するプリンタ用のアプリケーションであるプリンタアプリ111と、コピー用アプリケーションであるコピーアプリ112と、ファクシミリ用アプリケーションであるファックスアプリ113と、スキャナ用アプリケーションであるスキャナアプリ114と、ネットワークファイル用アプリケーションであるネットファイルアプリ115と、工程検査用アプリケーションである工程検査アプリ116とを有している。
アプリケーション130の各プロセス、コントロールサービスの各プロセスは、関数呼び出しとその戻り値送信およびメッセージの送受信によってプロセス間通信を行いながら、コピー、プリンタ、スキャナ、ファクシミリなどの画像形成処理にかかるユーザサービスを実現している。
このように、実施の形態1にかかる複合機100には、複数のアプリケーション130および複数のコントロールサービスが存在し、いずれもプロセスとして動作している。そして、これらの各プロセス内部には、一つ以上のスレッドが生成されて、スレッド単位の並列実行が行われる。そして、コントロールサービスがアプリケーション130に対し共通サービスを提供しており、このため、これらの多数のプロセスが並列動作、およびスレッドの並列動作を行って互いにプロセス間通信を行って協調動作をしながら、コピー、プリンタ、スキャナ、ファクシミリなどの画像形成処理にかかるユーザサービスを提供するようになっている。
次に、以上のように構成された実施の形態1にかかる画像処理システムによる宛先情報の登録表示処理について説明する。図5は、実施の形態1にかかる画像処理システムによる宛先情報の登録表示処理の全体の流れを示すシーケンス図である。
ここで、情報処理アプリ宛先データベース140には、図3に示すようなPC−A160、PC−B161用の情報処理アプリ宛先情報が複数登録されているものとする。なお、図5において、PC−A160、PC−B161を単にPCと示している。
スキャナアプリ114等の複合機100上のアプリケーション130がスキャン画像をPCーA160またはPC−B161の情報処理アプリの宛先に送信する場合には、その宛先を指定するために、まず、UCS129に対して、情報処理アプリ宛先情報の取得要求を送信する(ステップS501)。かかる取得要求を受信したUCS129は、情報処理アプリ宛先データベース140にアクセスして情報処理アプリ宛先情報を読み出して、読み出した情報処理アプリ宛先情報をアプリケーション130に送信する(ステップS502)。
情報処理アプリ宛先情報を受信したアプリケーション130では、受信した情報処理アプリ宛先情報のアプリ表示名、アプリID等を抽出してアプリ画面を生成し、OCS126を介してアプリ画面をオペレーションパネル160の液晶表示部に表示する(ステップS503)。なお、アプリ画面の詳細については後述する。
ここで、アプリ画面が表示されている間に、ネットワーク上のPCが電源投入された場合を考える。PCが電源投入されると(ステップS504)、画像処理制御OSの機能により、PC上の情報処理アプリを複合機100に登録する旨の登録要求が複合機100に送信される(ステップS505)。
複合機100では、PCからの登録要求をNCS128に受信し、受信した登録要求をUCS129に転送する(ステップS506)。NCS128から登録要求を受信したUCS129は、情報処理アプリ宛先データベース140を更新する必要があり、これにより現在オペレーションパネル160に表示されているアプリ画面が更新の結果、使用不可となる可能性があるため、更新開始通知をアプリケーション130に送信する(ステップS507)。そして、UCS129は、情報処理アプリ宛先データベース140に登録されている情報処理アプリ宛先情報を、受信した登録要求に基づいて更新する(ステップS508)。
更新開始通知を受信したアプリケーション130は、現在表示されているアプリ画面に対し、ユーザからの入力を不可能にするため、OCS126を介して情報処理アプリ宛先更新中のポップアップ画面を表示する(ステップS509)。
UCS129による情報処理アプリ宛先データベースの更新が完了した場合には、UCS129は、アプリケーション130に対して更新完了通知を送信する(ステップS510)。更新完了通知を受信したアプリケーション130では、更新された情報処理アプリ宛先データベース140の情報処理アプリ宛先情報を使用して再度アプリ画面を表示するため、UCS129に対して、情報処理アプリ宛先情報の取得要求を送信する(ステップS511)。かかる取得要求を受信したUCS129は、更新された情報処理アプリ宛先データベース140にアクセスして情報処理アプリ宛先情報を読み出して、読み出した情報処理アプリ宛先情報をアプリケーション130に送信する(ステップS512)。
情報処理アプリ宛先情報を受信したアプリケーション130では、受信した情報処理アプリ宛先情報のアプリ表示名、アプリID等を抽出してアプリ画面を生成し、OCS126を介してアプリ画面をオペレーションパネル160の液晶表示部に表示することによりアプリ画面を更新する(ステップS513)。
以上のような処理によって、オペレーションパネル160の液晶表示部にアプリ画面が表示され、利用者はこのアプリ画面によってスキャン画像の宛先であるPC上の情報処理アプリを選択可能となる。
次に、UCS129による情報処理アプリ宛先データベース140の更新処理、すなわち情報処理アプリ宛先情報の登録処理について説明する。図6は、実施の形態1にかかる複合機100のUCS129による情報処理アプリ宛先情報の登録処理の手順を示すフローチャートである。
UCS129は、PC−A160,PC−B161から受信した登録要求をNCS128から受信し(ステップS601)、情報処理アプリ宛先データベース140の更新開始通知をアプリケーション130に送信する(ステップS602)。そして、UCS129は、受信した登録要求からアプリID、アプリ表示名および装置IDを抽出する(ステップS603)。次いで、UCS129は、抽出したアプリID、アプリ表示名および装置IDを対応付けて情報処理アプリ宛先情報として情報処理アプリ宛先データベース140に登録する(ステップS604)。これにより、情報処理アプリ宛先データベース140が更新されることになる。そして、UCS129は、アプリケーション130に対して情報処理アプリ宛先データベースの更新完了通知を送信する(ステップS605)。このようなUCS129の処理によって、新たな情報処理アプリ宛先情報が登録され、情報処理アプリ宛先データベース140が更新されることになる。
次に、UCS129による情報処理アプリ宛先データベース140からの情報処理アプリ宛先情報の抽出処理について説明する。図7は、実施の形態1にかかる複合機100のUCS129による情報処理アプリ宛先データベース140からの情報処理アプリ宛先情報の抽出処理の手順を示すフローチャートである。
UCS129では、通常、アプリケーション130からの情報処理アプリ宛先情報の取得要求の受信待ち状態となっている(ステップS701)。そして、アプリケーション130から情報処理アプリ宛先情報の取得要求を受信した場合には(ステップS701:Yes)、情報処理アプリ宛先データベース140から、アプリID、アプリ表示名、装置IDおよび有効期限が対応付けられた情報処理アプリ宛先情報(図3の各レコード)のすべてを抽出し(ステップS702)、抽出した情報処理アプリ宛先情報のすべてをアプリケーション130に送信する(ステップS703)。
ここで、抽出した情報処理アプリ宛先情報の有効期限が現在日時を経過している場合には、この情報処理アプリ宛先情報についてはアプリケーション130に送信されることはない。以上のような処理によって、情報処理アプリ宛先データベース140に登録されている全ての情報処理アプリ宛先情報が抽出されてアプリケーション130に送信されることになる。
次に、スキャナアプリ114等のアプリケーション130によるアプリ画面の表示処理および宛先指定処理について説明する。図8および図9は、実施の形態1にかかる複合機100のアプリケーション130によるアプリ画面の表示処理および宛先指定処理の手順を示すフローチャートである。ここでは、アプリケーション130としてスキャナアプリ114を例にあげて説明するが、他のアプリケーション130でも同様である。
スキャナアプリ114は、まずUCS129に対して情報処理アプリ宛先情報の取得要求を送信し(ステップS801)、情報処理アプリ宛先情報の受信待ち状態となる(ステップS802)。そして、スキャナアプリ114がUCS129から情報処理アプリ宛先情報を受信した場合には(ステップS802:Yes)、受信した全ての情報処理アプリ宛先情報からアプリIDとアプリ表示名と装置IDを抽出する(ステップS803)。
そして、スキャナアプリ114は、抽出した全てのアプリIDとアプリ表示名と装置IDからアプリ別のエントリを生成する(ステップS804)。アプリ別のエントリとは、次のように、アプリ表示名ごとのアプリID、装置IDが示すPC−A160またはPC−B161の表示名の対応リストである。ここで、装置IDとPC−A160またはPC−B161の対応は、HDD等の記憶媒体に予め保存しておけばよい。
文書ソフト:PC−A:WP001
表計算ソフト:PC−A:EX001
文書ソフト:PC−B:WP001
そして、スキャナアプリ114は、生成されたアプリ別のエントリから、アプリ毎にアプリ選択ボタンを生成し(ステップS805)、生成されたアプリ選択ボタンをタッチ入力可能に描画したアプリ画面を、オペレーションパネル160の液晶表示部に表示する(ステップS806)。ここで、アプリ選択ボタンの生成およびアプリ画面の表示は、OCS126で提供される関数等の発行により行われる。
図10は、実施の形態1にかかるアプリ画面の内容の一例を示す模式図である。図10に示すように、アプリ画面には、アプリごとに、アプリ表示名とPC−A160,161の表示名を含むアプリ選択ボタンが表示されている。
アプリ画面が表示されると、スキャナアプリ114は、アプリ画面からの利用者によるアプリ選択ボタンの入力待ち状態となる(ステップS807)。そして、アプリ画面からアプリ選択ボタンの入力を受け付けた場合(ステップS807:Yes)、スキャナアプリ114は、スキャナエンジンを使用したスキャン処理を実行し(ステップS811)、スキャン画像を、アプリ選択ボタンにより指定されたPC上の情報処理アプリのデータ形式に変換する(ステップS812)。例えば、Acrobat Reader(R)等の文書ビューアが選択された場合には、スキャン画像をこの文書ビューアで扱うデータ形式であるPDF形式に変換する。
次に、スキャナアプリ114は、スキャン画像をアプリのデータ形式に変換したデータであるスキャンデータを、NCS128を介して指定されたアプリに送信する(ステップS813)。ここで、アプリをインストールしたPC−A160,PC−B161のIPアドレスや当該PC−A160,PC−B161上の利用者のメールアドレス等のアドレス情報を装置IDと対応付けて予めアドレスデータベース等に保存しておき、指定されたアプリの装置IDからアドレス情報を取得して、取得したアドレス情報を宛先として、スキャンデータを送信することによって、スキャンデータのアプリへの送信が行われる。
このように、スキャン画像を、指定されたアプリで扱うデータ形式に変換してPC−A160,PC−B161に送信するため、PC−A160,PC−B161側では受信したスキャンデータをそのままアプリで表示等することができ、PC−A160,PC−B161側に複合機100のドライバソフトウェアをインストールする必要がなくなる。
ここで、ステップS807において、アプリ画面が表示されている状態で、アプリ選択ボタンの入力が行われていない場合に(ステップS807:No)、PC−A160,PC−B161の電源が投入された場合を考える。
このような場合、UCS129から情報処理アプリ宛先データベース140の更新開始通知を受信するので(ステップS808:Yes)、現在表示されているアプリ画面のアプリ選択ボタンが情報処理アプリ宛先データベース140の更新により存在しないアプリに対応するボタンとなる可能性がある。このため、スキャナアプリ114は、図11に示すような情報処理アプリ宛先情報更新中のポップアップ画面をアプリ画面の上に重畳して表示する(ステップS809)。これにより、アプリ選択ボタンによる入力が制限される。
そして、スキャナアプリ114は、UCS129から更新完了通知の受信待ち状態となり(ステップS810)、更新完了通知を受信した場合には(ステップS810:Yes)、再度、ステップS801からS806までの処理を行って、更新された情報処理アプリ宛先データベース140からアプリ選択ボタンを描画したアプリ画面を表示する。
図12は、図10から更新されたアプリ画面の一例を示す模式図である。図12に示すように、更新後のアプリ画面では、図10に示すアプリ画面からPC−A160の文書ビューアが追加されていることがわかる。これによって、情報処理アプリ宛先データベース140が更新された場合でも、常に最新のアプリのアプリ選択ボタンを利用者が選択することが可能となる。
このように実施の形態1にかかる画像処理システムでは、PC−A160,PC−B161上の情報処理アプリのアプリIDとアプリ表示名と装置IDとを対応付け情報処理アプリ宛先データベース140を備えているので、PC上の情報処理アプリの登録要求を行うPC−A160、PC−B161にスキャン画像を容易に送信することができるとともに、PC−A160、PC−B161側で複合機100のドライバソフトウェアをインストールせずに複合機100のスキャン処理機能を実現することができる。
また、実施の形態1にかかる画像処理システムでは、PC−A160、PC−B161から、アプリIDとアプリ表示名とを含む登録要求を受信し、受信した登録要求からアプリIDとアプリ表示名と装置IDとを対応付けて情報処理アプリ宛先データベース140に登録するので、情報処理アプリの登録要求を行うPC−A160、PC−B161にスキャンデータを容易に送信することができるとともに、PC−A160、PC−B161側で複合機100のドライバソフトウェアをインストールせずに複合機100のスキャン処理機能を実現することができる。
(実施の形態2)
実施の形態1にかかる複合機100では、アプリ画面に表示するアプリ選択ボタンをアプリ別に表示していたが、この実施の形態2にかかる複合機では、アプリ選択ボタンをPCごとに表示している。
実施の形態2にかかる画像処理システムのネットワーク構成、複合機100の構成は、図1および図4に示した実施の形態1の構成と同様である。また、PC−A160,PC−B161から送信される登録要求の内容は図2で示した実施の形態1と同様であり、情報処理アプリ宛先データベース140のデータ構造も図3で示した実施の形態1と同様である。
次に、実施の形態2にかかる複合機100のスキャナアプリ114等のアプリケーション130によるアプリ画面の表示処理および宛先指定処理について説明する。図13および図14は、実施の形態2にかかる複合機100のアプリケーション130によるアプリ画面の表示処理および宛先指定処理の手順を示すフローチャートである。ここでは、アプリケーション130としてスキャナアプリ114を例にあげて説明するが、他のアプリケーション130でも同様である。
UCS129に対し情報処理アプリ宛先情報の取得要求の送信処理から、受信した全ての情報処理アプリ宛先情報からアプリIDとアプリ表示名と装置IDを抽出するまでの処理(ステップS1301〜S1303)については実施の形態1におけるスキャナアプリの処理(ステップS801〜S803)と同様に行われる。
次に、スキャナアプリ114は、抽出した全てのアプリIDとアプリ表示名と装置IDからPC別のエントリを生成する(ステップS1304)。PC別のエントリとは、次のように、PCの表示名ごとに、アプリ表示名、アプリIDの対応リストである。ここで、実施の形態1と同様に、装置IDとPC−A160またはPC−B161の対応は、HDD等の記憶媒体に予め保存しておけばよい。
PC−A:文書ソフト:PC−A:WP001
PC−A:表計算ソフト:EX001
PC−B:文書ソフト:WP001
そして、スキャナアプリ114は、生成されたPC別のエントリから、PC毎にPC選択ボタンを生成する(ステップS1305)。さらに、スキャナアプリ114は、生成されたPC別のエントリから、アプリ毎にアプリ選択ボタンを生成する(ステップS1306)。次いで、スキャナアプリ114は、生成されたPC選択ボタンをタッチ入力可能に描画した第1のアプリ画面を、オペレーションパネル160の液晶表示部に表示する(ステップS1307)。ここで、PC選択ボタンおよびアプリ選択ボタンの生成および第1のアプリ画面の表示は、OCS126で提供される関数等の発行により行われる。
図15は、実施の形態2にかかる複合機においてPC選択ボタンが表示された第1のアプリ画面の内容の一例を示す模式図である。図15に示すように、第1のアプリ画面には、PC−A160を選択するボタンと、PC−B161を選択するボタンが表示されている。
第1のアプリ画面が表示されると、スキャナアプリ114は、第1のアプリ画面からの利用者によるPC選択ボタンの入力待ち状態となる(ステップS1308)。そして、第1のアプリ画面からPC選択ボタンの入力を受け付けた場合(ステップS1308:Yes)、スキャナアプリ114は、選択されたPC選択ボタンのPCに対応する情報処理アプリのアプリ選択ボタンを第1のアプリ画面に描画した第2のアプリ画面をオペレーションパネル160の液晶表示部に表示する。
ここで、PC選択ボタンのPCに対応する情報処理アプリは、上述したPC別のエントリを参照して決定する。そして、決定された情報処理アプリのアプリ選択ボタンをステップS1306で生成されたアプリ選択ボタンの中から選択して第1のアプリ画面に描画することにより第2のアプリ画面を表示すればよい。
図16は、実施の形態2にかかる複合機100においてアプリ選択ボタンが表示された第1の2プリ画面の内容の一例を示す模式図である。図16では、PC−A160のPC選択ボタンが選択された状態を示している。図16に示すように、第2のアプリ画面には、選択されたPC−Aにインストールされている情報処理アプリに対応したアプリ選択ボタンのみが表示されている。
第2のアプリ画面が表示されると、スキャナアプリ114は、アプリ画面からの利用者によるアプリ選択ボタンの入力待ち状態となる(ステップS1313)。そして、第2のアプリ画面からアプリ選択ボタンの入力を受け付けた場合(ステップS1313:Yes)、スキャナアプリ114は、実施の形態1と同様に、スキャナエンジンを使用したスキャン処理を実行し(ステップS1315)、スキャン画像を、アプリ選択ボタンにより指定されたPC上の情報処理アプリのデータ形式に変換する(ステップS1316)。
実施の形態2において、第1のアプリ画面表示中にスキャナアプリ114がUCS129から情報処理アプリ宛先データベース140の更新開始通知を受信した場合の第1のアプリ画面の更新処理(ステップS1309、S1310、S1311)、第2のアプリ画面表示中にスキャナアプリ114がUCS129から情報処理アプリ宛先データベース140の更新開始通知を受信した場合の第2のアプリ画面の更新処理(ステップS1314、S1310、S1311)については、実施の形態1におけるアプリ画面の更新処理(ステップS808、S809、S810)と同様に行われる。
このように実施の形態2にかかる複合機100では、情報処理アプリ宛先データベース140に登録されている複数の装置ID、アプリ表示名を読み出して、装置IDに対応したPCの選択指示を行わせる第1のアプリ画面をオペレーションパネル160の液晶表示部に表示する。そして、第1のアプリ画面から選択指示を受け付けたPCの装置IDに対応した情報処理アプリのアプリ表示名を入力可能に描画した第2のアプリ画面を表示している。このため、PCごとの第1のアプリ画面、情報処理アプリごとの第2のアプリ画面のようにアプリ画面を段階的に表示してPCを意識して情報処理アプリを選択することができる。また、所望のPCの情報処理アプリに画像処理されたデータを受け渡して、PC側で複合機のドライバソフトウェアをインストールせずに画像処理装置の画像処理機能を実現することができる。
なお、実施の形態1および2にかかる複合機100では、PC−A160,PC−B161のアドレス情報や表示名を、情報処理アプリ宛先データベースと異なるデータベースで保存している構成としたが、情報処理アプリ宛先データベースの情報処理アプリ宛先情報の中に装置IDと対応付けて保持するように構成してもよい。
(実施の形態3)
実施の形態1および2にかかる複合機100では、単一の情報処理アプリ宛先データベースを設けていたが、この実施の形態3にかかる複合機は、情報処理アプリ宛先データベースと操作パネルに表示するための表示用情報処理アプリ宛先データベースの2つを備えたものである。
図17は、実施の形態3にかかる画像処理システムのネットワーク構成および複合機の主要構成を示すブロック図である。実施の形態3にかかる画像処理システムは、実施の形態1および2と同様に、複合機1700と、情報処理装置としての複数のPC−A160、PC−B161、PC−C162とがインターネット、LAN(Local Area Network)等のネットワーク150に接続された構成となっている。
PC−A160、PC−B161、PC−C162は、実施の形態1および2と同様に、通常のコンピュータを利用したハードウェア構成となっている。
また、PC−A160、PC−B161、PC−C162には、実施の形態1および2と同様に、複合機100のドライバソフトウェアをインストールせずに複合機1700を実行させて複合機100で生成されたデータを受信するために複合機1700に対して情報処理アプリの登録要求を行う機能を有する画像処理制御OSと、画像処理制御OS上で動作する文書アプリ、表計算アプリなどの情報処理アプリがインストールされている。このため、PC−A160、PC−B161、PC−C162には、複合機1700のドライバソフトウェアはインストールされておらず、PC−A160、PC−B161、PC−C162は、画像処理制御OSの機能によって、ネットワーク上の複合機1700に対して、インストールされている情報処理アプリの登録要求を行うようになっている。登録要求のデータ構造は、実施の形態1および2の登録要求と同様である。
複合機1700は、スキャナ処理を行うスキャナアプリ114と、設定アプリ1717と、その他のアプリ141と、UCS1729と、NCS1728と、タイマー管理部1771と、認証管理部1772と、情報処理アプリ宛先データベース1740と、表示用情報処理アプリ宛先データベース1750と、ネットワーク設定管理データベース1741と、情報処理アプリ関連情報管理データベース1742と、認証データベース1760と、オペレーションパネル170とを主に備えている。複合機1700は、図17に示すように、PC−A160、PC−B161、PC−B161からの登録要求を受けて、情報処理アプリ宛先情報の登録処理等を行った後、登録要求を受信したPC−A160,PC−B161、PC−C162に対して応答を送信する。
なお、複合機1700の全体構成としては、図4に示す実施の形態1および2の複合機100の全体構成と同様であり、ハードウェアリソース104と、プラットフォーム120と、アプリケーション130とを有している。ハードウェアリソース104、プラットフォーム120のそれぞれについては、NCS1728、UCS1728を除き、実施の形態1および2と同様の機能を有している。
情報処理アプリ宛先データベース1740は、スキャナアプリ114によりスキャンした画像を送信する宛先としてのPC−A160、PC−B161、PC−C162のそれぞれにインストールされた情報処理アプリに関する情報を登録したデータベースである。
表示用情報処理アプリ宛先データベース1750は、スキャナアプリ114によりスキャンした画像を送信する宛先としてのPC−A160、PC−B161、PC−C162のそれぞれにインストールされた情報処理アプリに関する情報を登録し、オペレーションパネル170にアプリ選択ボタン等を表示するためのデータベースである。この表示用情報処理アプリ宛先データベース1750は、上記情報処理アプリ宛先データベース1740の内容から生成される。
情報処理アプリ宛先データベース1740、表示用情報処理アプリ宛先データベース1750および表示用情報処理アプリ宛先データベース1750の詳細については後述する。
ネットワーク設定管理データベース1741は、複合機1700をネットワークに接続するための設定を管理するデータベースである。このネットワーク設定管理データベース1741は、ネットワークに接続する情報として、IPアドレスを変更するか否かを示すフラグや、DNSの設定を変更するか否かを示すフラグや、ゲートウェイアドレスを変更するか否かを示すフラグ等の情報を登録したデータベースである。
情報処理アプリ関連情報管理データベース1742は、情報処理アプリに関連する情報を管理するデータベースである。情報処理アプリ関連情報管理データベース1742は、例えば、情報処理アプリ関連情報管理データベース1742は、情報処理アプリの宛先の使用の有無を示すフラグや、登録可能な情報処理アプリの宛先の件数などを登録している。
認証データベース1760は、複合機1700を利用可能な利用者のユーザIDおよびパスワードを登録したデータベースである。
ここで、情報処理アプリ宛先データベース1740、表示用情報処理アプリ宛先データベース1750、ネットワーク設定管理データベース1741、情報処理アプリ関連情報管理データベース1742および認証データベース1760は、HDD等の記憶媒体に保存されている。
次に、情報処理アプリ宛先データベース1740について詳述する。図18は、実施の形態3にかかる情報処理アプリ宛先データベース1740のデータ構造の一例を示す説明図である。情報処理アプリ宛先データベース1740の各レコードは、図18に示すように、PC−A160、PC−B161、PC−C162から受信した登録要求に含まれるアプリ表示名とPC−A160,PC−B161、PC−C162の配信先であるURI(Uniform Resource Identifier)とを対応付けた情報処理アプリ宛先情報が複数登録されている。また、配信先(URI)のレコード長は128byteとなっている。このように実施の形態3にかかる情報処理アプリ宛先データベース1740では、このように配信先を保持しており、このため、実施の形態1および2と異なり配信先を登録した固有のデータベースは不要となる。また、各レコードには、この他、実施の形態1および2と同様に、アプリID、装置ID、有効期限(図示せず)が含まれている。
次に、表示用情報処理アプリ宛先データベース1750について詳述する。図19は、実施の形態3にかかる表示用情報処理アプリ宛先データベース1750のデータ構造の一例を示す説明図である。表示用情報処理アプリ宛先データベース1750は、図19に示すように、マスターテーブル1751と複数の見出しテーブル1752とから構成される。
マスターテーブル1751は、アプリIDとアプリ表示名と配信先(URI)とを対応付けたレコードを順次書き込み可能なテーブルである。このマスターテーブルは、最大50件のレコードが書き込まれることが可能となっており、先頭レコードから順に古いレコードとなっている。ここで、アプリID、アプリ表示名は、実施の形態1および2と同様である。
見出しテーブル1752は、マスターテーブル1751に登録されている各レコードのアプリ表示名の頭文字によってアプリ表示名を分類し見出しを付与したテーブルである。各見出しテーブル1752には、分類されたアプリ表示名を有するレコードのマスターテーブル1751における位置情報として、マスターテーブル1751の先頭レコードからのオフセットが登録される。
図19に示すように、見出しテーブル1752は、アプリ表示名の頭文字が「A」〜「C」のレコードのオフセットが登録される見出しテーブル(見出し:ABC)、アプリ表示名の頭文字が「D」〜「F」のレコードのオフセットが登録される見出しテーブル(見出し:DEF)等のように複数のテーブルが存在している。
このように表示用情報処理アプリ宛先データベース1750の構造を、マスターテーブル1751と見出しテーブル1752とにより構成したことにより、情報処理アプリのアプリ選択ボタン(アプリ宛先)の検索処理や表示処理におけるメモリ容量の削減を図ることが可能となる。
図17に戻り、NCS1728は、ネットワークI/Oを必要とする複合機100上のスキャナアプリ114やその他のアプリ141等のアプリケーションに対し、共通に利用できるサービスを提供するためのプロセスである。
実施の形態3にかかるNCS1728は、受信手段として、PC−A160,PC−B161,PC−C162から送信された登録要求を受信し、登録要求に対する応答やスキャンデータをPC−A160,PC−B161,PC−C162へ送信する処理を行うプロセスとして動作する。
また、NCS1728は、ネットワーク管理手段として、受信した登録要求からアプリ表示名と配信先(URI)とを抽出し、抽出されたアプリ表示名と配信先を対応付けたレコードとして情報処理アプリ宛先データベース1740に登録更新したり、情報処理アプリ宛先データベース1740が更新されているか否かを調べ、更新の有無をUCS1729に通知する処理を行う。さらに、NCS1728は、情報処理アプリ宛先データベース1740を更新している間、PC−A160,PC−B161,PC−C162から登録要求を受信した場合でも、受信した登録要求に基づいた情報処理アプリ宛先データベース1740の更新を行わないという排他制御を行う。
さらに、NCS1728は、実施の形態1および2と同様に、ネットワーク側から各プロトコルによって受信したデータを各アプリケーションに振り分けたり、アプリケーションからデータをネットワーク側に送信する際の仲介を行う。
UCS129は、宛先管理手段として、情報処理アプリ宛先データベース1740に登録されている表示用情報処理アプリ宛先情報(レコード)からアプリIDとアプリ表示名と配信先とを対応付けたレコードを表示用情報処理アプリ宛先データベース1750に登録更新したり、更新開始通知や更新完了通知をプロセス間通信によってスキャナアプリ114等の複合機100上で動作するアプリケーション130に送信する処理を行うプロセスとして動作する。
具体的には、UCS1729は、NCS1728から情報処理アプリ宛先データベース1740の更新の有無の通知を受信し、更新された旨を受信した場合には、情報処理アプリ宛先データベース1740からアプリ表示名と配信先とを取得して、取得したアプリ表示名および配信先とアプリIDとを対応付けたレコードをマスターテーブル1751に登録する。そして、取得したアプリ表示名の頭文字によって該当する見出しの見出しテーブル1752にアプリ表示名のマスターテーブル1751の先頭レコードからのオフセットを登録することにより、情報処理アプリ宛先データベース1750を更新する。一方、UCS1729は、NCS1728から情報処理アプリ宛先データベース1750が更新されていない旨の通知を受信した場合に、アプリケーション130に対して変更なしの旨を通知する処理を行う。
また、UCS1729による表示用情報処理アプリ宛先データベース1740の更新タイミングとしては、利用者による要求により更新を行う場合(手動更新)と所定のタイミングで自動的に更新を行う場合(自動更新)がある。
手動更新の場合、利用者はスキャナアプリ114などのアプリケーション130によってオペレーションパネル170に表示されているアプリ画面から更新ボタンを押下することにより、アプリケーション130表示用情報処理アプリ宛先データベース1740に表示用情報処理アプリ宛先データベース1740の更新要求が送信される。UCS1729は、かかる更新要求を受信した場合に、上述のように表示用情報処理アプリ宛先データベース1740を更新する。
自動更新の場合としては、情報処理アプリ関連情報管理データベース1742の変更、実行されるアプリケーション130の切替え、予め定められたタイマー時間の経過の少なくともいずれかが行われた場合に、UCS1729は、上述のように表示用情報処理アプリ宛先データベース1740を更新する。
さらに、UCS1729は、表示用情報処理アプリ宛先データベース1740を更新している間およびアプリケーション130により表示用情報処理アプリ宛先データベース1740からアプリ表示名を読み出している間は、表示用情報処理アプリ宛先データベース1740の更新要求を受信した場合でも、受信した更新要求に基づいた表示用情報処理アプリ宛先データベース1740の更新を行わないという排他制御を行う。
さらに、UCS1729は、オペレーションパネル170によって利用者から情報処理アプリの宛先の検索指示を検索条件とともに受付けた場合に、表示用情報処理アプリ宛先データベース1740から検索条件を満たす情報処理アプリの宛先に対応するアプリ表示名を有するレコードを検索する処理を行う。そして、UCS1729は、検索結果として、アプリ表示名を含むレコードのマスターテーブルにおける位置情報を登録可能な検索結果テーブルをRAM等の記憶媒体に生成し、検索されたレコードのマスターテーブル1751の先頭レコードからのオフセットを、検索結果テーブルに登録する処理を行う。
UCS1729は、認証データベース1760の認証情報(ユーザID、パスワード)によって複合機1700にログインしてきた利用者の認証処理を行う処理を行う。また、UCS1729は、要求に応じた利用者情報が格納されている記憶装置を判定し、判定した記憶装置からユーザ情報を取得して各アプリケーションに供給する処理も行う。
SCS122は、実施の形態1および2と同様の機能を備え、さらに、情報処理アプリ関連情報管理データベース1742の変更処理、複合機1700で実行されるアプリケーション130の切替え処理、通常モードと省エネルギーモードの制御処理を実行するプロセスとして動作する。
タイマー管理部1771は、情報処理アプリ関連情報管理データベース1742に保存されているタイマー時間の経過の判断を行う処理部である。
認証管理部1772は、UCS1729から利用者の認証結果を受信して認証結果が成功である場合には、ログイン通知メッセージをアプリケーション130、UCS1729、NCS1728へプロセス間通信により送信する処理部である。
タイマー管理部1771および認証管理部1772は、アプリケーション130やコントロールサービスとして構成してもよい。
設定アプリ1717は、情報処理アプリ関連情報管理データベース1742に対して、情報処理アプリに関連する情報、例えば、情報処理アプリの宛先の使用の有無を示すフラグや登録可能な情報処理アプリの宛先の件数などを登録するアプリケーション130である。
スキャナアプリ114等の複合機1700上で実行されるアプリケーション130は、実施の形態1および2と同様に、表示制御手段としてのOCS126が動的にリンクされている。このため、アプリケーション130は、表示制御手段として、各アプリに固有な処理の他、次のような処理を行うことになる。
アプリケーション130は、表示用情報処理アプリ宛先データベース1750に登録されているレコードのアプリ表示名を読み出して、読み出したアプリ表示名を入力可能に描画したアプリ画面をオペレーションパネル170に表示する処理を行う。具体的には、アプリケーション130は、見出しと、見出しの表示用情報処理アプリ宛先データベース1750の見出しテーブル1752に登録されたオフセットからマスターテーブル1751に登録されたアプリ表示名とを読み出して、見出しと読み出したアプリ表示名とを入力可能に描画したアプリ画面をオペレーションパネル170に表示する。
また、アプリケーション130は、操作表示部170に表示されたアプリ画面で更新ボタンが押下されることによって、OCS126を介して利用者から表示用情報処理アプリ宛先データベース1750の更新の指示を受け付けた場合、NCS1728に更新要求を送信する。
また、アプリケーション130は、UCS1729から、表示用情報処理アプリ宛先データベース1750の更新無しの旨が通知された場合には、オペレーションパネル170の液晶表示部に表示されたアプリ画面の表示変更を行わず、表示中のアプリ画面を維持する。これにより、アプリ選択ボタンを押下した状態で、更新要求を行った場合でも、表示用情報処理アプリ宛先データベース1750が更新されていなければ、アプリ選択ボタンの選択の状態は維持されることになる。
次に、以上のように構成された複合機1700の各動作について説明する。まず、PC−A160,PC−B161,PC−C162から情報処理アプリの登録・削除要求を受信した場合の更新通知処理について説明する。図20は、情報処理アプリの登録・削除要求を受信した場合の更新通知処理の手順を示すシーケンス図である。これ以降の図で、PC−A160,PC−B161,PC−C162を「PC」、スキャナアプリ114等のアプリケーション130を「アプリ」として示している。
まず、複合機1700では、現在実行中のアプリケーション130によってオペレーションパネル170の液晶表示部にアプリ表示画面が表示されている(ステップS2001)。図21は、アプリ画面の一例を示す説明図である。アプリ画面には、図21に示すように、「abc」、「def」等の見出しの一覧が表示され、指定された見出し「def」の見出しテーブル1752に登録されたレコードのアプリ表示名がアプリ選択ボタンとして表示されている。図21では、「PC−B DEFビューア」のアプリ選択ボタンが選択されている状態を示している。
このアプリ画面がオペレーションパネル170の液晶表示されているときに、PC−A160,PC−B161,PC−C162から、登録・削除要求メッセージが送信されると、かかる登録・削除要求メッセージをNCS1728で受信する(ステップS2002)。NCS1728は、登録・削除要求メッセージを受信すると、情報処理アプリ宛先データベース1740の更新処理を行う(ステップS2003)。なお、情報処理アプリ宛先データベース1740の更新処理の詳細については後述する。
情報処理アプリ宛先データベース1740の更新処理が完了すると、情報処理アプリ宛先データベース1740と表示用情報処理アプリ宛先データベース1750の内容が一致しなくなるので、NCS1728は、UCS1729に対してプロセス間通信により、更新通知のメッセージを送信する(ステップS2004)。
更新通知メッセージを受信したUCS1729は、現在実行中のアプリケーション130に更新通知メッセージを送信する(ステップS2005)。
更新通知メッセージを受信したアプリケーション130は、オペレーションパネル170の液晶表示部に更新通知画面を表示する(ステップS2006)。図23は、更新通知画面の一例を示す説明図である。図23に示すように、更新通知画面には、更新通知メッセージを受信した結果として、表示用情報処理アプリ宛先データベース1750と情報処理アプリ宛先データベース1740が一致しない旨を示すため、「情報処理アプリ宛先表が最新ではありません」というメッセージが表示される。
次に、ステップS2003の情報処理アプリ宛先データベース1740の更新処理について説明する。図22は、情報処理アプリ宛先データベース1740の更新処理の手順を示すフローチャートである。
まず、NCS1728は、PC−A160,PC−B161,PC−C162から受信した登録・削除要求メッセージの要求内容について調べる(ステップS2201)。そして、要求内容が登録要求である場合には、受信した登録要求の登録・削除上級メッセージに含まれるアプリ表示名で情報処理アプリ宛先データベース1740を検索し(ステップS2202)、検索された場合、すなわち、受信したメッセージに含まれるアプリ表示名を含むレコードが登録済みであるか否かを判断する(ステップS2203)。
その結果、登録済みである場合には(ステップS2203:Yes)、登録済みのレコードを、登録要求メッセージのアプリ表示名、配信先等を含むレコードで更新する(ステップS2204)。
一方、ステップS2203において、未登録である場合には(ステップS2203:No)、情報処理アプリ宛先データベース1740の最終レコードに、登録要求メッセージのアプリ表示名、配信先を含むレコードを追加する(ステップS2205)。
ステップS2201に戻り、登録要求メッセージの要求内容が削除要求である場合には、削除要求の登録・削除要求メッセージに含まれるアプリ表示名で情報処理アプリ宛先データベース1740を検索し(ステップS2206)、検索された場合、すなわち、受信したメッセージに含まれるアプリ表示名を含むレコードが登録済みであるか否かを判断する(ステップS2207)。
その結果、登録済みである場合には(ステップS2207:Yes)、登録済みのレコードを削除する(ステップS2208)。一方、ステップS2207において、未登録である場合には(ステップS2207:No)、登録・削除要求メッセージの送信元であるPC−A160,PC−B161,PC−C162にエラーの応答を返信する(ステップS2209)。
以上のように、PC−A160,PC−B161,PC−C162から情報処理アプリの登録・削除要求メッセージを受信した場合には、NCS1728によって情報処理アプリ宛先データベース1740が更新される。
次に、表示用情報処理アプリ宛先データベース1750の手動更新の処理について説明する。図24は、表示用情報処理アプリ宛先データベース1750の手動更新処理の手順を示すシーケンス図である。
まず、複合機1700では、現在実行中のアプリケーション130によってオペレーションパネル170の液晶表示部に図27に示すアプリ画面が表示されている(ステップS2401)。
アプリケーション130がUCS1729から情報処理アプリ宛先データベース1740の更新通知を受信してアプリ画面に図23に示すようなメッセージが表示されることより、利用者は情報処理アプリ宛先データベース1740が更新された結果、表示用情報処理アプリ宛先データベース1750が最新でないことを把握することができる。
このため、利用者は、表示用情報処理アプリ宛先データベース1750を最新の状態に更新するためには、図27に示すアプリ表示画面で更新ボタン701をタッチ入力する。この更新ボタンのタッチ入力がOCS126を介してアプリケーション130により受け付けられ、アプリケーション130は、UCS1729に対して更新要求メッセージを送信する(ステップS2402)。
UCS1729は、更新要求メッセージを受信すると、表示用情報処理アプリ宛先データベース1750の更新処理を実行する(ステップS2403)。図25は、表示用情報処理アプリ宛先データベース1750の更新処理の手順を示すシーケンス図である。
UCS1729は、更新要求メッセージを受信した場合、NCS2728に対して、情報処理アプリ宛先データベース1750の内容の取得を開始する旨の取得開始メッセージを送信する(ステップS2501)。取得開始メッセージを受信したNCS1728は、情報処理アプリ宛先データベース1740に変更があったか否かを確認する(ステップS2502)。具体的には、前回、UCS1729に対して変更の有無通知を送信してから、PC−A160,PC−B161,PC−C162から登録・削除要求メッセージを受信しているか否かを調べる。
そして、NCS1728は、情報処理アプリ宛先データベース1740の変更の有無通知メッセージをUCS1728に送信する(ステップS2503)。
変更の有無通知メッセージを受信したUCS1728では、受信したメッセージの内容から情報処理アプリ宛先データベース1740に変更があったか否かを調べる(ステップS2504)。そして、変更がない場合には(ステップS2504:No)、変更無しの通知メッセージをアプリケーション130に送信する(ステップS2511)。
一方、ステップS2504において、情報処理アプリ宛先データベース1740に変更がある場合には(ステップS2504:Yes)、変更有りの通知メッセージをアプリケーション130に送信する(ステップS2505)。そして、アプリケーション130に情報処理アプリ宛先データベース1740の更新開始通知メッセージを送信する(ステップS2506)。
アプリケーション130は、更新開始通知メッセージを受信すると、図28に示す更新中画面をオペレーションパネル170の液晶表示部に表示する(ステップS2507)。
一方、更新開始通知メッセージを送信したUCS1729では、情報処理アプリ宛先データベース1740のレコード取得要求メッセージをNCS1728に送信し(ステップS2508)、NCS1728ではこれに応答して情報処理アプリ宛先データベース1740から1レコード読み取って、読み取ったレコードをUCS1729に送信する(ステップS2509)。そして、かかるレコード取得要求メッセージとレコード送信の処理を、情報処理アプリ宛先データベース1740の全てのレコードに対して繰り返し行う。レコードを受信したUCS1729は、受信したレコードを表示用情報処理アプリ宛先データベース1750に登録する。
表示用情報処理アプリ宛先データベース1750へのレコードの登録処理は次のように行われる。図26は、表示用情報処理アプリ宛先データベース1750へのレコードの登録処理の手順を示すフローチャートである。UCS1729は、まず、現存するマスターテーブル1751と全ての見出しテーブル1752をHDD等の記憶媒体から削除し(ステップS2601)、空のマスターテーブル1751をHDD等の記憶媒体に生成する(ステップS2602)。
次に、UCS1729は、ステップS2508,S2509によりNCS1728から情報処理アプリ宛先データベース1740のレコード(情報処理アプリ宛先情報)を取得する(ステップS2603)。そして、取得したレコードをマスターテーブル1751に追加する(ステップS2604)。
そして、UCS1729は、このようなレコードの取得(ステップS2603)と取得したレコードのマスターテーブル1751への追加登録(ステップS2604)の処理を、NCS1728から情報処理アプリ宛先データベース1740の全てのレコードを取得するまで繰り返し実行する(ステップS2605)。
全てのレコードの取得が完了したら(ステップS2605:Yes)、UCS1729は空の見出しテーブル1752を分類する見出しの数だけHDD等の記憶媒体に生成する(ステップS2606)。
そして、UCS1729は、マスターテーブル1751に登録されているレコード(情報処理アプリ宛先情報)を読み出す(ステップS2607)。次いで、UCS1729は、読み出したレコードに含まれるアプリ表示名の頭文字を判定する(ステップS2608)。そして、UVS1729は、頭文字が該当する見出しの見出しテーブル1752に、当該レコードのマスターテーブル1751の先頭レコードからのオフセットをレコードとして追加する(ステップS2609)。
このようなステップS2607からS2609までの処理を、マスターテーブル1751に登録されている全てのレコードに対して実行する(ステップS2610)。以上のようにして、表示用情報処理アプリ宛先データベース1750へのレコードの登録処理が行われ、表示用情報処理アプリ宛先データベース1750の更新が完了する。
そして、図25に戻り、全てのレコードを送信したら、UCS1728は、表示用情報処理アプリ宛先データベース1750の更新が完了した旨を示す更新完了通知メッセージをアプリケーション130に送信する(ステップS2510)。以上のようにして、表示用情報処理アプリ宛先データベース1750の更新処理が完了する。
図24に戻り、表示用情報処理アプリ宛先データベース1750の更新処理が完了し、UCS1729から更新完了通知メッセージを受信したアプリケーション130は、表示用情報処理アプリ宛先データベース1750に登録されたレコードのアプリ表示名のオペレーションパネル170への表示処理を行う。
オペレーションパネルへの表示処理は、次のように行われる。アプリケーション130からUCS1729に対して、表示用情報処理アプリ宛先データベース1750の読み出し開始要求メッセージを送信し(ステップS2404)、読み出しOKの応答がUCS1729からアプリケーション130に送信される(ステップS2405)。すると、アプリケーション130は、UCS1729に対して、表示用情報処理アプリ宛先データベース1740のレコード(表示用情報処理アプリ宛先情報)の一覧を取得要求を送信し(ステップS2406)、UCS1729は表示用情報処理アプリ宛先データベース1740を読み出して、表示用情報処理アプリ宛先情報の一覧をアプリケーション130に送信する(ステップS2407)。表示用情報処理アプリ宛先情報の一覧を受信すると、アプリケーション130はアプリ選択ボタンの表示が可能となるため、読み出し完了メッセージをUCS1729に送信し(ステップS2408)、これに対し、UCS1729はOKメッセージをアプリケーション130に送信する(ステップS2409)。
そして、アプリケーション130は、オペレーションパネル170の液晶表示部に表示されたアプリ画面を更新する(ステップS2410)。図29は、更新されたアプリ画面の一例を示す説明図である。更新されたアプリ画面には、図29に示すように、「宛先が追加されました」のメッセージ2901と、更新された表示用情報処理アプリ宛先データベース1750に追加されたレコードの情報処理アプリのアプリ表示名を描画したアプリ選択ボタン2902が追加されて表示される。
次に、UCS1729の排他制御について説明する。図30は、UCS1729の取り得る状態の遷移を示す状態遷移図である。UCS1729は、図30に示すように、待機中、読み出し中、更新中の3つの状態をとることが可能で、待機中の状態と読み出し中の状態との間、待機中と更新中との間でそれぞれ遷移する。
更新中の状態は、UCS1729が表示用情報処理アプリ宛先情報1750を更新している状態であり、待機中に遷移することはできるが、読み出し中の状態に遷移することはできない。図24では、ステップS2403の処理を実行している場合に、更新中の状態となる。
読み出し中の状態は、アプリケーション130によって表示用情報処理アプリ宛先情報1750を読み出されている状態であり、待機中に遷移することはできるが、更新中に遷移することはできない。図24では、ステップS2404からS2409までの処理を実行している場合に、読み出し中の状態となる。
待機中の状態は、表示用情報処理アプリ宛先情報1750が読み出しも更新もされていない状態で、読み出し中にも更新中にも遷移することができる。図24では、ステップS2403の処理以外、およびステップS2404からS2409までの処理以外の処理を実行している場合に、待機中の状態となる。
UCS1729は、更新中の状態または読み出し中の状態である場合には、アプリケーション130から更新要求を受信した場合でも、かかる更新要求を無視して、表示用情報処理アプリ宛先データベース1750の更新処理を行わない排他制御を行う。
また、NCS1728も、図30に示した状態と同様の状態を遷移し、NCS1728が情報処理アプリ宛先データベース1740を更新している場合(更新中の状態、すなわち、図20のステップS2003の処理実行中の場合)、またはUCS1729によって情報処理アプリ宛先データベース1740の読み出しが実行されている場合(読み出し中の状態、すなわち図25のステップS2508、S2509の処理を繰り返し実行中の場合)には、PC−A160,PC−B161,PC−C162から登録・削除要求メッセージを受信した場合でも、このメッセージを無視し、情報処理アプリ宛先データベース1740の更新を行わない。
次に、表示用情報処理アプリ宛先データベース1750の自動更新について説明する。まず、情報処理アプリ関連情報管理データベース1742に保存される各種設定内容について説明する。
オペレーションパネル170に表示されたメニュー画面(図示せず)から初期設定キーをタッチ入力すると、液晶表示部に初期設定用のメニューが表示され、かかるメニューにおいては、収納される用紙サイズなどを設定することができる。また、当該初期設定用のメニューからPC−A160、PC−B161又はPC−C162の画像処理制御OSの機能を利用するための設定メニューに移動することができる。
図31は、ネットワーク接続先のPC−A160,PC−B161,PC−C162にインストールされた画像処理制御OSの機能を利用するための初期設定メニュー画面の一例を示す説明図である。この初期設定メニュー画面は、オペレーションパネル170の液晶表示部に設定アプリ1717によってOCS126を介して表示される。
図31の(1)に示す画面例のうち、「接続先のPCからの配信の利用」では、PC(例えばPC−A160、PC−B161又はPC−C162)にインストールされている画像処理制御OSの機能を利用するか否かを設定する。また、「接続先のPCの配信宛先の自動更新」では、PC−A160、PC−B161又はPC−C162から送信される情報処理アプリの登録・削除要求に従って、表示用情報処理アプリ宛先データベース1750を自動更新するか否かを設定する。また、最大保存件数は、表示用情報処理アプリ宛先データベース1750の保持可能なレコード件数の最大値を指定するものであり、最大50件まで設定することができる。これらの設定内容は、設定アプリ1717の設定内容を含む要求によってSCS122により情報処理アプリ関連情報管理データベース1742に保存される。なお、後述する処理では、これらの設定が有効になっているものとして説明を行う。
また、図31の(1)に示す画面例で、設定アプリ1717が自動更新タイミングを設定するための変更ボタンのタッチ入力を受け付けた場合、図31の(2)に示す画面例が表示される。
そして、図31の(2)に示す画面例では、表示用情報処理アプリ宛先データベース1750を更新するタイミングを設定する。図31の(2)に示す画面例では、「情報アプリ関連の設定変更」、「ネットワーク関連の設定変更」、「アプリ切り替え」、「個人ログイン」、および「電源復帰」のそれぞれに対して、自動更新を行うか否かを設定できる。
また、「タイマー時間」の項目では、自動更新をタイマー設定によって行う場合のタイマー時間を設定するか、タイマー設定による自動更新を行わない旨を設定できるようになっている。
つまり、当該情報処理アプリの表示用情報処理アプリ宛先データベース1750は、ネットワークの状態に応じて表示されたり、非表示になったりするという事態が発生することもありうる。また、このように更新を頻繁に行うことで、メモリやネットワークに対する負荷が大きくなる。この場合、常に正確な宛先を表示するより、送信エラーが発生したときだけ更新すればよいとする利用者がいることも考えられる。そこで、上述した設定を行うことで、ユーザの要求に応じた更新タイミングを設定できる。これにより、メモリやネットワークの負荷を軽減するとともに、ユーザの要求に応じた環境を構築できる。
また、初期設定メニュー画面を、図31に示した画面例に制限するものではなく、他の画面を用いるように構成してもよい。
次に、表示用情報処理アプリ宛先データベース1750の自動更新が行われるタイミングについて説明する。情報処理アプリ関連情報データベース1742の設定内容の変更、ネットワーク設定管理データベース1741の設定内容の変更、複合機1700で実行されるアプリケーション130の切替えの少なくともいずれかが実行された場合、または利用者がログインして認証に成功した場合、あるいは省エネルギーモードから通常モードに復帰した場合、もしくは図31の(1)の画面で設定されたタイマー時間の間隔で自動更新が実行される。
まず、情報処理アプリ関連情報データベース1742の設定内容の変更があった場合の表示用情報処理アプリ宛先データベース1750の自動更新について説明する。図32は、情報処理アプリ関連情報データベース1742の設定内容の変更があった場合の表示用情報処理アプリ宛先データベース1750の自動更新処理の手順を示すシーケンス図である。
まず、設定アプリ171が上述した図31の(1)の初期設定メニュー画面から、ネットワーク接続先のPCに関する設定を行った場合、設定アプリ1717は、かかる設定入力を受け付けて、設定情報をSCS122に転送する(ステップS3201)。
また、図31の画面の他、図33に示す設定情報の変更画面を表示して、設定内容を受け付けてもよい。かかる変更画面は、アプリケーションごとに情報処理アプリ宛先(アプリ表示名を表示したアプリ選択ボタン)を表示するか否かを設定するものであり、その設定内容は、情報処理アプリ関連情報管理データベース1742に保持されている。
かかる図33による設定は、表示用情報処理アプリ宛先データベース1750を使用するアプリケーションか否かを示す他、本来、表示用情報処理アプリ宛先データベース1750を使用するアプリケーションであっても、上記情報処理アプリ宛先を表示しないような設定も含まれる。
そして、SCS122は、受信した設定情報により設定処理を行って(ステップS3202)、情報処理アプリ関連情報データベース1742に設定情報を保存する(ステップS3203)。そして、SCS122は、情報処理アプリ関連情報の設定変更通知メッセージをUCS1729とNCS1728と設定アプリ1717に送信する(ステップS3204、S3205、S3206)。
そして、設定アプリ1717は、オペレーションパネル170に対して設定結果を表示する(ステップS3207)。
そして、UCS1729は、図25および図26で説明した処理と同様の表示用情報処理アプリ宛先データベース1750の更新処理を実行して、表示用情報処理アプリ宛先データベース1750を更新する(ステップS3208)。次いで、図24のステップS2404からS2410までの処理と同様に、更新された表示用情報処理アプリ宛先データベース1750からオペレーションパネルへのアプリ画面の表示処理を行って(ステップS3209)、アプリ画面を更新して新たな情報処理アプリに対応するアプリ選択ボタンが追加されたアプリ画面を表示する。
次に、ネットワーク設定管理データベース1741のネットワーク設定情報の変更があった場合の表示用情報処理アプリ宛先データベース1750の自動更新について説明する。図34は、ネットワーク設定管理データベース1741のネットワーク設定情報の変更があった場合の表示用情報処理アプリ宛先データベース1750の自動更新処理の手順を示すシーケンス図である。
まず、設定アプリ171は、ネットワーク設定画面をオペレーションパネル170の液晶表示部に表示する。図35は、ネットワーク設定画面の一例を示す説明図である。ネットワーク設定画面では、図35に示すように、複合機100のIPアドレス、DNS、ゲートウェイアドレスの変更を行えるように、それぞれの項目について変更ボタンが表示されている。
これらの項目の中で、いずれかの変更ボタンがタッチ入力された場合、設定アプリ1717は、かかるタッチ入力を受け付けて、例えば、IPアドレスを変更する旨の設定情報をNCS1728に転送する(ステップS3401)。
そして、NCS1728は、受信した設定情報により設定処理を行って(ステップS3402)、ネットワーク設定管理データベース1741に設定情報を保存する(ステップS3403)。そして、NCS1728は、ネットワーク設定管理データベース1741の設定情報の設定変更通知メッセージをUCS1729とSCS122と設定アプリ1717に送信する(ステップS3404、S3405、S3406)。
そして、設定アプリ1717は、オペレーションパネル170に対してネットワーク設定管理データベース1741の設定結果を表示する(ステップS3407)。
そして、UCS1729は、図25および図26で説明した処理と同様の表示用情報処理アプリ宛先データベース1750の更新処理を実行して、表示用情報処理アプリ宛先データベース1750を更新する(ステップS3408)。次いで、図24のステップS2404からS2410までの処理と同様に、更新された表示用情報処理アプリ宛先データベース1750からオペレーションパネルへのアプリ画面の表示処理を行って(ステップS3409)、アプリ画面を更新して新たな情報処理アプリに対応するアプリ選択ボタンが追加されたアプリ画面を表示する。
次に、実行中のアプリケーション130の切替えがあった場合の表示用情報処理アプリ宛先データベース1750の自動更新について説明する。図36は、実行中のアプリケーション130の切替えがあった場合の表示用情報処理アプリ宛先データベース1750の自動更新処理の手順を示すシーケンス図である。
まず、利用者がオペレーションパネル170から、アプリケーション130の選択を行った場合、オペレーションパネル170は、当該アプリの選択を示すアプリ変更通知メッセージを、SCS122に送信する(ステップS3601)。
アプリ変更通知メッセージを受信したSCS122は、UCS1729、NCS1728に対して、アプリ変更通知メッセージを送信する(ステップS3602、S3603)。次いで、SCS122は、変更通知で指定された切替え先のアプリケーション130に対して、アプリ変更通知メッセージを送信して(ステップS3604)、指定されたアプリケーション130を起動する。これにより、利用者により選択されたアプリケーションが実行中となる。
次に、SCS122は、変更先のアプリケーション130が情報処理アプリ宛先を使用するアプリケーション130であるか否か判断する(ステップS3605)。そして、情報処理アプリ宛先を使用するアプリケーション130であると判断された場合には(ステップS3605:Yes)、自動更新を行うべく、図25および図26で説明した処理と同様の表示用情報処理アプリ宛先データベース1750の更新処理を実行して、表示用情報処理アプリ宛先データベース1750を更新する(ステップS3606)。
次いで、UCS1729は、図24のステップS2404からS2410までの処理と同様に、更新された表示用情報処理アプリ宛先データベース1750からオペレーションパネルへのアプリ画面の表示処理を行って(ステップS3607)、アプリ画面を更新して新たな情報処理アプリに対応するアプリ選択ボタンが追加されたアプリ画面を表示する。
一方、ステップS3605において、変更先のアプリケーション130が情報処理アプリ宛先を使用するアプリケーション130でないと判断された場合には(ステップS3605:No)、自動更新を行わずに処理を終了する。
ここで、ステップS3605における変更先のアプリケーション130が情報処理アプリ宛先を使用するアプリケーション130であるか否かの判断について説明する。図37は、オペレーションパネル170の操作部に設けられたスキャナキーが押下された場合に表示されるスキャナアプリ114のアプリ画面の一例を示す説明図である。図37に示すように、当該スキャナアプリ114のアプリ画面例では、情報処理アプリ宛先情報の一覧に表示されたアプリ表示名の情報処理アプリ「PC−A Apl1」,「PC−A Apl2」,「PC−B Apl1」,「PC−B Apl2」)が選択可能となる。
図38は、オペレーションパネル170のFAXキーが押下された場合に表示されるファックスアプリ113のアプリ画面の一例を示す説明図である。図38に示すように、当該ファックスアプリ113の画面例では、情報処理アプリを選択することはできない。
このように選択された情報処理アプリが、スキャナアプリ114等のPC−A160,PC−B161,PC−C162における情報処理アプリが使用可能で情報処理アプリ宛先を使用するアプリケーション130、すなわち表示用情報処理アプリ宛先データベース1750を使用するアプリケーション130であれば、自動更新を行う。
一方、ファックスアプリ113のようなPC−A160,PC−B161,PC−C162における情報処理アプリが使用できず、あるいは使用できても情報処理アプリ宛先を使用しないアプリケーション、すなわち表示用情報処理アプリ宛先データベース1750を使用しないアプリケーション130であれば自動更新を行わなず終了する。
情報処理アプリが使用可能なアプリケーション130であるか否かは、図33で示した設定画面により予め設定して、情報処理アプリ関連情報管理データベース1742に設定情報を保存しておき、ステップS3605の処理では、かかる設定情報を参照して判断する。
次に、利用者がログインして認証に成功した場合の表示用情報処理アプリ宛先データベース1750の自動更新について説明する。図39は、利用者がログインして認証に成功した場合の表示用情報処理アプリ宛先データベース1750の自動更新処理の手順を示すシーケンス図である。
まず、利用者がオペレーションパネル170から、ログインする操作を行った場合、オペレーションパネル170は、当該ログイン要求を示す認証情報を、認証管理部1772に送信する(ステップS3901)。また、この認証情報には、ログインする操作を行った利用者のユーザID及びパスワードが含まれている。
図40は、オペレーションパネル170に表示されるログイン画面の遷移を示す説明図である。図40に示すように、ログイン画面で、利用者がユーザID及びパスワードを入力した後、認証ボタンをタッチ入力した場合にログイン要求が行われる。
図39に戻り、認証情報を受信した認証管理部1772は、UCS1729に対して、アカウント情報の照会要求メッセージを送信する(ステップS3902)。このアカウント情報の照会要求メッセージには、利用者のユーザID及びパスワードが含まれている。そして、照会要求を受信したUCS1729は、アカウント照会要求メッセージに含まれているユーザID及びパスワードをキーにして認証データベース1760を検索し、利用者の認証処理を行う(ステップS3903)。認証処理が終了した後、UCS1729は、認証管理部1772に対して認証結果を送信する(ステップS3904)。そして、認証管理部1772は、受信した認証結果より、利用者の認証が成功したか否かを判断する(ステップS3905)。
そして、認証管理部1772は、利用者の認証が成功したと判断した場合(ステップS3905:No)、表示用情報処理アプリ宛先データベース1750の更新を行わずに処理を終了する。
一方、ステップS3905において、認証管理部1772は、利用者の認証が成功したと判断した場合(ステップS3905:Yes)、UCS1729、NCS1728、現在実行中のアプリケーション130に対して利用者がログインしたことを示すログイン通知メッセージを送信する(ステップS1903、S3907、S3910)。
そして、UCS1729は、図25および図26で説明した処理と同様の表示用情報処理アプリ宛先データベース1750の更新処理を実行して、表示用情報処理アプリ宛先データベース1750を更新する(ステップS3909)。次いで、図24のステップS2404からS2410までの処理と同様に、更新された表示用情報処理アプリ宛先データベース1750からオペレーションパネルへのアプリ画面の表示処理を行って(ステップS3910)、アプリ画面を更新して新たな情報処理アプリに対応するアプリ選択ボタンが追加されたアプリ画面を表示する。
なお、本実施の形態では、利用者のログイン時に表示用情報処理アプリ宛先データベース1750の更新を行っているが、さらにログイン中の利用者がログオフする際に表示用情報処理アプリ宛先データベース1750の更新を行うように構成してもよい。
次に、電源投入が行われて省エネルギーモードから通常モードに復帰した場合の表示用情報処理アプリ宛先データベース1750の自動更新について説明する。図41は、省エネルギーモードから通常モードに復帰した場合の表示用情報処理アプリ宛先データベース1750の自動更新処理の手順を示すシーケンス図である。
まず、利用者が複合機1700に備えられた電源キーを押下する(ステップS4101)。その場合、SCS122に、電源キーが押下されたことで省エネルギーモードから通常モードに復帰する処理を行う(ステップS4102)。
次に、SCS122は、省エネルギーモードから通常モードに復帰したことを示す省エネ復帰通知メッセージをUCS1729、NCS1728および設定アプリ1717に対して行う(ステップS4103、S4104,S4105)。
そして、UCS1729は、図25および図26で説明した処理と同様の表示用情報処理アプリ宛先データベース1750の更新処理を実行して、表示用情報処理アプリ宛先データベース1750を更新する(ステップS4106)。次いで、図24のステップS2404からS2410までの処理と同様に、更新された表示用情報処理アプリ宛先データベース1750からオペレーションパネルへのアプリ画面の表示処理を行って(ステップS4107)、アプリ画面を更新して新たな情報処理アプリに対応するアプリ選択ボタンが追加されたアプリ画面を表示する。
次に、タイマー時間が経過した場合の表示用情報処理アプリ宛先データベース1750の自動更新について説明する。図42は、タイマー時間が経過した場合の表示用情報処理アプリ宛先データベース1750の自動更新処理の手順を示すシーケンス図である。
まず、UCS1729は、設定アプリ1717を介して情報処理アプリ関連情報管理データベース1742に設定されたタイマー時間をタイマー管理部1771に送信することにより、タイマー管理部1771に対してタイマー時間の時間設定を行う(ステップS4201)。
そして、タイマー管理部1771は、設定されたタイマー時間を検出し、タイマー時間を経過した場合には、UCS1729に対してタイマー時間が経過した旨を示すタイマー通知メッセージを送信する。
そして、UCS1729は、図25および図26で説明した処理と同様の表示用情報処理アプリ宛先データベース1750の更新処理を実行して、表示用情報処理アプリ宛先データベース1750を更新する(ステップS4106)。次いで、図24のステップS2404からS2410までの処理と同様に、更新された表示用情報処理アプリ宛先データベース1750からオペレーションパネルへのアプリ画面の表示処理を行って(ステップS4107)、アプリ画面を更新して新たな情報処理アプリに対応するアプリ選択ボタンが追加されたアプリ画面を表示する。
以上説明したように、情報処理アプリ関連情報データベース1742の設定内容の変更、ネットワーク設定管理データベース1741の設定内容の変更、複合機1700で実行されるアプリケーション130の切替えが実行された場合、利用者がログインして認証に成功した場合、省エネルギーモードから通常モードに復帰した場合、図31の(1)の画面で設定されたタイマー時間の間隔で表示用情報処理アプリ宛先データベース1750の自動更新が実行されるので、現在実行中のアプリケーション130がオペレーションパネル170の液晶表示部に表示している操作中のアプリ画面に影響を与えることなく、適切なタイミングで表示用情報処理アプリ宛先データベース1750を最新の状態に維持することができる。
次に、アプリケーション130とUCS1729による表示用情報処理アプリ宛先データベース1750からの情報処理アプリ宛先の検索処理について説明する。図43は、表示用情報処理アプリ宛先データベース1750からの情報処理アプリ宛先の検索処理の全体の流れを示すシーケンス図である。
まず、オペレーションパネル170の液晶表示部に表示されている図44に示すアプリ画面から検索ボタン4401を利用者がタッチ入力することにより、アプリケーション130は、かかるタッチ入力を受け付けて、検索画面を表示する(ステップS4301)。図45は、検索画面の一例を示す説明図である。検索画面は、図45に示すように、検索対象の情報処理アプリのアプリ表示名を入力するフィールド4501と、入力したアプリ表示名を変更するための変更ボタン4502と、前方一致や後方一致などの条件を指定する条件指定ボタン4503が表示されている。
利用者は、この検索画面から検索対象の情報処理アプリのアプリ表示名を入力するとともにいずれかの条件ボタン4503を選択して、設定ボタンをタッチ入力することにより検索を開始する。
これにより、アプリケーション130は、上記入力および選択を受け付けて、入力したアプリ表示名および指定された条件を検索条件としてを含めた検索要求メッセージをUCS1729に送信する(ステップS4302)。
UCS1729は、検索要求メッセージを受信すると検索要求メッセージからアプリ表示名および条件を抽出して、検索処理を実行する(ステップS4303)。
図46は、UCS1729による検索処理の手順を示すフローチャートである。UICS1729は、表示用情報処理アプリ宛先データベース1750のマスターテーブル1751に登録されている全てのレコード(表示用情報処理アプリ宛先情報)を読み出す(ステップS4601)。
そして、レコードが存在するか否かを調べる(ステップS4602)。レコードが存在する場合には(ステップS4602:Yes)、レコード単位で、レコードが検索条件と一致するか否かを判断する(ステップS4603)。具体的には、レコードが、検索要求メッセージに含まれるアプリ表示名をキーとして、指定された前方一致等の条件に該当するか否かを調べる。レコードが検索条件と一致しない場合には、当該レコードが検索対象のレコードではないと判断して、ステップS4602に戻り、次のレコードが存在するか否かを調べる。
一方、ステップS4603において、レコードが検索条件に一致する場合には(ステップS4603:Yes)、当該レコードが検索対象のレコードであると判断して、当該レコードを検索結果テーブルに追加する(ステップS4604)。そして、ステップS4602に戻り、次のレコードが存在するか否かを調べ(ステップS4602)、存在する場合には(ステップS4602:Yes)、ステップS4603およびS4604の処理を繰り返す。そして、ステップS4602で次のレコードが存在しなくなった場合(ステップS4602:No)、すなわちマスターテーブル51に登録された全てのレコードに対してステップS4603およびS4604の処理を完了した場合に検索処理を終了する。
ここで、検索結果テーブルについて説明する。図47は、検索結果テーブルの一例およびマスターテーブル1751と検索結果テーブルの関係を示す説明図である。
検索結果テーブル4710は、図47に示すように、見出しテーブル1752と同様に、検索条件に一致したレコードのマスターテーブル1751の先頭レコードオフセットを登録したテーブルである。このような検索結果テーブルを用いることにより、検索処理におけるメモリ容量の削減を図ることが可能となる。
従って、ステップS4604では、具体的には、検索条件に一致したレコードのマスターテーブル1751の先頭レコードからのオフセットを検索結果テーブルに追加することになる。なお、最初にレコードが検索条件に一致すると判断された場合には、検索結果テーブルをメモリ等の記憶媒体に生成した上で、当該レコードのオフセットを検索結果テーブルに追加する。以上のように検索処理が行われ、検索条件に合致するレコード、すなわち表示用情報処理アプリ宛先情報のオフセットが検索結果テーブルに登録されることになる。
図43に戻り、検索処理が終了したら、UCS1729は、検索結果完了通知メッセージをアプリケーション130に送信する(ステップS4304)。検索結果完了通知メッセージを受信したアプリケーション130は、検索結果を取得するため、検索結果取得要求メッセージをUCS1729に送信する(ステップS4305)。
UCS1729では、検索結果取得要求メッセージを受信すると、検索結果をアプリケーション130に送信する(ステップS4306)。具体的には、検索条件に一致したレコードが存在する場合には、すなわち検索結果テーブルが生成されている場合には、UCS1729は、生成されている検索結果テーブルをアプリケーション130に送信する。一方、検索条件に一致するレコードがなく、検索結果テーブルが生成されていない場合には、検索対象の情報処理アプリの表示用情報処理アプリ宛先情報が存在しない旨を検索結果としてアプリケーション130に送信する。
検索結果を受信したアプリケーション130は、検索結果から検索結果表示画面を表示する(ステップS4307)。具体的には、検索結果として検索結果テーブルが送信されてきた場合には、検索結果テーブルに登録されているオフセットに該当するすべてのレコード(表示用情報処理アプリ宛先情報)をマスターテーブル1751から読み出して、そのアプリ表示名と配信先(URI)を表示した検索結果表示画面をオペレーションパネル170の液晶表示部に表示する。
図48は、検索結果表示画面の一例を示す説明図である。図48に示すように、検索結果表示画面には、検索された情報処理アプリのアプリ表示名と配信先とが表示されている。
一方、アプリケーション130は、検索結果として検索対象の情報処理アプリの表示用情報処理アプリ宛先情報が存在しない旨を受信した場合には、図48の検索画面の代えて、検索対象の情報処理アプリが存在しない旨のメッセージが検索結果画面として表示される。
このように情報処理アプリの検索は、アプリ表示名を検索キーとして表示用情報処理アプリ宛先データベース1750から検索されることになる。
次に、以上説明したような表示用情報処理アプリ宛先データベース1750を使用した複合機1700によるスキャン処理の流れについて説明する。図49は、実施の形態3のスキャン処理の流れを示すシーケンス図である。
まず、スキャナアプリ114は、アプリ宛先(アプリ選択ボタン)が表示されたアプリ画面をオペレーションパネル170の液晶表示部に表示する(ステップS4801)。利用者はアプリ画面において、送信先としての情報処理アプリのアプリ宛先を指定するため、所望の情報処理アプリのアプリ選択ボタンをタッチ入力して送信先を指定する(ステップS4802)。そして、利用者は、原稿をセットしてオペレーションパネル170の操作部からスタートボタンを押下することによりスキャンおよび送信要求を行う(ステップS4803)。スキャナアプリ114は、アプリ選択ボタンのタッチ入力、スキャンおよび送信要求を受付け、原稿のスキャンを実行する(ステップS4804)。
そして、スキャン画像をPCに送信して配信先を取得するため、スキャナ114は、UCS1729に対して表示用情報処理アプリ宛先データベース1750の読み出し要求メッセージを送信する(ステップS4805)。そして、スキャナアプリ114は、UCS1729に対して、選択されたアプリ選択ボタンに対応する情報処理アプリのアプリ表示名を含む、表示用情報処理アプリ宛先情報の取得要求メッセージを送信する(ステップS4806)。
UCS1729では、受信した取得要求メッセージからアプリ表示名を抽出し、抽出したアプリ表示名をキーにして、表示用情報処理アプリ宛先データベース1750を上述した検索処理で検索し、検索されたアプリ表示名と配信先を含むレコードである表示用情報処理アプリ宛先情報をスキャナアプリ114に送信する(ステップS4807)。
スキャナアプリ114は表示用情報処理アプリ宛先情報を受信すると、読み出し完了通知メッセージをUCS1729に送信する(ステップS4808)。次に、スキャナアプリ114は、スキャン画像を、アプリ表示名の情報処理アプリのデータ形式のデータに画像変換する(ステップS4809)。
次に、スキャナアプリ114は、受信した表示用情報処理アプリ宛先情報から情報処理アプリの配信先を抽出し、抽出した配信先と画像変換したデータとを含む求メッセージをNCS1728に送信する(ステップS4810)。
送信要求メッセージを受信したNCS1728は、送信要求メッセージから情報処理アプリの配信先と画像変換したデータとを抽出し、画像変換したデータを配信先で指定されたURIに送信する(ステップS4811)。
これにより、配信先のPC側でデータが受信され、このデータはステップS4809で当該PC上で実行される情報処理アプリが扱えるデータ形式に画像変換されているため、PC上に複合機1700のドライバソフトウェアをインストールしなくても、複合機1700によるスキャン画像のデータを表示または編集することが可能となる。
このように、実施の形態3にかかる複合機1700では、情報処理アプリと複合機1700のドライバソフトウェアをインストールせずに複合機1700を実行させて複合機1700で生成されたデータを受信するために複合機1700に対して情報処理アプリの登録要求を行う機能を有するオペレーティングシステムとが実行可能なPC−A160,PC−B161,PC−C162の情報処理アプリのアプリ表示名を保持する情報処理アプリ宛先データベース1740と、このデータベースに基づいて生成され、アプリIDとアプリ表示名と登録要求を行ったPC−A160,PC−B161,PC−C162に関する配信先とを対応付けた表示用情報処理アプリ宛先データベース1750とを別々に有し、PC−A160,PC−B161,PC−C162から、アプリ表示名と配信先を含む登録要求を受信し、受信した登録要求からアプリ表示名と配信先とを抽出し、抽出されたアプリ表示名と配信先を情報処理アプリ宛先データベース1740に登録し、この情報処理アプリ宛先データベース1740に基づいてアプリIDとアプリ表示名と配信先とを、表示用情報処理アプリ宛先データベース1750に登録し、この表示用情報処理アプリ宛先データベース1750に登録されているアプリ表示名を読み出して、読み出したアプリ表示名を入力可能に描画したアプリ画面を表示しているので、アプリケーション130の実行によりアプリ画面をオペレーションパネル170の液晶表示に表示しているときに、PC−A160,PC−B161,PC−C162から登録要求がきて情報処理アプリ宛先データベース1740に登録する場合でも、表示用情報処理アプリ宛先データベース1750に基づいてアプリ画面を表示するので、アプリ画面に悪影響を及ぼさずに、アプリケーション130の登録要求を行うPC−A160,PC−B161,PC−C162に画像処理されたデータを容易に送信することができるとともに、PC−A160,PC−B161,PC−C162側で複合機1700のドライバソフトウェアをインストールせずに複合機1700の画像処理機能を実現することができる。
図50は、実施の形態1〜3にかかる複合機100,1700のハードウェア構成を示すブロック図である。図50に示すように、この複合機100,1700は、コントローラ4910とエンジン部(Engine)4960とをPCI(Peripheral Component Interconnect)バスで接続した構成となる。コントローラ4910は、複合機100,1700全体の制御と描画、通信、図示しない操作部からの入力を制御するコントローラである。エンジン部4960は、PCIバスに接続可能なプリンタエンジンなどであり、たとえば白黒プロッタ、1ドラムカラープロッタ、4ドラムカラープロッタ、スキャナまたはファックスユニットなどである。なお、このエンジン部4960には、プロッタなどのいわゆるエンジン部分に加えて、誤差拡散やガンマ変換などの画像処理部分が含まれる。
コントローラ4910は、CPU4911と、ノースブリッジ(NB)4913と、システムメモリ(MEM−P)4912と、サウスブリッジ(SB)4914と、ローカルメモリ(MEM−C)4917と、ASIC(Application Specific Integrated Circuit)4916と、ハードディスクドライブ(HDD)4918とを有し、ノースブリッジ(NB)4913とASIC4916との間をAGP(Accelerated Graphics Port)バス15で接続した構成となる。また、MEM−P4912は、ROM(Read Only Memory)4912aと、RAM(Random Access Memory)4912bとをさらに有する。
CPU4911は、複合機100,1700の全体制御をおこなうものであり、NB4913、MEM−P4912およびSB4914からなるチップセットを有し、このチップセットを介して他の機器と接続される。
NB4913は、CPU4911とMEM−P4912、SB4914、AGP4915とを接続するためのブリッジであり、MEM−P4912に対する読み書きなどを制御するメモリコントローラと、PCIマスタおよびAGPターゲットとを有する。
MEM−P4912は、プログラムやデータの格納用メモリ、プログラムやデータの展開用メモリ、プリンタの描画用メモリなどとして用いるシステムメモリであり、ROM4912aとRAM4912bとからなる。ROM4912aは、プログラムやデータの格納用メモリとして用いる読み出し専用のメモリであり、RAM4912bは、プログラムやデータの展開用メモリ、プリンタの描画用メモリなどとして用いる書き込みおよび読み出し可能なメモリである。
SB4914は、NB4913とPCIデバイス、周辺デバイスとを接続するためのブリッジである。このSB4914は、PCIバスを介してNB4913と接続されており、このPCIバスには、ネットワークインターフェース(I/F)部なども接続される。
ASIC4916は、画像処理用のハードウェア要素を有する画像処理用途向けのIC(Integrated Circuit)であり、AGP4915、PCIバス、HDD4918およびMEM−C4917をそれぞれ接続するブリッジの役割を有する。このASIC4916は、PCIターゲットおよびAGPマスタと、ASIC4916の中核をなすアービタ(ARB)と、MEM−C4917を制御するメモリコントローラと、ハードウェアロジックなどにより画像データの回転などをおこなう複数のDMAC(Direct Memory Access Controller)と、エンジン部60との間でPCIバスを介したデータ転送をおこなうPCIユニットとからなる。このASIC4916には、PCIバスを介してFCU(Fax Control Unit)4930、USB(Universal Serial Bus)4940、IEEE1394(the Institute of Electrical and Electronics Engineers 1394)インターフェース50が接続される。
MEM−C4917は、コピー用画像バッファ、符号バッファとして用いるローカルメモリであり、HDD(Hard Disk Drive)18は、画像データの蓄積、プログラムの蓄積、フォントデータの蓄積、フォームの蓄積を行うためのストレージである。
AGP4915は、グラフィック処理を高速化するために提案されたグラフィックスアクセラレーターカード用のバスインターフェースであり、MEM−P4912に高スループットで直接アクセスすることにより、グラフィックスアクセラレーターカードを高速にするものである。
なお、実施の形態1〜3にかかる複合機で実行される画像処理プログラムは、ROM等に予め組み込まれて提供される。
実施の形態1〜3にかかる複合機100,1700で実行される画像処理プログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。
さらに、実施の形態1〜3にかかる複合機100,1700で実行される画像処理プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、、実施の形態1〜3にかかる複合機100,1700で実行される画像処理プログラムをインターネット等のネットワーク経由で提供または配布するように構成しても良い。
実施の形態1〜3にかかる複合機100,1700で実行される画像処理プログラムは、上述した各部(UCS、NCS、スキャナアプリ等)を含むモジュール構成となっており、実際のハードウェアとしてはCPU(プロセッサ)が上記ROMから画像処理プログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、上記各部が主記憶装置上に生成されるようになっている。
なお、本発明は、上記実施の形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化することができる。また、上記実施の形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成することができる。例えば、実施の形態に示される全構成要素からいくつかの構成要素を削除してもよい。さらに、異なる実施の形態にわたる構成要素を適宜組み合わせても良い。