以下、本発明が適用された実施形態について、図面を用いて説明する。
[第1実施形態]
(1)全体構成
画像処理システムは、図1に示すように、複合機10,ディレクトリサーバ20,機能サーバ30などからなり、これらがネットワーク(本実施形態ではインターネット等の広域ネットワーク(WAN:Wide Area Network))1を介してデータ通信可能に接続されている。具体的にいうと、複合機10,ディレクトリサーバ20および機能サーバ30は、それぞれルータ(R;周知のブロードバンドルータ)2〜4を介してネットワーク1と接続されている。
複合機10は、制御部11,操作部12,読取部13,記録部14,通信部15,記憶部16,音入力部17および音出力部18などを備えている。
これらのうち、制御部11は、CPU,ROM,RAM等を備え、このCPUが、ROMに記憶されているプログラムに従って複合機10全体を統括制御する。
また、操作部12は、図2に示すように、コピーキー41,スキャナキー42,FAXキー43,サービスキー44,設定キー45,上下左右の方向キー46〜49,OKキー50およびキャンセルキー51,ディスプレイ52などからなるユーザインタフェースとして構成されている。
また、読取部13は、スキャナとしての機能を実現するための入力デバイスであり、用紙等のシート状記録媒体に記録(例えば印刷)された画像を読み取り、その画像を表す画像データを生成する。
また、記録部14は、プリンタとしての機能を実現するための出力デバイスであり、画像データの表す画像を用紙等のシート状記録媒体に印刷する。
また、通信部15は、複合機10をネットワーク1に接続すると共に、このネットワーク1を介してデータを送受信するための処理を行う。
また、記憶部16は、図示しない不揮発性RAMを備えており、この不揮発性RAMにデータを記憶可能に構成されている。
また、音入力部17は、本複合機10が備える図示しないハンドセット(受話器)に設けられたマイクから音を入力し、その音を表す音データ(PCMデータ)を生成する。
そして、音出力部18は、音データ(PCMデータ)の表す音を、図示しないハンドセットに設けられたスピーカ、又は、複合機本体に設けられた図示しないスピーカから出力する。
ディレクトリサーバ20は、制御部21,通信部22および記憶部23を備えている。
これらのうち、制御部21は、CPU,ROM,RAM等を備え、このCPUが、ROMに記憶されているプログラムに従ってディレクトリサーバ20全体を統括制御する。
また、通信部22は、ディレクトリサーバ20をネットワーク1に接続すると共に、このネットワーク1を介してデータを送受信するための処理を行う。
そして、記憶部23は、図示しないハードディスクを備えており、このハードディスクにデータを記憶する。この記憶部23には、後述するサービス定義情報25を記憶するためのサービス定義情報記憶部24が設けられている。このサービス定義情報25は、XML(eXtensible Markup Language)により記述されたXMLデータであり、この記述内容に従って後述するサービス選択用画面を表示することで(図8(a)参照)、機能サーバ30が提供可能なサービス一覧(各サービスの種類及び要求先アドレス(URL;Uniform Resource Locator))を提供することができる。なお、このサービス定義情報25における各タグの定義付けを図3に示す。
機能サーバ30は、制御部31,通信部32および記憶部33などを備えている。
これらのうち、制御部31は、CPU,ROM,RAM等を備え、このCPUが、ROMに記憶されているプログラムに従って機能サーバ30全体を統括制御する。なお、この制御部31は、複合機10の制御部11に比べて充分に高性能な構成とされており、複合機10の制御部11では実行困難な処理についても行うことができる。
また、通信部32は、機能サーバ30をネットワーク1に接続すると共に、このネットワーク1を介してデータを送受信するための処理を行う。
そして、記憶部33は、図示しないハードディスクを備えており、このハードディスクにデータを記憶する。この記憶部33は、後述するサービスI/F情報36を記憶するためのサービスI/F情報記憶部34と、それぞれ異なるサービスを提供するための処理を実行するサービスソフトウェア37を記憶するためのサービスソフト記憶部35と、からなる。このサービスI/F情報36は、XMLにより記述されたXMLデータであり、この記述内容に従って後述するパラメータ入力用画面を表示することで(図19参照)、機能サーバ30に対してサービスの提供を要求するための情報(サービスの内容及び要求先アドレス)を提供することができる。なお、このサービスI/F情報36における各タグの定義付けを図4に示す。
(2)複合機10による処理
以下に、複合機10の制御部11により実行される各種処理について説明する。
(2−1)複合機処理
はじめに、複合機10が起動された以降、繰り返し実行される処理である複合機処理を図5に基づいて説明する。
この複合機処理が起動されたら、まず、初期化処理を行う(s102)。
この初期化処理を終えた後、外部からの指令,例えば、操作部12への入力操作やネットワーク1を介した指令信号の入力などが発生したら(s104)、この入力が動作モードをサービスモードへ移行させるための内容であるか否かをチェックする(s106)。ここでは、s104による入力が操作部12のサービスキー44を押下する操作であれば、サービスモードへ移行させるための内容であると判定する。なお、この「サービスモード」とは、以下の処理で示すように、機能サーバ30に対してサービスの提供を要求するための処理を実行するための動作モードである。
このs106で、サービスモードへ移行させるための内容でないと判定されたら(s106:NO)、その入力内容に応じて他の動作モードに対する処理(その他のモードの処理)を行った後(s108)、s104へ戻る。
一方、s106で、サービスモードへ移行させるための内容であると判定されたら(s106:YES)、機能サーバ30に要求すべきサービスを指定する方法をユーザに指定させる(s110)。ここでは、図6に示す方法選択画面をディスプレイ52に表示させ、サービスをリストから指定するか(図6における「リストから選択」)、要求先アドレスを直接入力により指定するか(図6における「直接入力」)の選択を促す。この選択画面が表示された後、ユーザは、操作部12により、いずれにより指定するかの選択を行うことができる。
このs110で、リストから指定する旨が選択されたら(s110:YES)、ディレクトリサーバ20にサービス一覧の照会を要求する(s112)。ここでは、ディレクトリサーバ20に対してサービス定義情報25の送信を要求するためのアドレスとして、あらかじめ記憶部16に記憶されたアドレス宛に、HTTP1.1(HTTP:HyperText Transfer Protocol)に基づくHTTPリクエスト(以降、単に「HTTPリクエスト」という)を送信することにより、サービス一覧の照会を要求する。このアドレスに基づいてアクセスを受けたディレクトリサーバ20は、後述するようにトップのサービス定義情報25を、HTTP1.1に基づくHTTPレスポンス(以降、単に「HTTPレスポンス」という)により返信してくる。
なお、この「サービス定義情報25」には、「データ保存サービス」,「印刷サービス」,「コピー応用サービス」といったカテゴリそれぞれにおけるサービスの選択を促すサービス選択画面を表示させるためのものと、カテゴリの選択を促すサービス選択画面を表示させるためのものと、があり、このs112においては、カテゴリの選択を促すサービス選択画面を表示させるためのサービス定義情報(以降、「トップのサービス定義情報」という)25にアクセスするためのアドレス宛にHTTPリクエストを送信する。
こうして、サービス一覧の照会を要求した後、ディレクトリサーバ20から返信されたサービス定義情報25を受信したら(s114)、このサービス定義情報25に基づいてサービス選択用画面をディスプレイ52に表示させた後(s116)、次の処理(s120)へ移行する。このs116の処理がトップのサービス定義情報25を受信した後に行われる場合には、図7に示すようなトップのサービス定義情報25(XMLの記述)に従って、図8(a)に示すように、表示用タイトル(Title)として「ディレクトリサービス」の文字がディスプレイ52の表示領域上部に配置され、選択可能なカテゴリを表す項目(Link_Title)である「データ保存サービス」,「印刷サービス」および「コピー応用サービス」の文字が表示領域下部に配置されてなるサービス選択画面の表示を行う。なお、この場合のサービス選択画面には、カテゴリに対応する別のサービス定義情報25のIDがリンク先として割り当てられており(図7における「Link_Location」参照)、いずれかの項目が選択された際に、その項目に対応するIDのサービス定義情報25がディレクトリサーバ20に要求されることになる。
また、s116の処理がトップ以外のサービス定義情報25を受信した後に行われる場合,具体的な例として、「コピー応用サービス」に関するサービス定義情報25を受信した場合には、図9に示すようなサービス定義情報25(XMLの記述)に従って、図8(b),図8(c)に示すように、表示用タイトル(Title)として「コピー応用サービス」の文字が表示領域上部に配置され、選択可能なサービスを表す項目(Link_Title)である「すかし入りコピー」,「翻訳コピー」,「原稿読み上げ」および「音声テキスト変換」の文字が表示領域下部に配置されてなるサービス選択画面の表示を行う。なお、本実施形態において、表示領域の制約上、すべての項目を一度に表示することができない場合には、画面をスクロールさせることで各項目の配置が上下に移動するように構成されており、図8(b),図8(c)では、そのようなスクロール前後の状態を示している。また、この場合のサービス選択画面には、サービスに対応する別のサービス定義情報25のIDがリンク先として割り当てられており(図9における「Link_Location」参照)、いずれかの項目が選択された際に、その項目に対応するIDのサービスの提供が機能サーバ30に要求されることになる。
また、上述したs110で、要求先アドレスを直接入力により指定する旨が選択された場合には(s110:NO)、要求先アドレスを入力するための図示しないアドレス入力画面をディスプレイ52に表示させた後(s118)、次の処理(s120)へ移行する。
こうして、サービス選択画面またはアドレス入力画面が表示された以降、ユーザは、操作部12により、いずれかの項目を選択する操作(アドレスを入力する操作),または,サービスモードを終了する操作(停止操作)を行うことができる。
次に、ユーザによる操作部12への入力操作を受け付け(s120)、こうして行われた入力操作がリンクを選択する操作であるか否かをチェックする(s122)。ここでは、s116にて表示されたサービス選択画面における項目を選択する操作,または,s118にて表示されたアドレス入力画面にアドレスを入力する操作が入力操作として行われた場合に、リンクを選択する操作であると判定する。
このs122で、リンクを選択する操作でないと判定された場合(s122:NO)、その入力操作が停止操作であれば(s124:YES)、s104へ戻ることによりサービスモードとしての処理を終了する一方、入力操作が停止操作でなければ(s124:NO)、拒否音(ブザー音など)を鳴動させた後(s126)、s120へ戻る。
また、s122で、入力操作がリンクを選択する操作であると判定された場合(s122:YES)、その選択されたリンクがサービスへのリンク,つまり機能サーバ30にサービスの提供を要求するためのIDであるか否かをチェックする(s128)。
このs128で、サービスへのリンクでないと判定された場合,つまり別のサービス定義情報25のIDである場合には(s128:NO)、ディレクトリサーバ20に対してサービス一覧の照会を要求し、該当するサービス定義情報25を受信した後(s130)、s116へ戻ってサービス選択用画面をディスプレイ52に表示させる。
そして、s128で、サービスへのリンクであると判定された場合には(s128:YES)、後述するセッション処理(図10)を行った後(s132)、s104へ戻ることによりサービスモードとしての処理を終了する。
(2−2)セッション処理
続いて、図2におけるs132であるセッション処理の詳細な処理手順を図10,図11に基づいて説明する。
このセッション処理では、まず、利用するサービスを選択し、サービス定義情報25のLink_Location(アドレスを直接入力した場合には、そのアドレス)に基づきサービスを起動する(s202)。つまり、サービスのアドレス宛にサービス起動指令をHTTPリクエストにより送信することで、ユーザに選択されたサービスを機能サーバ30側において起動させる。このサービス起動指令を受信した機能サーバ30からは、セッションIDがHTTPレスポンスにより返信されてくる。
次に、s204によるサービス起動指令に応じて機能サーバ30から返信されてくるセッションIDを受信する(s204)。なお、以降の処理で送信するHTTPリクエストおよびHTTPレスポンスには、特に明示しない限り、全てセッションIDが含まれた状態で送信されることとし、このHTTPリクエストを受信した機能サーバ30側では、このセッションIDに基づいて通信中のデバイスを管理(周知のセッション管理)するように構成されている。
次に、複合機10に対する指令の有無を問い合わせるための「複合機指令問合せ」をHTTPリクエストにより機能サーバ30へ送信する(s206)。この「複合機指令問合せ」を受信した機能サーバ30は、複合機10に対する指令が発生していれば、その内容を示す指令(指令が発生していない場合には「指令なし」を示す指令)をHTTPレスポンスにより返信してくる。
次に、s206による問い合わせにより返信されてくる指令(複合機指令)を受信したら(s208)、その指令がジョブ起動指令であるか否かを判定する(s210)。この「ジョブ起動指令」とは、後述のように、s202にてサービス起動指令を送信した以降、機能サーバ30側で発生する指令であり、そのタイミングやサービスの内容に応じて「UIジョブ」,「入力ジョブ(スキャンジョブまたはボイスジョブ)」,「出力ジョブ(プリントジョブまたはスピーカジョブ)」のいずれかの起動を指令する内容となっている。なお、このジョブ起動指令には、起動すべきジョブのジョブID,ジョブの種類(UIジョブ,入力ジョブ(スキャンジョブまたはボイスジョブ)または出力ジョブ(プリントジョブまたはスピーカジョブ))およびジョブの通信先アドレスが付加されている。
このs210で、ジョブ起動指令であると判定された場合(s210:YES)、ジョブの起動に必要なリソースを確保した後(s212)、以下に示すs252〜s266によりジョブ起動指令で指令されたジョブの起動を行う。
以下に、このs252〜s266について図11に基づいて説明する。
ここでは、まず、ジョブ起動指令で指令されたジョブがUIジョブであるか否かをチェックし(s252)、UIジョブであると判定された場合には(s252:YES)、ジョブ起動指令に付加されたジョブIDおよび通信先アドレスに基づいてUIジョブを起動した後(s254)、次の処理(図10におけるs214)へ移行する。このUIジョブは、このs254の処理で起動された以降、他の処理と並行して実行されるものであり、これについては、後述する「UIジョブ」(図12)において詳述する。
また、ジョブ起動指令で指令されたジョブがUIジョブでないと判定された場合(s252:NO)、その指令されたジョブが入力ジョブの一種であるスキャンジョブ(s256:YES)またはボイスジョブ(s256:NO,s262:YES)であれば、ジョブ起動指令に付加されたジョブIDおよび通信先アドレスに基づいて入力ジョブを起動した後(s260)、次の処理(図10におけるs214)へ移行する。この入力ジョブは、このs260の処理で起動された以降、他の処理と並行して実行されるものであり、これについては、後述する「入力ジョブ」(図20)において詳述する。
また、ジョブ起動指令で指令されたジョブが上述したいずれのジョブでないと判定された場合(s258:NO)、その指令されたジョブが出力ジョブの一種であるプリントジョブ(s262:YES)またはスピーカジョブ(s262:NO,s264:YES)であれば、ジョブ起動指令に付加されたジョブIDおよび通信先アドレスに基づいて出力ジョブを起動した後(s266)、次の処理(図10におけるs214)へ移行する。この出力ジョブは、このs266の処理で起動された以降、他の処理と並行して実行されるものであり、これについては、後述する「出力ジョブ」(図21)において詳述する。
なお、ジョブ起動指令で指令されたジョブが上述したいずれのジョブでもないと判定された場合(s264:NO)、ジョブの起動を行うことなく、次の処理(図10におけるs214)へ移行する。
こうして、ジョブの起動を行った後、図10へ戻り、所定インターバル待機した後(s214)、s206へ戻る。
また、上述したs210で、ジョブ起動指令でないと判定された場合(s210:NO)、s208で受信した指令がジョブ終了指令であるか否かをチェックする(s216)。この「ジョブ終了指令」とは、後述のように、図11における各処理でジョブを起動した以降、このジョブが終了した際に機能サーバ30側で発生する指令である。なお、このジョブ終了指令には、その終了したジョブのジョブIDが付加されている。
このs216で、ジョブ終了指令であると判定された場合(s216:YES)、このジョブ終了指令に付加されたジョブIDのジョブを停止させる(該当するジョブに対して終了指示を渡す)と共に、このジョブを起動する前にS212にて確保したリソースを解放した後(s218)、s214へ移行する。
また、上述したs216で、ジョブ終了指令でないと判定された場合(s216:NO)、「指令なし」を示すものであるか否かをチェックし(s220)、「指令なし」を示すものであれば(s220:YES)、s214へ移行する一方、「指令なし」を示すものでなければ(s220:NO)、セッション終了指令であるか否かを判定する(s222)。この「セッション終了指令」とは、この複合機10に対するサービスの提供が終了した際に機能サーバ30側で発生する処理である。
そして、このs222で、セッション終了指令であると判定された場合(s222:YES)、本セッション処理を終了する一方、s208で受信した指令が上述したいずれの指令でもない場合、エラーを報知するための処理(指令エラーの処理)を行った後(s224)、本セッション処理を終了する。このs224では、エラーである旨のメッセージをディスプレイ52に表示させることによりエラーを報知する。
(2−3)UIジョブ
続いて、図11におけるs254にて起動されるUIジョブの処理手順を図12,図15に基づいて説明する。
このUIジョブが開始されると、まず、複合機10に対する指令の問合せである複合機ジョブ指令問合せを送信用データ格納領域にセットする(s300)。ここでは、複合機指令問合せを、制御部11の備えるRAMに確保された送信用データの格納領域に書き込むことにより、複合機ジョブ指令問合せを送信用データ格納領域にセットする。こうしてセットされた情報は、後述する処理(s312)でセッションID及びジョブIDとともに機能サーバ30へ送信されることとなる。なお、こうして「複合機ジョブ指令問合せ」が送信されると、この送信用データを受信した機能サーバ30は、後述のように、本UIジョブに対する指令が発生していれば、その内容を示す複合機指令(指令が発生していない場合には「指令なし」を示す複合機指令)をHTTPレスポンスにより返信してくる。
次に、上述したセッション処理からの終了指示があったか否かを判定する(s302)。この終了指示は、上述したs218にてセッション処理から渡される指令である。
このs302で、セッション処理からの終了指示があったと判定された場合には(s302:YES)、セッション処理に対してセッション終了指令を渡すことにより、UIジョブの終了を通知した後(s304)、本UIジョブを終了する。なお、このセッション終了指令は、上述したs218における処理の中で受信される。s218の内部では、この指令を受信することによりジョブが完全に停止したと判断し、以降の手順を実施するのである。
一方、セッション処理からの終了指示がないと判定された場合には(s302:NO)、操作部12がビジー状態であるか否かを判定する(s306)。ここでは、各ジョブの起動中に立つ(「1」がセットされる)ように設定されたビジーフラグFuに基づき、ビジーフラグFuが立っていればビジー状態であると判定し、ビジーフラグFuが下りて(「0」がセットされて)いればビジー状態でないと判定する。
このs306で、ビジー状態であると判定された場合には(s306:YES)、操作部12のビジー状態が解除されるまで,つまりビジーフラグFuが下りるまで待機した後(s308)、s306へ戻る一方、ビジー状態でないと判定した場合には(s306:NO)、ビジーフラグFuを立てて(s310)、本UIジョブにより操作部12がビジー状態になっているものとする。
次に、送信用データ格納領域に格納されている情報を、セッションIDおよびジョブIDと共にHTTPリクエストとして機能サーバ30へ送信する(s312)。
次に、s312による問い合わせにより返信されてくる複合機指令を受信したら(s314)、その指令がパラメータ要求であるか否かを判定する(s316)。この「パラメータ要求」とは、後述のように、複合機ジョブ指令問合せを受信した機能サーバ30側で発生する指令であり、このパラメータ要求に付加されたサービスI/F情報36に基づき、パラメータの指定を複合機10に対して要求するための指令である。
なお、このサービスI/F情報36は、後述するように、機能サーバ30側の設定状態に応じて、図13に示すパラメータセット済みのサービスI/F情報36,および,図14に示すパラメータセット前(雛形)のサービスI/F情報36のいずれかがパラメータ要求に付加されてくる(図13,図14では、翻訳コピーの場合を例示する)。この両者の違いは、「Form_Elem」が、「select」のセットされた「Form_Type」タグ,および,入力デバイスに関するパラメータのセットされたタグ(これについては後述する)を挟んだ状態となっているか、「Device」がセットされた「Form_Type」タグのみを挟んだ状態となっているか、といった点で相違し、複合機10の入力デバイスに関するパラメータを取得するように設定されているか否かに起因していずれのサービスI/F情報36が付加されているかが変化する。
このs316で、パラメータ要求であると判定された場合(s316:YES)、以下に示すs352〜s386によりユーザに指定させたパラメータを示す送信データを機能サーバ30に送信する処理を行う。
ここで、このs352〜s386について図15に基づいて説明する。
まず、パラメータ要求に付加されたサービスI/F情報36に基づいて、機能サーバ30にパラメータを送信するための送信データとして、初期値の登録(入力)されたデータを生成する(s352)。ここでは、サービスI/F情報36の「Form_Elem」それぞれにおいて初期値として設定されているパラメータそれぞれを抽出し、これらを登録してなる送信データを生成する。なお、本実施形態では、入力,出力いずれも2番目に小さい解像度が初期値となるように設定されている。
また、図13,図14に示すサービスI/F情報36を元に、より具体的な送信データの生成過程について説明すると、まず、第1番目の「Form_Elem」における「Value_Name=lang」のパラメータとして「en_ja」を登録し(図16における「lang=en_ja」参照)、続いて、第2番目の「Form_Elem」における「Value_Name=scan_res」のパラメータとして「300」を登録し(図16における「scan_res=300」参照)、続いて、第3番目の「Form_Elem」における「Value_Name=print_res」のパラメータとして「300」を登録し(図16における「print_res=300参照)、そして、第4番目の「Form_Elem」における「Value_Name=comment」のパラメータとして空のパラメータを登録する(つまり何も登録しない)(図16における「comment=」参照)。
次に、サービスI/F情報36における先頭のパラメータ(第1番目の「Form_Elem」に対応するパラメータ)を、以下の処理を行う処理対象とする(s354)。
次に、この時点でユーザが操作部12を操作することにより選択された項目の「Form_Elem」(この処理が本UIジョブにおいて最初に行われる場合には、第1番目の「Form_Elem」)について、この「Form_Elem」における「Form_Data」タグで挟まれた部分をサービスI/F情報36から読み出す(s356)。
次に、s356にて読み出された「Form_Data」タグで挟まれた部分のうち、「Form_Type」タグの値が入出力デバイス(Device)を示す値となっているか否かをチェックする(s358)。なお、この「Form_Type」タグの値が入出力デバイスを示す値となっていないサービスI/F情報36は、パラメータセット済みのサービスI/F情報36であり、入出力デバイスを示す値となっているサービスI/F情報36は、パラメータセット前(雛形)のサービスI/F情報36である。
このs358で「Form_Type」タグの値が入出力デバイスを示す値となっていなければ(s358:NO)、s356にて読み出された「Form_Data」タグで挟まれた部分に基づき、ユーザにパラメータの指定を促すためのパラメータ入力画面を生成してディスプレイ52に表示させる(s360)。
ここで、サービスI/F情報36のうち、翻訳コピーサービスに対応するサービスI/F情報36を例示してパラメータ入力画面が表示される様子について説明する。なお、翻訳コピーサービスとは、複合機10における読取部13で読み取られた画像データに基づき、機能サーバ30が、この画像データで表される画像に対してOCR(Optical Character Recognition )処理でテキストを認識し、そのテキストを所定の言語に翻訳した内容の画像を表す画像データを生成して提供することにより、この画像を複合機10における記録部14に印刷させるサービスである。
まず、図13に示すようなサービスI/F情報36(XMLの記述)に従って、図19(a)に示すように、表示用タイトル(Title)として「翻訳コピー」の文字が表示領域上部に配置され、その下に入力項目(Disp_Name)として「言語選択」の文字が配置され、さらにその下に入力項目「言語選択」について選択可能なパラメータを表す項目(Disp_Select)である「英語→日本語」及び「日本語→英語」の文字が配置されたパラメータ入力用画面を表示させる。ここで、「翻訳コピー」に関する入力項目(Disp_Name)としては、上記表示されている「言語選択」に加え、「スキャナ設定」,「印刷設定」及び「コメント」があるが、この時点では、「言語選択」についての入力項目のみが表示される。これは、単にディスプレイ52の大きさの制限によるものであり、この状態から左右の方向キー48,49を押下(後述の切替操作)することで、表示領域下部に表示される入力項目を「スキャナ設定」,「印刷設定」及び「コメント」を含む4種類の中から切り替えることができる。
なお、これら入力項目について選択可能なパラメータについて説明すると、「スキャナ設定」について選択可能なパラメータを表す項目(Disp_Select)としては、「200×200」,「300×300」及び「600×600」の文字が表示されることとなる。なお、ディスプレイ52の大きさの制限により、「600×600dpi」については、初めは表示されていないが(図19(c)参照)、画面をスクロールさせることで表示される(図19(d)参照)。
また、「印刷設定」について選択可能なパラメータを表す項目(Disp_Select)としては、「200×200」,「300×300」,「600×600」及び「1200×1200」の文字が表示される(図19(e)参照)。なお、ディスプレイ52の大きさの制限により、「600×600」,「1200×1200」については、初めは表示されていないが、上述したのと同様、画面をスクロールさせることで表示される。
そして、「コメント」については、「コメント」の文字の下に、コメントの入力欄が表示され、設定されている文字列(Default_String)が入力された状態となる。こうして、コメントとして入力欄に入力された文字列は、例えば、印刷画像のヘッダやフッタに記載されるという形で利用されるものである。
次に、上述したs358で「Form_Type」タグの値が入出力デバイスを示す値となっていれば(s358:YES)、この時点でユーザが操作部12を操作することで選択された項目に対応する入出力デバイス(この処理が本UIジョブにおいて最初に行われる場合には、第1番目の「Form_Elem」における入出力デバイス)に関するパラメータの設定内容を、仕様情報の該当位置(Device_Infoに対応する情報)から読み出し(s362)、この設定内容に基づき、パラメータ入力画面を生成してディスプレイ52に表示させる(s364)。複合機10では、複合機10の入出力デバイスに関するパラメータの設定内容が登録されてなる仕様情報(図17参照)が記憶部16に記憶されているため、このs362では、この仕様情報における入出力デバイスそれぞれの設定内容(「Device_Info」タグ)のうち、該当項目に対応する設定内容を読み出す。なお、この仕様情報は、所定のタグが定義付けられているXMLにより記述されたXMLデータである(仕様情報におけるタグの定義付けを図18に示す)。
こうして、ディスプレイ52にパラメータ入力画面が表示された以降、ユーザは、ディスプレイ52における表示領域の制限から表示しきれていない別の項目に表示内容を切り替える切替操作(左右の方向キー48,49の押下により第n−1,第n+1番目の項目に切り替える),パラメータを指定する指定操作(上下の方向キー46,47の押下により指定されたパラメータ(図19における破線の四角参照)を指定する),ディスプレイ52に表示しきれていない他のパラメータを表示させるためのスクロール操作(指定操作を続けることで表示されていないパラメータを表示させると共に、そのパラメータを指定する),機能サーバ30によるサービスの提供を停止することを指定するためのキャンセル操作(キャンセルキー51の押下),パラメータの設定またはサービスの提供停止を完了するための完了操作(OKキー50の押下)などを行うことができる。
上述したs364にてパラメータ入力画面を表示した後、ユーザによる操作を受け付け(s366)、こうしてなされた操作が切替操作である場合(s368:YES)、s356に戻り、その切替に係る項目について「Form_Elem」における「Form_Data」タグで挟まれた部分をサービスI/F情報36から読み出し、以降の処理を行う。ここで、翻訳コピーの場合において、言語選択の項目からスキャナ設定の項目に切り替えるための切替操作(この場合、右キー49を押下)が行われた場合、図19(c)に示すように、スキャナ設定の項目がディスプレイ52に表示され、この状態から印刷設定に切り替えるための切替操作(この場合、さらに右キー49を押下)が行われた場合、図19(d)に示すように、印刷設定の項目がディスプレイ52に表示されることとなる。
また、ユーザによりなされた操作が指定操作である場合(s368:NO,s370:YES)、その指定に係るパラメータをs352にて生成した送信データに登録(入力)した後(s372)、s366へ戻る。ここで、翻訳コピーの場合において、言語選択のパラメータとして「英語→日本語」が指定された状態(初期状態)から「日本語→英語」が指定された状態となった場合、送信データに登録されたパラメータのうち、この言語選択のパラメータとして送信データに登録されていた値として、指定されたパラメータ「ja_en」に登録し直される(図19(b)参照)。
また、ユーザによりなされた操作がスクロール操作である場合(s370:NO,s374:YES)、そのスクロールした方向に従って表示内容を変化させると共に、この時点で指定されたパラメータをs352にて生成した送信データに登録(入力)した後(s376)、s366へ戻る。
また、ユーザによりなされた操作がキャンセル操作である場合(s374:NO,s378:YES)、s352にて生成した送信データを「サービス停止」を示す内容に変更した後(s380)、送信データをHTTPリクエストとして送信用データ格納領域にセットした後(s384)、図12におけるs322へ戻る。この送信データは、その後、セッションからの終了指示がなく(S302:NO)、操作パネルがビジーではない(s306:NO)状態になると、S312の処理にて機能サーバ30へ送信される。
そして、ユーザによりなされた操作が完了操作である場合(s378:NO,s382:YES)、s384へ移行し、この時点における送信データを送信用データ格納領域にセットした後、図12におけるs322へ戻る。
なお、ユーザによりなされた操作が上述した以外の操作(例えば、スクロール,切替できない方向の方向キーを押下する操作など)である場合(s382:NO)、拒否音(ブザー音など)を鳴動させた後(s386)、s366へ戻る。
次に、図12に戻り、上述したs312による問い合わせにより返信されてくる複合機指令が、パラメータ要求でないと判定された場合には(s316:NO)、S314にて受信した複合機指令が仕様情報要求であるか否かを判定する(s318)。この「仕様情報要求」とは、後述のように、複合機ジョブ指令問合せを受信した機能サーバ30側で機能サーバ30側の設定内容に応じて発生する指令であり、複合機10に対して上述した仕様情報を要求するための指令である。
このs318で、仕様情報要求であると判定された場合には(s318:YES)、仕様情報を送信用データ格納領域にセットした後(s320)、s322へ移行する。この仕様情報は、その後、セッションからの終了指示がなく(S302:NO)、操作パネルがビジーではない(s306:NO)状態になると、S312の処理にて機能サーバ30へ送信される。そして、この仕様情報を受信した機能サーバ30は、後述するように、所定の処理を実行した後、パラメータ要求をHTTPレスポンスとして返信してくる。
また、s318で、仕様情報要求でないと判定された場合には(s318:NO)、s314にて受信した複合機指令がサービス状態情報であるか否かを判定する(s324)。この「サービス状態情報」とは、後述のように、複合機ジョブ指令問合せ,または,以降の処理(s330,s312)で送信される複合機状態情報を受信した機能サーバ30側で発生する指令であり、問題なくサービスに関わる処理が実行されていること,問題がありサービスを停止することなどを報知するための指令である。
このs324で、サービス状態情報であると判定されたら(s324:YES)、このサービス状態情報に基づく表示をディスプレイ52に行わせ(s326)、サービスの稼働状態の情報を要求するサービス状態情報要求を送信用データ格納領域にセットした後(s327)、S322へ移行する。
また、s324で、サービス状態情報でないと判定されたら(s324:NO)、s314にて受信した複合機指令が状態情報要求であるか否かをチェックする(s328)。この「状態情報要求」とは、後述のように、複合機10の状態に関する情報の送信を要求するための指令である。
このs328で、状態情報要求であると判定されたら(s328:YES)、複合機10の状態に関する情報である複合機状態情報を送信用データ格納領域にセットした後(s330)、s322へ移行する。ここでは、用紙なし,カバーオープンなどを示す情報を複合機状態情報として送信用データ格納領域にセットする。
また、s328で、状態情報要求でないと判定されたら(s328:NO)、S314にて受信した複合機指令がサーバ受取状況であるか否かをチェックする(s332)。この「サーバ受取状況」とは、後述のように、機能サーバ30が複合機10からの情報を正常に受け取ることができたか否かを通知するために送信する指令である。
このs332で、サーバ受取状況であると判定されたら(s332:YES)、このサーバ受取状況の内容が異常受取(NG)を表すものである場合(s334:YES)、このサーバ受取状況を送信する契機となった情報を送信用データ格納領域に再度セットした後(s336)、s322へ移行する一方、異常受取(NG)を表すものでない場合(s334:NO)、サービスの稼動状態の情報を要求する指令であるサービス状態情報要求を送信用データ格納領域にセットした後(s337)、s322へ移行する。
そして、s332で、サーバ受取状況でないと判定されたら(s332:NO)、S314にて受信した複合機指令が「指令なし」を示すものか否かをチェックし(s338)、「指令なし」を示すものであれば(s338:YES)、s300と同様、複合機ジョブ指令問合せを送信用データ格納領域にセットした後(s339)、s322へ移行する。一方、「指令なし」を示すものでなければ(s338:NO)、エラー処理(指定エラーの処理)を行い(s340)、s300と同様、複合機ジョブ指令問合せを送信用データ格納領域にセットした後(s345)、s322へ移行する。
(2−4)入力ジョブ
続いて、図11におけるs260にて起動される入力ジョブの処理手順を図20に基づいて説明する。この入力ジョブは、上述したセッション処理およびUIジョブと並列動作する処理である。
この入力ジョブが開始されると、まず、入力デバイスがビジー状態であるか否かを判定する(s402)。ここでは、入力デバイスがビジー状態である場合に立つ(「1」がセットされる)ように設定されたビジーフラグFiに基づき、ビジーフラグFiが立っていればビジー状態であると判定し、ビジーフラグFiが下りて(「0」がセットされて)いればビジー状態でないと判定する。なお、ここでいう「入力デバイス」とは、読取部13で生成された画像データに関するサービスの提供を受ける場合であれば読取部13であり、音入力部17で生成された音データに関するサービスを受ける場合であれば音入力部17のことである。
このs402で、入力デバイスがビジー状態であると判定された場合には(s402:YES)、入力デバイスのビジー状態が解除されるまで待機した後(s404)、s402の処理へ戻る一方、入力デバイスがビジー状態ではないと判定された場合には(s402:NO)、ビジーフラグFiを立てる(s406)。
次に、複合機10の状態に関する情報である複合機状態情報を、セッション処理におけるs260にて渡されたジョブIDと共に、HTTPリクエストにより機能サーバ30へ送信する(s408)。この複合機状態情報を受信した機能サーバ30は、後述のように、図12におけるs312にて送信用データ格納領域にセットしてから同図s312にて機能サーバ30に送信しておいたパラメータに基づく情報である複合機パラメータをHTTPレスポンスにより返信してくる。
次に、s408にて送信した複合機状態情報に対して複合機パラメータが返信されてきたら(s410)、セッション処理から終了指示が渡されたか否か(セッションからの終了指示があるか)を判定する(s412)。この終了指示は、図10におけるs218により終了するジョブが入力ジョブである場合において、セッション処理から本入力ジョブに渡される指示である。
このs412で、セッション処理から終了指示が渡されていないと判定された場合には(s412:NO)、s410にて返信されてきた複合機パラメータを正常に受信できていなければ(s414:NO)、機能サーバ30からの情報を正常に受け取ることができない旨(異常受取(NG)である旨)を通知するための複合機受取状況を、セッション処理におけるs260にて渡されたジョブIDと共に、HTTPリクエストにより機能サーバ30へ送信する(s416)。この複合機受取状況を受信した機能サーバ30は、後述のように、再度、複合機パラメータをHTTPレスポンスとして返信してくるため、このs416の後、s410へ戻る。
一方、s410にて複合機パラメータを正常に受信できていれば(s414:YES)、機能サーバ30からの情報を正常に受け取ることができた旨(正常受取(OK)である旨)を通知するための複合機受取状況を、セッション処理におけるs260にて渡されたジョブIDと共に、HTTPリクエストにより機能サーバ30へ送信する(s418)。この複合機受取状況を受信した機能サーバ30は、後述のように、機能サーバ30側で処理すべきデータの送信を要求するための入力データ要求を返信してくる。
次に、複合機受取状況を受信した機能サーバ30から入力データ要求が返信されてきたら(s420)、s412と同様に、セッション処理から終了指示が渡されたか否かを判定する(s422)。
このs422で、セッション処理から終了指示が渡されていないと判定された場合には(s422:NO)、s420にて返信されてきた入力データ要求を正常に受信できていなければ(s424:NO)、s416と同様に、異常受取(NG)である旨を通知するための複合機受取状況を機能サーバ30へ送信する(s426)。この複合機受取状況を受信した機能サーバ30は、後述のように、再度、入力データ要求を返信してくるため、このs426の後、s420へ戻る。
一方、s420にて返信されてきた入力データ要求を正常に受信できていれば(s424:YES)、機能サーバ30側で処理させるべき入力データを、セッション処理におけるs260にて渡されたジョブIDと共に、HTTPリクエストにより機能サーバ30へ送信する(s428)。ここでは、まず、入力デバイスの設定値をs410にて受信した複合機パラメータで示されるパラメータに変更した後、機能サーバ30側で処理させるべきデータの入力を促すためのデータ入力画面をディスプレイ52に表示させることにより、データを複合機10に入力するための操作をユーザに促す。その後、ユーザによりデータを入力するための操作が行われることにより取得したデータ(入力データ)を、セッション処理におけるs260にて渡されたジョブIDと共に、HTTPリクエストにより機能サーバ30へ送信する。具体的な例としては、例えば、「原稿をセットしてOKキーを押してください」,「受話器をとって音声を入力してください」などのメッセージをディスプレイ52に表示し、この後、読取部13または音入力部17により取得されるデータを機能サーバ30へ順次送信する。この入力データを受信した機能サーバ30は、この入力データに基づくデータ処理が正常に終了したか否かを通知するためのサービス状態情報を返信してくる、といった構成が考えられる。
なお、この処理におけるデータの取得方法については、図示されないメモリカードスロットにセットされたメモリーカードから読み出したり、記憶部16における特定の記憶領域から読み出すといった方法であってもよく、その場合には、データの取得先となる記憶領域を指定すべきメッセージをディスプレイ52に表示させればよい。
こうして、入力データを機能サーバ30へ送信した後、s428の処理で変更された入力デバイスの設定値を元に戻し(s430)、その後、機能サーバ30から返信されるサービス状態情報を受信する(s432)。
そして、s432にてサービス情報を受信した後、または、s412,s422でセッション処理から終了指示が渡されていると判定された場合には(s412:YES,s422:YES)、s406にて立てたビジーフラグFiを下ろした後(s434)、セッション処理におけるs260にて渡されたジョブIDと共にセッション処理へ入力ジョブの終了を通知して(s436)、本入力ジョブを終了する。この入力ジョブの終了の通知は、上述したs218における処理の中で受信される。s218の内部では、この指令を受信することでジョブが完全に停止したと判断し、以降の手順を実施するのである。
(2−5)出力ジョブ
最後に、図11におけるs266にて起動される出力ジョブの処理手順を図21に基づいて説明する。この入力ジョブは、上述したセッション処理およびUIジョブと並列動作する処理である。
この出力ジョブが開始されると、まず、出力デバイスがビジー状態であるか否かを判定する(s502)。ここでは、出力デバイスがビジー状態である場合に立つ(「1」がセットされる)ように設定されたビジーフラグFoに基づき、ビジーフラグFoが立っていればビジー状態であると判定し、ビジーフラグFoが下りて(「0」がセットされて)いればビジー状態でないと判定する。なお、ここでいう「出力デバイス」とは、記録部14で印刷する画像データに関するサービスの提供を受ける場合であれば記録部14であり、音出力部18から出力する音データに関するサービスの提供を受ける場合であれば音出力部18のことである。
このs502で、出力デバイスがビジー状態であると判定された場合には(s502:YES)、出力デバイスのビジー状態が解除されるまで待機した後(s504)、s502の処理へ戻る一方、出力デバイスがビジー状態ではないと判定された場合には(s502:NO)、ビジーフラグFoを立てる(s506)。
次に、複合機10の状態に関する情報である複合機状態情報を、セッション処理におけるs266にて渡されたジョブIDと共に、HTTPリクエストにより機能サーバ30へ送信する(s508)。この複合機状態情報を受信した機能サーバ30は、後述のように、図12におけるs320にて送信用データ格納領域にセットしてから同図s312にて機能サーバ30に送信しておいたパラメータに基づく情報である複合機パラメータをHTTPレスポンスにより返信してくる。
次に、s508にて送信した複合機状態情報に対して複合機パラメータが返信されてきたら(s510)、セッション処理から終了指示が渡されたか否か(セッションからの終了指示があるか)を判定する(s512)。この終了指示は、図10におけるs218により終了するジョブが出力ジョブである場合において、セッション処理から本出力ジョブに渡される指示である。
このs512で、セッション処理から終了指示が渡されていないと判定された場合には(s512:NO)、s510にて返信されてきた複合機パラメータを正常に受信できていなければ(s514:NO)、機能サーバ30からの情報を正常に受け取ることができない旨(異常受取(NG)である旨)を通知するための複合機受取状況を、セッション処理におけるs266にて渡されたジョブIDと共に、HTTPリクエストにより機能サーバ30へ送信する(s516)。この複合機受取状況を受信した機能サーバ30は、後述のように、再度、複合機パラメータを返信してくるため、このs516の後、s510へ戻る。
一方、s510にて複合機パラメータを正常に受信できていれば(s514:YES)、機能サーバ30からの情報を正常に受け取ることができた旨(正常受取(OK)である旨)を通知するための複合機受取状況を、セッション処理におけるs266にて渡されたジョブIDと共に、HTTPリクエストにより機能サーバ30へ送信する(s518)。この複合機受取状況を受信した機能サーバ30は、後述のように、図20におけるs428にて送信した入力データに基づいて処理してなるデータ(出力データ)を返信してくる。
次に、複合機受取状況を受信した機能サーバ30から出力データが返信されてきたら(s520)、s512と同様に、セッション処理から終了指示が渡されたか否かを判定する(s522)。
このs522で、セッション処理から終了指示が渡されていないと判定された場合には(s522:NO)、s520にて返信されてきた出力データを正常に受信できていなければ(s524:NO)、s516と同様に、異常受取(NG)である旨を通知するための複合機受取状況を機能サーバ30へ送信する(s526)。この複合機受取状況を受信した機能サーバ30は、後述のように、再度、出力データを返信してくるため、このs526の後、s520へ戻る。
一方、s520にて返信されてきた出力データを正常に受信できていれば(s524:YES)、この出力データを出力デバイスにより出力する(s528)。ここでは、まず、出力デバイスの設定値をs510にて受信した複合機パラメータで示されるパラメータに変更した後、この出力デバイスにより出力データを出力(例えば、画像データが表す画像の印刷や、音データが表す音声の出力)する。
こうして、出力データの出力デバイスによる出力を終えた後、s528で変更された出力デバイスの設定値を元に戻し(s530)、複合機10の状態に関する情報である複合機状態情報を、セッション処理におけるs266にて渡されたジョブIDと共に、HTTPリクエストにより機能サーバ30へ送信する(s532)。この複合機状態情報を受信した機能サーバ30は、後述のように、サービス状態情報を返信してくる。
そして、機能サーバ30から返信されるサービス状態情報を受信した後(s534)、または、s512,s522でセッション処理から終了指示が渡されていると判定された場合には(s512:YES,s522:YES)、s406にて立てたビジーフラグFoを下ろした後(s536)、セッション処理におけるs266にて渡されたジョブIDと共にセッション処理へ入力ジョブの終了を通知して(s538)、本入力ジョブを終了する。この入力ジョブの終了の通知は、上述したs218における処理の中で受信される。s218の内部では、この指令を受信することでジョブが完全に停止したと判断し、以降の手順を実行するのである。
(3)機能サーバ30による処理
以下に、機能サーバ30の制御部31により実行される各種処理について説明する。
(3−1)機能サーバ処理
はじめに、HTTPリクエストが受信される毎に行われる機能サーバ処理の処理手順を図22,図23に基づいて説明する。
この機能サーバ処理が起動されると、まず、受信したHTTPリクエストがサービス起動指令であるか否かをチェックする(s702)。この「サービス起動指令」は、図10におけるs202にて複合機10により送信されるものである。
このs702で、サービス起動指令であると判定された場合には(s702:YES)、セッションIDを生成し、このセッションIDを示す送信データを生成すると共に、サービスの実行のためのリソースを確保して該当するプロセスを起動した後(s708)、次の処理(s734)へ移行する。ここで起動するプロセスとは、後述するセッション処理(図24)のことである。
また、s702で、サービス起動指令でないと判定された場合には(s702:NO)、HTTPリクエストがサービス終了指令であるか否かをチェックする(s710)。この「サービス終了指令」は、s380により生成された「サービス停止」を表す送信データとして複合機10がs384にて送信用データ格納領域にセットした後、s312にて送信するものである。
このs710で、サービス終了指令であると判定された場合には(s710:YES)、セッションIDおよびs708にて確保されたリソースを解放し、サービス終了を表す送信データを生成した後(s712)、次の処理(図23におけるs734)へ移行する。一方、サービス終了指令ではないと判定された場合には(s710:NO)、サービス(セッション又はジョブ)に関する情報が含まれているか否か,具体的には複合機10がセッション処理またはジョブ(UIジョブ,入力ジョブ,出力ジョブ)において送信してきたHTTPリクエストであるか否かをチェックする(s714)。
このs714で、サービスに関する情報が含まれていると判定された場合には(s714:YES)、そのHTTPリクエストを送信してきたプロセス(セッション処理,UIジョブ,入力ジョブ,出力ジョブのいずれか)を特定する(s716)。
このs716によりプロセスを特定できなければ(s718:YES)、エラーを通知するための情報(エラー通知情報)を生成した後(s720)、次の処理(s734)へ移行する。
一方、s716によりプロセスを特定できれば(s718:NO)、その特定したプロセスにHTTPリクエストにて送信されてきた情報を渡す(s722)。
こうして、s722を終えた後、または、s714にてサービスに関する情報が含まれていないと判定された場合(s714:NO)、セッションIDまたはジョブIDに対応する情報の記憶領域を特定する(s724)。
このs724により記憶領域を特定できなければ(s726:YES)、s720へ移行してエラー通知情報を生成して次の処理(s734)へ移行する。一方、記憶領域を特定できれば(s726:NO)、この記憶領域に複合機10へ返信すべき情報が存在しているか否かをチェックする(s728)。
そして、このs728で、返信すべき情報が存在していないと判定されたら(s728:NO)、「指令なし」の情報を生成した後(s730)、次の処理(s734)へ移行する一方、送信すべき情報が存在していると判定されたら(s728:YES)、その返信情報に基づいて複合機制御指令を生成した後(s732)、次の処理(s734)へ移行する。
こうして、s708,s712,s720.s730,s732にて生成した情報をHTTPレスポンスとして複合機10へ返信する(s734)。ここで返信されるHTTPレスポンスのうち、s708にて生成された送信データは、図10におけるs204にて複合機10が受信するものである。また、s712にて生成されたサービス終了を表す送信データは、図10におけるs208にて複合機10が受信し、s222にて「YES」と判定されるものである。また、s720にて生成されたエラー通知情報は、図10におけるs208にて複合機10が受信し、s222にて「NO」と判定され、s224が実施されるものである。また、s730にて生成された「指令なし」の情報は、図10におけるs208にて複合機10が受信し、s220にて「YES」と判定されるものである。そして、s732にて生成された複合機制御指令は、後述する各ジョブにおいて異なる内容のものとなり、それぞれ複合機10側で対応するジョブにおいて受信されるものである。
そして、サービス制御情報処理が実施された,すなわちs710にて「NO」と判定された場合は(s736:YES)、セッションID又はジョブIDに対応するメモリアドレスに「送信済み」をセットした後(s738)、本機能サーバ処理を終了する一方、サービス制御情報処理が実施されていなければ(s736:NO)、メモリアドレスのセットを行うことなく、本機能サーバ処理を終了する。このサービス制御情報処理とは、s714〜s732に記載の複合機10と機能サーバ30のセッション,ジョブとの情報授受の処理を指す。
(3−2)セッション処理
続いて、機能サーバ処理と並行して実行されるセッション処理の処理手順を図24,図25に基づいて説明する。なお、本実施形態においては、翻訳コピーのサービスについてのセッション処理を例に説明する。
このセッション処理が開始されると、まず、初期化処理を行う(s802)。
次に、サービス側UIジョブを起動する(s804)。このUIジョブ(UIジョブ1またはUIジョブ2)は、本セッション処理と並行して実行される処理であって、詳細な処理手順は後述する。
次に、UIジョブの起動指令を複合機指令として出力する(s806)。ここでは、ジョブIDおよび通信先アドレスと共にUIジョブの起動指令を、返信情報を格納する記憶領域に書き込む処理を行う。これに基づいて、図22におけるs732にて複合機制御指令が生成され、図23におけるs734にて複合機10側に起動指令として送信されることとなる。この起動指令は、図10におけるs208にて複合機10側で受信され、これに基づいて、複合機10側においてUIジョブが起動されることとなる(図11におけるs254)。
次に、複合機10側からのパラメータの入力が完了したか否かをチェックする(s808)。上述したs804にて起動したUIジョブにおいては、後述のように、複合機10側からパラメータを取得し、その旨を本セッション処理に対して通知してくるように構成されている。そのため、このs808では、このUIジョブからのパラメータ取得の通知がなされた場合に、複合機10側からのパラメータの入力が完了したと判定する。
このs808で、パラメータの入力が完了していないと判定された場合には(s808:NO)、UIジョブが停止したか否かをチェックする(s810)。上述したs804にて起動したUIジョブにおいては、後述のように、複合機10側からのパラメータの取得が正常に行われなかった場合に、UIジョブ自体を停止(終了)すると共に、その旨を本セッション処理に対して通知してくるように構成されている。そのため、このs810では、このUIジョブからの停止の通知がなされた場合に、UIジョブが停止したと判定する。
このs810で、UIジョブが停止していないと判定された場合(s810:NO)、s808へ戻る一方、UIジョブが停止していると判定された場合(s810:YES)、後述するs848へ移行する。
また、s808で、パラメータの入力が完了していると判定された場合には(s808:YES)、サービス側入力ジョブの一種であるスキャンジョブを起動する(s812)。このスキャンジョブは、本セッション処理と並行して実行される処理であって、詳細な処理手順は後述する。
次に、スキャン(入力)ジョブの起動指令を複合機指令として出力する(s814)。ここでは、ジョブIDおよび通信先アドレスと共にスキャンジョブの起動指令を、返信情報を格納する記憶領域に書き込む処理を行う。これに基づいて、図22におけるs732にて複合機制御指令が生成され、図23におけるs734にて複合機10側に起動指令として送信されることとなる。この起動指令は、図10におけるs208にて複合機10側で受信され、これに基づいて、複合機10側において入力ジョブが起動されることとなる。
次に、複合機10側でスキャナ(読取部13)の準備が完了したか否かをチェックする(s816)。上述したs812にて起動したスキャンジョブにおいては、後述のように、複合機10側においてスキャナの準備が完了したことの通知を受け、その旨を本セッション処理に通知してくるように構成されている。そのため、このs816では、このスキャンジョブからのスキャナの準備が完了したことの通知がなされた場合に、複合機10側でスキャナの準備が完了したと判定する。
このs816で、複合機10側でスキャナの準備が完了していないと判定された場合には(s816:NO)、スキャンジョブが停止したか否かをチェックする(s818)。上述したs812にて起動したスキャンジョブにおいては、後述のように、複合機10側からスキャナの準備が完了したことの通知を正常に受けられなかった場合に、スキャンジョブ自体を停止(終了)すると共に、その旨を本セッション処理に対して通知してくるように構成されている。そのため、このs818では、このスキャンジョブからの停止の通知がなされた場合に、スキャンジョブが停止したと判定する。
このs818で、スキャンジョブが停止していないと判定された場合(s818:NO)、s816へ戻る一方、スキャンジョブが停止していると判定された場合(s818:YES)、後述するs844へ移行する。
また、s816で、スキャナの準備が完了していると判定された場合には(s816:YES)、サービス側出力ジョブの一種である印刷ジョブを起動する(s820)。この印刷ジョブは、本セッション処理と並行して実行される処理であって、詳細な処理手順は後述する。
次に、印刷(出力)ジョブの起動指令を複合機指令として出力する(s822)。ここでは、ジョブIDおよび通信先アドレスと共に印刷ジョブの起動指令を、返信情報を格納する記憶領域に書き込む処理を行う。これに基づいて、図22におけるs732にて複合機制御指令が生成され、図23におけるs734にて複合機10側に起動指令として送信されることとなる。この起動指令は、図10におけるs208にて複合機10側で受信され、これに基づいて、複合機10側において出力ジョブが起動されることとなる(図11におけるs266)。
次に、複合機10側で印刷準備(記録部14)の準備が完了したか否かをチェックする(s824)。上述したs820にて起動した印刷ジョブにおいては、後述のように、複合機10側において印刷準備が完了したことの通知を受け、その旨を本セッション処理に通知してくるように構成されている。そのため、このs824では、この印刷ジョブからの印刷準備が完了したことの通知がなされた場合に、複合機10側で印刷準備が完了したと判定する。
このs824で、複合機10側で印刷準備が完了していないと判定された場合には(s824:NO)、印刷ジョブが停止したか否かをチェックする(s826)。上述したs820にて起動した印刷ジョブにおいては、後述のように、複合機10側から印刷準備が完了したことの通知を正常に受けられなかった場合に、印刷ジョブ自体を停止(終了)すると共に、その旨を本セッション処理に対して通知してくるように構成されている。そのため、このs826では、この印刷ジョブからの停止の通知がなされた場合に、印刷ジョブが停止したと判定する。
このs826で、印刷ジョブが停止していないと判定された場合(s826:NO)、s824へ戻る一方、印刷ジョブが停止していると判定された場合(s826:YES)、後述するs840へ移行する。
また、s824で、印刷準備が完了していると判定された場合には(s824:YES)、複合機10側から取得された入力データを読み出す(s828)。上述したs812にて起動したスキャンジョブにおいては、後述のように、複合機10から、この複合機10の読取部13にて読み取られた画像データを取得するように構成されているため、このs828では、こうして取得されて所定の記憶領域に格納されたデータ(入力データ)のうち、1頁分に相当するデータ領域を読み出す。
次に、s828にて読み出された入力データに対してOCR,翻訳,印刷レイアウトなどの処理を施してなる画像データを生成する(s830)。ここでは、まず、s828にて読み出された入力データに対してOCR処理を施すことにより、この入力データで表される画像に含まれるテキスト部分を認識する。次に、このテキスト部分に対して翻訳処理を行うことによりテキスト部分を所定の言語で表現されたテキストに変換する。なお、ここでの翻訳処理は、上述したs804にて起動したUIジョブにおいて取得されるパラメータに基づいて行われるものであり、このパラメータで示される言語への変換が行われることとなる。そして、こうして認識されたテキスト部分について、所定の印刷レイアウトを設定してなる印刷用の画像データを生成する。
次に、s830にて生成された画像データを出力する(s832)。ここでは、ジョブIDおよび通信先アドレスと共にs830にて生成された画像データを、印刷ジョブに渡すために記憶領域に書き込む処理を行う。これに基づいて後述する図30のs1120にて複合機10に適合した印刷コマンドを生成し、複合機10へ出力する。
次に、s828にて全ての入力データ(全ページ分のデータ領域)についての読み出しが完了したか否かをチェックし(s834)、完了していなければ(s834:NO)、s828へ戻る一方、完了していれば(s834:YES)、s832による出力データの出力(記憶領域への書き込み)が終了したか否かをチェックする(s836)。
このs836で、出力データの出力が完了していなければ(s836:NO)、s828へ戻る一方、出力データの出力が完了していれば(s836:YES)、印刷(出力)ジョブの終了指令を複合機指令として出力する(s838)。ここでは、ジョブIDと共に印刷ジョブの終了指令を、返信情報を格納する記憶領域に書き込む処理を行う。これに基づいて、図22におけるs732にて複合機制御指令が生成され、図23におけるs734にて複合機10側に終了指令として送信されることとなる。この終了指令は、図10におけるs208にて複合機10側で受信され、これに基づいて、複合機10側において出力ジョブが停止(終了)されることとなる(同図s218)。
こうして、印刷ジョブの終了指令を出力した後、または、上述したs826で印刷ジョブが停止されたと判定された場合(s826:YES)、s820で起動させたサービス側印刷ジョブを終了させる(s840)。
次に、スキャン(入力)ジョブの終了指令を複合機指令として出力する(s842)。ここでは、ジョブIDと共にスキャンジョブの終了指令を、返信情報を格納する記憶領域に書き込む処理を行う。これに基づいて、図22におけるs732にて複合機制御指令が生成され、図23におけるs734にて複合機10側に終了指令として送信されることとなる。この終了指令は、図10におけるs208にて複合機10側で受信され、これに基づいて、複合機10側において入力ジョブが停止(終了)されることとなる(同図s218)。
こうして、スキャンジョブの終了指令を出力した後、または、上述したs818でスキャンジョブが停止されたと判定された場合(s818:YES)、s812で起動させたサービス側スキャンジョブを終了させる(s844)。
次に、UIジョブの終了指令を複合機指令として出力する(s848)。ここでは、ジョブIDと共にスキャンジョブの終了指令を、返信情報を格納する記憶領域に書き込む処理を行う。これに基づいて、図22におけるs732にて複合機制御指令が生成され、図23におけるs734にて複合機10側に終了指令として送信されることとなる。この終了指令は、図10におけるs208にて複合機10側で受信され、これに基づいて、複合機10側においてUIジョブが停止(終了)されることとなる(同図s218)。
そして、各ジョブにおいて確保されていたリソースを解放するなどの終了処理を行った後(s850)、本セッション処理を終了する(s852)。このs852では、サービスの終了指令を、返信情報を格納する記憶領域に書き込む処理を行う。これに基づいて、図22におけるs732にて複合機制御指令が生成され、図23におけるs734にて複合機10側に終了指令として送信されることとなる。この終了指令は、図10におけるs208にて複合機10側で受信され、これに基づいて、複合機10側においてセッション処理が終了されることとなる(同図s222)。
(3−3)UIジョブ1
続いて、図24におけるs804にて起動されるUIジョブ1の処理手順を図26に基づいて説明する。このUIジョブ1は、機能サーバ30が、機能サーバ30側で複合機10の入力デバイスに関するパラメータを管理しないように設定されている場合において、セッション処理からジョブ起動指令を受けて起動されるものである。
このUI1ジョブが開始されると、まず、複合機10から複合機ジョブ指令問合せを受信するまで待機し、この複合機ジョブ指令問合せを受信したら(s902)、サービスの実行に必要なパラメータの設定を要求するためのパラメータ要求指令を複合機指令として複合機10へ返信する(s904)。このs902において受信する「複合機ジョブ指令問合せ」とは、図12におけるs312にて複合機10から送信されるHTTPリクエストである。また、s904にて送信する複合機指令とは、同図s314にて複合機10に受信されるHTTPレスポンスであり、サービスI/F情報36(例えば、翻訳コピーのサービスに対応するもの;図14参照)が付加されたものである。この複合機指令を受信した複合機10は、同図s316〜s320にてパラメータを送信用データ格納領域にセットしてからs312にてこのパラメータをHTTPリクエストにより送信してくる。
次に、エラーカウントを初期化する(s906)。ここでは、後述のようにパラメータを正常に受信できない自体が連続して発生した回数をカウントするためのカウンタをリセット(「0」をセット)する。
次に、s904にて送信した複合機指令を受信した複合機10からパラメータが送信されてくるまで待機し、パラメータを受信したら(s908)、このパラメータを正常に受信できているか否かをチェックする(s910)。
このs910にてパラメータが正常に受信できていないと判定された場合には(s910:NO)、このような正常に受信できない状況が所定の回数(本実施形態においては2回)連続して発生しているか否かをエラーカウントによるカウント値に基づいてチェックし(s912)、所定の回数連続して発生していなければ(s912:NO)、パラメータを正常に受信できなかった旨(サーバ受取NG;異常受取)を通知するためのサーバ受取状況を出力し(s914)、エラーカウントをカウントアップした後(s916)、s908へ戻る。このs914では、サーバ受取状況を、返信情報を格納する記憶領域に書き込む処理を行う。これに基づいて、図22におけるs732にて複合機制御指令が生成され、図23におけるs734にて複合機10側にサーバ受取状況として送信されることとなる。このサーバ受取状況は、図12におけるs314にて複合機10側で受信され、これに基づいて、複合機10側においてパラメータの再送信が行われることとなる(同図s334,s336,s312)。
また、s912で、正常に受信できない状況が所定の回数連続して発生していたら(s912:YES)、セッション処理に対してUIジョブの停止(終了)を通知した後(s918)、本UIジョブ1を終了する。このs918による通知は、図24におけるs810にてセッション処理が受けるものである。
また、上述したs910で、パラメータが正常に受信できていると判定された場合には(s910:YES)、パラメータを正常に受信できた旨(サーバ受取OK;正常受取)を通知するためのサーバ受取状況を出力する(s920)。ここでは、サーバ受取状況を、返信情報を格納する記憶領域に書き込む処理を行う。これに基づいて、図22におけるs732にて複合機制御指令が生成され、図23におけるs734にて複合機10側にサーバ受取状況として送信されることとなる。このサーバ受取状況は、図12におけるs312にて複合機10側で受信され、これに基づいて、複合機10側においてパラメータの再送信が必要ないことが確認される(同図s334)。
次に、セッション処理に対してパラメータの入力が完了(パラメータを取得)した旨を通知する(s922)。ここでの通知は、図24におけるs808にてセッション処理が受けるものである。
そして、このs922を終えた以降、複合機10から複合機ジョブ指令問合せを受信するまで待機し、この複合機ジョブ指令問合せを受信したら(s924)、サービス状態情報を出力する(s926)、といった処理を、他の処理(例えば、図25におけるs844)により本UIジョブ1が停止(終了)されるまで繰り返し行う。このs926では、サービス状態情報を、返信情報を格納する記憶領域に書き込む処理を行う。これに基づいて、図22におけるs732にて複合機制御指令が生成され、図23におけるs734にて複合機10側にサービス状態情報として送信されることとなる。
(3−4)UIジョブ2
続いて、図24におけるs804にて起動されるUIジョブ2の処理手順を図27に基づいて説明する。このUIジョブ2は、機能サーバ30が、機能サーバ30側で複合機10の入力デバイスに関するパラメータを管理するように設定されている場合において、セッション処理からジョブ起動指令を受けて起動されるものである。なお、以降のステップ番号について、UIジョブ1と同様のステップについては、同じステップ番号を付してその詳細な説明を省略するものとする。
このUIジョブ2が開始されると、まず、複合機10から複合機ジョブ指令問合せを受信するまで待機し、この複合機ジョブ指令問合せを受信したら(s902)、複合機10に対して、この複合機10の仕様情報を要求するための仕様情報要求をHTTPレスポンスとして返信する(s930)。この仕様情報要求は、図12におけるs314の処理で複合機10により受信されるものであり、これを受けた複合機10が同図320の処理により仕様情報を送信してくる。
こうして、仕様情報要求を返信した後、複合機10から仕様情報がHTTPリクエストとして送信されるのを待って(s932)、こうして、送信されてきた仕様情報に基づいて、後述するサービスI/F情報生成処理を行うことでサービスI/F情報36を生成した後(s934)、s904に移行して、こうして生成したサービスI/F情報36を付加したパラメータ要求を仕様情報に対するHTTPレスポンスとして返信する。
ここで、このサービスI/F情報生成処理の処理手順を図28に基づいて説明すると、まず、複合機10に送信すべきサービスI/F情報36(元となる雛形のサービスI/F情報36)のコピーを生成し(s942)、このサービスI/F情報36における先頭の「Form_Data」タグを、以降の処理を行う処理対象とする(s944)。
次に、s942にて生成したサービスI/F情報36における全ての「Form_Data」タグに対しての処理が完了したか否かをチェックし(s946)、完了していなければ(s946:NO)、この「Form_Data」タグに、「Form_Type」タグが挟まれており、かつ、この「Form_Type」タグの値が入出力デバイス(Device)を示す値となっているか否かをチェックする(s948)。
このs948で、「Form_Type」タグが挟まれていないか、「Form_Type」タグの値が入出力デバイスを示す値となっていなければ(s948:NO)、次の「Form_Data」タグを処理対象とした後(s950)、s946へ戻る。
一方、s948で「Form_Type」タグの値が入出力デバイスを示す値となっていれば(s948:YES)、この入出力デバイスと同じ入出力デバイスに関するパラメータを、図27におけるs932にて受信した仕様情報の該当位置(Device_Infoに対応する情報)から読み出す(s952)。ここでは、この仕様情報における入出力デバイスそれぞれの設定内容(「Device_Info」タグ)のうち、その入出力デバイスが値としてセットされた「Device_Type」タグにおける「Device_Spec」タグで挟まれた部分を読み出す。
次に、s942で生成されたサービスI/F情報36のうち、このとき処理対象となっている「Form_Data」を削除した後(s954)、s952にて読み出された部分を構成する複数のパラメータのうち、先頭のパラメータを設定対象とする(s956)。
次に、s952にて読み出した全てのパラメータに対しての処理が完了したか否かをチェックし(s958)、完了していなければ(s958:NO)、この時点で処理対象となっているパラメータに基づいて「Form_Data」タグを生成し(s960)、その「Form_Data」タグをs954で削除された「Form_Data」タグの位置から追加した後(s962)、次のパラメータを処理対象として(s964)、s958へ戻る。
また、上述したs958で全てのパラメータに対しての処理が完了していれば(s958:YES)、s950へ移行する。
こうして、s946〜s964を全ての「Form_Data」タグに対しての処理が完了するまで繰り返した後(s946:YES)、本サービスI/F情報生成処理を終了する。こうして、このサービスI/F情報生成処理において図13に示すようなサービスI/F情報36が生成され、この後、図27におけるs904にて、この生成したサービスI/F情報36を付加したパラメータ要求が複合機10へ送信される。
(3−5)スキャンジョブ
続いて、図24におけるs812にて起動されるスキャンジョブの処理手順を図29に基づいて説明する。
このスキャンジョブが開始されると、まず、複合機10から複合機状態情報を受信するまで待機し、この複合機状態情報を受信したら(s1002)、図26におけるs906と同様にエラーカウントを初期化した後(s1004)、複合機パラメータを出力する(s1006)。このs1002にて受信される複合機状態情報は、図20におけるs408にて複合機10から送信されてくるHTTPリクエストであり、これに応答する形でs1006にて複合機パラメータをHTTPレスポンスとして返信する。この複合機パラメータは、図26におけるs908にて受信されたものであって、s1002にて受信された複合機状態情報の送信元である複合機10に対応するパラメータである。
この複合機パラメータを受信した複合機10からは、この複合機パラメータを正常に受信できたか否かを示す複合機受取状況が送信されてくるため、この複合機受取状況に基づいて複合機10側で正常に受け取ることができたか否かをチェックする(s1008)。具体的には、複合機受取状況が、異常受取(NG)である旨の内容であれば正常に受け取ることができていないと判定し、正常受取(OK)である旨の内容であれば正常に受け取ることができていると判定する。
このs1008で、複合機10側で複合機パラメータを正常に受け取ることができていないと判定された場合(s1008:NO)、このような正常に受信できない状況が所定の回数(本実施形態においては2回)連続して発生しているか否かをエラーカウントによるカウント値に基づいてチェックし(s1010)、所定の回数連続して発生していなければ(s1010:NO)、エラーカウントをカウントアップした後(s1012)、s1006へ戻る。
また、s1010で、正常に受信できない状況が所定の回数連続して発生していたら(s1010:YES)、セッション処理に対してスキャンジョブの停止(終了)を通知した後(s1014)、異常終了を通知するための通知指令をサービス状態情報として出力する(s1016)。このs1014による通知は、図24におけるs818にてセッション処理が受けるものである。また、s1016では、通知指令を、返信情報を格納する記憶領域に書き込む処理を行う。これに基づいて、図22におけるs732にて複合機制御指令が生成され、図23におけるs734にて複合機10側に通知指令として送信されることとなる。この通知指令は、図20におけるs410にて複合機10側で受信される。複合機10では、図20におけるs412にて、図29におけるs1014により送信され、図24のs818にて受けとられた指令に基づきセッションより通知された情報に基づき終了すると判断する(s412:NO)。
また、上述のs1008で、複合機10側で複合機パラメータを正常に受け取ることができていると判定された場合(s1008:YES)、複合機パラメータの受信をもって複合機10側でスキャナ(読取部13)の準備が完了しているものとし、セッション処理に対してスキャナの準備完了を通知する。この通知は、図24におけるs816にてセッション処理が受けるものである。
次に、機能サーバ30側で処理すべきデータの送信を要求するための入力データ要求を出力する(s1018)。ここでは、入力データ要求を、返信情報を格納する記憶領域に書き込む処理を行う(s1020)。これに基づいて、図22におけるs732にて複合機制御指令が生成され、図23におけるs734にて複合機10側に入力データ要求として送信されることとなる。この入力データ要求は、図20におけるs420にて複合機10側で受信され、これにより、ユーザの操作を受けて入力データが送信されてくる。
こうして、入力データ要求を受信した複合機10から入力データを受信したら(s1022)、この入力データの受信が正常に終了していれば(s1024:YES)、正常終了を通知するための通知指令をサービス状態情報として出力した後(s1026)、本スキャンジョブを終了する。このs1026では、通知指令を、返信情報を格納する記憶領域に書き込む処理を行う。これに基づいて、図22におけるs732にて複合機制御指令が生成され、図23におけるs734にて複合機10側に通知指令として送信されることとなる。この通知指令は、図20におけるs432にて複合機10側で受信される。
一方、入力データの受信が正常に終了しなければ(s1024:NO)、s1016へ移行し、異常終了を通知するための通知指令をサービス状態情報として出力した後、本スキャンジョブを終了する。この通知指令は、図20におけるs432にて複合機10側で受信される。
(3−6)印刷ジョブ
続いて、図24におけるs820にて起動される印刷ジョブの処理手順を図30に基づいて説明する。
この印刷ジョブが開始されると、まず、複合機10から複合機状態情報を受信するまで待機し、この複合機状態情報を受信したら(s1102)、図26におけるs906と同様にエラーカウントを初期化した後(s1104)、複合機パラメータを出力する(s1106)。このs1102にて受信される複合機状態情報は、図21におけるs508にて複合機10から送信されてくるHTTPリクエストであり、これに応答する形でs1106にて複合機パラメータをHTTPレスポンスとして返信する。この複合機パラメータは、図26におけるs908にて受信されたものであって、s1102にて受信された複合機状態情報の送信元である複合機10に対応するパラメータである。
この複合機パラメータを受信した複合機10からは、この複合機パラメータを正常に受信できたか否かを示す複合機受取状況が送信されてくるため、図29におけるs1008と同様、この複合機受取状況に基づいて複合機10側で正常に受け取ることができたか否かをチェックする(s1108)。
このs1108で、複合機10側で複合機パラメータを正常に受け取ることができていないと判定された場合(s1108:NO)、このような正常に受信できない状況が所定の回数(本実施形態においては2回)連続して発生しているか否かをエラーカウントによるカウント値に基づいてチェックし(s1110)、所定の回数連続して発生していなければ(s1110:NO)、エラーカウントをカウントアップした後(s1112)、s1106へ戻る。
また、s1110で、正常に受信できない状況が所定の回数連続して発生していたら(s1110:YES)、セッション処理に対して印刷ジョブの停止(終了)を通知した後(s1114)、異常終了を通知するための通知指令をサービス状態情報として出力する(s1116)。このs1114による通知は、図24におけるs826にてセッション処理が受けるものである。また、s1116では、通知指令を、返信情報を格納する記憶領域に書き込む処理を行う。これに基づいて、図22におけるs732にて複合機制御指令が生成され、図23におけるs734にて複合機10側に通知指令として送信されることとなる。この通知指令は、図21におけるs510にて複合機10側で受信される。複合機10では、図21におけるs512にて、図30のs1114により送信され、図24におけるs826にて受けとられた指令に基づきセッションより通知された情報に基づき終了すると判断する(s512:NO)。
また、上述のs1108で、複合機10側で複合機パラメータを正常に受け取ることができていると判定された場合(s1108:YES)、複合機パラメータの受信をもって複合機10側で印刷(記録部14)の準備が完了しているものとし、セッション処理に対して印刷の準備完了を通知する(s1118)。この通知は、図24におけるs824にてセッション処理が受けるものである。セッション処理では、この通知を受けて、図25におけるs828〜s836を行い、印刷データの送信を行うこととなる。
次に、セッション処理にて生成された印刷データ(図25におけるs832)を複合機10が処理可能な印刷データに変換してなるデータを、返信情報を格納する記憶領域に書き込む処理を行う(s1120)。ここでは、図25のs832で記憶領域に書き込まれた画像データに基づいて、複合機10にて出力可能な印刷コマンドを生成し、ジョブIDおよび通信先アドレスと共に返信情報を格納する記憶領域に書き込む処理を行う。これに基づいて、図22におけるs732にて複合機制御指令が生成され、図23におけるs734にて複合機10側に出力データとして送信されることとなる。この出力データは、図21におけるs520にて複合機10側で受信され、これに基づいて出力データで示される画像の記録部14による記録(印刷)が行われる。
こうして、送信される印刷データを受信した複合機10は、図21におけるs532にて複合機状態情報をHTTPリクエストにより送信してくる。
こうして、印刷データを受信した複合機10から複合機状態情報を受信したら(s1122)、この複合機状態情報の受信が正常に終了していれば(s1124:YES)、正常終了を通知するための通知指令をサービス状態情報として出力した後(s1126)、本印刷ジョブを終了する。このs1126では、通知指令を、返信情報を格納する記憶領域に書き込む処理を行う。これに基づいて、図22におけるs732にて複合機制御指令が生成され、図23におけるs734にて複合機10側に通知指令として送信されることとなる。この通知指令は、図21におけるs534にて複合機10側で受信される。
一方、複合機状態情報の受信が正常に終了しなければ(s1124:NO)、s1116へ移行し、異常終了を通知するための通知指令をサービス状態情報として出力した後、本印刷ジョブを終了する。この通知指令は、図21におけるs534にて複合機10側で受信される。
(4)効果
このように構成された画像処理システムにおいて、複合機10は、機能サーバ30によるサービスの提供を受けて機能を実現することとなるが、このときの機能は、図15におけるs360〜s386にてユーザに指定させた後で機能サーバ30へ送信しておいたものであって、その後、図20におけるs410,または,図21におけるs510にて機能サーバ30から受信したパラメータに基づいて実現されることから、インターネット上の一般サーバのように日々サービスが無秩序に増減する環境にも適応させることができる。
仮に、従来の構成のように、新規サービスについての情報を複合機10に登録していく構成とした場合、サービスが無秩序に増減する環境においては、そのサービスの実行に必要なパラメータの仕様などがその後に変更されてしまうと、新規サービスについての情報が複合機10に登録されていたとしても、そのような新規サービスの提供を正常に受けることができなくなる。このような問題を解決するためには、仕様などの変更に伴うパラメータの設定手順などをも複合機10で管理するようにすればよいが、それにより、複合機10側の負担が大きくなってしまうため、望ましいことではない。
これに対し、上述した画像処理システムでは、サービスの実行に必要なパラメータとして複合機10側でユーザに指定されたものを随時機能サーバ30から取得できるため、パラメータの仕様が変更される状況下においても、複合機10の負担を抑えることができる。
そして、こうしてパラメータを取得する際には、サービスI/F情報36に基づき、図15におけるs360において、複合機10が自身の機能に応じたパラメータの中からユーザに指定させるためのパラメータ入力画面を生成する一方、同図s362,s364において、このサービスI/F情報36で特定される方法により、複合機10の機能に応じたパラメータをユーザに指定させるためのパラメータ入力画面を生成することができる。
そのため、パラメータ入力画面において、複合機10が実現不可能な能力を要求するようなパラメータがユーザに指定されてしまうことを防止できる。また、この「機能に応じた機能パラメータ」を、複合機10側で充分に能力を発揮できる範囲のパラメータの中から、ユーザに指定させることのできるパラメータ入力画面を生成するようにすれば、複合機10側の能力を充分に活かすことができるパラメータがユーザに指定されるようにすることができる。
また、複合機10は、図12におけるs314にてパラメータ要求を受信したタイミングで、図15におけるs352以降の処理によりユーザにパラメータを指定させることができる。
また、ユーザにパラメータを指定させる際には、ディスプレイ52に表示されたパラメータ入力画面によりユーザにパラメータの指定を促す構成となっているため、ユーザは、この画面に表示されたパラメータを確認しながら、容易に希望のパラメータを指定することができる。
また、機能サーバ30側で複合機10の入出力デバイスに関するパラメータを管理するように設定しておくことにより、以降、複合機10の入出力デバイスに関するパラメータを機能サーバ30側で管理するようにすることができる。よって、複合機10側でパラメータを記憶しておいたり、サービスI/F情報36を作成する必要がないことから、これら処理についての複合機10に対する付加を軽減することができる。そして、この場合であれば、複合機10は、機能サーバ30から取得したサービスI/F情報36に基づいてパラメータ入力画面を生成できるため、パラメータ入力画面を生成する方法,手順などを複合機10自身で管理しておく必要がない。これにより、パラメータ入力画面を生成するための方法,手順などが変更された場合でも、複合機10側で何ら対応をとることなく、その変更に対応することができる。
また、複合機10側で複合機10の入出力デバイスに関するパラメータを管理するように設定しておいた場合において、このパラメータは、図26におけるs908にて複合機10から取得することができるため、機能サーバ30で複合機10のパラメータを管理しておく必要はない。これにより、複合機10が複数存在するネットワークで機能サーバ30を運営する場面においても、機能サーバ30で管理すべき(例えば、メモリに記憶させておく)データ量が多くなってしまうことはない。
また、複合機10側で複合機10の入出力デバイスに関するパラメータを管理するように設定しておいた場合においては、図15におけるs362,s364にてパラメータ入力画面が生成されるため、この場合であれば、複合機10の機能に応じたパラメータをユーザに指定させるためのパラメータ入力画面を生成するにあたり、それに応じたサービスI/F情報36を機能サーバ30側で生成することがない。よって、サービスI/F情報36の生成に関する処理についての機能サーバ30に対する付加を軽減することができる。このような負荷の軽減は、複合機10が複数存在するネットワークで機能サーバ30を運営する場面において特に有効といえる。
[第2実施形態]
(1)全体構成
本実施形態における画像処理システムは、図31に示すように、複合機10,ディレクトリサーバ20,機能サーバ30だけでなく、情報管理サーバ70がルータ5を介してネットワーク1に接続されている。また、本実施形態においては、複数の複合機10がネットワーク1に接続されているものとする。
本実施形態における複合機10は、機能拡張ユニット80が着脱可能に構成されていると共に、機能拡張ユニット80が装着されたことを検出する装着センサ19が設けられている。この装着センサ19は、複合機10本体に装着された機能拡張ユニット80の種類に応じた状態を示す検出結果を出力するように構成されている。
ここで、機能拡張ユニット80とは、例えば、複合機10による画像の印刷をシート状記録媒体の両面に対して実現可能とするための両面印刷用のユニット、記録部14に複数種類のシート状記録媒体それぞれを供給可能とするための給紙ユニット、記録部14により画像の印刷されたシート状記録媒体それぞれを分類して排出可能とするための排紙ユニットなどのことである。
情報管理サーバ70は、制御部71,通信部72および記憶部73などを備えている。
これらのうち、制御部71は、CPU,ROM,RAM等を備え、このCPUが、ROMに記憶されているプログラムに従って情報管理サーバ70全体を統括制御する。
また、通信部72は、情報管理サーバ70をネットワーク1に接続すると共に、このネットワーク1を介してデータを送受信するための処理を行う。
そして、記憶部73は、図示しないハードディスクを備えており、このハードディスクにデータを記憶する。この記憶部73は、後述の仕様情報74を記憶するための装置仕様情報記憶部75などからなる。
(2)複合機10による処理
以下に、複合機10の制御部11により実行される各種処理について、第1実施形態と相違する部分のみを説明する。
(2−1)複合機処理
はじめに、複合機10が起動された以降、制御部71により繰り返し実行される処理である複合機処理を図32に基づいて説明する。なお、第1実施形態における複合機処理と同一の処理については、同じ符号を付すと共に、詳細な説明を省略するものとする。
この複合機処理が起動されたら、まず、初期化処理を行う(s102)。この初期化処理においては、後述するアップデート処理の起動を含めた処理が初期化処理として行われる。
この初期化処理を終えた後、複合機10自身の仕様情報を情報管理サーバ70に送信し(s154)、次の処理(s158)へ移行する。このs154では、記憶部16に記憶されている仕様情報を、あらかじめ定められた複合機10の識別情報と共に、あらかじめ定められた情報管理サーバ70のアドレス宛に送信する。
次に、後述の仕様情報更新処理を起動する(s158)。この仕様情報更新処理は、仕様情報を更新すべき事象が発生している場合に、その事象に合わせて仕様情報を更新する処理であり、詳細な処理手順については後述する。
こうして、仕様情報更新処理を起動した後、s104へ移行し、以降、第1実施形態における複合機処理と同一の処理を行う。
(2−2)アップデート処理
次に、図32におけるs102において起動されるアップデート処理の処理手順を図33に基づいて説明する。
このアップデート処理が起動されたら、まず、ファームウェアの提供を行う図示されないサーバに接続するためのポートを開き、このサーバとのネットワーク1を介しての通信回線の接続(コネクションの確立)を可能とする(s1202)。なお、本実施形態において、このサーバは、端末装置に対して最新版のファームウェアを送信する必要が生じたときに、端末装置の特定ポートに対して接続(コネクションの確立)し、ファームウェアの送信を開始するように構成されている。
次に、上述したサーバとの間で通信回線が接続されるまで待機した後(s1204:NO)、このサーバとの間で通信回線が接続されたら(s1204:YES)、このサーバから送信されてくるデータ(本実施形態においては、ファームウェアを示すデータ)を受信する(s1206)。
次に、s1206にて受信したデータが、複合機10において更新すべきデータであるか否かをチェックする(s1208)。ここでは、制御部11のメモリ(フラッシュROM)に書き込まれたファームウェアのバージョンが、s1206にて受信したデータで示されるファームウェアのバージョンよりも古いものである場合に、受信したデータが更新すべきデータであると判定する。
このs1208で、更新すべきデータであると判定した場合(s1208:YES)、s1206にて受信したデータを制御部11のメモリに書き込んだ(受信したデータで示されるファームウェアを更新した)後(s1210)、複合機10自身を再起動(リブート)した後(s1212)、本アップデート処理を終了する。
(2−3)仕様情報更新処理
次に、図32におけるs158において起動される仕様情報更新処理の処理手順を図34に基づいて説明する。
この仕様情報更新処理が起動されると、まず、仕様情報送信フラグに「0」をセットする(s1302)。
次に、記憶部16に記憶されている仕様情報で示される設定内容のうち、ファームウェアのバージョンを示す項目が、制御部11のメモリに書き込まれているファームウェアのバージョンと一致するか否かをチェックする(s1304)。本実施形態においては、仕様情報として、第1実施形態にて説明した情報の他、図35に示すように、ファームウェアのバージョンを示す項目(図35における「Firmware_Version」タグ)や、複合機10に装着された機能拡張ユニット80の種類を示す項目(図35における「Option_Info」タグ)なども記載されている。そして、このs1304では、この仕様情報のうち、ファームウェアのバージョンを示す項目について「Firmware_Version」で挟まれた部分を読み出し、この値が、制御部11のメモリに書き込まれているファームウェアのバージョンと一致するか否かをチェックする。
このs1304で、仕様情報におけるファームウェアのバージョンを示す項目が、メモリに書き込まれているファームウェアのバージョンと一致しないと判定したら(s1304:NO)、仕様情報におけるファームウェアのバージョンを示す項目(「Firmware_Version」タグの値)を、メモリに書き込まれているファームウェアのバージョンの値に書き換えた後(s1306)、仕様情報送信フラグに「1」をセットして(s1308)、次の処理(s1310)へ移行する。
一方、s1304で、仕様情報におけるファームウェアのバージョンを示す項目が、メモリに書き込まれているファームウェアのバージョンと一致すると判定したら(s1304:YES)、s1306,s1308を行うことなく次の処理(s1310)へ移行する。
次に、装着センサ19による検出状態に基づいて、複合機10に装着された機能拡張ユニット80の種類を特定する(s1310)。なお、ここで、機能拡張ユニット80が装着されていない場合、何も装着されていない旨が特定されることになる。
次に、記憶部16に記憶されている仕様情報で示される設定内容のうち、複合機10に装着された機能拡張ユニット80の種類を示す項目が、s1310にて特定された種類と一致するか否かをチェックする(s1312)。ここでは、仕様情報のうち、複合機10に機能拡張ユニット80が装着されているか否かを示す項目として、「Option_Info」における「Option」タグで挟まれた部分を読み出し、この値が、s1310にて特定した種類を示す値と一致しているか否かがチェックされる。
このs1312で、仕様情報で示される機能拡張ユニット80の種類を示す項目が、装着センサ19に基づいて特定された種類と一致しないと判定したら(s1312:NO)、仕様情報における機能拡張ユニット80の種類を示す項目を、s1310にて特定された種類を示す値に書き換えた後(s1314)、仕様情報送信フラグに「1」をセットして(s1316)、次の処理(s1318)へ移行する。
一方、s1312で、仕様情報で示される機能拡張ユニット80の種類を示す項目が、装着センサ19に基づいて特定された種類と一致しすると判定されたら(1312)、s1314,s1316を行うことなく、次の処理(s1318)へ移行する。
そして、仕様情報送信フラグに「1」がセットされているか否かをチェックし(s1318)、「1」がセットされていれば(s1318:YES)、情報管理サーバ70に対して、仕様情報を複合機10の識別情報と共に送信した後(s1320)、本仕様情報更新処理を終了する。ここでは、あらかじめ定められた複合機10のID(ユニークID)が識別情報として仕様情報と共に送信される。
一方、仕様情報送信フラグに「0」がセットされていれば(s1318:NO)、s1320を行うことなく本仕様情報更新処理を終了する。
(2−4)セッション処理
本実施形態におけるセッション処理では、まず、サービス定義情報25のLink_Locationに基づきサービスを起動するにあたり(s202)、サービスのアドレス宛に送信するサービス起動指令を、複合機10の識別情報(ユニークID)を付加した状態で機能サーバ30へ送信する。このサービス起動指令に付加された識別情報は、サービス起動指令と共に、図22の機能サーバ処理にて受信された後、図24のセッション処理を経て後述するUIジョブにおいて参照される。
そして、s204へ移行し、以降、第1実施形態におけるセッション処理と同様の処理を行う。
(3)機能サーバ30による処理
以下に、機能サーバ30の制御部31により実行される各種処理について、第1実施形態と相違する部分のみを説明する。
(3−1)UIジョブ
本実施形態におけるUIジョブは、図24のs804にて起動されるものであり、第1実施形態において、機能サーバ30が複合機10の入力デバイスに関するパラメータを管理するように設定されているか否かに応じてUIジョブ1またはUIジョブ2が起動されるように構成されているのに対し、常に以下に示すUIジョブのみが起動されるように構成されている。なお、第1実施形態におけるUIジョブ1,UIジョブ2と同一の処理については、同じ符号を付すと共に、詳細な説明を省略するものとする。
このUIジョブが起動されると、図36に示すように、まず、複合機10から複合機ジョブ指令問合せを受信するまで待機し、この複合機ジョブ指令問合せを受信したら(s902)、情報管理サーバ70に対して、s902にて受信した複合機ジョブ指令問合せの送信元である複合機10についての仕様情報を要求するための仕様情報要求を送信する(s972)。ここでは、このUIジョブの起動に先立って図22のs702にて受信されたサービス起動指令に付加された識別情報について、この識別情報で識別される複合機10の仕様情報を要求するための仕様情報要求を作成し、情報管理サーバ70に送信する。この仕様情報要求を受けた情報管理サーバ70からは、後述するように、サービス起動指令に付加された識別情報で識別される複合機10の仕様情報が返信されてくる。
こうして、仕様情報要求を送信した後、情報管理サーバ70から仕様情報が返信されてきたら(s974)、s934へ移行して、以降、第1実施形態におけるUIジョブ1またはUIジョブ2と同様の処理を行う。
(4)情報管理サーバ70による情報管理サーバ処理
以下に、情報管理サーバ70が起動した以降、この情報管理サーバ70の制御部71により実行される情報管理サーバ処理の処理手順を図37に基づいて説明する。
この情報管理サーバ処理が起動されると、まず、外部からデータが受信されるまで待機し(s1402)、何らかのデータを受信したら、そのデータが複合機10からの仕様情報であるか否かをチェックする(s1404)。この仕様情報は、図32のs154,図34のs1320にて複合機10から送信されてくるものである。
このs1404で、受信したデータが複合機10からの仕様情報であると判定した場合(s1404:YES)、こうして受信した仕様情報の登録を行った後(s1406)、s1402へ戻る。このs1406では、記憶部73における装置仕様情報記憶部75に、s1402で受信した仕様情報,および,この仕様情報と共に受信される識別情報(ユニークID)を対応づけた状態で記憶させることにより、仕様情報の登録を行う。なお、記憶済みの識別情報と同じ識別情報を受信した場合には、この識別情報に対応する仕様情報を、識別情報と共に受信した新たな仕様情報に更新することとなる。
また、s1404でデータが仕様情報ではないと判定した場合(s1404:NO)、そのデータが機能サーバ30からの仕様情報要求であるか否かをチェックする(s1408)。この仕様情報要求は、図36のs972にて機能サーバ30から送信されてくるものである。
このs1408で、受信したデータが機能サーバ30からの仕様情報要求であると判定した場合(s1408:YES)、その仕様情報要求にて要求された仕様情報を機能サーバ30に送信した後(s1410)、s1402へ戻る。このs1410では、仕様情報要求の要求に係る識別情報に基づき、この識別情報に対応づけて装置仕様情報記憶部75に記憶されている仕様情報を読み出し、こうして読み出した仕様情報を、機能サーバ30に返信する。
そして、s1408でデータが仕様情報要求でないと判定した場合(s1408:NO)、そのデータに応じた処理(その他の処理)を行った後(s1412)、s1402へ戻る。
(5)効果
このように構成された画像処理システムにおいては、第1実施形態と同様の構成から得られる作用,効果の他、以下に示すような作用,効果を得ることもできる。
例えば、機能サーバ30は、情報管理サーバ70に対して該当する複合機10の仕様情報を要求し(図36のs972)、この要求を受けて送信されてきた仕様情報に基づいて、サービスI/F情報36を生成することができるため、自身で複合機10の仕様情報を管理しておく必要がない。これにより、複合機10が複数存在するネットワークでサービス提供手段を運営する場面においても、機能サーバ30で管理すべき(例えば、記憶部33に記憶させておく)データ量が多くなってしまうことはない。
また、複合機10に新たな機能が追加されたり、機能が事後的に高度化(例えば、ファームウェアの更新による)したりした場合であっても、そのような機能に応じて仕様情報を情報管理サーバ70側において更新するだけで、複合機10側における機能の変化にも対応することができる。
また、この構成であれば、複合機10の仕様情報が情報管理サーバ70にて一括管理されることから、仕様情報を記憶する対象が情報管理サーバ70だけでよくなる。そのため、機能サーバ30で仕様情報を管理する構成とは異なり、機能サーバ30が複数備えられているシステムにおいても、情報管理サーバ70のみに仕様情報を記憶させればよいことに変わりはなく、複数の機能サーバ30それぞれに仕様情報を記憶させる必要がない。これにより、複数の機能サーバ30それぞれに対して仕様情報を通知する必要がなくなり、複合機10による仕様情報の通知に際しての通信負荷(トラフィックや処理負担)を抑えることができる。
また、上記構成において、情報管理サーバ70は、複合機10からの通知を受けて記憶部73に仕様情報を登録することにより(図37のs1406)、複合機10の仕様情報を管理することができ、こうして登録された仕様情報を機能サーバ30からの要求に応じて通知することができる(同図s1410)。
また、上記構成において、複合機10は、複合機10自身が起動した以降における所定のタイミング,具体的にいうと、複合機10における仕様情報が変更されたことが検出されたとき(図34のs1304,s1312,s1320)、または、複合機10が起動した直後(図32のs154)に、仕様情報の通知を行うことができる。
そのため、前者の場合であれば、複合機10を使用する過程において、機能の追加や更新により仕様情報が変更された場合であっても、その都度、仕様情報の通知が行われるため、そのように変更がなされた複合機10の仕様情報であっても、変更に際しての通知を経て情報管理サーバ70側に登録することができる。さらに、この場合において、複合機10が仕様情報の通知を行うのは、仕様情報が変更されたときであって、機能サーバ30に対してサービスの提供を要求する毎に行われるものではないため、複合機10がサービスの提供を受けるにあたっての機能サーバ30との間における通信負荷(トラフィックや処理負担)を抑えることができる。
それに対し、後者の場合であれば、複合機10の使用を開始するにあたり初めてこの複合機10が起動された際には、その時点において仕様情報の情報管理サーバ70への登録がなされていない状態であるが、そのように複合機10が起動された際に仕様情報の通知が行われるため、そのように新たに起動された複合機10の仕様情報であっても、その通知を経て情報管理サーバ70に登録した状態とすることができる。さらに、この場合においても、上述したのと同様、複合機10がサービスの提供を受けるにあたっての機能サーバ30との間における通信負荷を抑えることができる。
[変形例]
以上、本発明の実施の形態について説明したが、本発明は、上記実施形態に何ら限定されることはなく、本発明の技術的範囲に属する限り種々の形態をとり得ることはいうまでもない。
例えば、上記実施形態においては、本発明における画像処理装置として、複合機10を適用した構成を例示したが、機能サーバ30により提供されるサービスを受けて機能を実現できる画像処理装置であれば、複合機以外の装置として、例えば、プリンタ装置,スキャナ装置,ファクシミリ装置などに適用することも可能である。
また、本発明においては、図12におけるs314にて受信されたパラメータ要求に付加されたサービスI/F情報36、および、図15におけるs360,s364にて生成されるパラメータ入力画面が本発明におけるパラメータリストに相当する構成を例示した。しかし、パラメータリストに相当するものとしては、上述した以外のものであってもよい。
また、本発明においては、図15におけるs362,s364で示した方法によりパラメータ入力画面を生成するように構成されたものを例示したが、ここでのパラメータ入力画面を生成する方法については、この方法に限定されるものではない。
また、本発明においては、図28におけるs952〜s964で示した方法によりパラメータ入力画面を生成するように構成されたものを例示したが、ここでのパラメータ入力画面を生成する方法については、この方法に限定されるものではない。
また、上記実施形態において、機能サーバ30が、図26,図27におけるs904でパラメータ要求指令をサービスI/F情報36と共に送信する構成を例示した。しかし、このように、パラメータ要求指令およびサービスI/F情報36を送信する処理については、機能サーバ30と別体の装置(単体の装置または連携して動作する複数の装置)により実現するように構成してもよい。
また、上記実施形態において、複合機10は、ディレクトリサーバ20のサービス定義情報記憶部24に記憶されている複数のサービス定義情報25のうち、まずトップのサービス定義情報25を受信してカテゴリを選択し、次に、その選択したカテゴリに対応するサービス定義情報25を受信してサービスを選択するようにしているが、これに限ったものではない。すなわち、ディレクトリサーバ20のサービス定義情報記憶部24に記憶されている複数の(例えばすべての)サービス定義情報25を一度に受信するようにしてもよい。
また、サービスI/F情報36が設定を要求するパラメータとしては、上記実施形態で例示したもの(解像度等)に限らず、サービスの内容に応じて様々なものが考えられる。例えば、モノクロ/カラーの選択、トナーの濃さ(印刷濃度)、音声のボリューム(音量)等が挙げられる。
また、上記実施形態の画像処理システムでは、複合機10、ディレクトリサーバ20及び機能サーバ30をそれぞれ1台ずつ備えた構成を例示しているが、このような構成はあくまでも説明を容易にするための構成例にすぎず、本発明の画像処理システムは、これ以外にも様々な構成をとることが可能である。すなわち、本発明の画像処理システムにおいて、複合機10は複数設けられていてもよい。具体的には、複数の複合機10が、共通のディレクトリサーバ20からのサービス定義情報25を受信し、共通の機能サーバ30にサービスを要求するようにすることができる。
また、本発明の画像処理システムにおいて、ディレクトリサーバ20は複数設けられていてもよい。具体的には、例えば、トップのサービス定義情報25を送信するディレクトリサーバ20と、各カテゴリのサービス定義情報25を送信するディレクトリサーバ20とを、別々のサーバで構成することも可能である。
また、本発明の画像システムにおいて、機能サーバ30は複数設けられていてもよい。具体的には、例えば、サービスI/F情報36を送信する機能サーバ30と、サービスを実行する機能サーバ30とを、別々のサーバで構成することも可能である。また、サービスを実行する機能サーバ30についても、例えば、セッション処理を実行する機能サーバ30と、ジョブ処理を実行する機能サーバ30とを、別々のサーバで構成することも可能である。一方、例えば、複数種類のサービスについて、サービスAを実行する機能サーバ30、サービスB〜Dを実行する機能サーバ30、サービスE,Fを実行する機能サーバ30、というように、複数の機能サーバ30が各自のサービスを実行するというように構成することもできる。この場合、サービスI/F情報36は、例えば、サービスを実行する機能サーバ30がそのサービスに対応するサービスI/F情報36を送信するようにしてもよく、サービスを実行する機能サーバ30とは別の機能サーバ30が送信するようにしてもよい。
また、ディレクトリサーバ20またはディレクトリサーバ20の一部構成要素,および,機能サーバ30または機能サーバ30の一部構成要素が、単一の装置として構成されていてもよい。
また、ディレクトリサーバ20(またはディレクトリサーバ20の一部構成要素)や機能サーバ30(または機能サーバ30の一部構成要素)が、本画像処理システムを構成する複合機10に備えられた構成としてもよい。
また、上記第2実施形態においては、情報管理サーバ70が機能サーバ30とは別体のサーバとして構成されたものを例示した。しかし、情報管理サーバ70が、機能サーバ30と一体のサーバとして構成されていてもよい。この構成であれば、機能サーバ30は、複合機10からの通知を受けて記憶部33に仕様情報を登録することにより、複合機10それぞれの仕様情報を管理することができ、こうして登録された仕様情報に基づいて、サービスを提供すべき複合機10に送信するサービスI/F情報36を生成することができる。
また、上記第2実施形態においては、情報管理サーバ70における仕様情報の登録が、複合機10から送信される仕様情報に基づいて行われるように構成されたものを例示した。しかし、情報管理サーバ70における仕様情報の登録については、あらかじめ情報管理サーバ70に対して行っておく、または、情報管理サーバ70を操作することにより行っておく、ように構成してもよい。
また、上記第2実施形態においては、複合機10が、複合機10における仕様情報が変更されたとき(図34のs1320)、および、複合機10が起動した直後(図32のs154)に仕様情報の通知を行うように構成されたものを例示した。しかし、このような仕様情報の通知については、いずれか一方の場合にのみ行われるものとしてもよい。例えば、複合機10が起動した直後(図32のs154)に仕様情報の通知を行うように構成した場合であっても、複合機10を定期的に起動,終了させるような態様で使用している場合には、その複合機10における仕様情報の通知が定期的に行われることとなるため、その間に仕様情報が変更されたとしても、次回の起動時にそのような変更後の仕様情報の通知が行われ、そのように変更された仕様情報をも情報管理サーバ70に登録した状態とすることができる。
また、上記構成においては、複合機10が、複合機10における仕様情報が変更されたとき(図34のs1320)、または、複合機10が起動した直後(図32のs154)に、仕様情報の通知を行うように構成されたものを例示した。しかし、複合機10が仕様情報の通知を行うタイミングについては、複合機10が起動した以降であれば、どのようなタイミングで行われるように構成してもよい。
[本発明との対応関係]
以上説明した実施形態において、複合機10が本発明における画像処理装置であり、機能サーバ30が本発明におけるサービス提供手段であり、情報管理サーバ70が本発明における情報管理手段である。
また、複合機10の入出力デバイスに関するパラメータが、本発明における機能パラメータであり、このパラメータを含め、図15におけるs384で送信用データ格納領域にセットされ、その後、同図s312にて送信される送信データに登録されたパラメータが、本発明における提供パラメータであり、また、図15におけるs384で送信用データ格納領域にセットされる送信データで示されるパラメータが、本発明における設定可能パラメータである。
また、雛形のサービスI/F情報36が、本発明における雛形リストであり、図15におけるs362,s364でのパラメータ入力画面を生成する方法,および,図28におけるs952〜s964でのサービスI/F情報36を生成する方法は、本発明における登録方法である。
また、図12におけるs314にて受信されたパラメータ要求に付加されたサービスI/F情報36、および、図15におけるs360,s364にて生成されるパラメータ入力画面が本発明におけるパラメータリストである。
また、図28におけるs952〜s964は、本発明における第1リスト生成手段であり、図15におけるs362,364は、本発明における第2リスト生成手段である。
また、図15におけるs360,s364〜s386は、本発明におけるパラメータ指定手段であり、図12におけるs312,図15におけるs384は、本発明における装置側設定通知手段である。
また、図20におけるs408,図21におけるs508は、本発明におけるサービス要求手段であり、図20におけるs428,図21におけるs528は、本発明におけるサービス実現手段である。
また、図26,図27におけるs904は、本発明における指定要求手段,第1通知要求手段である。
また、図25におけるs828〜s832,図29におけるs1018〜s1022,図30におけるs1118〜s1122は、本発明における提供実行手段である。
また、図32におけるs154,図34におけるs1320は、本発明における装置側設定通知手段である。
また、図36におけるs972は、本発明における第2通知要求手段である。
また、情報管理サーバ70を機能サーバ30と一体のサーバとした変形例について、情報管理サーバ処理を機能サーバ30が実行する場合の図37におけるs1406は、本発明におけるサービス側パラメータ記憶手段である。
また、図37におけるs1410は、本発明における管理側設定通知手段であり、同図s1406は、本発明における管理側パラメータ記憶手段である。
10…複合機、11…制御部、12…操作部、13…読取部、14…記録部、15…通信部、16…記憶部、17…音入力部、18…音出力部、20…ディレクトリサーバ、21…制御部、22…通信部、23…記憶部、24…サービス定義情報記憶部、25…サービス定義情報、30…機能サーバ、31…制御部、32…通信部、33…記憶部、34…サービスI/F情報記憶部、35…サービスソフト記憶部、36…サービスI/F情報、37…サービスソフトウェア、41…コピーキー、42…スキャナキー、43…FAXキー、44…サービスキー、45…設定キー、46…方向キー、48…方向キー、49…右キー、50…OKキー、51…キャンセルキー、52…ディスプレイ、70…情報管理サーバ、71…制御部、72…通信部、73…記憶部、74…仕様情報、75…装置仕様情報記憶部、80…機能拡張ユニット。