サービス提供システム,デバイス,サーバおよびプログラム。
【課題】デバイスがサービスに対応する機能を有していなくても、このデバイス側でサービスの提供を受けられるようにする
【解決手段】機能サーバは、入力/出力メディア変換処理を実行することで、複合機側にサービスを提供できる。この処理は、複合機の有する入出力デバイス,つまりこれら入出力デバイスで実現される機能に対応するメディアで処理結果(データ)が得られる処理となるように選択された変換モジュールにより行われるため(s2504,s2514)、こうして得られた処理結果であれば、複合機側でこの処理結果に基づいて複合機の有する機能を実現することができる。よって、複合機側においては、複合機自身が有していない機能が必要なサービスであったとしても、そのサービスの提供を、複合機自身が対応するメディア(実現可能な機能で対応可能なメディア)の処理結果により間接的に受けることができる。
【解決手段】機能サーバは、入力/出力メディア変換処理を実行することで、複合機側にサービスを提供できる。この処理は、複合機の有する入出力デバイス,つまりこれら入出力デバイスで実現される機能に対応するメディアで処理結果(データ)が得られる処理となるように選択された変換モジュールにより行われるため(s2504,s2514)、こうして得られた処理結果であれば、複合機側でこの処理結果に基づいて複合機の有する機能を実現することができる。よって、複合機側においては、複合機自身が有していない機能が必要なサービスであったとしても、そのサービスの提供を、複合機自身が対応するメディア(実現可能な機能で対応可能なメディア)の処理結果により間接的に受けることができる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、サービスを提供するサービス提供システム,このシステムを構成するデバイスおよびサーバに関するものである。
【背景技術】
【0002】
従来、デバイス(デジタル複写機)が備えていない機能を、ネットワークを介して接続されたホストコンピュータで実現するように構成したシステムが提案されている(特許文献1参照。)。
【0003】
このシステムでは、デバイスからホストコンピュータへ、制御用のコマンドコードや画像の濃度データなどのビットデータを送信し、ホストコンピュータが、受信した制御用コマンドコードの内容を解析して、画像データに対して指定されている画像編集機能により画像処理を行う。こうしてホストコンピュータにより処理された画像データはデバイスに返送され、このデバイス側にて印刷される。
【特許文献1】特開平9−238215号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
このように、デバイス側では、ホストコンピュータによる画像データに画像処理を施す、といったサービスの提供を受けて画像データを印刷することができるが、これは、デバイスが画像データを印刷するための印刷部を備えていることが前提であり、デバイスがサービスの提供を受けるために必要な機能,この場合であれば印刷機能を有していなければ、当然、このようにサービスの提供を受けることはできない。
【0005】
そして、上述したような画像データの印刷は、印刷機能を有するデバイスであれば可能であるため、このような画像の印刷を伴うサービスの提供を受けることに問題はないが、今後、ユーザが、このデバイスで他の機能を伴うサービスの提供を受けることを希望するようになった場合であっても、デバイスがそのサービスに対応する機能を有していない限り、そのサービスの提供を受けることができない。
【0006】
本発明は、このような課題を解決するためになされたものであり、その目的は、デバイス側でサービスに対応する機能を有していない場合であっても、このデバイスによりサービスの提供を受けられるようにするための技術を提供することである。
【課題を解決するための手段】
【0007】
上記課題を解決するため請求項1に記載のサービス提供システムは、ネットワークを介したサービスを提供可能なサービス提供手段と、該サービス提供手段によるサービスの提供を受けることのできるデバイスと、を備えたサービス提供システムである。このシステムは、前記デバイスにおいて、前記サービス提供手段に対してサービスの提供を要求するサービス要求手段と、該サービス要求手段による要求を受けた前記サービス提供手段によりサービスの提供を受けて当該デバイスの有する機能を実現するサービス実現手段と、が備えられている。また、前記サービス提供手段において、前記デバイスの備えるサービス要求手段による要求を受けた場合に、該デバイスに対してサービスを提供する提供実行手段と、前記デバイスの有する機能を示す保有機能情報に基づいて、前記提供実行手段によるサービスの提供を受けるにあたり、前記デバイス側で必要な機能を有しているか否かを判定する機能判定手段と、を備え、前記提供実行手段は、前記機能判定手段により必要な機能を有していないと判定された場合において、前記デバイスの備える前記サービス要求手段による要求を受けた場合、前記デバイスの有する機能に対応するメディアでサービスの提供を可能とする処理である形式変換処理を実行してなるサービスを提供する、ように構成されている。
【0008】
このように構成されたサービス提供システムにおいて、サービス提供手段は、形式変換処理を実行することでデバイス側にサービスを提供するように構成されている。この形式変換処理は、デバイスの有する機能に対応するメディアでサービスの提供を可能とする処理であるため、これにより得られた処理結果であれば、デバイス側でこの処理結果に基づいてデバイスの有する機能でサービスの提供を受けることができる。
【0009】
この構成における「サービス提供手段」は、例えば、ネットワーク上のサーバとして構成することができ、この場合、単一のサーバにより構成されていてもよく、複数のサーバにより構成されていてもよい。
【0010】
また、上述した「デバイスの有する機能に対応するメディア」とは、デバイスの有する機能を実現するためのデータを示すものであって、例えば、画像を印刷する機能または画像を読み取る機能を有している場合であれば、これら機能を実現するため『画像データ』のことであり、音声を入出力する機能を有している場合であれば、これら機能を実現するための『音声データ』のことである。そして、サービス提供手段の備える提供実行手段により実行される「形式変換処理」とは、上述のようなデータを提供実行手段の処理結果として得るような処理であって、これにより、提供実行手段の処理結果として得られたメディアのデータに基づいてデバイスの有する機能を実現することができる。
【0011】
また、上述したデバイスは、サービス提供手段によるサービスの提供を受けることのできるものであって、例えば、請求項2に記載のように、画像を読み取りその画像を表す画像データを生成する機能および画像データの表す画像を印刷する機能のうち少なくとも一方の機能を有しているものであって、この場合、サービス提供手段においては、前記デバイスの有する機能により生成された画像データおよび印刷される画像を示す画像データのうち少なくともいずれか一方に関するサービスを提供可能に構成されていればよい。
【0012】
このように構成すれば、デバイスは、画像を読み取りその画像を表す画像データを生成する機能および画像データの表す画像を印刷する機能のうち少なくとも一方の機能を、サービス提供手段によるサービスの提供を受けて実現することができる。
【0013】
また、上述したサービス提供手段において、機能判定手段は、デバイスの有する機能を示す保有機能情報に基づいて、デバイス側で必要な機能を有しているか否かを判定する手段であって、このときの判定方法については特に限定されない。例えば、請求項3に記載のように、前記保有機能情報で示される機能が、前記提供実行手段によるサービスの提供を受けるのに必要な機能を示す必要機能情報で示される機能に含まれている場合に、前記デバイス側で必要な機能を有していると判定する、といった判定方法を採用すればよい。
【0014】
このように構成すれば、サービス提供手段側で必要機能情報を保持しておき、この必要機能情報に基づいて判定を行うことで、デバイス側で必要な機能を有しているか否かを判定することができる。
【0015】
また、サービス提供手段側において機能判定手段による判定を行う際に用いられる保有機能情報については、あらかじめユーザがサービス提供手段側に登録(記憶)しておくように構成すればよいが、複数のデバイスが存在するネットワークでサービス提供手段を運営する場面において、このような登録作業は、デバイスの数に応じて負担の大きなものとなってしまうため、好ましいことではない。
【0016】
そこで、このような保有機能情報について、デバイス自身から通知させるように構成するとよく、このためには、例えば、請求項4に記載のように、前記デバイスにおいて、前記サービス提供手段に前記保有機能情報を通知する情報通知手段が備えられており、前記サービス提供手段において、前記機能判定手段は、前記デバイスの備える情報通知手段により通知された保有機能情報に基づいて、前記デバイス側で必要な機能を有しているか否かを判定する、といった構成が考えられる。
【0017】
このように構成すれば、サービス提供手段側では、デバイス自身からこのデバイスの保有機能情報を取得することができるため、サービス提供手段側でユーザが保有機能情報を登録する作業を行う必要がない。
【0018】
さらに、ユーザによる登録作業では入力ミスなどで誤った保有登録情報が登録されてしまう虞があるが、上記構成であれば、デバイスからデバイス自身の保有機能情報が通知されるため、これをそのまま登録(記憶)するように構成しておけば、誤った保有機能情報が登録されてしまう虞もない。
【0019】
また、請求項5に記載のサービス提供システムは、前記サービス提供手段において、前記機能判定手段により前記デバイス側で必要な機能を有していないと判定された場合に、前記デバイスの有する機能から、いずれかの機能を所定の決定条件に基づいて決定する機能決定手段が備えられており、前記提供実行手段は、複数種類の形式変換処理のうちいずれかの形式変換処理を実行することによりサービスを提供可能であって、前記機能決定手段により決定された機能に対応するメディアでサービスの提供を可能とする処理である形式変換処理を実行してなるサービスを提供する、ように構成されている。
【0020】
このように構成すれば、サービス提供手段は、形式変換処理を実行するにあたり、デバイスの有する機能のうちのどの機能に対応するメディアでサービスを提供できる形式変換処理を実行するかを決定条件に基づいて決定することができ、こうして決定された機能に対応するメディアで提供実行手段の処理結果が得られる形式変換処理を実行することができる。
【0021】
また、この構成においては、請求項6に記載のように、前記デバイスにおいて、ユーザに前記サービス提供手段の備える機能決定手段が機能を決定する際の決定条件を指定させる条件指定手段と、該条件指定手段により指定された決定条件を前記サービス提供手段に通知する条件通知手段と、が備えられており、前記サービス提供手段において、前記機能決定手段は、前記デバイスの備える条件通知手段により通知された決定条件に基づいて機能を決定する、ように構成するとよい。
【0022】
このように構成すれば、デバイス側で上述した「決定条件」をユーザに指定させることができ、サービス提供手段側において、こうして指定された決定条件に基づいて機能を決定させることができる。
【0023】
なお、上述した「決定条件」とは、機能を決定する際の条件となるものであり、例えば、デバイスの有する複数の機能それぞれに優先順位をつけておき、最も優先順位の高いものが「決定条件」を満たすものすることや、提供を受けるべきサービスの種類との関係で最も適した機能をデータテーブルや数式に基づいて決定することなどが考えられる。
【0024】
また、上述したサービス提供手段の備える提供実行手段により実行される形式変換処理については、請求項7に記載のように、前記デバイスから当該サービス提供手段へ送信されたデータに対する前記形式変換処理,および,当該サービス提供手段から前記デバイスへ送信されるデータに対する前記形式変換処理をそれぞれ実行可能に構成されている、ことが望ましい。
【0025】
このように構成すれば、デバイスおよびサービス提供手段の両者間で一方向にデータが送信されるサービスだけでなく、双方向でデータがやりとりされるサービスについても、デバイス側で提供を受けることができるようになる。
【0026】
また、請求項8に記載のサービス提供システムは、前記デバイスに対して、前記サービス提供手段により提供可能な1以上のサービスのうちいずれかのサービスの指定を要求する指定要求手段が備えられており、前記デバイスにおいて、前記指定要求手段による要求を受けた際に、ユーザに1以上のサービスのうちいずれかのサービスを指定させるサービス指定手段が備えられており、前記サービス要求手段は、前記サービス指定手段により指定されたサービスの提供を前記サービス提供手段に対して要求する、ように構成されている。
【0027】
このように構成すれば、デバイス側において、指定要求手段による要求を受けたタイミングでユーザにサービスを指定させることができる。
この構成における指定要求手段は、「サービス提供手段により提供可能な1以上のサービスのうちいずれかのサービスの指定」を要求する手段であり、この「1以上のサービス」としては、サービス提供手段が提供可能な全てのサービスであってもよいが、例えば、デバイスの有する機能に対応するサービスのみとする、など何らかの制限をするように構成してもよい。
【0028】
そのためには、例えば、請求項9に記載のように、前記指定要求手段は、前記機能判定手段により必要な機能を有していないと判定されている場合、前記形式変換処理を実行してなるサービスを含む1以上のサービスのうちいずれかのサービスの指定を要求して、前記サービス提供手段において、前記提供実行手段は、前記デバイスの備える前記サービス要求手段により前記形式変換処理を実行してなるサービスの提供を要求された場合、該形式変換処理を実行してなるサービスを提供する、ように構成することが考えられる。
【0029】
このように構成すれば、指定要求手段からデバイスへサービスの指定を要求する際には、はじめから、このデバイスの有する機能に対応するサービスの中から指定させることができる。
【0030】
なお、上述した「指定要求手段」は、例えば、ネットワーク上のサーバとして構成することができ、この場合、単一のサーバにより構成されていてもよく、複数のサーバにより構成されていてもよい。また、サービス提供手段と一体のサーバにより構成されていてもよい。また、サービス提供手段と別体のサーバとして構成する場合、サービス提供手段の備える機能判定手段による判定結果をサービス提供手段から取得し、それを受けてサービスの指定を要求するように構成すればよい。
【0031】
また、請求項10に記載のデバイスは、サーバからのサービスの提供を受けることが可能なデバイスであって、該デバイスからの要求に応じて、該デバイスの有する機能により生成または出力されたデータに関するサービスを提供するサーバに対してサービスの提供を要求するサービス要求手段と、前記サーバに当該デバイスの有する機能を示す保有機能情報を通知する情報通知手段と、該サービス要求手段による要求を受けた前記サーバによりサービスの提供を受けて当該デバイスの有する機能を実現するサービス実現手段と、が備えられている、ことを特徴とする。
【0032】
このように構成されたデバイスによれば、請求項1に記載のデバイスを構成することができるため、このデバイスと同様の作用,効果を得ることができる。
なお、このデバイスにおいては、請求項2から9のいずれかに記載のデバイスの備える全ての手段を備えた構成とすることもでき、このような構成とすれば、この請求項2から9のいずれかに記載のデバイスと同様の作用,効果を得ることができる。
【0033】
また、請求項11に記載のサーバは、画像を読み取りその画像を表す画像データを生成する機能および画像データの表す画像を印刷する機能のうち少なくとも一方の機能を有するデバイスからの要求に応じて、該デバイスの有する機能により生成された画像データおよび印刷される画像を示す画像データのうち少なくとも一方に関するサービスを提供するサーバであって、前記デバイスの有する機能を示す保有機能情報に基づいて、前記提供実行手段によるサービスの提供を受けるにあたり、前記デバイス側で必要な機能を有しているか否かを判定する機能判定手段と、該機能判定手段により必要な機能を有していないと判定されている場合、前記デバイスの備える前記サービス要求手段による要求を受けた際に、前記デバイスの有する機能に対応するメディアでサービスの提供を可能とする処理である形式変換処理を実行してなるサービスを提供する提供実行手段が備えられている、ことを特徴とする。
【0034】
このように構成されたサーバによれば、請求項1に記載のサーバを構成することができるため、このサーバと同様の作用,効果を得ることができる。
なお、このサーバにおいては、請求項2から9のいずれかに記載のサーバの備える全ての手段を備えた構成とすることもでき、このような構成とすれば、この請求項2から9のいずれかに記載のサーバと同様の作用,効果を得ることができる。
【0035】
また、請求項12に記載のプログラムは、請求項1から9のいずれかに記載のサービス提供システムとして機能させるための各種処理手順を、コンピュータシステムに実行させるためのプログラムである。このプログラムを実行するコンピュータシステムによれば、請求項1から9のいずれかに記載のサービス提供システムを構成することができる。
【0036】
また、請求項13に記載のプログラムは、請求項1から9のいずれかに記載のデバイスとして機能させるための各種処理手順を、コンピュータシステムに実行させるためのプログラムである。このプログラムを実行するコンピュータシステムによれば、請求項1から9のいずれかに記載のサービス提供システムの一部(デバイス)を構成することができる。
【0037】
また、請求項14に記載のプログラムは、請求項1から9のいずれかに記載のサーバとして機能させるための各種処理手順を、コンピュータシステムに実行させるためのプログラムである。このプログラムを実行するコンピュータシステムによれば、請求項1から9のいずれかに記載のサービス提供システムの一部(サーバ)を構成することができる。
【0038】
なお、上述した各プログラムは、コンピュータによる処理に適した命令の順番付けられた列からなるものであって、例えば、FD,CD−ROM,メモリーカードなどの記録媒体やインターネットなどの通信回線網を介して、各装置(デバイスやサーバ),または,各装置を利用するユーザに提供されるものである。また、これらプログラムをユーザに提供する形態としては、各装置のハードディスクやメモリにプレインストールされた状態で提供する形態であってもよい。
【発明を実施するための最良の形態】
【0039】
以下、本発明が適用された実施形態について、図面を用いて説明する。
(1)全体構成
サービス提供システムは、図1に示すように、複合機10,ディレクトリサーバ20,機能サーバ30などからなり、これらがネットワーク(本実施形態ではインターネット等の広域ネットワーク(WAN:Wide Area Network))1を介してデータ通信可能に接続されている。具体的にいうと、複合機10,ディレクトリサーバ20および機能サーバ30は、それぞれルータ(R;周知のブロードバンドルータ)2〜4を介してネットワーク1と接続されている。
【0040】
複合機10は、制御部11,操作部12,読取部13,記録部14,通信部15,記憶部16,音入力部17および音出力部18などを備えている。
これらのうち、制御部11は、CPU,ROM,RAM等を備え、このCPUが、ROMに記憶されているプログラムに従って複合機10全体を統括制御する。
【0041】
また、操作部12は、図2に示すように、コピーキー41,スキャナキー42,FAXキー43,サービスキー44,設定キー45,上下左右の方向キー46〜49,OKキー50およびキャンセルキー51,ディスプレイ52などからなるユーザインタフェースとして構成されている。
【0042】
また、読取部13は、スキャナとしての機能を実現するための入力デバイスであり、用紙等のシート状記録媒体に記録(例えば印刷)された画像を読み取り、その画像を表す画像データを生成する。
【0043】
また、記録部14は、プリンタとしての機能を実現するための出力デバイスであり、画像データの表す画像を用紙等のシート状記録媒体に印刷する。
また、通信部15は、複合機10をネットワーク1に接続すると共に、このネットワーク1を介してデータを送受信するための処理を行う。
【0044】
また、記憶部16は、図示しない不揮発性RAMを備えており、この不揮発性RAMにデータを記憶可能に構成されている。
また、音入力部17は、本複合機10が備える図示しないハンドセット(受話器)に設けられたマイクから音を入力し、その音を表す音データ(PCMデータ)を生成する。
【0045】
そして、音出力部18は、音データ(PCMデータ)の表す音を、図示しないハンドセットに設けられたスピーカ、又は、複合機本体に設けられた図示しないスピーカから出力する。
【0046】
ディレクトリサーバ20は、制御部21,通信部22および記憶部23を備えている。
これらのうち、制御部21は、CPU,ROM,RAM等を備え、このCPUが、ROMに記憶されているプログラムに従ってディレクトリサーバ20全体を統括制御する。
【0047】
また、通信部22は、ディレクトリサーバ20をネットワーク1に接続すると共に、このネットワーク1を介してデータを送受信するための処理を行う。
そして、記憶部23は、図示しないハードディスクを備えており、このハードディスクにデータを記憶する。この記憶部23には、後述するサービス定義情報25を記憶するためのサービス定義情報記憶部24が設けられている。このサービス定義情報25は、XML(eXtensible Markup Language)により記述されたXMLデータであり、この記述内容に従って後述するサービス選択用画面を表示することで(図8(a)参照)、機能サーバ30が提供可能なサービス一覧(各サービスの種類及び要求先アドレス(URL;Uniform Resource Locator)を提供することができる。なお、このサービス定義情報25における各タグの定義付けを図3に示す。
【0048】
機能サーバ30は、制御部31,通信部32および記憶部33などを備えている。
これらのうち、制御部31は、CPU,ROM,RAM等を備え、このCPUが、ROMに記憶されているプログラムに従って機能サーバ30全体を統括制御する。なお、この制御部31は、複合機10の制御部11に比べて充分に高性能な構成とされており、複合機10の制御部11では実行困難な処理についても行うことができる。本発明の特徴部分となる変換処理についても制御部31にて行う。
【0049】
また、通信部32は、機能サーバ30をネットワーク1に接続すると共に、このネットワーク1を介してデータを送受信するための処理を行う。
そして、記憶部33は、図示しないハードディスクを備えており、このハードディスクにデータを記憶する。この記憶部33は、後述するサービスI/F情報36を記憶するためのサービスI/F情報記憶部34と、それぞれ異なるサービスを提供するための処理を実行するサービスソフトウェア37を記憶するためのサービスソフト記憶部35と、からなる。このサービスI/F情報36は、XMLにより記述されたXMLデータであり、この記述内容に従って後述するパラメータ入力用画面を表示することで(図14参照)、機能サーバ30に対してサービスの提供を要求するための情報(サービスの内容及び要求先アドレス)を提供することができる。なお、このサービスI/F情報36における各タグの定義付けを図4に示す。
(2)複合機10による処理
以下に、複合機10の制御部11により実行される各種処理について説明する。なお、本実施形態において、複合機10と機能サーバ30とのデータ,パラメータ,サービスI/F情報36の送受信については、後述の変換処理を介して行われている。
(2−1)複合機処理
はじめに、複合機10が起動された以降、繰り返し実行される処理である複合機処理を図5に基づいて説明する。
【0050】
この複合機処理が起動されたら、まず、初期化処理を行う(s102)。
この初期化処理を終えた後、外部からの指令,例えば、操作部12への入力操作やネットワーク1を介した指令信号の入力などが発生したら(s104)、この入力が動作モードをサービスモードへ移行させるための内容であるか否かをチェックする(s106)。ここでは、s104による入力が操作部12のサービスキー44を押下する操作であれば、サービスモードへ移行させるための内容であると判定する。なお、この「サービスモード」とは、以下の処理で示すように、機能サーバ30に対してサービスの提供を要求するための処理を実行するための動作モードである。
【0051】
このs106で、サービスモードへ移行させるための内容でないと判定されたら(s106:NO)、その入力内容に応じて他の動作モードに対する処理(その他のモードの処理)を行った後(s108)、s104へ戻る。
【0052】
一方、s106で、サービスモードへ移行させるための内容であると判定されたら(s106:YES)、機能サーバ30に要求すべきサービスを指定する方法をユーザに指定させる(s110)。ここでは、図6に示す方法選択画面をディスプレイ52に表示させ、サービスをリストから指定するか(図6における「リストから選択」)、要求先アドレスを直接入力により指定するか(図6における「直接入力」)の選択を促す。この選択画面が表示された後、ユーザは、操作部12により、いずれにより指定するかの選択を行うことができる。
【0053】
このs110で、リストから指定する旨が選択されたら(s110:YES)、ディレクトリサーバ20にサービス一覧の照会を要求する(s112)。ここでは、ディレクトリサーバ20に対してサービス定義情報25の送信を要求するためのアドレスとして、あらかじめ記憶部16に記憶されたアドレス宛に、HTTP1.1(HTTP:HyperText Transfer Protocol )に基づくHTTPリクエスト(以降、単に「HTTPリクエスト」という)を送信することにより、サービス一覧の照会を要求する。このアドレスに基づいてアクセスを受けたディレクトリサーバ20は、後述するようにトップのサービス定義情報25を、HTTP1.1に基づくHTTPレスポンス(以降、単に「HTTPレスポンス」という)により返信してくる。
【0054】
なお、この「サービス定義情報25」には、「データ保存サービス」,「印刷サービス」,「コピー応用サービス」といったカテゴリそれぞれにおけるサービスの選択を促すサービス選択画面を表示させるためのものと、カテゴリの選択を促すサービス選択画面を表示させるためのものと、があり、このs112においては、カテゴリの選択を促すサービス選択画面を表示させるためのサービス定義情報(以降、「トップのサービス定義情報」という)25にアクセスするためのアドレス宛にHTTPリクエストを送信する。
【0055】
こうして、サービス一覧の照会を要求した後、ディレクトリサーバ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に要求されることになる。
【0056】
また、s116の処理がトップ以外のサービス定義情報25を受信した後に行われる場合,具体的な例として、「コピー応用サービス」に関するサービス定義情報25を受信した場合には、図9に示すようなサービス定義情報25(XMLの記述)に従って、図8(b),図8(c)に示すように、表示用タイトル(Title)として「コピー応用サービス」の文字が表示領域上部に配置され、選択可能なサービスを表す項目(Link_Title)である「すかし入りコピー」,「翻訳コピー」,「原稿読み上げ」および「音声テキスト変換」の文字が表示領域下部に配置されてなるサービス選択画面の表示を行う。なお、本実施形態において、表示領域の制約上、すべての項目を一度に表示することができない場合には、画面をスクロールさせることで各項目の配置が上下に移動するように構成されており、図8(b),図8(c)では、そのようなスクロール前後の状態を示している。また、この場合のサービス選択画面には、サービスに対応する別のサービス定義情報25のIDがリンク先として割り当てられており(図9における「Link_Location」参照)、いずれかの項目が選択された際に、その項目に対応するIDのサービスの提供が機能サーバ30に要求されることになる。
【0057】
また、上述したs110で、要求先アドレスを直接入力により指定する旨が選択された場合には(s110:NO)、要求先アドレスを入力するための図示しないアドレス入力画面をディスプレイ52に表示させた後(s118)、次の処理(s120)へ移行する。
【0058】
こうして、サービス選択画面またはアドレス入力画面が表示された以降、ユーザは、操作部12により、いずれかの項目を選択する操作(アドレスを入力する操作),または,サービスモードを終了する操作(停止操作)を行うことができる。
【0059】
次に、ユーザによる操作部12への入力操作を受け付け(s120)、こうして行われた入力操作がリンクを選択する操作であるか否かをチェックする(s122)。ここでは、s116にて表示されたサービス選択画面における項目を選択する操作,または,s118にて表示されたアドレス入力画面にアドレスを入力する操作が入力操作として行われた場合に、リンクを選択する操作であると判定する。
【0060】
このs122で、リンクを選択する操作でないと判定された場合(s122:NO)、その入力操作が停止操作であれば(s124:YES)、s104へ戻ることによりサービスモードとしての処理を終了する一方、入力操作が停止操作でなければ(s124:NO)、拒否音(ブザー音など)を鳴動させた後(s126)、s120へ戻る。
【0061】
また、s122で、入力操作がリンクを選択する操作であると判定された場合(s122:YES)、その選択されたリンクがサービスへのリンク,つまり機能サーバ30にサービスの提供を要求するためのIDであるか否かをチェックする(s128)。
【0062】
このs128で、サービスへのリンクでないと判定された場合,つまり別のサービス定義情報25のIDである場合には(s128:NO)、ディレクトリサーバ20に対してサービス一覧の照会を要求し、該当するサービス定義情報25を受信した後(s130)、s116へ戻ってサービス選択用画面をディスプレイ52に表示させる。
【0063】
そして、s128で、サービスへのリンクであると判定された場合には(s128:YES)、後述するセッション処理(図10)を行った後(s132)、s104へ戻ることによりサービスモードとしての処理を終了する。
(2−2)セッション処理
続いて、図5におけるs132であるセッション処理の詳細な処理手順を図10,図11に基づいて説明する。
【0064】
このセッション処理では、まず、利用するサービスを選択し、サービス定義情報25のLink_Location(アドレスを直接入力した場合には、そのアドレス)に基づきサービスを起動する(s202)。つまり、サービスのアドレス宛にサービス起動指令をHTTPリクエストにより送信することで、ユーザに選択されたサービスを機能サーバ30側において起動させる。このサービス起動指令を受信した機能サーバ30からは、セッションIDがHTTPレスポンスにより返信されてくる。
【0065】
次に、s204によるサービス起動指令に応じて機能サーバ30から返信されてくるセッションIDを受信する(s204)。なお、以降の処理で送信するHTTPリクエストおよびHTTPレスポンスには、特に明示しない限り、全てセッションIDが含まれた状態で送信されることとし、このHTTPリクエストを受信した機能サーバ30側では、このセッションIDに基づいて通信中のデバイスを管理(周知のセッション管理)するように構成されている。
【0066】
次に、複合機10に対する指令の有無を問い合わせるための「複合機指令問合せ」をHTTPリクエストにより機能サーバ30へ送信する(s206)。この「複合機指令問合せ」を受信した機能サーバ30は、複合機10に対する指令が発生していれば、その内容を示す指令(指令が発生していない場合には「指令なし」を示す指令)をHTTPレスポンスにより返信してくる。
【0067】
次に、s206による問い合わせにより返信されてくる指令(複合機指令)を受信したら(s208)、その指令がジョブ起動指令であるか否かを判定する(s210)。この「ジョブ起動指令」とは、後述のように、s202にてサービス起動指令を送信した以降、機能サーバ30側で発生する指令であり、そのタイミングやサービスの内容に応じて「UIジョブ」,「入力ジョブ(スキャンジョブまたはボイスジョブ)」,「出力ジョブ(プリントジョブまたはスピーカジョブ)」のいずれかの起動を指令する内容となっている。なお、このジョブ起動指令には、起動すべきジョブのジョブID,ジョブの種類(UIジョブ,入力ジョブ(スキャンジョブまたはボイスジョブ)または出力ジョブ(プリントジョブまたはスピーカジョブ))およびジョブの通信先アドレスが付加されている。
【0068】
このs210で、ジョブ起動指令であると判定された場合(s210:YES)、ジョブの起動に必要なリソースを確保した後(s212)、以下に示すs252〜s266によりジョブ起動指令で指令されたジョブの起動を行う。
【0069】
以下に、このs252〜s266について図11に基づいて説明する。
ここでは、まず、ジョブ起動指令で指令されたジョブがUIジョブであるか否かをチェックし(s252)、UIジョブであると判定された場合には(s252:YES)、ジョブ起動指令に付加されたジョブIDおよび通信先アドレスに基づいてUIジョブを起動した後(s254)、次の処理(図10におけるs214)へ移行する。このUIジョブは、このs254の処理で起動された以降、他の処理と並行して実行されるものであり、これについては、後述する「UIジョブ」(図12)において詳述する。
【0070】
また、ジョブ起動指令で指令されたジョブがUIジョブでないと判定された場合(s252:NO)、その指令されたジョブが入力ジョブの一種であるスキャンジョブ(s256:YES)またはボイスジョブ(s256:NO,s262:YES)であれば、ジョブ起動指令に付加されたジョブIDおよび通信先アドレスに基づいて入力ジョブを起動した後(s260)、次の処理(図10におけるs214)へ移行する。この入力ジョブは、このs260の処理で起動された以降、他の処理と並行して実行されるものであり、これについては、後述する「入力ジョブ」(図17)において詳述する。
【0071】
また、ジョブ起動指令で指令されたジョブが上述したいずれのジョブでないと判定された場合(s258:NO)、その指令されたジョブが出力ジョブの一種であるプリントジョブ(s262:YES)またはスピーカジョブ(s262:NO,s264:YES)であれば、ジョブ起動指令に付加されたジョブIDおよび通信先アドレスに基づいて出力ジョブを起動した後(s266)、次の処理(図10におけるs214)へ移行する。この出力ジョブは、このs266の処理で起動された以降、他の処理と並行して実行されるものであり、これについては、後述する「出力ジョブ」(図18)において詳述する。
【0072】
なお、ジョブ起動指令で指令されたジョブが上述したいずれのジョブでもないと判定された場合(s264:NO)、ジョブの起動を行うことなく、次の処理(図10におけるs214)へ移行する。
【0073】
こうして、ジョブの起動を行った後、図10へ戻り、所定インターバル待機した後(s214)、s206へ戻る。
また、上述したs210で、ジョブ起動指令でないと判定された場合(s210:NO)、s208で受信した指令がジョブ終了指令であるか否かをチェックする(s216)。この「ジョブ終了指令」とは、後述のように、図11における各処理でジョブを起動した以降、このジョブが終了した際に機能サーバ30側で発生する指令である。なお、このジョブ終了指令には、その終了したジョブのジョブIDが付加されている。
【0074】
このs216で、ジョブ終了指令であると判定された場合(s216:YES)、このジョブ終了指令に付加されたジョブIDのジョブを停止させる(該当するジョブに対して終了指示を渡す)と共に、このジョブを起動する前にS212にて確保したリソースを解放した後(s218)、s214へ移行する。
【0075】
また、上述したs216で、ジョブ終了指令でないと判定された場合(s216:NO)、「指令なし」を示すものであるか否かをチェックし(s220)、「指令なし」を示すものであれば(s220:YES)、s214へ移行する一方、「指令なし」を示すものでなければ(s220:NO)、セッション終了指令であるか否かを判定する(s222)。この「セッション終了指令」とは、この複合機10に対するサービスの提供が終了した際に機能サーバ30側で発生する処理である。
【0076】
そして、このs222で、セッション終了指令であると判定された場合(s222:YES)、本セッション処理を終了する一方、s208で受信した指令が上述したいずれの指令でもない場合、エラーを報知するための処理(指令エラーの処理)を行った後(s224)、本セッション処理を終了する。このs224では、エラーである旨のメッセージをディスプレイ52に表示させることによりエラーを報知する。
(2−3)UIジョブ
続いて、図11におけるs254にて起動されるUIジョブの処理手順を図12に基づいて説明する。
【0077】
このUIジョブが開始されると、まず、複合機10に対する指令の問合せである複合機ジョブ指令問合せを送信用データ格納領域にセットする(s300)。ここでは、複合機指令問合せを、制御部11の備えるRAMに確保された送信用データの格納領域に書き込むことにより、複合機ジョブ指令問合せを送信用データ格納領域にセットする。こうしてセットされた情報は、後述する処理(s312)でセッションID及びジョブIDとともに機能サーバ30へ送信されることとなる。なお、こうして「複合機ジョブ指令問合せ」が送信されると、この送信用データを受信した機能サーバ30は、後述のように、本UIジョブに対する指令が発生していれば、その内容を示す複合機指令(指令が発生していない場合には「指令なし」を示す複合機指令)をHTTPレスポンスにより返信してくる。
【0078】
次に、上述したセッション処理からの終了指示があったか否かを判定する(s302)。この終了指示は、上述したs218にてセッション処理から渡される指令である。
このs302で、セッション処理からの終了指示があったと判定された場合には(s302:YES)、セッション処理に対してセッション終了指令を渡すことにより、UIジョブの終了を通知した後(s304)、本UIジョブを終了する。なお、このセッション終了指令は、上述したs218における処理の中で受信される。s218の内部では、この指令を受信することによりジョブが完全に停止したと判断し、以降の手続きを実施するのである。
【0079】
一方、セッション処理からの終了指示がないと判定された場合には(s302:NO)、操作部12がビジー状態であるか否かを判定する(s306)。ここでは、各ジョブの起動中に立つ(「1」がセットされる)ように設定されたビジーフラグFuに基づき、ビジーフラグFuが立っていればビジー状態であると判定し、ビジーフラグFuが下りて(「0」がセットされて)いればビジー状態でないと判定する。
【0080】
このs306で、ビジー状態であると判定された場合には(s306:YES)、操作部12のビジー状態が解除されるまで,つまりビジーフラグFuが下りるまで待機した後(s308)、s306へ戻る一方、ビジー状態でないと判定した場合には(s306:NO)、ビジーフラグFuを立てて(s310)、本UIジョブにより操作部12がビジー状態になっているものとする。
【0081】
次に、送信用データ格納領域に格納されている情報を、セッションIDおよびジョブIDと共にHTTPリクエストとして機能サーバ30へ送信する(s312)。
次に、s312による問い合わせにより返信されてくる複合機指令を受信したら(s314)、その指令がパラメータ要求であるか否かを判定する(s316)。この「パラメータ要求」とは、後述のように、複合機ジョブ指令問合せを受信した機能サーバ30側で発生する指令であり、このパラメータ要求に付加されたサービスI/F情報36(図13参照;翻訳コピーの場合)に基づき、パラメータの指定を複合機10に対して要求するための指令である。
【0082】
このs316で、パラメータ要求であると判定された場合(s316:YES)、このパラメータ要求に付加されたサービスI/F情報36に基づき、パラメータ入力用画面をディスプレイ52に表示させ、パラメータの設定をするための入力操作をユーザに促す(s318)。
【0083】
ここで、サービスI/F情報36のうち、翻訳コピーサービスに対応するサービスI/F情報36を例示してパラメータ入力画面が表示される様子について説明する。なお、翻訳コピーサービスとは、複合機10の入力部(キーボード)から入力されたテキストデータを所定の言語に翻訳してなるテキストデータを生成して提供することにより、このテキストデータで表される文書を複合機10における記録部14に印刷させるサービスである。このサービスにおいては、複合機10における読取部13で読み取られた画像データに基づき、機能サーバ30が、この画像データで表される画像に対してOCR(Optical Character Recognition )処理でテキストを認識したり音入力部17から入力された音声をA−D変換処理でテキスト認識し、そのテキストを所定の言語に翻訳した内容の画像を表す画像データを生成して提供することにより、この画像データで表される画像を複合機10における記録部14に印刷させることも可能である。
【0084】
本実施形態では、入力部を有さない複合機10において翻訳コピーサービスを受ける場合であって、読取部13で読み取った画像データを、後述する変換処理にて変換することでサービスの提供を受ける場合を説明する。まず、図13に示すようなサービスI/F情報36(XMLの記述)に従って、図14(a)に示すように、表示用タイトル(Title)として「翻訳コピー」の文字が表示領域上部に配置され、その下に入力項目(Disp_Name)として「言語選択」の文字が配置され、さらにその下に入力項目「言語選択」について選択可能なパラメータを表す項目(Disp_Select)である「英語→日本語」及び「日本語→英語」の文字が配置されたパラメータ入力用画面を表示させる。ここで、「翻訳コピー」に関する入力項目(Disp_Name)としては、上記表示されている「言語選択」に加え、「スキャナ設定」,「印刷設定」及び「コメント」があるが、この時点では、「言語選択」についての入力項目のみが表示される。これは、単にディスプレイ52の大きさの制限によるものであり、この状態から左右の方向キー48,49を押下(後述の切替操作)することで、表示領域下部に表示される入力項目を「スキャナ設定」,「印刷設定」及び「コメント」を含む4種類の中から切り替えることができる。
【0085】
これら入力項目について選択可能なパラメータについて説明すると、「スキャナ設定」について選択可能なパラメータを表す項目(Disp_Select)としては、「普通の文字」及び「細かい文字」の文字が表示されることとなる(図14(b)参照)。ここでいう「普通の文字」とは、読取部13のパラメータである解像度(読取解像度)を300×300dpiに設定することを意味し、「細かい文字」とは、解像度を600×600dpiに設定することを意味する。
【0086】
また、「印刷設定」について選択可能なパラメータを表す項目(Disp_Select)としては、「印刷速度優先」,「普通」及び「高精細」の文字が表示されることとなる。なお、ディスプレイ52の大きさの制限により、「高精細」については、初めは表示されていないが(図14(c)参照)、画面をスクロールさせることで表示される(図14(d)参照)。ここでいう「印刷速度優先」とは、記録部14のパラメータである解像度(印刷解像度)を200×200dpiに設定することを意味し、「普通」とは、解像度を300×300dpiに設定することを意味し、「高精細」とは、解像度を600×600dpiに設定することを意味する。
【0087】
そして、「コメント」については、「コメント」の文字の下に、コメントの入力欄が表示され、設定されている文字列(Default_String)が入力された状態となる(図14(e)参照)。こうして、コメントとして入力欄に入力された文字列は、例えば、印刷画像のヘッダやフッタに記載されるという形で利用されるものである。
【0088】
こうして、ディスプレイ52にパラメータ入力画面が表示された以降、ユーザは、ディスプレイ52における表示領域の制限から表示しきれていない別の項目に表示内容を切り替える切替操作(左右の方向キー48,49の押下により第n−1,第n+1番目の項目に切り替える),パラメータを指定する指定操作(上下の方向キー46,47の押下により指定されたパラメータ(図14における破線の四角参照)を指定する),ディスプレイ52に表示しきれていない他のパラメータを表示させるためのスクロール操作(指定操作を続けることで表示されていないパラメータを表示させると共に、そのパラメータを指定する),パラメータの設定を完了するための完了操作(OKキー50の押下)などを行うことにより、各項目それぞれのパラメータを指定することができる。
【0089】
このs318にてパラメータ入力画面を表示した以降、ユーザによりパラメータの設定を完了するための完了操作が行われたら、全ての項目のパラメータを送信用データ格納領域にセットした後(s320)、s310にて立てたビジーフラグFuを下げて(s322)、s302へ戻る。これらのパラメータは、その後、セッションからの終了指示がなく(s302:NO)、操作パネルがビジーではない(s306:NO)状態になると、s312の処理にて機能サーバ30へ送信される。なお、本実施形態においては、後述する処理で複合機10の有する入出力デバイスに応じた内容のサービスI/F情報36がパラメータ要求と共に送信されてくることになるが、このとき、複合機10の有する入出力デバイスだけで機能サーバ30によるサービスの提供を受けられない場合には、図14(f)に示すようなエラーメッセージをディスプレイ52に表示させた後、s320を行うことなく、s322へ戻る。
【0090】
また、上述したs312による問い合わせにより返信されてくる複合機指令が、パラメータ要求でないと判定された場合には(s316:NO)、S314にて受信した複合機指令が仕様情報要求であるか否かを判定する(s352)。この「仕様情報要求」とは、後述のように、複合機ジョブ指令問合せを受信した機能サーバ30側で機能サーバ30側の設定内容に応じて発生する指令であり、複合機10に対して、複合機10の入出力デバイスに関するパラメータの設定内容が登録されてなる仕様情報を要求するための指令である。この仕様情報は、複合機10の入出力デバイスに関するパラメータの設定内容を、図15に示すように、XMLにより記述したXMLデータとして記憶部16に記憶されているものである。なお、この仕様情報におけるタグの定義付けを図16に示す。
【0091】
このs352で、仕様情報要求であると判定された場合には(s352:YES)、仕様情報を送信用データ格納領域にセットした後(s354)、s322へ移行する。この仕様情報は、その後、セッションからの終了指示がなく(s302:NO)、操作パネルがビジーではない(s306:NO)状態になると、s312の処理にて機能サーバ30へ送信される。そして、この仕様情報を受信した機能サーバ30は、後述するように、所定の処理を実行した後、パラメータ要求をHTTPレスポンスとして返信してくる。
【0092】
また、s352で、仕様情報要求でないと判定された場合には(s352:NO)、s314にて受信した複合機指令がサービス状態情報であるか否かを判定する(s324)。この「サービス状態情報」とは、後述のように、複合機ジョブ指令問合せ,または,以降の処理(s330,s312)で送信される複合機状態情報を受信した機能サーバ30側で発生する指令であり、問題なくサービスに関わる処理が実行されていること,または,問題がありサービスを停止することなどを報知するための指令である。
【0093】
このs324で、サービス状態情報であると判定されたら(s324:YES)、このサービス状態情報に基づく表示をディスプレイ52に行わせ(s326)、サービスの稼働状態の情報を要求するサービス状態情報要求を送信用データ格納領域にセットした後(s327)、S322へ移行する。
【0094】
また、s324で、サービス状態情報でないと判定されたら(s324:NO)、s314にて受信した複合機指令が状態情報要求であるか否かをチェックする(s328)。この「状態情報要求」とは、後述のように、複合機10の状態に関する情報の送信を要求するための指令である。
【0095】
このs328で、状態情報要求であると判定されたら(s328:YES)、複合機10の状態に関する情報である複合機状態情報を送信用データ格納領域にセットした後(s330)、s322へ移行する。ここでは、用紙なし,カバーオープンなどを示す情報を複合機状態情報として送信用データ格納領域にセットする。
【0096】
また、s328で、状態情報要求でないと判定されたら(s328:NO)、S314にて受信した複合機指令がサーバ受取状況であるか否かをチェックする(s332)。この「サーバ受取状況」とは、後述のように、機能サーバ30が複合機10からの情報を正常に受け取ることができたか否かを通知するために送信する指令である。
【0097】
このs332で、サーバ受取状況であると判定されたら(s332:YES)、このサーバ受取状況の内容が異常受取(NG)を表すものである場合(s334:YES)、このサーバ受取状況を送信する契機となった情報を送信用データ格納領域に再度セットした後(s336)、s322へ移行する一方、異常受取(NG)を表すものでない場合(s334:NO)、サービスの稼動状態の情報を要求する指令であるサービス状態情報要求を送信用データ格納領域にセットした後(s337)、s322へ移行する。
【0098】
そして、s332で、サーバ受取状況でないと判定されたら(s332:NO)、S314にて受信した複合機指令が「指令なし」を示すものか否かをチェックし(s338)、「指令なし」を示すものであれば(s338:YES)、s300と同様、複合機ジョブ指令問合せを送信用データ格納領域にセットした後(s339)、s322へ移行する。一方、「指令なし」を示すものでなければ(s338:NO)、エラー処理(指定エラーの処理)を行い(s340)、s300と同様、複合機ジョブ指令問合せを送信用データ格納領域にセットした後(s345)、s322へ移行する。
(2−4)入力ジョブ
続いて、図11におけるs260にて起動される入力ジョブの処理手順を図17に基づいて説明する。この入力ジョブは、上述したセッション処理およびUIジョブと並列動作する処理である。
【0099】
この入力ジョブが開始されると、まず、入力デバイスがビジー状態であるか否かを判定する(s402)。ここでは、入力デバイスがビジー状態である場合に立つ(「1」がセットされる)ように設定されたビジーフラグFiに基づき、ビジーフラグFiが立っていればビジー状態であると判定し、ビジーフラグFiが下りて(「0」がセットされて)いればビジー状態でないと判定する。なお、ここでいう「入力デバイス」とは、読取部13で生成された画像データに関するサービスの提供を受ける場合であれば読取部13であり、音入力部17で生成された音データに関するサービスを受ける場合であれば音入力部17のことである。
【0100】
このs402で、入力デバイスがビジー状態であると判定された場合には(s402:YES)、入力デバイスのビジー状態が解除されるまで待機した後(s404)、s402の処理へ戻る一方、入力デバイスがビジー状態ではないと判定された場合には(s402:NO)、ビジーフラグFiを立てる(s406)。
【0101】
次に、複合機10の状態に関する情報である複合機状態情報を、セッション処理におけるs260にて渡されたジョブIDと共に、HTTPリクエストにより機能サーバ30へ送信する(s408)。この複合機状態情報を受信した機能サーバ30は、後述のように、図12におけるs320にて送信用データ格納領域にセットしてから同図s312にて機能サーバ30に送信しておいたパラメータに基づく情報である複合機パラメータをHTTPレスポンスにより返信してくる。
【0102】
次に、s408にて送信した複合機状態情報に対して複合機パラメータが返信されてきたら(s410)、セッション処理から終了指示が渡されたか否か(セッションからの終了指示があるか)を判定する(s412)。この終了指示は、図10におけるs218により終了するジョブが入力ジョブである場合において、セッション処理から本入力ジョブに渡される指示である。
【0103】
このs412で、セッション処理から終了指示が渡されていないと判定された場合には(s412:NO)、s410にて返信されてきた複合機パラメータを正常に受信できていなければ(s414:NO)、機能サーバ30からの情報を正常に受け取ることができない旨(異常受取(NG)である旨)を通知するための複合機受取状況を、セッション処理におけるs260にて渡されたジョブIDと共に、HTTPリクエストにより機能サーバ30へ送信する(s416)。この複合機受取状況を受信した機能サーバ30は、後述のように、再度、複合機パラメータをHTTPレスポンスとして返信してくるため、このs416の後、s410へ戻る。
【0104】
一方、s410にて複合機パラメータを正常に受信できていれば(s414:YES)、機能サーバ30からの情報を正常に受け取ることができた旨(正常受取(OK)である旨)を通知するための複合機受取状況を、セッション処理におけるs260にて渡されたジョブIDと共に、HTTPリクエストにより機能サーバ30へ送信する(s418)。この複合機受取状況を受信した機能サーバ30は、後述のように、機能サーバ30側で処理すべきデータの送信を要求するための入力データ要求を返信してくる。
【0105】
次に、複合機受取状況を受信した機能サーバ30から入力データ要求が返信されてきたら(s420)、s412と同様に、セッション処理から終了指示が渡されたか否かを判定する(s422)。
【0106】
このs422で、セッション処理から終了指示が渡されていないと判定された場合には(s422:NO)、s420にて返信されてきた入力データ要求を正常に受信できていなければ(s424:NO)、s416と同様に、異常受取(NG)である旨を通知するための複合機受取状況を機能サーバ30へ送信する(s426)。この複合機受取状況を受信した機能サーバ30は、後述のように、再度、入力データ要求を返信してくるため、このs426の後、s420へ戻る。
【0107】
一方、s420にて返信されてきた入力データ要求を正常に受信できていれば(s424:YES)、機能サーバ30側で処理させるべき入力データを、セッション処理におけるs260にて渡されたジョブIDと共に、HTTPリクエストにより機能サーバ30へ送信する(s428)。ここでは、まず、入力デバイスの設定値をs410にて受信した複合機パラメータで示されるパラメータに変更した後、機能サーバ30側で処理させるべきデータの入力を促すためのデータ入力画面をディスプレイ52に表示させることにより、データを複合機10に入力するための操作をユーザに促す。その後、ユーザによりデータを入力するための操作が行われることにより取得したデータ(入力データ)を、セッション処理におけるs260にて渡されたジョブIDと共に、HTTPリクエストにより機能サーバ30へ送信する。具体的な例としては、例えば、「原稿をセットしてOKキーを押してください」,「受話器をとって音声を入力してください」などのメッセージをディスプレイ52に表示し、この後、読取部13または音入力部17により取得されるデータを機能サーバ30へ順次送信する。この入力データを受信した機能サーバ30は、この入力データに基づくデータ処理が正常に終了したか否かを通知するためのサービス状態情報を返信してくる、といった構成が考えられる。
【0108】
なお、この処理におけるデータの取得方法については、図示されないメモリカードスロットにセットされたメモリーカードから読み出したり、記憶部16における特定の記憶領域から読み出すといった方法であってもよく、その場合には、データの取得先となる記憶領域を指定すべきメッセージをディスプレイ52に表示させればよい。
【0109】
こうして、入力データを機能サーバ30へ送信した後、s428の処理で変更された入力デバイスの設定値を元に戻し(s430)、その後、機能サーバ30から返信されるサービス状態情報を受信する(s432)。
【0110】
そして、s432にてサービス情報を受信した後、または、s412,s422でセッション処理から終了指示が渡されていると判定された場合には(s412:YES,s422:YES)、s406にて立てたビジーフラグFiを下ろした後(s434)、セッション処理におけるs260にて渡されたジョブIDと共にセッション処理へ入力ジョブの終了を通知して(s436)、本入力ジョブを終了する。この入力ジョブの終了の通知は、上述したs218における処理の中で受信される。s218の内部では、この指令を受信することでジョブが完全に停止したと判断し、以降の手続きを実施するのである。
(2−5)出力ジョブ
最後に、図11におけるs266にて起動される出力ジョブの処理手順を図18に基づいて説明する。この入力ジョブは、上述したセッション処理およびUIジョブと並列動作する処理である。
【0111】
この出力ジョブが開始されると、まず、出力デバイスがビジー状態であるか否かを判定する(s502)。ここでは、出力デバイスがビジー状態である場合に立つ(「1」がセットされる)ように設定されたビジーフラグFoに基づき、ビジーフラグFoが立っていればビジー状態であると判定し、ビジーフラグFoが下りて(「0」がセットされて)いればビジー状態でないと判定する。なお、ここでいう「出力デバイス」とは、記録部14で印刷する画像データに関するサービスの提供を受ける場合であれば記録部14であり、音出力部18から出力する音データに関するサービスの提供を受ける場合であれば音出力部18のことである。
【0112】
このs502で、出力デバイスがビジー状態であると判定された場合には(s502:YES)、出力デバイスのビジー状態が解除されるまで待機した後(s504)、s502の処理へ戻る一方、出力デバイスがビジー状態ではないと判定された場合には(s502:NO)、ビジーフラグFoを立てる(s506)。
【0113】
次に、複合機10の状態に関する情報である複合機状態情報を、セッション処理におけるs266にて渡されたジョブIDと共に、HTTPリクエストにより機能サーバ30へ送信する(s508)。この複合機状態情報を受信した機能サーバ30は、後述のように、図12におけるs320にて送信用データ格納領域にセットしてから同図s312にて機能サーバ30に送信しておいたパラメータに基づく情報である複合機パラメータをHTTPレスポンスにより返信してくる。
【0114】
次に、s508にて送信した複合機状態情報に対して複合機パラメータが返信されてきたら(s510)、セッション処理から終了指示が渡されたか否か(セッションからの終了指示があるか)を判定する(s512)。この終了指示は、図10におけるs218により終了するジョブが出力ジョブである場合において、セッション処理から本出力ジョブに渡される指示である。
【0115】
このs512で、セッション処理から終了指示が渡されていないと判定された場合には(s512:NO)、s510にて返信されてきた複合機パラメータを正常に受信できていなければ(s514:NO)、機能サーバ30からの情報を正常に受け取ることができない旨(異常受取(NG)である旨)を通知するための複合機受取状況を、セッション処理におけるs266にて渡されたジョブIDと共に、HTTPリクエストにより機能サーバ30へ送信する(s516)。この複合機受取状況を受信した機能サーバ30は、後述のように、再度、複合機パラメータを返信してくるため、このs516の後、s510へ戻る。
【0116】
一方、s510にて複合機パラメータを正常に受信できていれば(s514:YES)、機能サーバ30からの情報を正常に受け取ることができた旨(正常受取(OK)である旨)を通知するための複合機受取状況を、セッション処理におけるs266にて渡されたジョブIDと共に、HTTPリクエストにより機能サーバ30へ送信する(s518)。この複合機受取状況を受信した機能サーバ30は、後述のように、図17におけるs428にて送信した入力データに基づいて処理してなるデータ(出力データ)を返信してくる。
【0117】
次に、複合機受取状況を受信した機能サーバ30から出力データが返信されてきたら(s520)、s512と同様に、セッション処理から終了指示が渡されたか否かを判定する(s522)。
【0118】
このs522で、セッション処理から終了指示が渡されていないと判定された場合には(s522:NO)、s520にて返信されてきた出力データを正常に受信できていなければ(s524:NO)、s516と同様に、異常受取(NG)である旨を通知するための複合機受取状況を機能サーバ30へ送信する(s526)。この複合機受取状況を受信した機能サーバ30は、後述のように、再度、出力データを返信してくるため、このs526の後、s520へ戻る。
【0119】
一方、s520にて返信されてきた出力データを正常に受信できていれば(s524:YES)、この出力データを出力デバイスにより出力する(s528)。ここでは、まず、出力デバイスの設定値をs510にて受信した複合機パラメータで示されるパラメータに変更した後、この出力デバイスにより出力データを出力(例えば、画像データが表す画像の印刷や、音データが表す音声の出力)する。
【0120】
こうして、出力データの出力デバイスによる出力を終えた後、s528で変更された出力デバイスの設定値を元に戻し(s530)、複合機10の状態に関する情報である複合機状態情報を、セッション処理におけるs266にて渡されたジョブIDと共に、HTTPリクエストにより機能サーバ30へ送信する(s532)。この複合機状態情報を受信した機能サーバ30は、後述のように、サービス状態情報を返信してくる。
【0121】
そして、機能サーバ30から返信されるサービス状態情報を受信した後(s534)、または、s512,s522でセッション処理から終了指示が渡されていると判定された場合には(s512:YES,s522:YES)、s506にて立てたビジーフラグFoを下ろした後(s536)、セッション処理におけるs266にて渡されたジョブIDと共にセッション処理へ入力ジョブの終了を通知して(s538)、本入力ジョブを終了する。この入力ジョブの終了の通知は、上述したs218における処理の中で受信される。s218の内部では、この指令を受信することでジョブが完全に停止したと判断し、以降の手続きを実施するのである。
(3)機能サーバ30による処理
以下に、機能サーバ30の制御部31により実行される各種処理について説明する。
(3−1)機能サーバ処理
はじめに、HTTPリクエストが受信される毎に行われる機能サーバ処理の処理手順を図19,図20に基づいて説明する。
【0122】
この機能サーバ処理が起動されると、まず、受信したHTTPリクエストがサービス起動指令であるか否かをチェックする(s702)。この「サービス起動指令」は、図10におけるs202にて複合機10により送信されるものである。
【0123】
このs702で、サービス起動指令であると判定された場合には(s702:YES)、セッションIDを生成し、このセッションIDを示す送信データを生成すると共に、サービスの実行のためのリソースを確保して該当するプロセスを起動した後(s708)、次の処理(s734)へ移行する。ここで起動するプロセスとは、後述するセッション処理(図21)のことである。
【0124】
また、s702で、サービス起動指令でないと判定された場合には(s702:NO)、HTTPリクエストがサービス終了指令であるか否かをチェックする(s710)。この「サービス終了指令」は、複合機10のキャンセルキー51押下などの操作によりサービス実行の停止が指示されることにより、複合機10側から送信されるものである。
【0125】
このs710で、サービス終了指令であると判定された場合には(s710:YES)、セッションIDおよびs708にて確保されたリソースを解放し、サービス終了を表す送信データを作成した後(s712)、次の処理(s734)へ移行する。一方、サービス終了指令ではないと判定された場合には(s710:NO)、サービス(セッション又はジョブ)に関する情報が含まれているか否か,具体的には複合機10がセッション処理またはジョブ(UIジョブ,入力ジョブ,出力ジョブ)において送信してきたHTTPリクエストであるか否かをチェックする(s714)。
【0126】
このs714で、サービスに関する情報が含まれていると判定された場合には(s714:YES)、そのHTTPリクエストを送信してきたプロセス(セッション処理,UIジョブ,入力ジョブ,出力ジョブのいずれか)を特定する(s716)。
【0127】
このs716によりプロセスを特定できなければ(s718:YES)、エラーを通知するための情報(エラー通知情報)を生成した後(s720)、次の処理(s734)へ移行する。
【0128】
一方、s716によりプロセスを特定できれば(s718:NO)、その特定したプロセスにHTTPリクエストにて送信されてきた情報を渡す(s722)。
こうして、s722を終えた後、または、s714にてサービスに関する情報が含まれていないと判定された場合(s714:NO)、セッションIDまたはジョブIDに対応する情報の記憶領域を特定する(s724)。
【0129】
このs724により記憶領域を特定できなければ(s726:YES)、s720へ移行してエラー通知情報を生成して次の処理(s734)へ移行する。一方、記憶領域を特定できれば(s726:NO)、この記憶領域に複合機10へ返信すべき情報が存在しているか否かをチェックする(s728)。
【0130】
そして、このs728で、返信すべき情報が存在していないと判定されたら(s728:NO)、「指令なし」の情報を生成した後(s730)、次の処理(s734)へ移行する一方、送信すべき情報が存在していると判定されたら(s728:YES)、その返信情報に基づいて複合機制御指令を生成した後(s732)、次の処理(s734)へ移行する。
【0131】
こうして、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側で対応するジョブにおいて受信されるものである。
【0132】
そして、上述したs714〜s732であるサービス制御情報処理が実施された、すなわちs710にて「NO」と判定された場合は(s736:YES)、セッションID又はジョブIDに対応するメモリアドレスに「送信済み」をセットした後(s738)、本機能サーバ処理を終了する一方、サービス制御情報処理が実施されていなければ(s736:NO)、メモリアドレスのセットを行うことなく、本機能サーバ処理を終了する。このサービス制御情報処理とは、s714〜s732に記載の複合機10と機能サーバ30のセッションまたはジョブとの情報授受の処理を指す。
(3−2)セッション処理
続いて、機能サーバ処理と並行して実行されるセッション処理の処理手順を図21,図22に基づいて説明する。なお、本実施形態においては、翻訳コピーのサービスについてのセッション処理を例に説明する。
【0133】
このセッション処理が開始されると、まず、初期化処理を行う(s802)。
次に、サービス側UIジョブを起動する(s804)。このUIジョブは、本セッション処理と並行して実行される処理であって、詳細な処理手順は後述する。
【0134】
次に、UIジョブの起動指令を複合機指令として出力する(s806)。ここでは、ジョブIDおよび通信先アドレスと共にUIジョブの起動指令を、返信情報を格納する記憶領域に書き込む処理を行う。これに基づいて、図19におけるs732にて複合機制御指令が生成され、図20におけるs734にて複合機10側に起動指令として送信されることとなる。この起動指令は、図10におけるs208にて複合機10側で受信され、これに基づいて、複合機10側においてUIジョブが起動されることとなる(同図s254)。
【0135】
次に、複合機10側からのパラメータの入力が完了したか否かをチェックする(s808)。上述したs804にて起動したUIジョブにおいては、後述のように、複合機10側からパラメータを取得し、その旨を本セッション処理に対して通知してくるように構成されている。そのため、このs808では、このUIジョブからのパラメータ取得の通知がなされた場合に、複合機10側からのパラメータの入力が完了したと判定する。
【0136】
このs808で、パラメータの入力が完了していないと判定された場合には(s808:NO)、UIジョブが停止したか否かをチェックする(s810)。上述したs804にて起動したUIジョブにおいては、後述のように、複合機10側からのパラメータの取得が正常に行われなかった場合に、UIジョブ自体を停止(終了)すると共に、その旨を本セッション処理に対して通知してくるように構成されている。そのため、このs810では、このUIジョブからの停止の通知がなされた場合に、UIジョブが停止したと判定する。
【0137】
このs810で、UIジョブが停止していないと判定された場合(s810:NO)、s808へ戻る一方、UIジョブが停止していると判定された場合(s810:YES)、後述するs848へ移行する。
【0138】
また、s808で、パラメータの入力が完了していると判定された場合には(s808:YES)、サービス側入力ジョブの一種であるスキャンジョブを起動する(s812)。このスキャンジョブは、本セッション処理と並行して実行される処理であって、詳細な処理手順は後述する。
【0139】
次に、スキャン(入力)ジョブの起動指令を複合機指令として出力する(s814)。ここでは、ジョブIDおよび通信先アドレスと共にスキャンジョブの起動指令を、返信情報を格納する記憶領域に書き込む処理を行う。これに基づいて、図19におけるs732にて複合機制御指令が生成され、図20におけるs734にて複合機10側に起動指令として送信されることとなる。この起動指令は、図10におけるs208にて複合機10側で受信され、これに基づいて、複合機10側において入力ジョブが起動されることとなる。
【0140】
次に、複合機10側でスキャナ(読取部13)の準備が完了したか否かをチェックする(s816)。上述したs812にて起動したスキャンジョブにおいては、後述のように、複合機10側においてスキャナの準備が完了したことの通知を受け、その旨を本セッション処理に通知してくるように構成されている。そのため、このs816では、このスキャンジョブからのスキャナの準備が完了したことの通知がなされた場合に、複合機10側でスキャナの準備が完了したと判定する。
【0141】
このs816で、複合機10側でスキャナの準備が完了していないと判定された場合には(s816:NO)、スキャンジョブが停止したか否かをチェックする(s818)。上述したs812にて起動したスキャンジョブにおいては、後述のように、複合機10側からスキャナの準備が完了したことの通知を正常に受けられなかった場合に、スキャンジョブ自体を停止(終了)すると共に、その旨を本セッション処理に対して通知してくるように構成されている。そのため、このs818では、このスキャンジョブからの停止の通知がなされた場合に、スキャンジョブが停止したと判定する。
【0142】
このs818で、スキャンジョブが停止していないと判定された場合(s818:NO)、s816へ戻る一方、スキャンジョブが停止していると判定された場合(s818:YES)、後述するs844へ移行する。
【0143】
また、s816で、スキャナの準備が完了していると判定された場合には(s816:YES)、サービス側出力ジョブの一種である印刷ジョブを起動する(s820)。この印刷ジョブは、本セッション処理と並行して実行される処理であって、詳細な処理手順は後述する。
【0144】
次に、印刷(出力)ジョブの起動指令を複合機指令として出力する(s822)。ここでは、ジョブIDおよび通信先アドレスと共に印刷ジョブの起動指令を、返信情報を格納する記憶領域に書き込む処理を行う。これに基づいて、図19におけるs732にて複合機制御指令が生成され、図20におけるs734にて複合機10側に起動指令として送信されることとなる。この起動指令は、図10におけるs208にて複合機10側で受信され、これに基づいて、複合機10側において出力ジョブが起動されることとなる(図11におけるs266)。
【0145】
次に、複合機10側で印刷準備(記録部14)の準備が完了したか否かをチェックする(s824)。上述したs820にて起動した印刷ジョブにおいては、後述のように、複合機10側において印刷準備が完了したことの通知を受け、その旨を本セッション処理に通知してくるように構成されている。そのため、このs824では、この印刷ジョブからの印刷準備が完了したことの通知がなされた場合に、複合機10側で印刷準備が完了したと判定する。
【0146】
このs824で、複合機10側で印刷準備が完了していないと判定された場合には(s824:NO)、印刷ジョブが停止したか否かをチェックする(s826)。上述したs820にて起動した印刷ジョブにおいては、後述のように、複合機10側から印刷準備が完了したことの通知を正常に受けられなかった場合に、印刷ジョブ自体を停止(終了)すると共に、その旨を本セッション処理に対して通知してくるように構成されている。そのため、このs826では、この印刷ジョブからの停止の通知がなされた場合に、印刷ジョブが停止したと判定する。
【0147】
このs826で、印刷ジョブが停止していないと判定された場合(s826:NO)、s824へ戻る一方、印刷ジョブが停止していると判定された場合(s826:YES)、後述するs840へ移行する。
【0148】
また、s824で、印刷準備が完了していると判定された場合には(s824:YES)、複合機10側から取得された入力データを読み出す(s828)。上述したs812にて起動したスキャンジョブにおいては、後述のように、複合機10から、この複合機10の読取部13にて読み取られた画像データを取得するように構成されているため、このs828では、こうして取得されて所定の記憶領域に格納されたデータ(入力データ)のうち、1頁分に相当するデータ領域を読み出す。
【0149】
次に、s828にて読み出された入力データに対してOCR,翻訳,印刷レイアウトなどの処理を施してなる画像データを生成する(s830)。ここでは、まず、s828にて読み出された入力データに対してOCR処理を施すことにより、この入力データで表される画像に含まれるテキスト部分を認識する。次に、このテキスト部分に対して翻訳処理を行うことによりテキスト部分を所定の言語で表現されたテキストに変換する。なお、ここでの翻訳処理は、上述したs804にて起動したUIジョブにおいて取得されるパラメータに基づいて行われるものであり、このパラメータで示される言語への変換が行われることとなる。そして、こうして認識されたテキスト部分について、所定の印刷レイアウトを設定してなる印刷用の画像データを生成する。
【0150】
次に、s830にて生成された画像データを出力する(s832)。ここでは、ジョブIDおよび通信先アドレスと共にs830にて生成された画像データを、印刷ジョブに渡すために記憶領域に書き込む処理を行う。これに基づいて後述する図25のs1120にて複合機10に適合した印刷コマンドを作成し、複合機10へ送信する。
【0151】
次に、s828にて全ての入力データ(全ページ分のデータ領域)についての読み出しが完了したか否かをチェックし(s834)、完了していなければ(s834:NO)、s828へ戻る一方、完了していれば(s834:YES)、s832による出力データの出力(記憶領域への書き込み)が終了したか否かをチェックする(s836)。
【0152】
このs836で、出力データの出力が完了していなければ(s836:NO)、s828へ戻る一方、出力データの出力が完了していれば(s836:YES)、印刷(出力)ジョブの終了指令を複合機指令として出力する(s838)。ここでは、ジョブIDと共に印刷ジョブの終了指令を、返信情報を格納する記憶領域に書き込む処理を行う。これに基づいて、図19におけるs732にて複合機制御指令が生成され、図20におけるs734にて複合機10側に終了指令として送信されることとなる。この終了指令は、図10におけるs208にて複合機10側で受信され、これに基づいて、複合機10側において出力ジョブが停止(終了)されることとなる(同図s218)。
【0153】
こうして、印刷ジョブの終了指令を出力した後、または、上述したs826で印刷ジョブが停止されたと判定された場合(s826:YES)、s820で起動させたサービス側印刷ジョブを終了させる(s840)。
【0154】
次に、スキャン(入力)ジョブの終了指令を複合機指令として出力する(s842)。ここでは、ジョブIDと共にスキャンジョブの終了指令を、返信情報を格納する記憶領域に書き込む処理を行う。これに基づいて、図19におけるs732にて複合機制御指令が生成され、図20におけるs734にて複合機10側に終了指令として送信されることとなる。この終了指令は、図10におけるs208にて複合機10側で受信され、これに基づいて、複合機10側において入力ジョブが停止(終了)されることとなる(同図s218)。
【0155】
こうして、スキャンジョブの終了指令を出力した後、または、上述したs818でスキャンジョブが停止されたと判定された場合(s818:YES)、s812で起動させたサービス側スキャンジョブを終了させる(s844)。
【0156】
次に、UIジョブの終了指令を複合機指令として出力する(s846)。ここでは、ジョブIDと共にスキャンジョブの終了指令を、返信情報を格納する記憶領域に書き込む処理を行う。これに基づいて、図19におけるs732にて複合機制御指令が生成され、図20におけるs734にて複合機10側に終了指令として送信されることとなる。この終了指令は、図10におけるs208にて複合機10側で受信され、これに基づいて、複合機10側においてUIジョブが停止(終了)されることとなる(同図s218)。
【0157】
こうして、UIジョブの終了指令を出力した後、または、上述したs810でパラメータ入力が停止されたと判定された場合(s810:YES)、s804で起動させたサービス側UIジョブを終了させる(s848)。
【0158】
そして、各ジョブにおいて確保されていたリソースを解放するなどの終了処理を行った後(s850)、サービスの終了指令を複合機指令として出力した後(s852)、本セッション処理を終了する。このs852では、サービスの終了指令を、返信情報を格納する記憶領域に書き込む処理を行う。これに基づいて、図19におけるs732にて複合機制御指令が生成され、図20におけるs734にて複合機10側に終了指令として送信されることとなる。この終了指令は、図10におけるs208にて複合機10側で受信され、これに基づいて、複合機10側においてセッション処理が終了されることとなる(同図s222)。
(3−3)UIジョブ
続いて、図21におけるs804にて起動されるUIジョブの処理手順を図23に基づいて説明する。
【0159】
このUIジョブが開始されると、まず、複合機10から複合機ジョブ指令問合せを受信するまで待機し、この複合機ジョブ指令問合せを受信したら(s902)、複合機10に対して、この複合機10の仕様情報を要求するための仕様情報要求をHTTPレスポンスとして返信する(s930)。この仕様情報要求は、図12におけるs314の処理で複合機10により受信されるものであり、これを受けた複合機10が同図320の処理により仕様情報を送信してくる。
【0160】
こうして、仕様情報要求を返信した後、複合機10から仕様情報がHTTPリクエストとして送信されるのを待って、こうして送信されてきた仕様情報を受信したら(s932)、サービスの実行に必要なパラメータの設定を要求するためのパラメータ要求指令を複合機指令として複合機10へ返信する(s904)。このs902において受信する「複合機ジョブ指令問合せ」とは、図12におけるs312にて複合機10から送信されるHTTPリクエストである。また、s904にて送信する複合機指令とは、同図s314にて複合機10に受信されるHTTPレスポンスであり、サービスI/F情報36(例えば、翻訳コピーのサービスに対応するもの)が付加されたものである。この複合機指令を受信した複合機10は、同図s316〜s320にてパラメータを送信用データ格納領域にセットしてからs312にてこのパラメータをHTTPリクエストにより送信してくる。
【0161】
次に、エラーカウントを初期化する(s906)。ここでは、後述のようにパラメータを正常に受信できない自体が連続して発生した回数をカウントするためのカウンタをリセット(「0」をセット)する。
【0162】
次に、s904にて送信した複合機指令を受信した複合機10からパラメータが送信されてくるまで待機し、パラメータを受信したら(s908)、このパラメータを正常に受信できているか否かをチェックする(s910)。
【0163】
このs910にてパラメータが正常に受信できていないと判定された場合には(s910:NO)、このような正常に受信できない状況が所定の回数(本実施形態においては2回)連続して発生しているか否かをエラーカウントによるカウント値に基づいてチェックし(s912)、所定の回数連続して発生していなければ(s912:NO)、パラメータを正常に受信できなかった旨(サーバ受取NG;異常受取)を通知するためのサーバ受取状況を出力し(s914)、エラーカウントをカウントアップした後(s916)、s908へ戻る。このs914では、サーバ受取状況を、返信情報を格納する記憶領域に書き込む処理を行う。これに基づいて、図19におけるs732にて複合機制御指令が生成され、図20におけるs734にて複合機10側にサーバ受取状況として送信されることとなる。このサーバ受取状況は、図12におけるs314にて複合機10側で受信され、これに基づいて、複合機10側においてパラメータの再送信が行われることとなる(同図s334,s336,s312)。
【0164】
また、s912で、正常に受信できない状況が所定の回数連続して発生していたら(s912:YES)、セッション処理に対してUIジョブの停止(終了)を通知した後(s918)、本UIジョブを終了する。このs918による通知は、図21におけるs810にてセッション処理が受けるものである。
【0165】
また、上述したs910で、パラメータが正常に受信できていると判定された場合には(s910:YES)、パラメータを正常に受信できた旨(サーバ受取OK;正常受取)を通知するためのサーバ受取状況を出力する(s920)。ここでは、サーバ受取状況を、返信情報を格納する記憶領域に書き込む処理を行う。これに基づいて、図19におけるs732にて複合機制御指令が生成され、図20におけるs734にて複合機10側にサーバ受取状況として送信されることとなる。このサーバ受取状況は、図12におけるs314にて複合機10側で受信され、これに基づいて、複合機10側においてパラメータの再送信が必要ないことが確認される(同図s334)。
【0166】
次に、セッション処理に対してパラメータの入力が完了(パラメータを取得)した旨を通知する(s922)。ここでの通知は、図21におけるs808にてセッション処理が受けるものである。
【0167】
そして、このs922を終えた以降、複合機10から複合機ジョブ指令問合せを受信するまで待機し、この複合機ジョブ指令問合せを受信したら(s924)、サービス状態情報を出力する(s926)、といった処理を、他の処理(例えば、図22におけるs846)により本UIジョブが停止(終了)されるまで繰り返し行う。このs926では、サービス状態情報を、返信情報を格納する記憶領域に書き込む処理を行う。これに基づいて、図19におけるs732にて複合機制御指令が生成され、図20におけるs734にて複合機10側にサービス状態情報として送信されることとなる。
(3−4)スキャンジョブ
続いて、図21におけるs812にて起動されるスキャンジョブの処理手順を図24に基づいて説明する。
【0168】
このスキャンジョブが開始されると、まず、複合機10から複合機状態情報を受信するまで待機し、この複合機状態情報を受信したら(s1002)、図23におけるs906と同様にエラーカウントを初期化した後(s1004)、複合機パラメータを出力する(s1006)。このs1002にて受信される複合機状態情報は、図17におけるs408にて複合機10から送信されてくるHTTPリクエストであり、これに応答する形でs1006にて複合機パラメータをHTTPレスポンスとして返信する。この複合機パラメータは、図23におけるs908にて受信されたものであって、s1002にて受信された複合機状態情報の送信元である複合機10に対応するパラメータである。
【0169】
この複合機パラメータを受信した複合機10からは、この複合機パラメータを正常に受信できたか否かを示す複合機受取状況が送信されてくるため、この複合機受取状況に基づいて複合機10側で正常に受け取ることができたか否かをチェックする(s1008)。具体的には、複合機受取状況が、異常受取(NG)である旨の内容であれば正常に受け取ることができていないと判定し、正常受取(OK)である旨の内容であれば正常に受け取ることができていると判定する。
【0170】
このs1008で、複合機10側で複合機パラメータを正常に受け取ることができていないと判定された場合(s1008:NO)、このような正常に受信できない状況が所定の回数(本実施形態においては2回)連続して発生しているか否かをエラーカウントによるカウント値に基づいてチェックし(s1010)、所定の回数連続して発生していなければ(s1010:NO)、エラーカウントをカウントアップした後(s1012)、s1006へ戻る。
【0171】
また、s1010で、正常に受信できない状況が所定の回数連続して発生していたら(s1010:YES)、セッション処理に対してスキャンジョブの停止(終了)を通知した後(s1014)、異常終了を通知するための通知指令をサービス状態情報として出力する(s1016)。このs1014による通知は、図21におけるs818にてセッション処理が受けるものである。また、s1016では、通知指令を、返信情報を格納する記憶領域に書き込む処理を行う。これに基づいて、図19におけるs732にて複合機制御指令が生成され、図20におけるs734にて複合機10側に通知指令として送信されることとなる。この通知指令は、図17におけるs410にて複合機10側で受信される。機能サーバ30側からは、セッションよって、図24のs818により渡され、図29におけるs1014にて受けとられた指令に基づく情報が通知されるため、複合機10では、この情報に基づいて、図20におけるs412にて終了すると判断する(s412:YES)。
【0172】
また、上述のs1008で、複合機10側で複合機パラメータを正常に受け取ることができていると判定された場合(s1008:YES)、複合機パラメータの受信をもって複合機10側でスキャナ(読取部13)の準備が完了しているものとし、セッション処理に対してスキャナの準備完了を通知する。この通知は、図21におけるs816にてセッション処理が受けるものである。
【0173】
次に、機能サーバ30側で処理すべきデータの送信を要求するための入力データ要求を出力する(s1018)。ここでは、入力データ要求を、返信情報を格納する記憶領域に書き込む処理を行う(s1020)。これに基づいて、図19におけるs732にて複合機制御指令が生成され、図20におけるs734にて複合機10側に入力データ要求として送信されることとなる。この入力データ要求は、図17におけるs420にて複合機10側で受信され、これにより、ユーザの操作を受けて入力データが送信されてくる。
【0174】
こうして、入力データ要求を受信した複合機10から入力データを受信したら(s1022)、この入力データの受信が正常に終了していれば(s1024:YES)、正常終了を通知するための通知指令をサービス状態情報として出力した後(s1026)、本スキャンジョブを終了する。このs1026では、通知指令を、返信情報を格納する記憶領域に書き込む処理を行う。これに基づいて、図19におけるs732にて複合機制御指令が生成され、図20におけるs734にて複合機10側に通知指令として送信されることとなる。この通知指令は、図17におけるs432にて複合機10側で受信される。
【0175】
一方、入力データの受信が正常に終了しなければ(s1024:NO)、s1016へ移行し、異常終了を通知するための通知指令をサービス状態情報として出力した後、本スキャンジョブを終了する。この通知指令は、図17におけるs432にて複合機10側で受信される。
(3−5)印刷ジョブ
続いて、図21におけるs820にて起動される印刷ジョブの処理手順を図25に基づいて説明する。
【0176】
この印刷ジョブが開始されると、まず、複合機10から複合機状態情報を受信するまで待機し、この複合機状態情報を受信したら(s1102)、図23におけるs906と同様にエラーカウントを初期化した後(s1104)、複合機パラメータを出力する(s1106)。このs1102にて受信される複合機状態情報は、図18におけるs508にて複合機10から送信されてくるHTTPリクエストであり、これに応答する形でs1106にて複合機パラメータをHTTPレスポンスとして返信する。この複合機パラメータは、図23におけるs908にて受信されたものであって、s1102にて受信された複合機状態情報の送信元である複合機10に対応するパラメータである。
【0177】
この複合機パラメータを受信した複合機10からは、この複合機パラメータを正常に受信できたか否かを示す複合機受取状況が送信されてくるため、図24におけるs1008と同様、この複合機受取状況に基づいて複合機10側で正常に受け取ることができたか否かをチェックする(s1108)。
【0178】
このs1108で、複合機10側で複合機パラメータを正常に受け取ることができていないと判定された場合(s1108:NO)、このような正常に受信できない状況が所定の回数(本実施形態においては2回)連続して発生しているか否かをエラーカウントによるカウント値に基づいてチェックし(s1110)、所定の回数連続して発生していなければ(s1110:NO)、エラーカウントをカウントアップした後(s1112)、s1106へ戻る。
【0179】
また、s1110で、正常に受信できない状況が所定の回数連続して発生していたら(s1110:YES)、セッション処理に対して印刷ジョブの停止(終了)を通知した後(s1114)、異常終了を通知するための通知指令をサービス状態情報として出力する(s1116)。このs1114による通知は、図21におけるs826にてセッション処理が受けるものである。また、s1116では、通知指令を、返信情報を格納する記憶領域に書き込む処理を行う。これに基づいて、図19におけるs732にて複合機制御指令が生成され、図20におけるs734にて複合機10側に通知指令として送信されることとなる。この通知指令は、図18におけるs510にて複合機10側で受信される。機能サーバ30側からは、図21のs852よって、図25のs1114により渡され、図21におけるs826にて受けとられた指令に基づく情報が通知されるため、複合機10では、この情報に基づいて、図18におけるs512にて終了すると判断する(s512:YES)。
【0180】
また、上述のs1108で、複合機10側で複合機パラメータを正常に受け取ることができていると判定された場合(s1108:YES)、複合機パラメータの受信をもって複合機10側で印刷(記録部14)の準備が完了しているものとし、セッション処理に対して印刷の準備完了を通知する(s1118)。この通知は、図21におけるs824にてセッション処理が受けるものである。セッション処理では、この通知を受けて、図22におけるs828〜s836を行い、印刷データの生成を行うこととなる。
【0181】
次に、セッション処理にて生成された印刷データ(図22におけるs832)を複合機10が処理可能な印刷データに変換してなるデータを、返信情報を格納する記憶領域に書き込む処理を行う(s1120)。ここでは、図22のs832で記憶領域に書き込まれた画像データに基づいて、複合機10にて出力可能な印刷コマンドを生成し、ジョブIDおよび通信先アドレスと共に返信情報を格納する記憶領域に書き込む処理を行う。これに基づいて、図19におけるs732にて複合機制御指令が生成され、図20におけるs734にて複合機10側に出力データとして送信されることとなる。この出力データは、図18におけるs520にて複合機10側で受信され、これに基づいて出力データで示される画像の記録部14による記録(印刷)が行われる。
【0182】
こうして、送信される印刷データを受信した複合機10は、図18におけるs532にて複合機状態情報をHTTPリクエストにより送信してくる。
こうして、印刷データを受信した複合機10から複合機状態情報を受信したら(s1122)、この複合機状態情報の受信が正常に終了していれば(s1124:YES)、正常終了を通知するための通知指令をサービス状態情報として出力した後(s1126)、本印刷ジョブを終了する。このs1126では、通知指令を、返信情報を格納する記憶領域に書き込む処理を行う。これに基づいて、図21におけるs732にて複合機制御指令が生成され、図20におけるs734にて複合機10側に通知指令として送信されることとなる。この通知指令は、図18におけるs532にて複合機10側で受信される。
【0183】
一方、複合機状態情報の受信が正常に終了しなければ(s1124:NO)、s1116へ移行し、異常終了を通知するための通知指令をサービス状態情報として出力した後、本印刷ジョブを終了する。この通知指令は、図18におけるs534にて複合機10で受信される。
(3−6)情報変換処理
続いて、複合機10との間における全ての通信に際して実行される情報変換処理の処理手順を図26に基づいて説明する。この情報変換処理は、機能サーバ30の制御部31により実行される処理であるが、上述した各処理(サービス)と、通信部15との間の通信を中継するモジュールとして機能し、両者間の情報の通信が発生した際に開始される。ここでいう「通信の発生」とは、機能サーバ30から複合機10へ向けて情報が送信されること,または,複合機10から情報が受信されたことである。
【0184】
この情報変換処理が起動されると、まず、本情報変換処理に先立って発生した通信に係る情報が仕様情報であるか否かをチェックする(s2002)。この仕様情報は、図12におけるs354を経て同図s312にて複合機10から送信されてくるものである。
【0185】
このs2002で仕様情報であると判定された場合(s2002:YES)、後述する変換モジュール初期化処理を行う(s2004)。ここでは、入出力データのメディア変換に用いる変換モジュールをロードする処理が行われるが、適切な変換モジュールがロードできなかった場合には、エラーフラグが立てられる。なお、図27に変換モジュールの構成を示す。
【0186】
次に、後述する仕様情報変換処理を行う(s2006)。ここでは、s2004にて起動された変換モジュールが確保している記憶領域に、上述した仕様情報を格納する処理を行う。
【0187】
次に、エラーフラグが立っているか否かをチェックし(s2008)、エラーフラグが立っていれば(s2008:YES)、エラー送信情報を生成した後(s2010)、次の処理(s2032)へ移行する一方、エラーフラグが立っていなければ(s2008:NO)、エラー送信情報を生成することなく、次の処理(s2032)へ移行する。
【0188】
また、上述したs2002で、仕様情報でないと判定された場合(s2002:NO)、本情報変換処理に先立って受信した情報がパラメータ要求であるか否かをチェックする(s2012)。このパラメータ要求は、機能サーバ30が、図23におけるs904にて、サービスI/F情報36と共に複合機10に向けて送信(返信)するHTTPレスポンスである。
【0189】
このs2012でパラメータ要求であると判定されたら(s2012:YES)、後述するサービスI/F情報変換処理を行った後(s2014)、次の処理(s2016)へ移行する一方、パラメータ要求でなければ(s2012:NO)、サービスI/F情報変換処理を行うことなく次の処理(s2016)へ移行する。このサービスパラメータ情報変換処理では、パラメータ要求に付加されているサービスI/F情報36を、s2004にてロードされた変換モジュールに応じて変換する処理を行う。
【0190】
次に、本情報変換処理に先立って受信した情報がパラメータであるか否かをチェックする(s2016)。このパラメータは、図12におけるs320を経て同図s312にて複合機10から送信されてくるものである。
【0191】
このs2016でパラメータであると判定されたら(s2016:YES)、後述するサービスパラメータ変換処理を行った後(s2018)、次の処理(s2020)へ移行する一方、パラメータでなければ(s2016:NO)、サービスパラメータ変換処理を行うことなく次の処理(s2020)へ移行する。このサービスパラメータ変換処理では、上述のパラメータを、s2004にてロードされた変換モジュールに応じて変換する処理を行う。
【0192】
次に、本情報変換処理に先立って受信した情報がパラメータ設定であるか否かをチェックする(s2020)。このパラメータ設定とは、図24,図25におけるs1006,s1106にて複合機10から送信されてくる複合機パラメータのことである。
【0193】
このs2020でパラメータ設定であると判定されたら(s2020:YES)、後述する複合機パラメータ変換処理を行った後(s2022)、次の処理(s2024)へ移行する一方、パラメータ設定でなければ(s2020:NO)、複合機パラメータ変換処理を行うことなく次の処理(s2024)へ移行する。この複合機パラメータ変換処理では、上述のパラメータ設定(複合機パラメータ)を、s2004にてロードされた変換モジュールに応じて変換する処理を行う。
【0194】
次に、本情報変換処理に先立って受信した情報が入力データであるか否かをチェックする(s2024)。この入力データは、図17におけるs428にて複合機10から送信されてくるものである。
【0195】
このs2024で入力データであると判定されたら(s2024:YES)、後述する入力メディア変換処理を行った後(s2026)、次の処理(s2028)へ移行する一方、入力データでなければ(s2024:NO)、入力メディア変換処理を行うことなく次の処理(s2028)へ移行する。この入力メディア変換では、上述のようにロードされた変換モジュールによる入力データのメディア変換を行う。
【0196】
次に、本情報変換処理に先立って受信した情報が出力データであるか否かをチェックする(s2028)。この出力データは、図25におけるs1120にて複合機10側で返信情報を格納する記憶領域に書き込まれた後で、この複合機10から送信されてくるものである。
【0197】
このs2028で出力データであると判定されたら(s2028:YES)、後述する出力メディア変換処理を行った後(s2030)、次の処理(s2032)へ移行する一方、出力データでなければ(s2028:NO)、出力メディア変換処理を行うことなく次の処理(s2032)へ移行する。このメディア変換処理は、上述のようにロードされた変換モジュールによる出力データのメディア変換を行う。
【0198】
こうして、出力メディア変換処理を行った後、s2028で出力データでないと判定された場合(s2028:NO)、または、上述したs2010にてエラー送信情報を生成した後、上述した各処理で生成した情報を中継(送信)する(s2032)。ここでは、上述したs2010〜s2030にて生成,変換された情報が、機能サーバ30から複合機10へ向けて送信される情報であれば、その情報を返信情報の格納領域に書き込む一方、複合機10から送信された情報であれば、その情報を該当する処理に渡す。
(3−7)変換モジュール初期化処理
続いて、図26におけるs2004である変換モジュール初期化処理の処理手順を図28に基づいて説明する。
【0199】
この変換モジュール初期化処理が起動されると、まず、上述の情報変換処理に先立って発生した通信に係る情報である仕様情報を読み出した後(s2102)、サービス入出力メディア情報を読み出す(s2104)。このサービス入出力メディア情報とは、あらかじめ機能サーバ30の記憶部16に記憶されたものであって、図29に示すように、各サービスを示すサービス識別情報それぞれに対して、入出力される入力/出力メディアが対応づけられたデータテーブルである。そして、このs2104では、複合機10側に提供すべきサービスを示すサービス識別情報に対応する入力メディアおよび出力メディアが読み出される。
【0200】
次に、入力用変換モジュールをロードする(s2106)。ここでは、以下に示すs2142〜s2168により適切な変換モジュールを選択してロードする処理が行われる。
ここで、このs2142〜s2168について図30に基づいて説明すると、まず、図28におけるs2104にて読み出されたサービス入出力メディア情報の入力メディアを参照する(s2142)。
【0201】
次に、変換対応情報に登録されたサービス入力メディアのうち、s2142にて参照した入力メディアと一致する情報を読み出す(s2144)。この変換対応情報とは、あらかじめ機能サーバ30の記憶部16に記憶されたものであって、図31に示すように、サービス入力/出力メディア,入力/出力デバイス,変換タイプおよび変換モジュールの対応関係を示すデータテーブルである。そして、このs2144では、変換対応情報に登録されている情報のうち、s2142で参照された入力メディアに対応する情報それぞれを読み出す。なお、変換対応情報に登録されている変換モジュールは、全ての入出力デバイスに対するものが用意されているわけではなく、一部の入出力デバイスに対しては用意されていない。また、図31における「(空)」と示した部分は、変換の必要がない場合を表している(つまり、用意されていないものについては、リストアップされていない)。
【0202】
次に、s2144にて読み出された各入力メディアに対応する情報のうち、変換モジュールの情報を全て読み出す(s2146)。
次に、図28におけるs2104にて読み出されたサービス入出力メディア情報の出力メディアを参照する(s2148)。
【0203】
次に、変換対応情報に登録されたサービス入力メディアのうち、s2148にて参照した出力メディアと一致する情報を読み出す(s2150)。
次に、s2150にて読み出された各出力メディアに対応する情報のうち、変換モジュールの情報を全て読み出す(s2152)。
【0204】
次に、s2142〜s2152により該当する変換モジュールを読み出せなかったか否かをチェックし(s2154)、読み出せていないと判定されたら(s2154:YES)、エラーフラグを立てた後(s2156)、次の処理(図28におけるs2108)へ移行する。
【0205】
一方、選択できていると判定されたら(s2154:NO)、その選択された変換モジュールが複数でなければ(s2158:NO)、その選択された変換モジュールが存在しない,つまり上述したように変換モジュールが用意されていない入出力デバイスに対するものであるか否かをチェックする(s2160)。
【0206】
このs2160で変換モジュールが存在すると判定されたら(s2160:NO)、その変換モジュールをロードした後(s2162)、次の処理(図28におけるs2108)へ移行する一方、変換モジュールが存在しないと判定されたら(s2160:YES)、変換モジュールのロードを行うことなく、次の処理(図28におけるs2108)へ移行する。
【0207】
また、上述したs2158で、選択された変換モジュールが複数であると判定されたら(s2158:YES)、仕様情報に優先度が示されているか否かをチェックする(s2164)。本実施形態において、仕様情報には、複合機10の有する入出力デバイスそれぞれについての優先度が示されているものが存在するため(図15における「Device_Priority」タグ参照;セットされた値が小さいほど優先度が高いことを示す)、このs2158では、仕様情報に優先順位が示されているか否かがチェックされる。
【0208】
このs2158で、優先度が示されていると判定された場合(s2158:YES)、選択された変換モジュールに対応づけて変換対応情報に登録されている入力デバイスのうち、仕様情報において優先度が最も高く設定されている(優先度が最小の)ものを選択する(s2166)。
【0209】
一方、s2158で、優先度が示されていないと判定された場合(s2158:NO)、選択された変換モジュールに対応づけて変換対応情報に登録されている入力デバイスのうち、この変換対応情報において上位に位置する(最上部に登録されている)変換モジュールを選択する(s2168)。
【0210】
こうして、s2166,s2168にて変換モジュールを選択したら、s2160に移行し、変換モジュールが存在しなければ、そのまま次の処理(図28におけるs2108)へ移行する一方、変換モジュールが存在すれば、s2162に移行し、選択した変換モジュールをロードした後、次の処理(図28におけるs2108)へ移行する。
【0211】
こうして、s2152〜s2168を終えた後、図28に戻り、エラーフラグが立っているか否かをチェックする(s2108)。このエラーフラグは、上述したs2154で変換モジュールが選択できなかった場合に、s2156において立てられるため、ここでは、入力変換モジュールが選択できなかったか否かをチェックしていることになる。
【0212】
このs2108でエラーフラグが立っていると判定されたら(s2108:YES)、本変換モジュール初期化処理を終えて、図26におけるs2006へ移行する。
一方、エラーフラグが立っていないと判定されたら(s2108:NO)、入力用変換モジュールがロードされているか否かを判定する(s2109)。
【0213】
このs2109でロードされていると判定された場合(s2109:YES)、入力変換モジュールの処理タイプに[複合機→サービス]を代入してから(s2110)次の処理(s2112)へ移行する一方、s2109でロードされていないと判定された場合(s2109:NO)、処理タイプの代入を行うことなく次の処理(s2112)へ移行する。この「入力変換モジュールの処理タイプ」とは、ロードされた変換モジュールが情報の格納領域として確保しているものである(図27における「処理タイプ格納領域」参照)。
【0214】
次に、出力用変換モジュールをロードする(s2112)。ここでは、上述したs2152〜2168と同様の処理により適切な変換モジュールをロードする処理が行われるだけであるため、詳細な説明は省略する。具体的には、s2152〜2168に係る説明のうち、「入力デバイス」を「出力デバイス」と読み替え、「入力メディア」を「出力メディア」と読み替えた説明となる。
【0215】
こうして、s2112を終えた後、上述したs2108と同様、エラーフラグが立っているか否かをチェックする(s2114)。
このs2114でエラーフラグが立っていると判定されたら(s2114:YES)、本変換モジュール初期化処理を終えて、図26におけるs2006へ移行する。
【0216】
一方、エラーフラグが立っていないと判定されたら(s2114:NO)、出力用変換モジュールがロードされているか否かを判定する(s2115)。
このs2115でロードされていると判定された場合(s2115:YES)、出力変換モジュールの処理タイプに[サービス→複合機]を代入した後(s2116)、本変換モジュール初期化処理を終えて図26におけるs2006へ移行する一方、s2115でロードされていないと判定された場合(s2115:NO)、処理タイプの代入を行うことなく、本変換モジュール初期化処理を終えて図26におけるs2006へ移行する。この「出力変換モジュールの処理タイプ」とは、ロードされた変換モジュールが情報の格納領域として確保しているものである(図27における「処理タイプ格納領域」参照)。
(3−8)仕様情報変換処理
続いて、図26におけるs2006である仕様情報変換処理の処理手順を図32に基づいて説明する。
【0217】
この仕様情報変換処理が起動されると、まず、図28におけるs2102と同様、仕様情報を読み出す(s2172)。
次に、このs2172で読み出した仕様情報の先頭の情報を、以下の処理を行う処理対象とする(s2174)。
【0218】
次に、仕様情報における全ての情報についての処理が完了したか否かをチェックし(s2176)、完了していなければ(s2176:NO)、処理対象の情報が入力デバイスに関するものであるか否かをチェックする(s2178)。
【0219】
このs2178で入力デバイスに関するものであると判定された場合(s2178:YES)、図30におけるs2162により入力変換用モジュールがロードされていれば(s2180:YES)、その入力変換用モジュールのデバイス仕様情報格納領域へ処理対象の情報を追加し(s2182)、処理対象の情報を入力変換用モジュールの出力仕様情報に差し替えた後(s2184)、次の情報を処理対象として(s2186)、s2176へ戻る。この「デバイス仕様情報格納領域」とは、ロードされた変換モジュールが情報の格納領域として確保しているものである(図27における「デバイス仕様情報格納領域」参照)。また、「出力仕様情報」とは、ロードされた変換モジュールが情報の格納領域として確保しているものであって(図27における「出力仕様情報」参照)、あらかじめ定められた仕様情報がセットされている。
【0220】
一方、s2180で、図30におけるs2162により入力変換用モジュールがロードされていなければ(s2180:NO)、上記した情報の追加,差し替えを行うことなく、s2186へ移行し、次の情報を処理対象としてからs2176へ戻る。
【0221】
また、s2178で入力デバイスに関するものでないと判定された場合(s2178:NO)、出力デバイスに関するものであるか否かをチェックする(s2188)。
このs2188で出力デバイスに関するものであると判定された場合(s2188:YES)、図30におけるs2162により出力変換用モジュールがロードされていれば(s2190:YES)、出力用変換モジュールのデバイス仕様情報格納領域へ情報を追加し(s2192)、処理対象の情報を出力用変換モジュールの入力仕様情報に差し替えた後(s2194)、s2186へ移行し、次の情報を処理対象としてからs2176へ戻る。なお、この「入力仕様情報」とは、ロードされた変換モジュールが情報の格納領域として確保しているものであって(図27における「入力仕様情報」参照)、あらかじめ定められた仕様情報がセットされている。
【0222】
こうして、s2176〜s2194を仕様情報の全ての情報について行ったら、s2176で仕様情報における全ての情報についての処理が完了したと判定して(s2176:YES)、本仕様情報変換処理を終了する。このように、本仕様情報変換処理によって、s2172にて読み出した仕様情報が、必要に応じて変換モジュールの入力/出力仕様情報に変換されることとなる。また、必要に応じて図23におけるs932にて入力される仕様情報に変換されることとなる。
(3−9)サービスI/F情報変換処理
続いて、図26におけるs2014であるサービスI/F情報変換処理の処理手順を図33,図34に基づいて説明する。なお、以下の説明において示される変換モジュールの構成について説明すると、この変換モジュールは、図27に示すように、変換処理プログラム本体の他、あらかじめ定められたパラメータとして、入力仕様情報,出力仕様情報,入力デバイス用サービスI/F情報,出力デバイス用サービスI/F情報などの記憶領域を有しており、また、以下の処理において情報を格納するために確保された格納領域として、処理タイプ格納領域,デバイス仕様情報格納領域,サービス側サービスI/F情報格納領域,入力パラメータ格納領域,出力パラメータ格納領域などを有している。
【0223】
これらのうち、あらかじめ定められたパラメータを構成する入力仕様情報は、出力用変換モジュールとして利用される場合にUIジョブに渡されることとなる情報であり、変換処理プログラムによる変換処理における入力仕様情報となるものである。また、出力仕様情報は、入力用変換モジュールとして利用される場合にUIジョブに渡されることとなる情報であり、変換処理プログラムによる変換処理における出力仕様情報となるものである。また、入力デバイス用サービスI/F情報は、入力用変換モジュールとして利用される場合に複合機10に送信することとなる情報であり、上述したサービスI/F情報36と同じフォーマットで形成された入力デバイスの設定項目を定義する情報である。そして、出力デバイス用サービスI/F情報は、出力用変換モジュールとして利用される場合に複合機10に送信することとなる情報であり、上述したサービスI/F情報36と同じフォーマットで形成された出力デバイスの設定項目を定義する情報である。
【0224】
また、情報を格納するために確保された格納領域を構成する処理タイプ格納領域は、変換処理プログラムによる変換の方向を示す情報を格納する領域であり、ここに格納された情報により変換処理プログラムが入力フィルタとして動作する([複合機→サービス]の場合)のか、出力フィルタとして動作する([サービス→複合機]の場合)のかが切り替えられることとなる。また、デバイス仕様情報格納領域は、複合機10側から受け取った仕様情報のうち、入出力いずれかの関係するデバイスについての仕様を定義する情報を格納する領域である。また、サービス側サービスI/F情報格納領域は、サービス側から受け取ったサービスI/F情報36のうち、入出力いずれかの関係するパラメータについての設定項目を定義する情報を格納する領域である。また、入力パラメータ格納領域は、変換処理を行う際における入力側(仮想)デバイスのパラメータを格納する領域である。そして、出力パラメータ格納領域は、変換処理を行う際における出力側(仮想)デバイスのパラメータを格納する領域である。
【0225】
このサービスI/F情報変換処理が起動されると、まず、上述の情報変換処理に先立って発生した通信に係る情報であるパラメータ要求に付加されているサービスI/F情報36を読み出す(s2202)。
【0226】
次に、s2202にて読み出されたサービスI/F情報36における先頭の設定項目を処理対象とする(s2204)。
次に、サービスI/F情報36における全ての設定項目に対する以下の処理が完了したか否かをチェックし(s2206)、完了していなければ(s2206:NO)、処理対象の設定項目が入力デバイスに関する設定項目であるか否かをチェックする(s2208)。
【0227】
このs2208で入力デバイスに関する設定項目でないと判定された場合(s2208:NO)、そのまま次の処理(s2226)へ移行する一方、入力デバイスに関する設定項目であると判定された場合(s2208:YES)、図30におけるs2162により入力変換用モジュールがロードされていなければ(s2210:NO)、次の設定項目を処理対象とした後(s2212)、s2206へ戻る。
【0228】
一方、s2210で、図30におけるs2162により入力変換用モジュールがロードされていれば(s2210:YES)、入力用変換モジュールのサービス側サービスI/F情報格納領域に、処理対象の設定項目におけるパラメータを登録(保存)する(s2214)。この「サービス側サービスI/F情報格納領域」とは、ロードされた変換モジュールが情報の格納領域として確保しているものである(図27における「サービス側サービスI/F情報格納領域」参照)。
【0229】
次に、サービスI/F情報36に代用設定項目があるか否かをチェックする(s2216)。この代用設定項目とは、「value_Name」の値として、先頭に「_alt_」の文字が挿入された値となっている設定項目のことである。そして、このs2216では、この先頭に「_alt_」の文字が挿入された値の「value_Name」が含まれている場合に、代用設定項目があると判定する。なお、図35に、この「value_Name」の値について、それぞれ対応するデバイス,入出力(入力および出力のいずれに用いられるか),および,その値の定義を示す。
【0230】
このs2216で、代用設定項目があると判定された場合(s2216:YES)、その設定項目を入力デバイスに対応した代用設定項目に差し替えた後(s2218)、次の処理(s2226)へ移行する。このs2218では、処理対象の設定項目のパラメータを、入力デバイスに対応する代用設定項目における「_alt_」を削除したものに差し替える。例えば、図13における翻訳コピーサービスでは、入力デバイスとしてテキスト入力のためにキーボード(入力部12)を必要とするが(図29参照)、キーボードを有していない場合に、その代用設定項目として「_alt_scan_res」の「_alt_」を削除した「scan_res」に書き換える。
【0231】
また、s2216で、代用設定項目がないと判定された場合(s2216:NO)、入力変換モジュールに代用設定項目があるか否かをチェックする(s2220)。この「代用設定項目」とは、入力変換モジュールにおける入力デバイス用サービスI/F情報にセットされたパラメータである。
【0232】
このs2220で代用設定項目があると判定された場合(s2220:YES)、入力変換モジュールの入力デバイス用サービスI/F情報から設定項目を読み出して差し替えた後(s2222)、次の処理(s2226)へ移行する。この「入力デバイス用サービスI/F情報」とは、ロードされた変換モジュールが情報の格納領域として確保しているものであって(図27における「入力デバイス用サービスI/F情報」参照)、本実施形態においては、あらかじめ定められたサービスI/F情報がセットされているが、何もセットされていない設定とすることも可能である。
【0233】
また、s2222で、代用設定項目がないと判定された場合(s2222:NO)、デバイスに対応した固定設定項目を読み出して差し替えた後(s2224)、次の処理(s2226)へ移行する。この「固定設定項目」は、機能サーバ30の図示しないハードディスク内にあらかじめ記憶された入出力デバイスに対応づけられた設定項目の情報である。
【0234】
次に、処理対象の設定項目が処理対象の設定項目が出力デバイスに関する設定項目であるか否かをチェックする(s2226)。
このs2226で出力デバイスに関する設定項目でないと判定された場合(s2226:NO)、s2212へ移行し、次の設定項目を処理対象とした後、s2206へ戻る一方、出力デバイスに関する設定項目であると判定された場合(s2226:YES)、図30におけるs2162により出力変換用モジュールがロードされていなければ(s2228:NO)、s2212へ移行し、次の設定項目を処理対象とした後、s2206へ戻る。
【0235】
一方、s2228で、図30におけるs2162により出力変換用モジュールがロードされていれば(s2228:YES)、出力用変換モジュールのサービス側サービスI/F情報格納領域に、処理対象の設定項目におけるパラメータを格納する(s2230)。
【0236】
次に、上述したs2216と同様に、サービスI/F情報36に代用設定項目があるか否かをチェックする(s2232)。
このs2232で、代用設定項目があると判定された場合(s2232:YES)、その設定項目を出力デバイスに対応した代用設定項目に差し替えた後(s2234)、s2212へ移行し、次の設定項目を処理対象とした後、s2206へ戻る。このs2234では、処理対象の設定項目のパラメータを、出力デバイスに対応する代用設定項目における「_alt_」を削除したものに差し替える。
【0237】
また、上述したs2232で、代用設定項目がないと判定された場合(s2232:NO)、出力変換モジュールに代用設定項目があるか否かをチェックする(s2236)。
このs2236で出力変換モジュールがあると判定された場合(s2236:YES)、出力変換モジュールの出力デバイス用サービスI/F情報から設定項目を読み出して差し替えた後(s2238)、s2212へ移行し、次の設定項目を処理対象とした後、s2206へ戻る。この「出力デバイス用サービスI/F情報」とは、ロードされた変換モジュールが情報の格納領域として確保しているものであって(図27における「出力デバイス用サービスI/F情報」参照)、本実施形態においては、あらかじめ定められたサービスI/F情報がセットされているが、何もセットされていない設定とすることも可能である。
【0238】
また、s2236で、代用設定項目がないと判定された場合(s2236:NO)、上述したs2224と同様、デバイスに対応した固定設定項目を読み出して差し替えた後(s2240)、s2212へ移行し、次の設定項目を処理対象とした後、s2206へ戻る。
【0239】
この後、s2206〜s2240をサービスI/F情報36の全ての設定項目について行ったら、s2206で全ての設定項目についての処理が完了したと判定して(s2206:YES)、本サービスI/F情報変換処理を終了する。このように、本サービスI/F情報変換処理によって、s2202にて読み出したサービスI/F情報36が、必要に応じて変換モジュールのサービスI/F情報36に変換されることとなる。また、必要に応じて図12のs318にて複合機10が受け取るサービスI/F情報36に変換されることとなる。
(3−10)サービスパラメータ変換処理
続いて、図26におけるs2018であるサービスパラメータ処理の処理手順を図36,図37に基づいて説明する。
【0240】
このサービスパラメータ変換処理が開始されると、まず、上述の情報変換処理に先立って発生した通信に係る情報であるパラメータ(サービスパラメータ)を読み出す(s2302)。
【0241】
次に、s2302にて読み出したパラメータにおける先頭の設定項目を、以下の処理を行う処理対象とする(s2304)。
次に、サービスパラメータにおける全ての設定項目に対する以下の処理が完了したか否かをチェックし(s2306)、完了していなければ(s2306:NO)、処理対象の設定項目が入力デバイスに関する設定項目であるか否かをチェックする(s2308)。
【0242】
このs2308で、入力デバイスに関する設定項目であれば(s2308:YES)、図30におけるs2162により入力変換用モジュールがロードされていなければ(s2310:NO)、次の設定項目を処理対象とした後(s2312)、s2306へ戻る。
【0243】
また、s2310で、図30におけるs2162により入力変換用モジュールがロードされていれば(s2210:YES)、入力用変換モジュールの入力パラメータ格納領域に、処理対象の設定項目におけるパラメータを登録(保存)する(s2314)。この「入力パラメータ格納領域」とは、ロードされた変換モジュールが情報の格納領域として確保しているものである(図27における「入力パラメータ格納領域」参照)。
【0244】
次に、処理対象の設定項目におけるパラメータが差し替え済みであるか否かをチェックする(s2316)。
このs2316で、差し替え済みであると判定された場合(s2316:YES)、s2312へ移行し、次の設定項目を処理対象とした後、s2306へ戻る。
【0245】
一方、s2316で、差し替え済みではないと判定された場合(s2316:NO)、出力パラメータ格納領域に、サービスI/F情報格納領域に記憶した設定項目に値を設定した情報を生成して、処理対象の設定項目におけるパラメータを、この情報に差し替える(s2318)。ここでは、入力用変換モジュール内の変換処理プログラムにあらかじめ組み込まれた値をセットすることにより情報を生成し、処理対象の設定項目におけるパラメータを、こうして生成した情報に差し替える。
【0246】
こうして、s2318を終えた後、または、s2308で入力デバイスに関する設定項目でない場合(s2308:NO)、処理対象の設定項目が出力デバイスに関する設定項目であるか否かをチェックする(s2320)。
【0247】
このs2320で、出力デバイスに関する設定項目でないと判定された場合(s2320:NO)、s2312へ移行し、次の設定項目を処理対象とした後、s2406へ戻る。
【0248】
また、s2320で、出力デバイスに関する設定項目であると判定された場合(s2320:YES)、図30におけるs2162により出力変換用モジュールがロードされていなければ(s2332:NO)、s2312へ移行し、次の設定項目を処理対象とした後、s2306へ戻る。
【0249】
一方、s2320で、図30におけるs2162により出力変換用モジュールがロードされていれば(s2322:YES)、出力用変換モジュールの出力パラメータ格納領域に、処理対象の設定項目におけるパラメータを格納する(s2324)。この「出力パラメータ格納領域」とは、ロードされた変換モジュールが情報の格納領域として確保しているものである(図27における「出力パラメータ格納領域」参照)。
【0250】
次に、処理対象の設定項目におけるパラメータが差し替え済みであるか否かをチェックする(s2326)。
このs2326で、差し替え済みであると判定された場合(s2326:YES)、s2312へ移行し、次の設定項目を処理対象とした後、s2306へ戻る。
【0251】
一方、s2326で、差し替え済みではないと判定された場合(s2326:NO)、出力パラメータ格納領域に、サービスI/F情報格納領域に記憶した設定項目に値を設定した情報を生成して、処理対象の設定項目におけるパラメータを、この情報に差し替える(s2328)。ここでは、出力用変換モジュール内の変換処理プログラム内にあらかじめ組み込まれた値をセットすることにより情報を生成し、処理対象の設定項目におけるパラメータを、こうして生成した情報に差し替える。
【0252】
このs2328を終えた後、s2312へ移行し、次の設定項目を処理対象とした後、s2306へ戻る。
この後、s2306〜s2328をサービスパラメータの全ての設定項目について行ったら、s2306で全ての設定項目についての処理が完了したと判定して(s2306:YES)、本サービスパラメータ変換処理を終了する。このように、本サービスパラメータ変換処理によって、s2302にて読み出したサービスパラメータが、必要に応じて変換モジュールの入出力パラメータ,または,必要に応じて図23のs908に入力されるパラメータに変換されることとなる。
(3−11)複合機パラメータ変換処理
続いて、図26におけるs2022である複合機パラメータ変換処理の処理手順を図38,図39に基づいて説明する。
【0253】
この複合機パラメータ変換処理が起動されると、まず、上述の情報変換処理に先立って発生した通信に係る情報である複合機パラメータ(パラメータ設定)を読み出す(s2402)。
【0254】
次に、s2402にて読み出したパラメータにおける先頭の設定項目を、以下の処理を行う処理対象とする(s2404)。
次に、複合機パラメータにおける全ての設定項目に対する以下の処理が完了したか否かをチェックし(s2406)、完了していなければ(s2406:NO)、処理対象の設定項目が入力デバイスに関する設定項目であるか否かをチェックする(s2408)。
【0255】
このs2408で、入力デバイスに関する設定項目であれば(s2408:YES)、図30におけるs2162により入力変換用モジュールがロードされていなければ(s2410:NO)、次の設定項目を処理対象とした後(s2412)、s2406へ戻る。
【0256】
また、s2410で、図30におけるs2162により入力変換用モジュールがロードされていれば(s2410:YES)、入力用変換モジュールの出力パラメータ格納領域に、処理対象の設定項目におけるパラメータを登録(保存)する(s2414)。
【0257】
次に、処理対象の設定項目におけるパラメータが差し替え済みであるか否かをチェックする(s2416)。
このs2416で、差し替え済みであると判定された場合(s2416:YES)、s2412へ移行し、次の設定項目を処理対象とした後、s2406へ戻る。
【0258】
一方、s2416で、差し替え済みではないと判定された場合(s2416:NO)、処理対象の設定項目におけるパラメータを、入力用変換モジュールの入力パラメータ格納領域にセットされたパラメータに差し替える(s2418)。
【0259】
こうして、s2418を終えた後、または、s2408で入力デバイスに関する設定項目でない場合(s2408:NO)、処理対象の設定項目が出力デバイスに関する設定項目であるか否かをチェックする(s2420)。
【0260】
このs2420で、出力デバイスに関する設定項目でないと判定された場合(s2420:NO)、s2412へ移行し、次の設定項目を処理対象とした後、s2406へ戻る。
【0261】
また、s2420で、出力デバイスに関する設定項目であると判定された場合(s2420:YES)、図30におけるs2162により出力変換用モジュールがロードされていなければ(s2422:NO)、s2412へ移行し、次の設定項目を処理対象とした後、s2406へ戻る。
【0262】
一方、s2420で、図30におけるs2162により出力変換用モジュールがロードされていれば(s2422:YES)、出力用変換モジュールの入力パラメータ格納領域に、処理対象の設定項目におけるパラメータを格納する(s2424)。
【0263】
次に、処理対象の設定項目におけるパラメータが差し替え済みであるか否かをチェックする(s2426)。
このs2426で、差し替え済みであると判定された場合(s2426:YES)、s2412へ移行し、次の設定項目を処理対象とした後、s2406へ戻る。
【0264】
一方、s2426で、差し替え済みではないと判定された場合(s2426:NO)、出力用変換モジュールの出力パラメータ格納領域に、処理対象の設定項目におけるパラメータを格納する(s2428)。
【0265】
このs2428を終えた後、s2412へ移行し、次の設定項目を処理対象とした後、s2306へ戻る。
この後、s2406〜s2428をサービスパラメータの全ての設定項目について行ったら、s2406で全ての設定項目についての処理が完了したと判定して(s2406:YES)、本サービスパラメータ変換処理を終了する。このように、本サービスパラメータ変換処理によって、s2402にて読み出した複合機パラメータが、必要に応じて変換モジュールの入出力パラメータに変換されることとなる。また、必要に応じて図17のs410,図18のs510の処理にて複合機10が受け取る複合機パラメータに変換されることとなる。
(3−12)入力/出力メディア変換処理
続いて、図26におけるs2026,s2030である入力メディア変換処理,出力メディア変換処理の処理手順を図40(a),(b)に基づいて説明する。
【0266】
この入力/出力メディア変換処理が起動されると、まず、入力/出力用変換モジュールがロードされているか否かがチェックされる(s2502,s2512)。ここでは、入力メディア変換処理(図40(a))の場合であれば、図30におけるs2162にて変換モジュールがロードされ、かつ、こうしてロードされた変換モジュールが入力用変換モジュールであることをチェックする。また、出力メディア変換処理(図40(b))の場合であれば、図30におけるs2162にて変換モジュールがロードされ、かつ、こうしてロードされた変換モジュールが出力用変換モジュールであることをチェックする。
【0267】
このs2502,s2512にて入力/出力用変換モジュールがロードされていると判定されたら(s2502:YES,s2512:YES)、その変換モジュールにより、上述の情報変換処理に先立って発生した通信に係る情報である入力/出力データのメディア変換処理を行う(s2504,s2514)。
【0268】
ここでは、入力メディア変換処理(図40(a))の場合であれば、入力データ(図17のs428の処理にて複合機10より送信されたデータ)を、入力用変換モジュールの入力パラメータ格納領域のパラメータで規定される状態としたものとして入力し、メディア変換処理を施してメディア変換し、その変換後のデータを、入力用変換モジュールの出力パラメータ格納領域のパラメータで規定される状態としたデータを得る。一方、出力メディア変換処理(図40(b))の場合であれば、出力データ(図25のs112の処理にて印刷ジョブから出力されたデータ)を、出力用変換モジュールの入力パラメータ格納領域のパラメータで規定される状態としたものとして入力し、メディア変換処理を施してメディア変換し、その変換後のデータを、出力用変換モジュールの出力パラメータ格納領域のパラメータで規定される状態としたものを得る。また、上述したメディア変換処理としては、例えば、テキストで構成される画像を示す画像データにOCR処理を施すことによりテキストデータ化したり、テキストデータを周知のテキスト読み上げプログラムにて音声データ化したり、または、これらの逆のメディア変換などを行う。
(3−13)デバイス優先度設定処理
続いて、操作部12によりあらかじめ定められた操作が行われた際に開始されるデバイス優先度設定処理の処理手順を図41に基づいて説明する。
【0269】
このデバイス優先度設定処理が起動すると、まず、複合機10に記憶している仕様情報(図15)に基づいて、入出力デバイスの優先度情報をディスプレイ52に表示させる(s2502)。ここでは、図42(a),(b)に示すように、入出力デバイスの優先度情報を示す優先度選択画面を表示させる。この優先度選択画面は、操作部12への操作により切替可能な入力デバイスの選択用画面(図42(a)参照),出力デバイスの選択画面(図42(b)参照)からなり、それぞれデバイスの優先順位を入力するための入力欄がデバイス毎に設けられたものである。この優先度選択画面が表示された後、ユーザは、操作部12により、入力デバイスの選択画面に切り替える入力切替操作(左の方向キー48の押下),出力デバイスの選択画面に切り替える出力切替操作(右の方向キー49の押下),いずれかの入出力デバイスを指定する指定操作(上下の方向キー46,47の押下),指定した入出力デバイスの優先度を変更する変更操作,変更した優先度を確定する確定操作(OKキー50の押下),優先度の変更をキャンセルするキャンセル操作(キャンセルキー51の押下)などを行うことができる。
【0270】
こうして、優先度選択画面が表示された後、ユーザによる操作(キー入力)が発生したら(s2504)、その操作が入力切替操作であれば(s2506:YES)、仕様情報に基づき、優先度選択画面を入力デバイス用の選択画面に切り替えた後(s2508)、s2504へ戻る。
【0271】
また、ユーザによる操作が出力切替操作であれば(s2506:NO,s2510:YES)、仕様情報に基づき、優先度選択画面を出力デバイス用の選択画面に切り替えた後(s2512)、s2504へ戻る。
【0272】
また、ユーザによる操作が指定操作であれば(s2510:NO,s2514:YES)、入力カーソルを移動させた状態とすることで指定操作により指定された内容を優先度選択画面に反映させた後(s2516)、s2504へ戻る。このs2516では、優先度選択画面における入力欄に表示されているカーソル(図42における破線の四角参照)を、押下された上下の方向キー46,47の方向に位置する別の入力欄へ移動させる。
【0273】
また、ユーザによる操作が変更操作であれば(s2514:NO,s2518:YES)、カーソル位置に値を入力した状態とすることで変更操作により変更された内容を優先度選択画面に反映させた後(s2520)、s2504へ戻る。このs2520では、変更操作により変更された優先度をカーソルが表示されている入力欄に入力された状態とする。
【0274】
また、ユーザによる操作が確定操作であれば(s2518:NO,s2522:YES)、この時点で各入力欄に入力されている優先度の値に矛盾がなければ(s2524:YES)、この入力欄に入力された優先度の値を、その入力欄に対応する入出力デバイスの優先度として仕様情報に記憶(保存)した後(s2530)、本デバイス優先度設定処理を終了する一方、各入力欄に入力されている優先度の値に矛盾があれば(s2524:NO)、図42(c)に示すように、エラー表示を所定時間(本実施形態においては2秒)間行った後(s2526)、優先度選択画面を、本デバイス優先度設定処理が行われる直前の状態に戻した後(s2528)、s2504へ戻る。なお、上述したs2524では、別々の入力欄に優先度として同一の値が入力された状態になっているか否かがチェックされ、同一の値が入力された状態になっていれば、優先度の値に矛盾があると判定する。
【0275】
また、ユーザによる操作がキャンセル操作であれば(s2522:NO,s2532:YES)、本デバイス優先度設定処理を終了する。
そして、ユーザによる操作が上述したいずれの操作でもなければ(s2532:NO)、拒否音(ブザー音など)を鳴動させた後(s2534)、s2504へ戻る。
【0276】
[効果]
このように構成されたサービス提供システムにおいて、機能サーバ30は、図40の入力/出力メディア変換処理を実行することで、複合機10側にサービスを提供できるように構成されている。この入力/出力メディア変換処理は、図26の情報変換処理を経て、複合機10の有する入出力デバイス,つまりこれら入出力デバイスで実現される機能に対応するメディアで処理結果(入力/出力データ)が得られる変換モジュールにより行われる。そのため、これにより得られた処理結果であれば、複合機10側でこの処理結果に基づいて複合機10の有する機能を実現することができる。よって、複合機10側においては、複合機10自身が有していない機能が必要なサービスであったとしても、そのサービスの提供を、複合機10自身が対応するメディア(実現可能な機能で対応可能なメディア)の処理結果により間接的に受けることができる。
【0277】
また、上記実施形態においては、複合機10の有する印刷機能により印刷する画像を示す画像データ,および,スキャナ機能により画像を読み取って生成した画像データのうち、少なくとも一方の機能を、機能サーバ30によるサービスの提供を受けて実現することができる。
【0278】
また、機能サーバ30は、図30におけるs2142〜s2154にて、複合機10から取得した仕様情報,および,複合機10側で記憶しているサービス入出力メディア情報に基づいて判定を行うことで、複合機10側で必要な機能を有しているか否か(同図s2154にて「該当する」場合か否か)を判定することができる。
【0279】
そして、このように仕様情報は、複合機10から取得されるため、複合機10の入出力デバイスに関するパラメータを機能サーバ30側で管理する必要がなく、このようなパラメータの機能サーバ30側に対する登録作業などの負担が生じることはない。このような作業負担は、本サービス提供システムを構成する複合機10の数を多くするほど大きくなってしまうため、本サービス提供システムのような構成とすることにより、大幅に作業負担を軽減することができる。
【0280】
さらに、複合機10の入出力デバイスに関するパラメータを機能サーバ30側で管理する構成を想定すると、ユーザによるパラメータの登録作業が必要になり、このときのユーザによる入力ミスなどにより誤ったパラメータが登録されてしまい、システム全体が正常に動作しなくなってしまう虞があるが、本サービス提供システムのような構成であれば、複合機10から複合機10自身のパラメータが通知され、これに基づいて以降の処理を行っているため、誤ったパラメータによりシステム全体が正常に動作しなくなる、といった虞がない。
【0281】
また、機能サーバ30は、図30におけるs2142〜s2154にて、複合機10から取得した仕様情報,および,複合機10側で記憶しているサービス入出力メディア情報に基づいて判定を行うことで、複合機10側で必要な機能を有しているか否か(同図s2154にて「該当する」場合か否か)を判定し、以降の処理で、その機能に対応する変換モジュールを読み出すように構成されている。そして、このとき読み出すべき変換モジュールが複数あった場合には、読み出すべき変換モジュールを、同図s2164により、仕様情報に規定された優先順位に基づいて絞り込むことができる。
【0282】
また、このときの優先順位については、機能サーバ30側で、図41に示したデバイス優先度設定処理を実行することにより、ユーザに指定させることができ、以降、機能サーバ30は、こうして指定された優先順位に基づいて変換モジュールを選択するようにできる。
【0283】
また、図40におけるs2504,s2514にてメディア変換処理を行う際に用いられる変換モジュールは、複合機10から機能サーバ30へ送信されたデータに対するメディア変換処理だけでなく、機能サーバ30から複合機10へ送信されるデータに対するメディア変換処理をも行うことができるため、両者間の一方向にデータが送信されるサービスだけでなく、双方向でデータがやりとりされるサービスについても、複合機10側で提供を受けることができる。また、同図s2502,s2512にて入出力用変換モジュールがロードされている場合に、データ変換が行われるため、一方向に対するデータのみ変換を要する場合にも適用できる。
【0284】
また、複合機10は、図12におけるs314,s316にて機能サーバ30からパラメータ要求を受けたタイミングで、ユーザにパラメータを指定させることができ、そのパラメータを機能サーバ30へ送信することで、以降のサービスの提供を受けることができるようになる。
【0285】
また、このとき、パラメータ要求と共に機能サーバ30から送信されるサービスI/F情報36は、図33,図34のサービスI/F情報変換処理により機能サーバ30が複合機10の有する入出力デバイスに対応する内容に変換されたものであるため、はじめから複合機10の有する入出力デバイスで利用可能なサービスについてのパラメータを指定させることができる。
【0286】
また、図33のs2216〜s2224や、図34のs2232〜s2240のように、例えば、スキャナの解像度などサービスで入出力に必要な能力が制限される場合など、サービスI/F情報36に代用設定項目を設けることで、あらかじめ複合機10側で選択できるパラメータを制限できる。また、サービスI/F情報36に代用設定項目がなくとも、入出力変換モジュールに代用設定項目があれば、その設定項目により複合機10側で選択できるパラメータを決定することが可能となる。
【0287】
[変形例]
以上、本発明の実施の形態について説明したが、本発明は、上記実施形態に何ら限定されることはなく、本発明の技術的範囲に属する限り種々の形態をとり得ることはいうまでもない。
【0288】
例えば、上記実施形態においては、本発明における画像処理装置として、複合機10を適用した構成を例示したが、機能サーバ30により提供されるサービスを受けて機能を実現できる画像処理装置であれば、複合機以外の装置として、例えば、プリンタ装置,スキャナ装置,ファクシミリ装置などに適用することも可能である。
【0289】
また、上記実施形態において、機能サーバ30が、パラメータ要求指令をサービスI/F情報36と共に送信する構成を例示した。しかし、このように、パラメータ要求指令およびサービスI/F情報36を送信する処理については、機能サーバ30と別体の装置(単体の装置または連携して動作する複数の装置)により実現するように構成してもよい。
【0290】
また、上記実施形態において、複合機10は、ディレクトリサーバ20のサービス定義情報記憶部24に記憶されている複数のサービス定義情報25のうち、まずトップのサービス定義情報25を受信してカテゴリを選択し、次に、その選択したカテゴリに対応するサービス定義情報25を受信してサービスを選択するようにしているが、これに限ったものではない。すなわち、ディレクトリサーバ20のサービス定義情報記憶部24に記憶されている複数の(例えばすべての)サービス定義情報25を一度に受信するようにしてもよい。
【0291】
また、サービスI/F情報36が設定を要求するパラメータとしては、上記実施形態で例示したもの(解像度等)に限らず、サービスの内容に応じて様々なものが考えられる。例えば、モノクロ/カラーの選択、トナーの濃さ(印刷濃度)、音声のボリューム(音量)等が挙げられる。
【0292】
また、上記実施形態のサービス提供システムでは、複合機10、ディレクトリサーバ20及び機能サーバ30をそれぞれ1台ずつ備えた構成を例示しているが、このような構成はあくまでも説明を容易にするための構成例にすぎず、本発明のサービス提供システムは、これ以外にも様々な構成をとることが可能である。すなわち、本発明のサービス提供システムにおいて、複合機10は複数設けられていてもよい。具体的には、複数の複合機10が、共通のディレクトリサーバ20からのサービス定義情報25を受信し、共通の機能サーバ30にサービスを要求するようにすることができる。
【0293】
また、本発明のサービス提供システムにおいて、ディレクトリサーバ20は複数設けられていてもよい。具体的には、例えば、トップのサービス定義情報25を送信するディレクトリサーバ20と、各カテゴリのサービス定義情報25を送信するディレクトリサーバ20とを、別々のサーバで構成することも可能である。また、ディレクトリサーバ20を設けずに、直接機能サーバ30にサービスからサービスの提供を受ける構成であってもよい。
【0294】
また、本発明の画像システムにおいて、機能サーバ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が送信するようにしてもよい。また、変換処理は、機能サーバ30と別体の装置により実行されるように構成してもよく、また、ディレクトリサーバ20により実行されるように構成してもよい。
【0295】
また、上記実施形態においては、図30におけるs2142〜s2154にて変換モジュールを読み出すにあたり、読み出すべき変換モジュールが複数あった場合に、仕様情報に規定された優先順位に基づいて絞り込むように構成されたものを例示した。しかし、この変換モジュールを絞り込むための条件として、他の条件を採用してもよい。例えば、提供するサービスの種類との関係で最も適した変換モジュールをデータテーブルや数式に基づいて決定して選択する構成などが考えられる。
【0296】
また、上記実施形態においては、図41のデバイス優先度設定処理が複合機10側で実行されるように構成されたものを例示した。しかし、この処理については、機能サーバ30側で行われる処理とすることもでき、これによれば、機能サーバ30側から優先度を設定することができるようになる。なお、この場合、同図s2502では複合機10から送信された仕様情報に基づいて優先度選択画面を表示すると共に、同図s2530では、この時点において指定されている優先順位を機能サーバ30側に保存するように構成するとよい。そして、こうして通知された優先順位を機能サーバ30側で記憶(管理)するように構成するとよい。
【0297】
また、ディレクトリサーバ20またはディレクトリサーバ20の一部構成要素,および,機能サーバ30または機能サーバ30の一部構成要素が、それ以外の構成要素からなる装置と連携して動作する単一の装置として構成されていてもよい。
【0298】
また、ディレクトリサーバ20(またはディレクトリサーバ20の一部構成要素)や機能サーバ30(または機能サーバ30の一部構成要素)が、本サービス提供システムを構成する複合機10に備えられた構成としてもよい。
【0299】
[本発明との対応関係]
以上説明した実施形態において、複合機10が本発明におけるデバイスであり、機能サーバ30が本発明におけるサービス提供手段および指定要求手段であり、仕様情報が本発明における保有機能情報であり、優先順位が本発明における決定条件である。
【0300】
また、図22におけるs830,図24における1018〜s1022,図25におけるs1118〜s1122は本発明における提供実行手段であり、図30におけるs2142〜s2154は本発明における機能判定手段であり、同図s2164〜s2168は本発明における機能決定手段であり、図40におけるs2504,s2514は、本発明における形式変換処理であり、図41におけるs2502〜s2520は本発明における条件指定手段である。
【0301】
また、図12におけるs318は本発明におけるサービス指定手段であり、図17におけるs408,図18におけるs508は本発明におけるサービス要求手段であり、同図s428,s528は本発明におけるサービス実現手段であり、図12におけるs354,s312は本発明における情報通知手段であり、図41のデバイス優先度設定処理を複合機10側で実行する処理とした場合におけるs2530は本発明における条件通知手段である。
そして、図23におけるs904は本発明における指定要求手段である。
【図面の簡単な説明】
【0302】
【図1】サービス提供システムの構成を示すブロック図
【図2】操作部の構成を示す図
【図3】サービス定義情報における各タグの定義付けを示す図
【図4】サービスI/F情報における各タグの定義付けを示す図
【図5】複合機処理複合機による複合機処理を示すフローチャート
【図6】方法選択画面を示す図
【図7】サービス定義情報のデータ構造を示す図(1)
【図8】サービス選択用画面
【図9】サービス定義情報のデータ構造を示す図(2)
【図10】複合機によるセッション処理を示すフローチャート(1/2)
【図11】複合機によるセッション処理を示すフローチャート(2/2)
【図12】複合機によるUIジョブを示すフローチャート(1/2)
【図13】サービスI/F情報
【図14】パラメータ入力画面を示す図
【図15】仕様情報のデータ構造を示す図
【図16】仕様情報におけるタグの定義付けを示す図
【図17】複合機による入力ジョブを示すフローチャート
【図18】複合機による出力ジョブを示すフローチャート
【図19】機能サーバによる機能サーバ処理を示すフローチャート(1/2)
【図20】機能サーバによる機能サーバ処理を示すフローチャート(2/2)
【図21】機能サーバによるセッション処理を示すフローチャート(1/2)
【図22】機能サーバによるセッション処理を示すフローチャート(2/2)
【図23】機能サーバによるUIジョブを示すフローチャート
【図24】機能サーバによるスキャンジョブを示すフローチャート
【図25】機能サーバによる印刷ジョブを示すフローチャート
【図26】機能サーバによる情報変換処理を示すフローチャート
【図27】変換モジュールの構成を示す図
【図28】機能サーバによる変換モジュール初期化処理を示すフローチャート
【図29】サービス入出力メディア情報を示す図
【図30】機能サーバによる変換モジュールの選択処理を示すフローチャート
【図31】変換対応情報を示す図
【図32】機能サーバによる仕様情報変換処理を示すフローチャート
【図33】機能サーバによるサービスI/F情報変換処理を示すフローチャート(1/2)
【図34】機能サーバによるサービスI/F情報変換処理を示すフローチャート(2/2)
【図35】サービスI/F情報における「Value_Name」の値の定義付けを示す図
【図36】機能サーバによるサービスパラメータ変換処理を示すフローチャート(1/2)
【図37】機能サーバによるサービスパラメータ変換処理を示すフローチャート(2/2)
【図38】機能サーバによる複合機パラメータ変換処理を示すフローチャート(1/2)
【図39】機能サーバによる複合機パラメータ変換処理を示すフローチャート(2/2)
【図40】機能サーバによる入力/出力メディア変換処理を示すフローチャート
【図41】機能サーバによるデバイス優先度設定処理を示すフローチャート
【図42】優先度選択画面を示す図
【符号の説明】
【0303】
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…方向キー、47…方向キー,48…方向キー、49…方向キー、50…OKキー、51…キャンセルキー、52…ディスプレイ。
【技術分野】
【0001】
本発明は、サービスを提供するサービス提供システム,このシステムを構成するデバイスおよびサーバに関するものである。
【背景技術】
【0002】
従来、デバイス(デジタル複写機)が備えていない機能を、ネットワークを介して接続されたホストコンピュータで実現するように構成したシステムが提案されている(特許文献1参照。)。
【0003】
このシステムでは、デバイスからホストコンピュータへ、制御用のコマンドコードや画像の濃度データなどのビットデータを送信し、ホストコンピュータが、受信した制御用コマンドコードの内容を解析して、画像データに対して指定されている画像編集機能により画像処理を行う。こうしてホストコンピュータにより処理された画像データはデバイスに返送され、このデバイス側にて印刷される。
【特許文献1】特開平9−238215号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
このように、デバイス側では、ホストコンピュータによる画像データに画像処理を施す、といったサービスの提供を受けて画像データを印刷することができるが、これは、デバイスが画像データを印刷するための印刷部を備えていることが前提であり、デバイスがサービスの提供を受けるために必要な機能,この場合であれば印刷機能を有していなければ、当然、このようにサービスの提供を受けることはできない。
【0005】
そして、上述したような画像データの印刷は、印刷機能を有するデバイスであれば可能であるため、このような画像の印刷を伴うサービスの提供を受けることに問題はないが、今後、ユーザが、このデバイスで他の機能を伴うサービスの提供を受けることを希望するようになった場合であっても、デバイスがそのサービスに対応する機能を有していない限り、そのサービスの提供を受けることができない。
【0006】
本発明は、このような課題を解決するためになされたものであり、その目的は、デバイス側でサービスに対応する機能を有していない場合であっても、このデバイスによりサービスの提供を受けられるようにするための技術を提供することである。
【課題を解決するための手段】
【0007】
上記課題を解決するため請求項1に記載のサービス提供システムは、ネットワークを介したサービスを提供可能なサービス提供手段と、該サービス提供手段によるサービスの提供を受けることのできるデバイスと、を備えたサービス提供システムである。このシステムは、前記デバイスにおいて、前記サービス提供手段に対してサービスの提供を要求するサービス要求手段と、該サービス要求手段による要求を受けた前記サービス提供手段によりサービスの提供を受けて当該デバイスの有する機能を実現するサービス実現手段と、が備えられている。また、前記サービス提供手段において、前記デバイスの備えるサービス要求手段による要求を受けた場合に、該デバイスに対してサービスを提供する提供実行手段と、前記デバイスの有する機能を示す保有機能情報に基づいて、前記提供実行手段によるサービスの提供を受けるにあたり、前記デバイス側で必要な機能を有しているか否かを判定する機能判定手段と、を備え、前記提供実行手段は、前記機能判定手段により必要な機能を有していないと判定された場合において、前記デバイスの備える前記サービス要求手段による要求を受けた場合、前記デバイスの有する機能に対応するメディアでサービスの提供を可能とする処理である形式変換処理を実行してなるサービスを提供する、ように構成されている。
【0008】
このように構成されたサービス提供システムにおいて、サービス提供手段は、形式変換処理を実行することでデバイス側にサービスを提供するように構成されている。この形式変換処理は、デバイスの有する機能に対応するメディアでサービスの提供を可能とする処理であるため、これにより得られた処理結果であれば、デバイス側でこの処理結果に基づいてデバイスの有する機能でサービスの提供を受けることができる。
【0009】
この構成における「サービス提供手段」は、例えば、ネットワーク上のサーバとして構成することができ、この場合、単一のサーバにより構成されていてもよく、複数のサーバにより構成されていてもよい。
【0010】
また、上述した「デバイスの有する機能に対応するメディア」とは、デバイスの有する機能を実現するためのデータを示すものであって、例えば、画像を印刷する機能または画像を読み取る機能を有している場合であれば、これら機能を実現するため『画像データ』のことであり、音声を入出力する機能を有している場合であれば、これら機能を実現するための『音声データ』のことである。そして、サービス提供手段の備える提供実行手段により実行される「形式変換処理」とは、上述のようなデータを提供実行手段の処理結果として得るような処理であって、これにより、提供実行手段の処理結果として得られたメディアのデータに基づいてデバイスの有する機能を実現することができる。
【0011】
また、上述したデバイスは、サービス提供手段によるサービスの提供を受けることのできるものであって、例えば、請求項2に記載のように、画像を読み取りその画像を表す画像データを生成する機能および画像データの表す画像を印刷する機能のうち少なくとも一方の機能を有しているものであって、この場合、サービス提供手段においては、前記デバイスの有する機能により生成された画像データおよび印刷される画像を示す画像データのうち少なくともいずれか一方に関するサービスを提供可能に構成されていればよい。
【0012】
このように構成すれば、デバイスは、画像を読み取りその画像を表す画像データを生成する機能および画像データの表す画像を印刷する機能のうち少なくとも一方の機能を、サービス提供手段によるサービスの提供を受けて実現することができる。
【0013】
また、上述したサービス提供手段において、機能判定手段は、デバイスの有する機能を示す保有機能情報に基づいて、デバイス側で必要な機能を有しているか否かを判定する手段であって、このときの判定方法については特に限定されない。例えば、請求項3に記載のように、前記保有機能情報で示される機能が、前記提供実行手段によるサービスの提供を受けるのに必要な機能を示す必要機能情報で示される機能に含まれている場合に、前記デバイス側で必要な機能を有していると判定する、といった判定方法を採用すればよい。
【0014】
このように構成すれば、サービス提供手段側で必要機能情報を保持しておき、この必要機能情報に基づいて判定を行うことで、デバイス側で必要な機能を有しているか否かを判定することができる。
【0015】
また、サービス提供手段側において機能判定手段による判定を行う際に用いられる保有機能情報については、あらかじめユーザがサービス提供手段側に登録(記憶)しておくように構成すればよいが、複数のデバイスが存在するネットワークでサービス提供手段を運営する場面において、このような登録作業は、デバイスの数に応じて負担の大きなものとなってしまうため、好ましいことではない。
【0016】
そこで、このような保有機能情報について、デバイス自身から通知させるように構成するとよく、このためには、例えば、請求項4に記載のように、前記デバイスにおいて、前記サービス提供手段に前記保有機能情報を通知する情報通知手段が備えられており、前記サービス提供手段において、前記機能判定手段は、前記デバイスの備える情報通知手段により通知された保有機能情報に基づいて、前記デバイス側で必要な機能を有しているか否かを判定する、といった構成が考えられる。
【0017】
このように構成すれば、サービス提供手段側では、デバイス自身からこのデバイスの保有機能情報を取得することができるため、サービス提供手段側でユーザが保有機能情報を登録する作業を行う必要がない。
【0018】
さらに、ユーザによる登録作業では入力ミスなどで誤った保有登録情報が登録されてしまう虞があるが、上記構成であれば、デバイスからデバイス自身の保有機能情報が通知されるため、これをそのまま登録(記憶)するように構成しておけば、誤った保有機能情報が登録されてしまう虞もない。
【0019】
また、請求項5に記載のサービス提供システムは、前記サービス提供手段において、前記機能判定手段により前記デバイス側で必要な機能を有していないと判定された場合に、前記デバイスの有する機能から、いずれかの機能を所定の決定条件に基づいて決定する機能決定手段が備えられており、前記提供実行手段は、複数種類の形式変換処理のうちいずれかの形式変換処理を実行することによりサービスを提供可能であって、前記機能決定手段により決定された機能に対応するメディアでサービスの提供を可能とする処理である形式変換処理を実行してなるサービスを提供する、ように構成されている。
【0020】
このように構成すれば、サービス提供手段は、形式変換処理を実行するにあたり、デバイスの有する機能のうちのどの機能に対応するメディアでサービスを提供できる形式変換処理を実行するかを決定条件に基づいて決定することができ、こうして決定された機能に対応するメディアで提供実行手段の処理結果が得られる形式変換処理を実行することができる。
【0021】
また、この構成においては、請求項6に記載のように、前記デバイスにおいて、ユーザに前記サービス提供手段の備える機能決定手段が機能を決定する際の決定条件を指定させる条件指定手段と、該条件指定手段により指定された決定条件を前記サービス提供手段に通知する条件通知手段と、が備えられており、前記サービス提供手段において、前記機能決定手段は、前記デバイスの備える条件通知手段により通知された決定条件に基づいて機能を決定する、ように構成するとよい。
【0022】
このように構成すれば、デバイス側で上述した「決定条件」をユーザに指定させることができ、サービス提供手段側において、こうして指定された決定条件に基づいて機能を決定させることができる。
【0023】
なお、上述した「決定条件」とは、機能を決定する際の条件となるものであり、例えば、デバイスの有する複数の機能それぞれに優先順位をつけておき、最も優先順位の高いものが「決定条件」を満たすものすることや、提供を受けるべきサービスの種類との関係で最も適した機能をデータテーブルや数式に基づいて決定することなどが考えられる。
【0024】
また、上述したサービス提供手段の備える提供実行手段により実行される形式変換処理については、請求項7に記載のように、前記デバイスから当該サービス提供手段へ送信されたデータに対する前記形式変換処理,および,当該サービス提供手段から前記デバイスへ送信されるデータに対する前記形式変換処理をそれぞれ実行可能に構成されている、ことが望ましい。
【0025】
このように構成すれば、デバイスおよびサービス提供手段の両者間で一方向にデータが送信されるサービスだけでなく、双方向でデータがやりとりされるサービスについても、デバイス側で提供を受けることができるようになる。
【0026】
また、請求項8に記載のサービス提供システムは、前記デバイスに対して、前記サービス提供手段により提供可能な1以上のサービスのうちいずれかのサービスの指定を要求する指定要求手段が備えられており、前記デバイスにおいて、前記指定要求手段による要求を受けた際に、ユーザに1以上のサービスのうちいずれかのサービスを指定させるサービス指定手段が備えられており、前記サービス要求手段は、前記サービス指定手段により指定されたサービスの提供を前記サービス提供手段に対して要求する、ように構成されている。
【0027】
このように構成すれば、デバイス側において、指定要求手段による要求を受けたタイミングでユーザにサービスを指定させることができる。
この構成における指定要求手段は、「サービス提供手段により提供可能な1以上のサービスのうちいずれかのサービスの指定」を要求する手段であり、この「1以上のサービス」としては、サービス提供手段が提供可能な全てのサービスであってもよいが、例えば、デバイスの有する機能に対応するサービスのみとする、など何らかの制限をするように構成してもよい。
【0028】
そのためには、例えば、請求項9に記載のように、前記指定要求手段は、前記機能判定手段により必要な機能を有していないと判定されている場合、前記形式変換処理を実行してなるサービスを含む1以上のサービスのうちいずれかのサービスの指定を要求して、前記サービス提供手段において、前記提供実行手段は、前記デバイスの備える前記サービス要求手段により前記形式変換処理を実行してなるサービスの提供を要求された場合、該形式変換処理を実行してなるサービスを提供する、ように構成することが考えられる。
【0029】
このように構成すれば、指定要求手段からデバイスへサービスの指定を要求する際には、はじめから、このデバイスの有する機能に対応するサービスの中から指定させることができる。
【0030】
なお、上述した「指定要求手段」は、例えば、ネットワーク上のサーバとして構成することができ、この場合、単一のサーバにより構成されていてもよく、複数のサーバにより構成されていてもよい。また、サービス提供手段と一体のサーバにより構成されていてもよい。また、サービス提供手段と別体のサーバとして構成する場合、サービス提供手段の備える機能判定手段による判定結果をサービス提供手段から取得し、それを受けてサービスの指定を要求するように構成すればよい。
【0031】
また、請求項10に記載のデバイスは、サーバからのサービスの提供を受けることが可能なデバイスであって、該デバイスからの要求に応じて、該デバイスの有する機能により生成または出力されたデータに関するサービスを提供するサーバに対してサービスの提供を要求するサービス要求手段と、前記サーバに当該デバイスの有する機能を示す保有機能情報を通知する情報通知手段と、該サービス要求手段による要求を受けた前記サーバによりサービスの提供を受けて当該デバイスの有する機能を実現するサービス実現手段と、が備えられている、ことを特徴とする。
【0032】
このように構成されたデバイスによれば、請求項1に記載のデバイスを構成することができるため、このデバイスと同様の作用,効果を得ることができる。
なお、このデバイスにおいては、請求項2から9のいずれかに記載のデバイスの備える全ての手段を備えた構成とすることもでき、このような構成とすれば、この請求項2から9のいずれかに記載のデバイスと同様の作用,効果を得ることができる。
【0033】
また、請求項11に記載のサーバは、画像を読み取りその画像を表す画像データを生成する機能および画像データの表す画像を印刷する機能のうち少なくとも一方の機能を有するデバイスからの要求に応じて、該デバイスの有する機能により生成された画像データおよび印刷される画像を示す画像データのうち少なくとも一方に関するサービスを提供するサーバであって、前記デバイスの有する機能を示す保有機能情報に基づいて、前記提供実行手段によるサービスの提供を受けるにあたり、前記デバイス側で必要な機能を有しているか否かを判定する機能判定手段と、該機能判定手段により必要な機能を有していないと判定されている場合、前記デバイスの備える前記サービス要求手段による要求を受けた際に、前記デバイスの有する機能に対応するメディアでサービスの提供を可能とする処理である形式変換処理を実行してなるサービスを提供する提供実行手段が備えられている、ことを特徴とする。
【0034】
このように構成されたサーバによれば、請求項1に記載のサーバを構成することができるため、このサーバと同様の作用,効果を得ることができる。
なお、このサーバにおいては、請求項2から9のいずれかに記載のサーバの備える全ての手段を備えた構成とすることもでき、このような構成とすれば、この請求項2から9のいずれかに記載のサーバと同様の作用,効果を得ることができる。
【0035】
また、請求項12に記載のプログラムは、請求項1から9のいずれかに記載のサービス提供システムとして機能させるための各種処理手順を、コンピュータシステムに実行させるためのプログラムである。このプログラムを実行するコンピュータシステムによれば、請求項1から9のいずれかに記載のサービス提供システムを構成することができる。
【0036】
また、請求項13に記載のプログラムは、請求項1から9のいずれかに記載のデバイスとして機能させるための各種処理手順を、コンピュータシステムに実行させるためのプログラムである。このプログラムを実行するコンピュータシステムによれば、請求項1から9のいずれかに記載のサービス提供システムの一部(デバイス)を構成することができる。
【0037】
また、請求項14に記載のプログラムは、請求項1から9のいずれかに記載のサーバとして機能させるための各種処理手順を、コンピュータシステムに実行させるためのプログラムである。このプログラムを実行するコンピュータシステムによれば、請求項1から9のいずれかに記載のサービス提供システムの一部(サーバ)を構成することができる。
【0038】
なお、上述した各プログラムは、コンピュータによる処理に適した命令の順番付けられた列からなるものであって、例えば、FD,CD−ROM,メモリーカードなどの記録媒体やインターネットなどの通信回線網を介して、各装置(デバイスやサーバ),または,各装置を利用するユーザに提供されるものである。また、これらプログラムをユーザに提供する形態としては、各装置のハードディスクやメモリにプレインストールされた状態で提供する形態であってもよい。
【発明を実施するための最良の形態】
【0039】
以下、本発明が適用された実施形態について、図面を用いて説明する。
(1)全体構成
サービス提供システムは、図1に示すように、複合機10,ディレクトリサーバ20,機能サーバ30などからなり、これらがネットワーク(本実施形態ではインターネット等の広域ネットワーク(WAN:Wide Area Network))1を介してデータ通信可能に接続されている。具体的にいうと、複合機10,ディレクトリサーバ20および機能サーバ30は、それぞれルータ(R;周知のブロードバンドルータ)2〜4を介してネットワーク1と接続されている。
【0040】
複合機10は、制御部11,操作部12,読取部13,記録部14,通信部15,記憶部16,音入力部17および音出力部18などを備えている。
これらのうち、制御部11は、CPU,ROM,RAM等を備え、このCPUが、ROMに記憶されているプログラムに従って複合機10全体を統括制御する。
【0041】
また、操作部12は、図2に示すように、コピーキー41,スキャナキー42,FAXキー43,サービスキー44,設定キー45,上下左右の方向キー46〜49,OKキー50およびキャンセルキー51,ディスプレイ52などからなるユーザインタフェースとして構成されている。
【0042】
また、読取部13は、スキャナとしての機能を実現するための入力デバイスであり、用紙等のシート状記録媒体に記録(例えば印刷)された画像を読み取り、その画像を表す画像データを生成する。
【0043】
また、記録部14は、プリンタとしての機能を実現するための出力デバイスであり、画像データの表す画像を用紙等のシート状記録媒体に印刷する。
また、通信部15は、複合機10をネットワーク1に接続すると共に、このネットワーク1を介してデータを送受信するための処理を行う。
【0044】
また、記憶部16は、図示しない不揮発性RAMを備えており、この不揮発性RAMにデータを記憶可能に構成されている。
また、音入力部17は、本複合機10が備える図示しないハンドセット(受話器)に設けられたマイクから音を入力し、その音を表す音データ(PCMデータ)を生成する。
【0045】
そして、音出力部18は、音データ(PCMデータ)の表す音を、図示しないハンドセットに設けられたスピーカ、又は、複合機本体に設けられた図示しないスピーカから出力する。
【0046】
ディレクトリサーバ20は、制御部21,通信部22および記憶部23を備えている。
これらのうち、制御部21は、CPU,ROM,RAM等を備え、このCPUが、ROMに記憶されているプログラムに従ってディレクトリサーバ20全体を統括制御する。
【0047】
また、通信部22は、ディレクトリサーバ20をネットワーク1に接続すると共に、このネットワーク1を介してデータを送受信するための処理を行う。
そして、記憶部23は、図示しないハードディスクを備えており、このハードディスクにデータを記憶する。この記憶部23には、後述するサービス定義情報25を記憶するためのサービス定義情報記憶部24が設けられている。このサービス定義情報25は、XML(eXtensible Markup Language)により記述されたXMLデータであり、この記述内容に従って後述するサービス選択用画面を表示することで(図8(a)参照)、機能サーバ30が提供可能なサービス一覧(各サービスの種類及び要求先アドレス(URL;Uniform Resource Locator)を提供することができる。なお、このサービス定義情報25における各タグの定義付けを図3に示す。
【0048】
機能サーバ30は、制御部31,通信部32および記憶部33などを備えている。
これらのうち、制御部31は、CPU,ROM,RAM等を備え、このCPUが、ROMに記憶されているプログラムに従って機能サーバ30全体を統括制御する。なお、この制御部31は、複合機10の制御部11に比べて充分に高性能な構成とされており、複合機10の制御部11では実行困難な処理についても行うことができる。本発明の特徴部分となる変換処理についても制御部31にて行う。
【0049】
また、通信部32は、機能サーバ30をネットワーク1に接続すると共に、このネットワーク1を介してデータを送受信するための処理を行う。
そして、記憶部33は、図示しないハードディスクを備えており、このハードディスクにデータを記憶する。この記憶部33は、後述するサービスI/F情報36を記憶するためのサービスI/F情報記憶部34と、それぞれ異なるサービスを提供するための処理を実行するサービスソフトウェア37を記憶するためのサービスソフト記憶部35と、からなる。このサービスI/F情報36は、XMLにより記述されたXMLデータであり、この記述内容に従って後述するパラメータ入力用画面を表示することで(図14参照)、機能サーバ30に対してサービスの提供を要求するための情報(サービスの内容及び要求先アドレス)を提供することができる。なお、このサービスI/F情報36における各タグの定義付けを図4に示す。
(2)複合機10による処理
以下に、複合機10の制御部11により実行される各種処理について説明する。なお、本実施形態において、複合機10と機能サーバ30とのデータ,パラメータ,サービスI/F情報36の送受信については、後述の変換処理を介して行われている。
(2−1)複合機処理
はじめに、複合機10が起動された以降、繰り返し実行される処理である複合機処理を図5に基づいて説明する。
【0050】
この複合機処理が起動されたら、まず、初期化処理を行う(s102)。
この初期化処理を終えた後、外部からの指令,例えば、操作部12への入力操作やネットワーク1を介した指令信号の入力などが発生したら(s104)、この入力が動作モードをサービスモードへ移行させるための内容であるか否かをチェックする(s106)。ここでは、s104による入力が操作部12のサービスキー44を押下する操作であれば、サービスモードへ移行させるための内容であると判定する。なお、この「サービスモード」とは、以下の処理で示すように、機能サーバ30に対してサービスの提供を要求するための処理を実行するための動作モードである。
【0051】
このs106で、サービスモードへ移行させるための内容でないと判定されたら(s106:NO)、その入力内容に応じて他の動作モードに対する処理(その他のモードの処理)を行った後(s108)、s104へ戻る。
【0052】
一方、s106で、サービスモードへ移行させるための内容であると判定されたら(s106:YES)、機能サーバ30に要求すべきサービスを指定する方法をユーザに指定させる(s110)。ここでは、図6に示す方法選択画面をディスプレイ52に表示させ、サービスをリストから指定するか(図6における「リストから選択」)、要求先アドレスを直接入力により指定するか(図6における「直接入力」)の選択を促す。この選択画面が表示された後、ユーザは、操作部12により、いずれにより指定するかの選択を行うことができる。
【0053】
このs110で、リストから指定する旨が選択されたら(s110:YES)、ディレクトリサーバ20にサービス一覧の照会を要求する(s112)。ここでは、ディレクトリサーバ20に対してサービス定義情報25の送信を要求するためのアドレスとして、あらかじめ記憶部16に記憶されたアドレス宛に、HTTP1.1(HTTP:HyperText Transfer Protocol )に基づくHTTPリクエスト(以降、単に「HTTPリクエスト」という)を送信することにより、サービス一覧の照会を要求する。このアドレスに基づいてアクセスを受けたディレクトリサーバ20は、後述するようにトップのサービス定義情報25を、HTTP1.1に基づくHTTPレスポンス(以降、単に「HTTPレスポンス」という)により返信してくる。
【0054】
なお、この「サービス定義情報25」には、「データ保存サービス」,「印刷サービス」,「コピー応用サービス」といったカテゴリそれぞれにおけるサービスの選択を促すサービス選択画面を表示させるためのものと、カテゴリの選択を促すサービス選択画面を表示させるためのものと、があり、このs112においては、カテゴリの選択を促すサービス選択画面を表示させるためのサービス定義情報(以降、「トップのサービス定義情報」という)25にアクセスするためのアドレス宛にHTTPリクエストを送信する。
【0055】
こうして、サービス一覧の照会を要求した後、ディレクトリサーバ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に要求されることになる。
【0056】
また、s116の処理がトップ以外のサービス定義情報25を受信した後に行われる場合,具体的な例として、「コピー応用サービス」に関するサービス定義情報25を受信した場合には、図9に示すようなサービス定義情報25(XMLの記述)に従って、図8(b),図8(c)に示すように、表示用タイトル(Title)として「コピー応用サービス」の文字が表示領域上部に配置され、選択可能なサービスを表す項目(Link_Title)である「すかし入りコピー」,「翻訳コピー」,「原稿読み上げ」および「音声テキスト変換」の文字が表示領域下部に配置されてなるサービス選択画面の表示を行う。なお、本実施形態において、表示領域の制約上、すべての項目を一度に表示することができない場合には、画面をスクロールさせることで各項目の配置が上下に移動するように構成されており、図8(b),図8(c)では、そのようなスクロール前後の状態を示している。また、この場合のサービス選択画面には、サービスに対応する別のサービス定義情報25のIDがリンク先として割り当てられており(図9における「Link_Location」参照)、いずれかの項目が選択された際に、その項目に対応するIDのサービスの提供が機能サーバ30に要求されることになる。
【0057】
また、上述したs110で、要求先アドレスを直接入力により指定する旨が選択された場合には(s110:NO)、要求先アドレスを入力するための図示しないアドレス入力画面をディスプレイ52に表示させた後(s118)、次の処理(s120)へ移行する。
【0058】
こうして、サービス選択画面またはアドレス入力画面が表示された以降、ユーザは、操作部12により、いずれかの項目を選択する操作(アドレスを入力する操作),または,サービスモードを終了する操作(停止操作)を行うことができる。
【0059】
次に、ユーザによる操作部12への入力操作を受け付け(s120)、こうして行われた入力操作がリンクを選択する操作であるか否かをチェックする(s122)。ここでは、s116にて表示されたサービス選択画面における項目を選択する操作,または,s118にて表示されたアドレス入力画面にアドレスを入力する操作が入力操作として行われた場合に、リンクを選択する操作であると判定する。
【0060】
このs122で、リンクを選択する操作でないと判定された場合(s122:NO)、その入力操作が停止操作であれば(s124:YES)、s104へ戻ることによりサービスモードとしての処理を終了する一方、入力操作が停止操作でなければ(s124:NO)、拒否音(ブザー音など)を鳴動させた後(s126)、s120へ戻る。
【0061】
また、s122で、入力操作がリンクを選択する操作であると判定された場合(s122:YES)、その選択されたリンクがサービスへのリンク,つまり機能サーバ30にサービスの提供を要求するためのIDであるか否かをチェックする(s128)。
【0062】
このs128で、サービスへのリンクでないと判定された場合,つまり別のサービス定義情報25のIDである場合には(s128:NO)、ディレクトリサーバ20に対してサービス一覧の照会を要求し、該当するサービス定義情報25を受信した後(s130)、s116へ戻ってサービス選択用画面をディスプレイ52に表示させる。
【0063】
そして、s128で、サービスへのリンクであると判定された場合には(s128:YES)、後述するセッション処理(図10)を行った後(s132)、s104へ戻ることによりサービスモードとしての処理を終了する。
(2−2)セッション処理
続いて、図5におけるs132であるセッション処理の詳細な処理手順を図10,図11に基づいて説明する。
【0064】
このセッション処理では、まず、利用するサービスを選択し、サービス定義情報25のLink_Location(アドレスを直接入力した場合には、そのアドレス)に基づきサービスを起動する(s202)。つまり、サービスのアドレス宛にサービス起動指令をHTTPリクエストにより送信することで、ユーザに選択されたサービスを機能サーバ30側において起動させる。このサービス起動指令を受信した機能サーバ30からは、セッションIDがHTTPレスポンスにより返信されてくる。
【0065】
次に、s204によるサービス起動指令に応じて機能サーバ30から返信されてくるセッションIDを受信する(s204)。なお、以降の処理で送信するHTTPリクエストおよびHTTPレスポンスには、特に明示しない限り、全てセッションIDが含まれた状態で送信されることとし、このHTTPリクエストを受信した機能サーバ30側では、このセッションIDに基づいて通信中のデバイスを管理(周知のセッション管理)するように構成されている。
【0066】
次に、複合機10に対する指令の有無を問い合わせるための「複合機指令問合せ」をHTTPリクエストにより機能サーバ30へ送信する(s206)。この「複合機指令問合せ」を受信した機能サーバ30は、複合機10に対する指令が発生していれば、その内容を示す指令(指令が発生していない場合には「指令なし」を示す指令)をHTTPレスポンスにより返信してくる。
【0067】
次に、s206による問い合わせにより返信されてくる指令(複合機指令)を受信したら(s208)、その指令がジョブ起動指令であるか否かを判定する(s210)。この「ジョブ起動指令」とは、後述のように、s202にてサービス起動指令を送信した以降、機能サーバ30側で発生する指令であり、そのタイミングやサービスの内容に応じて「UIジョブ」,「入力ジョブ(スキャンジョブまたはボイスジョブ)」,「出力ジョブ(プリントジョブまたはスピーカジョブ)」のいずれかの起動を指令する内容となっている。なお、このジョブ起動指令には、起動すべきジョブのジョブID,ジョブの種類(UIジョブ,入力ジョブ(スキャンジョブまたはボイスジョブ)または出力ジョブ(プリントジョブまたはスピーカジョブ))およびジョブの通信先アドレスが付加されている。
【0068】
このs210で、ジョブ起動指令であると判定された場合(s210:YES)、ジョブの起動に必要なリソースを確保した後(s212)、以下に示すs252〜s266によりジョブ起動指令で指令されたジョブの起動を行う。
【0069】
以下に、このs252〜s266について図11に基づいて説明する。
ここでは、まず、ジョブ起動指令で指令されたジョブがUIジョブであるか否かをチェックし(s252)、UIジョブであると判定された場合には(s252:YES)、ジョブ起動指令に付加されたジョブIDおよび通信先アドレスに基づいてUIジョブを起動した後(s254)、次の処理(図10におけるs214)へ移行する。このUIジョブは、このs254の処理で起動された以降、他の処理と並行して実行されるものであり、これについては、後述する「UIジョブ」(図12)において詳述する。
【0070】
また、ジョブ起動指令で指令されたジョブがUIジョブでないと判定された場合(s252:NO)、その指令されたジョブが入力ジョブの一種であるスキャンジョブ(s256:YES)またはボイスジョブ(s256:NO,s262:YES)であれば、ジョブ起動指令に付加されたジョブIDおよび通信先アドレスに基づいて入力ジョブを起動した後(s260)、次の処理(図10におけるs214)へ移行する。この入力ジョブは、このs260の処理で起動された以降、他の処理と並行して実行されるものであり、これについては、後述する「入力ジョブ」(図17)において詳述する。
【0071】
また、ジョブ起動指令で指令されたジョブが上述したいずれのジョブでないと判定された場合(s258:NO)、その指令されたジョブが出力ジョブの一種であるプリントジョブ(s262:YES)またはスピーカジョブ(s262:NO,s264:YES)であれば、ジョブ起動指令に付加されたジョブIDおよび通信先アドレスに基づいて出力ジョブを起動した後(s266)、次の処理(図10におけるs214)へ移行する。この出力ジョブは、このs266の処理で起動された以降、他の処理と並行して実行されるものであり、これについては、後述する「出力ジョブ」(図18)において詳述する。
【0072】
なお、ジョブ起動指令で指令されたジョブが上述したいずれのジョブでもないと判定された場合(s264:NO)、ジョブの起動を行うことなく、次の処理(図10におけるs214)へ移行する。
【0073】
こうして、ジョブの起動を行った後、図10へ戻り、所定インターバル待機した後(s214)、s206へ戻る。
また、上述したs210で、ジョブ起動指令でないと判定された場合(s210:NO)、s208で受信した指令がジョブ終了指令であるか否かをチェックする(s216)。この「ジョブ終了指令」とは、後述のように、図11における各処理でジョブを起動した以降、このジョブが終了した際に機能サーバ30側で発生する指令である。なお、このジョブ終了指令には、その終了したジョブのジョブIDが付加されている。
【0074】
このs216で、ジョブ終了指令であると判定された場合(s216:YES)、このジョブ終了指令に付加されたジョブIDのジョブを停止させる(該当するジョブに対して終了指示を渡す)と共に、このジョブを起動する前にS212にて確保したリソースを解放した後(s218)、s214へ移行する。
【0075】
また、上述したs216で、ジョブ終了指令でないと判定された場合(s216:NO)、「指令なし」を示すものであるか否かをチェックし(s220)、「指令なし」を示すものであれば(s220:YES)、s214へ移行する一方、「指令なし」を示すものでなければ(s220:NO)、セッション終了指令であるか否かを判定する(s222)。この「セッション終了指令」とは、この複合機10に対するサービスの提供が終了した際に機能サーバ30側で発生する処理である。
【0076】
そして、このs222で、セッション終了指令であると判定された場合(s222:YES)、本セッション処理を終了する一方、s208で受信した指令が上述したいずれの指令でもない場合、エラーを報知するための処理(指令エラーの処理)を行った後(s224)、本セッション処理を終了する。このs224では、エラーである旨のメッセージをディスプレイ52に表示させることによりエラーを報知する。
(2−3)UIジョブ
続いて、図11におけるs254にて起動されるUIジョブの処理手順を図12に基づいて説明する。
【0077】
このUIジョブが開始されると、まず、複合機10に対する指令の問合せである複合機ジョブ指令問合せを送信用データ格納領域にセットする(s300)。ここでは、複合機指令問合せを、制御部11の備えるRAMに確保された送信用データの格納領域に書き込むことにより、複合機ジョブ指令問合せを送信用データ格納領域にセットする。こうしてセットされた情報は、後述する処理(s312)でセッションID及びジョブIDとともに機能サーバ30へ送信されることとなる。なお、こうして「複合機ジョブ指令問合せ」が送信されると、この送信用データを受信した機能サーバ30は、後述のように、本UIジョブに対する指令が発生していれば、その内容を示す複合機指令(指令が発生していない場合には「指令なし」を示す複合機指令)をHTTPレスポンスにより返信してくる。
【0078】
次に、上述したセッション処理からの終了指示があったか否かを判定する(s302)。この終了指示は、上述したs218にてセッション処理から渡される指令である。
このs302で、セッション処理からの終了指示があったと判定された場合には(s302:YES)、セッション処理に対してセッション終了指令を渡すことにより、UIジョブの終了を通知した後(s304)、本UIジョブを終了する。なお、このセッション終了指令は、上述したs218における処理の中で受信される。s218の内部では、この指令を受信することによりジョブが完全に停止したと判断し、以降の手続きを実施するのである。
【0079】
一方、セッション処理からの終了指示がないと判定された場合には(s302:NO)、操作部12がビジー状態であるか否かを判定する(s306)。ここでは、各ジョブの起動中に立つ(「1」がセットされる)ように設定されたビジーフラグFuに基づき、ビジーフラグFuが立っていればビジー状態であると判定し、ビジーフラグFuが下りて(「0」がセットされて)いればビジー状態でないと判定する。
【0080】
このs306で、ビジー状態であると判定された場合には(s306:YES)、操作部12のビジー状態が解除されるまで,つまりビジーフラグFuが下りるまで待機した後(s308)、s306へ戻る一方、ビジー状態でないと判定した場合には(s306:NO)、ビジーフラグFuを立てて(s310)、本UIジョブにより操作部12がビジー状態になっているものとする。
【0081】
次に、送信用データ格納領域に格納されている情報を、セッションIDおよびジョブIDと共にHTTPリクエストとして機能サーバ30へ送信する(s312)。
次に、s312による問い合わせにより返信されてくる複合機指令を受信したら(s314)、その指令がパラメータ要求であるか否かを判定する(s316)。この「パラメータ要求」とは、後述のように、複合機ジョブ指令問合せを受信した機能サーバ30側で発生する指令であり、このパラメータ要求に付加されたサービスI/F情報36(図13参照;翻訳コピーの場合)に基づき、パラメータの指定を複合機10に対して要求するための指令である。
【0082】
このs316で、パラメータ要求であると判定された場合(s316:YES)、このパラメータ要求に付加されたサービスI/F情報36に基づき、パラメータ入力用画面をディスプレイ52に表示させ、パラメータの設定をするための入力操作をユーザに促す(s318)。
【0083】
ここで、サービスI/F情報36のうち、翻訳コピーサービスに対応するサービスI/F情報36を例示してパラメータ入力画面が表示される様子について説明する。なお、翻訳コピーサービスとは、複合機10の入力部(キーボード)から入力されたテキストデータを所定の言語に翻訳してなるテキストデータを生成して提供することにより、このテキストデータで表される文書を複合機10における記録部14に印刷させるサービスである。このサービスにおいては、複合機10における読取部13で読み取られた画像データに基づき、機能サーバ30が、この画像データで表される画像に対してOCR(Optical Character Recognition )処理でテキストを認識したり音入力部17から入力された音声をA−D変換処理でテキスト認識し、そのテキストを所定の言語に翻訳した内容の画像を表す画像データを生成して提供することにより、この画像データで表される画像を複合機10における記録部14に印刷させることも可能である。
【0084】
本実施形態では、入力部を有さない複合機10において翻訳コピーサービスを受ける場合であって、読取部13で読み取った画像データを、後述する変換処理にて変換することでサービスの提供を受ける場合を説明する。まず、図13に示すようなサービスI/F情報36(XMLの記述)に従って、図14(a)に示すように、表示用タイトル(Title)として「翻訳コピー」の文字が表示領域上部に配置され、その下に入力項目(Disp_Name)として「言語選択」の文字が配置され、さらにその下に入力項目「言語選択」について選択可能なパラメータを表す項目(Disp_Select)である「英語→日本語」及び「日本語→英語」の文字が配置されたパラメータ入力用画面を表示させる。ここで、「翻訳コピー」に関する入力項目(Disp_Name)としては、上記表示されている「言語選択」に加え、「スキャナ設定」,「印刷設定」及び「コメント」があるが、この時点では、「言語選択」についての入力項目のみが表示される。これは、単にディスプレイ52の大きさの制限によるものであり、この状態から左右の方向キー48,49を押下(後述の切替操作)することで、表示領域下部に表示される入力項目を「スキャナ設定」,「印刷設定」及び「コメント」を含む4種類の中から切り替えることができる。
【0085】
これら入力項目について選択可能なパラメータについて説明すると、「スキャナ設定」について選択可能なパラメータを表す項目(Disp_Select)としては、「普通の文字」及び「細かい文字」の文字が表示されることとなる(図14(b)参照)。ここでいう「普通の文字」とは、読取部13のパラメータである解像度(読取解像度)を300×300dpiに設定することを意味し、「細かい文字」とは、解像度を600×600dpiに設定することを意味する。
【0086】
また、「印刷設定」について選択可能なパラメータを表す項目(Disp_Select)としては、「印刷速度優先」,「普通」及び「高精細」の文字が表示されることとなる。なお、ディスプレイ52の大きさの制限により、「高精細」については、初めは表示されていないが(図14(c)参照)、画面をスクロールさせることで表示される(図14(d)参照)。ここでいう「印刷速度優先」とは、記録部14のパラメータである解像度(印刷解像度)を200×200dpiに設定することを意味し、「普通」とは、解像度を300×300dpiに設定することを意味し、「高精細」とは、解像度を600×600dpiに設定することを意味する。
【0087】
そして、「コメント」については、「コメント」の文字の下に、コメントの入力欄が表示され、設定されている文字列(Default_String)が入力された状態となる(図14(e)参照)。こうして、コメントとして入力欄に入力された文字列は、例えば、印刷画像のヘッダやフッタに記載されるという形で利用されるものである。
【0088】
こうして、ディスプレイ52にパラメータ入力画面が表示された以降、ユーザは、ディスプレイ52における表示領域の制限から表示しきれていない別の項目に表示内容を切り替える切替操作(左右の方向キー48,49の押下により第n−1,第n+1番目の項目に切り替える),パラメータを指定する指定操作(上下の方向キー46,47の押下により指定されたパラメータ(図14における破線の四角参照)を指定する),ディスプレイ52に表示しきれていない他のパラメータを表示させるためのスクロール操作(指定操作を続けることで表示されていないパラメータを表示させると共に、そのパラメータを指定する),パラメータの設定を完了するための完了操作(OKキー50の押下)などを行うことにより、各項目それぞれのパラメータを指定することができる。
【0089】
このs318にてパラメータ入力画面を表示した以降、ユーザによりパラメータの設定を完了するための完了操作が行われたら、全ての項目のパラメータを送信用データ格納領域にセットした後(s320)、s310にて立てたビジーフラグFuを下げて(s322)、s302へ戻る。これらのパラメータは、その後、セッションからの終了指示がなく(s302:NO)、操作パネルがビジーではない(s306:NO)状態になると、s312の処理にて機能サーバ30へ送信される。なお、本実施形態においては、後述する処理で複合機10の有する入出力デバイスに応じた内容のサービスI/F情報36がパラメータ要求と共に送信されてくることになるが、このとき、複合機10の有する入出力デバイスだけで機能サーバ30によるサービスの提供を受けられない場合には、図14(f)に示すようなエラーメッセージをディスプレイ52に表示させた後、s320を行うことなく、s322へ戻る。
【0090】
また、上述したs312による問い合わせにより返信されてくる複合機指令が、パラメータ要求でないと判定された場合には(s316:NO)、S314にて受信した複合機指令が仕様情報要求であるか否かを判定する(s352)。この「仕様情報要求」とは、後述のように、複合機ジョブ指令問合せを受信した機能サーバ30側で機能サーバ30側の設定内容に応じて発生する指令であり、複合機10に対して、複合機10の入出力デバイスに関するパラメータの設定内容が登録されてなる仕様情報を要求するための指令である。この仕様情報は、複合機10の入出力デバイスに関するパラメータの設定内容を、図15に示すように、XMLにより記述したXMLデータとして記憶部16に記憶されているものである。なお、この仕様情報におけるタグの定義付けを図16に示す。
【0091】
このs352で、仕様情報要求であると判定された場合には(s352:YES)、仕様情報を送信用データ格納領域にセットした後(s354)、s322へ移行する。この仕様情報は、その後、セッションからの終了指示がなく(s302:NO)、操作パネルがビジーではない(s306:NO)状態になると、s312の処理にて機能サーバ30へ送信される。そして、この仕様情報を受信した機能サーバ30は、後述するように、所定の処理を実行した後、パラメータ要求をHTTPレスポンスとして返信してくる。
【0092】
また、s352で、仕様情報要求でないと判定された場合には(s352:NO)、s314にて受信した複合機指令がサービス状態情報であるか否かを判定する(s324)。この「サービス状態情報」とは、後述のように、複合機ジョブ指令問合せ,または,以降の処理(s330,s312)で送信される複合機状態情報を受信した機能サーバ30側で発生する指令であり、問題なくサービスに関わる処理が実行されていること,または,問題がありサービスを停止することなどを報知するための指令である。
【0093】
このs324で、サービス状態情報であると判定されたら(s324:YES)、このサービス状態情報に基づく表示をディスプレイ52に行わせ(s326)、サービスの稼働状態の情報を要求するサービス状態情報要求を送信用データ格納領域にセットした後(s327)、S322へ移行する。
【0094】
また、s324で、サービス状態情報でないと判定されたら(s324:NO)、s314にて受信した複合機指令が状態情報要求であるか否かをチェックする(s328)。この「状態情報要求」とは、後述のように、複合機10の状態に関する情報の送信を要求するための指令である。
【0095】
このs328で、状態情報要求であると判定されたら(s328:YES)、複合機10の状態に関する情報である複合機状態情報を送信用データ格納領域にセットした後(s330)、s322へ移行する。ここでは、用紙なし,カバーオープンなどを示す情報を複合機状態情報として送信用データ格納領域にセットする。
【0096】
また、s328で、状態情報要求でないと判定されたら(s328:NO)、S314にて受信した複合機指令がサーバ受取状況であるか否かをチェックする(s332)。この「サーバ受取状況」とは、後述のように、機能サーバ30が複合機10からの情報を正常に受け取ることができたか否かを通知するために送信する指令である。
【0097】
このs332で、サーバ受取状況であると判定されたら(s332:YES)、このサーバ受取状況の内容が異常受取(NG)を表すものである場合(s334:YES)、このサーバ受取状況を送信する契機となった情報を送信用データ格納領域に再度セットした後(s336)、s322へ移行する一方、異常受取(NG)を表すものでない場合(s334:NO)、サービスの稼動状態の情報を要求する指令であるサービス状態情報要求を送信用データ格納領域にセットした後(s337)、s322へ移行する。
【0098】
そして、s332で、サーバ受取状況でないと判定されたら(s332:NO)、S314にて受信した複合機指令が「指令なし」を示すものか否かをチェックし(s338)、「指令なし」を示すものであれば(s338:YES)、s300と同様、複合機ジョブ指令問合せを送信用データ格納領域にセットした後(s339)、s322へ移行する。一方、「指令なし」を示すものでなければ(s338:NO)、エラー処理(指定エラーの処理)を行い(s340)、s300と同様、複合機ジョブ指令問合せを送信用データ格納領域にセットした後(s345)、s322へ移行する。
(2−4)入力ジョブ
続いて、図11におけるs260にて起動される入力ジョブの処理手順を図17に基づいて説明する。この入力ジョブは、上述したセッション処理およびUIジョブと並列動作する処理である。
【0099】
この入力ジョブが開始されると、まず、入力デバイスがビジー状態であるか否かを判定する(s402)。ここでは、入力デバイスがビジー状態である場合に立つ(「1」がセットされる)ように設定されたビジーフラグFiに基づき、ビジーフラグFiが立っていればビジー状態であると判定し、ビジーフラグFiが下りて(「0」がセットされて)いればビジー状態でないと判定する。なお、ここでいう「入力デバイス」とは、読取部13で生成された画像データに関するサービスの提供を受ける場合であれば読取部13であり、音入力部17で生成された音データに関するサービスを受ける場合であれば音入力部17のことである。
【0100】
このs402で、入力デバイスがビジー状態であると判定された場合には(s402:YES)、入力デバイスのビジー状態が解除されるまで待機した後(s404)、s402の処理へ戻る一方、入力デバイスがビジー状態ではないと判定された場合には(s402:NO)、ビジーフラグFiを立てる(s406)。
【0101】
次に、複合機10の状態に関する情報である複合機状態情報を、セッション処理におけるs260にて渡されたジョブIDと共に、HTTPリクエストにより機能サーバ30へ送信する(s408)。この複合機状態情報を受信した機能サーバ30は、後述のように、図12におけるs320にて送信用データ格納領域にセットしてから同図s312にて機能サーバ30に送信しておいたパラメータに基づく情報である複合機パラメータをHTTPレスポンスにより返信してくる。
【0102】
次に、s408にて送信した複合機状態情報に対して複合機パラメータが返信されてきたら(s410)、セッション処理から終了指示が渡されたか否か(セッションからの終了指示があるか)を判定する(s412)。この終了指示は、図10におけるs218により終了するジョブが入力ジョブである場合において、セッション処理から本入力ジョブに渡される指示である。
【0103】
このs412で、セッション処理から終了指示が渡されていないと判定された場合には(s412:NO)、s410にて返信されてきた複合機パラメータを正常に受信できていなければ(s414:NO)、機能サーバ30からの情報を正常に受け取ることができない旨(異常受取(NG)である旨)を通知するための複合機受取状況を、セッション処理におけるs260にて渡されたジョブIDと共に、HTTPリクエストにより機能サーバ30へ送信する(s416)。この複合機受取状況を受信した機能サーバ30は、後述のように、再度、複合機パラメータをHTTPレスポンスとして返信してくるため、このs416の後、s410へ戻る。
【0104】
一方、s410にて複合機パラメータを正常に受信できていれば(s414:YES)、機能サーバ30からの情報を正常に受け取ることができた旨(正常受取(OK)である旨)を通知するための複合機受取状況を、セッション処理におけるs260にて渡されたジョブIDと共に、HTTPリクエストにより機能サーバ30へ送信する(s418)。この複合機受取状況を受信した機能サーバ30は、後述のように、機能サーバ30側で処理すべきデータの送信を要求するための入力データ要求を返信してくる。
【0105】
次に、複合機受取状況を受信した機能サーバ30から入力データ要求が返信されてきたら(s420)、s412と同様に、セッション処理から終了指示が渡されたか否かを判定する(s422)。
【0106】
このs422で、セッション処理から終了指示が渡されていないと判定された場合には(s422:NO)、s420にて返信されてきた入力データ要求を正常に受信できていなければ(s424:NO)、s416と同様に、異常受取(NG)である旨を通知するための複合機受取状況を機能サーバ30へ送信する(s426)。この複合機受取状況を受信した機能サーバ30は、後述のように、再度、入力データ要求を返信してくるため、このs426の後、s420へ戻る。
【0107】
一方、s420にて返信されてきた入力データ要求を正常に受信できていれば(s424:YES)、機能サーバ30側で処理させるべき入力データを、セッション処理におけるs260にて渡されたジョブIDと共に、HTTPリクエストにより機能サーバ30へ送信する(s428)。ここでは、まず、入力デバイスの設定値をs410にて受信した複合機パラメータで示されるパラメータに変更した後、機能サーバ30側で処理させるべきデータの入力を促すためのデータ入力画面をディスプレイ52に表示させることにより、データを複合機10に入力するための操作をユーザに促す。その後、ユーザによりデータを入力するための操作が行われることにより取得したデータ(入力データ)を、セッション処理におけるs260にて渡されたジョブIDと共に、HTTPリクエストにより機能サーバ30へ送信する。具体的な例としては、例えば、「原稿をセットしてOKキーを押してください」,「受話器をとって音声を入力してください」などのメッセージをディスプレイ52に表示し、この後、読取部13または音入力部17により取得されるデータを機能サーバ30へ順次送信する。この入力データを受信した機能サーバ30は、この入力データに基づくデータ処理が正常に終了したか否かを通知するためのサービス状態情報を返信してくる、といった構成が考えられる。
【0108】
なお、この処理におけるデータの取得方法については、図示されないメモリカードスロットにセットされたメモリーカードから読み出したり、記憶部16における特定の記憶領域から読み出すといった方法であってもよく、その場合には、データの取得先となる記憶領域を指定すべきメッセージをディスプレイ52に表示させればよい。
【0109】
こうして、入力データを機能サーバ30へ送信した後、s428の処理で変更された入力デバイスの設定値を元に戻し(s430)、その後、機能サーバ30から返信されるサービス状態情報を受信する(s432)。
【0110】
そして、s432にてサービス情報を受信した後、または、s412,s422でセッション処理から終了指示が渡されていると判定された場合には(s412:YES,s422:YES)、s406にて立てたビジーフラグFiを下ろした後(s434)、セッション処理におけるs260にて渡されたジョブIDと共にセッション処理へ入力ジョブの終了を通知して(s436)、本入力ジョブを終了する。この入力ジョブの終了の通知は、上述したs218における処理の中で受信される。s218の内部では、この指令を受信することでジョブが完全に停止したと判断し、以降の手続きを実施するのである。
(2−5)出力ジョブ
最後に、図11におけるs266にて起動される出力ジョブの処理手順を図18に基づいて説明する。この入力ジョブは、上述したセッション処理およびUIジョブと並列動作する処理である。
【0111】
この出力ジョブが開始されると、まず、出力デバイスがビジー状態であるか否かを判定する(s502)。ここでは、出力デバイスがビジー状態である場合に立つ(「1」がセットされる)ように設定されたビジーフラグFoに基づき、ビジーフラグFoが立っていればビジー状態であると判定し、ビジーフラグFoが下りて(「0」がセットされて)いればビジー状態でないと判定する。なお、ここでいう「出力デバイス」とは、記録部14で印刷する画像データに関するサービスの提供を受ける場合であれば記録部14であり、音出力部18から出力する音データに関するサービスの提供を受ける場合であれば音出力部18のことである。
【0112】
このs502で、出力デバイスがビジー状態であると判定された場合には(s502:YES)、出力デバイスのビジー状態が解除されるまで待機した後(s504)、s502の処理へ戻る一方、出力デバイスがビジー状態ではないと判定された場合には(s502:NO)、ビジーフラグFoを立てる(s506)。
【0113】
次に、複合機10の状態に関する情報である複合機状態情報を、セッション処理におけるs266にて渡されたジョブIDと共に、HTTPリクエストにより機能サーバ30へ送信する(s508)。この複合機状態情報を受信した機能サーバ30は、後述のように、図12におけるs320にて送信用データ格納領域にセットしてから同図s312にて機能サーバ30に送信しておいたパラメータに基づく情報である複合機パラメータをHTTPレスポンスにより返信してくる。
【0114】
次に、s508にて送信した複合機状態情報に対して複合機パラメータが返信されてきたら(s510)、セッション処理から終了指示が渡されたか否か(セッションからの終了指示があるか)を判定する(s512)。この終了指示は、図10におけるs218により終了するジョブが出力ジョブである場合において、セッション処理から本出力ジョブに渡される指示である。
【0115】
このs512で、セッション処理から終了指示が渡されていないと判定された場合には(s512:NO)、s510にて返信されてきた複合機パラメータを正常に受信できていなければ(s514:NO)、機能サーバ30からの情報を正常に受け取ることができない旨(異常受取(NG)である旨)を通知するための複合機受取状況を、セッション処理におけるs266にて渡されたジョブIDと共に、HTTPリクエストにより機能サーバ30へ送信する(s516)。この複合機受取状況を受信した機能サーバ30は、後述のように、再度、複合機パラメータを返信してくるため、このs516の後、s510へ戻る。
【0116】
一方、s510にて複合機パラメータを正常に受信できていれば(s514:YES)、機能サーバ30からの情報を正常に受け取ることができた旨(正常受取(OK)である旨)を通知するための複合機受取状況を、セッション処理におけるs266にて渡されたジョブIDと共に、HTTPリクエストにより機能サーバ30へ送信する(s518)。この複合機受取状況を受信した機能サーバ30は、後述のように、図17におけるs428にて送信した入力データに基づいて処理してなるデータ(出力データ)を返信してくる。
【0117】
次に、複合機受取状況を受信した機能サーバ30から出力データが返信されてきたら(s520)、s512と同様に、セッション処理から終了指示が渡されたか否かを判定する(s522)。
【0118】
このs522で、セッション処理から終了指示が渡されていないと判定された場合には(s522:NO)、s520にて返信されてきた出力データを正常に受信できていなければ(s524:NO)、s516と同様に、異常受取(NG)である旨を通知するための複合機受取状況を機能サーバ30へ送信する(s526)。この複合機受取状況を受信した機能サーバ30は、後述のように、再度、出力データを返信してくるため、このs526の後、s520へ戻る。
【0119】
一方、s520にて返信されてきた出力データを正常に受信できていれば(s524:YES)、この出力データを出力デバイスにより出力する(s528)。ここでは、まず、出力デバイスの設定値をs510にて受信した複合機パラメータで示されるパラメータに変更した後、この出力デバイスにより出力データを出力(例えば、画像データが表す画像の印刷や、音データが表す音声の出力)する。
【0120】
こうして、出力データの出力デバイスによる出力を終えた後、s528で変更された出力デバイスの設定値を元に戻し(s530)、複合機10の状態に関する情報である複合機状態情報を、セッション処理におけるs266にて渡されたジョブIDと共に、HTTPリクエストにより機能サーバ30へ送信する(s532)。この複合機状態情報を受信した機能サーバ30は、後述のように、サービス状態情報を返信してくる。
【0121】
そして、機能サーバ30から返信されるサービス状態情報を受信した後(s534)、または、s512,s522でセッション処理から終了指示が渡されていると判定された場合には(s512:YES,s522:YES)、s506にて立てたビジーフラグFoを下ろした後(s536)、セッション処理におけるs266にて渡されたジョブIDと共にセッション処理へ入力ジョブの終了を通知して(s538)、本入力ジョブを終了する。この入力ジョブの終了の通知は、上述したs218における処理の中で受信される。s218の内部では、この指令を受信することでジョブが完全に停止したと判断し、以降の手続きを実施するのである。
(3)機能サーバ30による処理
以下に、機能サーバ30の制御部31により実行される各種処理について説明する。
(3−1)機能サーバ処理
はじめに、HTTPリクエストが受信される毎に行われる機能サーバ処理の処理手順を図19,図20に基づいて説明する。
【0122】
この機能サーバ処理が起動されると、まず、受信したHTTPリクエストがサービス起動指令であるか否かをチェックする(s702)。この「サービス起動指令」は、図10におけるs202にて複合機10により送信されるものである。
【0123】
このs702で、サービス起動指令であると判定された場合には(s702:YES)、セッションIDを生成し、このセッションIDを示す送信データを生成すると共に、サービスの実行のためのリソースを確保して該当するプロセスを起動した後(s708)、次の処理(s734)へ移行する。ここで起動するプロセスとは、後述するセッション処理(図21)のことである。
【0124】
また、s702で、サービス起動指令でないと判定された場合には(s702:NO)、HTTPリクエストがサービス終了指令であるか否かをチェックする(s710)。この「サービス終了指令」は、複合機10のキャンセルキー51押下などの操作によりサービス実行の停止が指示されることにより、複合機10側から送信されるものである。
【0125】
このs710で、サービス終了指令であると判定された場合には(s710:YES)、セッションIDおよびs708にて確保されたリソースを解放し、サービス終了を表す送信データを作成した後(s712)、次の処理(s734)へ移行する。一方、サービス終了指令ではないと判定された場合には(s710:NO)、サービス(セッション又はジョブ)に関する情報が含まれているか否か,具体的には複合機10がセッション処理またはジョブ(UIジョブ,入力ジョブ,出力ジョブ)において送信してきたHTTPリクエストであるか否かをチェックする(s714)。
【0126】
このs714で、サービスに関する情報が含まれていると判定された場合には(s714:YES)、そのHTTPリクエストを送信してきたプロセス(セッション処理,UIジョブ,入力ジョブ,出力ジョブのいずれか)を特定する(s716)。
【0127】
このs716によりプロセスを特定できなければ(s718:YES)、エラーを通知するための情報(エラー通知情報)を生成した後(s720)、次の処理(s734)へ移行する。
【0128】
一方、s716によりプロセスを特定できれば(s718:NO)、その特定したプロセスにHTTPリクエストにて送信されてきた情報を渡す(s722)。
こうして、s722を終えた後、または、s714にてサービスに関する情報が含まれていないと判定された場合(s714:NO)、セッションIDまたはジョブIDに対応する情報の記憶領域を特定する(s724)。
【0129】
このs724により記憶領域を特定できなければ(s726:YES)、s720へ移行してエラー通知情報を生成して次の処理(s734)へ移行する。一方、記憶領域を特定できれば(s726:NO)、この記憶領域に複合機10へ返信すべき情報が存在しているか否かをチェックする(s728)。
【0130】
そして、このs728で、返信すべき情報が存在していないと判定されたら(s728:NO)、「指令なし」の情報を生成した後(s730)、次の処理(s734)へ移行する一方、送信すべき情報が存在していると判定されたら(s728:YES)、その返信情報に基づいて複合機制御指令を生成した後(s732)、次の処理(s734)へ移行する。
【0131】
こうして、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側で対応するジョブにおいて受信されるものである。
【0132】
そして、上述したs714〜s732であるサービス制御情報処理が実施された、すなわちs710にて「NO」と判定された場合は(s736:YES)、セッションID又はジョブIDに対応するメモリアドレスに「送信済み」をセットした後(s738)、本機能サーバ処理を終了する一方、サービス制御情報処理が実施されていなければ(s736:NO)、メモリアドレスのセットを行うことなく、本機能サーバ処理を終了する。このサービス制御情報処理とは、s714〜s732に記載の複合機10と機能サーバ30のセッションまたはジョブとの情報授受の処理を指す。
(3−2)セッション処理
続いて、機能サーバ処理と並行して実行されるセッション処理の処理手順を図21,図22に基づいて説明する。なお、本実施形態においては、翻訳コピーのサービスについてのセッション処理を例に説明する。
【0133】
このセッション処理が開始されると、まず、初期化処理を行う(s802)。
次に、サービス側UIジョブを起動する(s804)。このUIジョブは、本セッション処理と並行して実行される処理であって、詳細な処理手順は後述する。
【0134】
次に、UIジョブの起動指令を複合機指令として出力する(s806)。ここでは、ジョブIDおよび通信先アドレスと共にUIジョブの起動指令を、返信情報を格納する記憶領域に書き込む処理を行う。これに基づいて、図19におけるs732にて複合機制御指令が生成され、図20におけるs734にて複合機10側に起動指令として送信されることとなる。この起動指令は、図10におけるs208にて複合機10側で受信され、これに基づいて、複合機10側においてUIジョブが起動されることとなる(同図s254)。
【0135】
次に、複合機10側からのパラメータの入力が完了したか否かをチェックする(s808)。上述したs804にて起動したUIジョブにおいては、後述のように、複合機10側からパラメータを取得し、その旨を本セッション処理に対して通知してくるように構成されている。そのため、このs808では、このUIジョブからのパラメータ取得の通知がなされた場合に、複合機10側からのパラメータの入力が完了したと判定する。
【0136】
このs808で、パラメータの入力が完了していないと判定された場合には(s808:NO)、UIジョブが停止したか否かをチェックする(s810)。上述したs804にて起動したUIジョブにおいては、後述のように、複合機10側からのパラメータの取得が正常に行われなかった場合に、UIジョブ自体を停止(終了)すると共に、その旨を本セッション処理に対して通知してくるように構成されている。そのため、このs810では、このUIジョブからの停止の通知がなされた場合に、UIジョブが停止したと判定する。
【0137】
このs810で、UIジョブが停止していないと判定された場合(s810:NO)、s808へ戻る一方、UIジョブが停止していると判定された場合(s810:YES)、後述するs848へ移行する。
【0138】
また、s808で、パラメータの入力が完了していると判定された場合には(s808:YES)、サービス側入力ジョブの一種であるスキャンジョブを起動する(s812)。このスキャンジョブは、本セッション処理と並行して実行される処理であって、詳細な処理手順は後述する。
【0139】
次に、スキャン(入力)ジョブの起動指令を複合機指令として出力する(s814)。ここでは、ジョブIDおよび通信先アドレスと共にスキャンジョブの起動指令を、返信情報を格納する記憶領域に書き込む処理を行う。これに基づいて、図19におけるs732にて複合機制御指令が生成され、図20におけるs734にて複合機10側に起動指令として送信されることとなる。この起動指令は、図10におけるs208にて複合機10側で受信され、これに基づいて、複合機10側において入力ジョブが起動されることとなる。
【0140】
次に、複合機10側でスキャナ(読取部13)の準備が完了したか否かをチェックする(s816)。上述したs812にて起動したスキャンジョブにおいては、後述のように、複合機10側においてスキャナの準備が完了したことの通知を受け、その旨を本セッション処理に通知してくるように構成されている。そのため、このs816では、このスキャンジョブからのスキャナの準備が完了したことの通知がなされた場合に、複合機10側でスキャナの準備が完了したと判定する。
【0141】
このs816で、複合機10側でスキャナの準備が完了していないと判定された場合には(s816:NO)、スキャンジョブが停止したか否かをチェックする(s818)。上述したs812にて起動したスキャンジョブにおいては、後述のように、複合機10側からスキャナの準備が完了したことの通知を正常に受けられなかった場合に、スキャンジョブ自体を停止(終了)すると共に、その旨を本セッション処理に対して通知してくるように構成されている。そのため、このs818では、このスキャンジョブからの停止の通知がなされた場合に、スキャンジョブが停止したと判定する。
【0142】
このs818で、スキャンジョブが停止していないと判定された場合(s818:NO)、s816へ戻る一方、スキャンジョブが停止していると判定された場合(s818:YES)、後述するs844へ移行する。
【0143】
また、s816で、スキャナの準備が完了していると判定された場合には(s816:YES)、サービス側出力ジョブの一種である印刷ジョブを起動する(s820)。この印刷ジョブは、本セッション処理と並行して実行される処理であって、詳細な処理手順は後述する。
【0144】
次に、印刷(出力)ジョブの起動指令を複合機指令として出力する(s822)。ここでは、ジョブIDおよび通信先アドレスと共に印刷ジョブの起動指令を、返信情報を格納する記憶領域に書き込む処理を行う。これに基づいて、図19におけるs732にて複合機制御指令が生成され、図20におけるs734にて複合機10側に起動指令として送信されることとなる。この起動指令は、図10におけるs208にて複合機10側で受信され、これに基づいて、複合機10側において出力ジョブが起動されることとなる(図11におけるs266)。
【0145】
次に、複合機10側で印刷準備(記録部14)の準備が完了したか否かをチェックする(s824)。上述したs820にて起動した印刷ジョブにおいては、後述のように、複合機10側において印刷準備が完了したことの通知を受け、その旨を本セッション処理に通知してくるように構成されている。そのため、このs824では、この印刷ジョブからの印刷準備が完了したことの通知がなされた場合に、複合機10側で印刷準備が完了したと判定する。
【0146】
このs824で、複合機10側で印刷準備が完了していないと判定された場合には(s824:NO)、印刷ジョブが停止したか否かをチェックする(s826)。上述したs820にて起動した印刷ジョブにおいては、後述のように、複合機10側から印刷準備が完了したことの通知を正常に受けられなかった場合に、印刷ジョブ自体を停止(終了)すると共に、その旨を本セッション処理に対して通知してくるように構成されている。そのため、このs826では、この印刷ジョブからの停止の通知がなされた場合に、印刷ジョブが停止したと判定する。
【0147】
このs826で、印刷ジョブが停止していないと判定された場合(s826:NO)、s824へ戻る一方、印刷ジョブが停止していると判定された場合(s826:YES)、後述するs840へ移行する。
【0148】
また、s824で、印刷準備が完了していると判定された場合には(s824:YES)、複合機10側から取得された入力データを読み出す(s828)。上述したs812にて起動したスキャンジョブにおいては、後述のように、複合機10から、この複合機10の読取部13にて読み取られた画像データを取得するように構成されているため、このs828では、こうして取得されて所定の記憶領域に格納されたデータ(入力データ)のうち、1頁分に相当するデータ領域を読み出す。
【0149】
次に、s828にて読み出された入力データに対してOCR,翻訳,印刷レイアウトなどの処理を施してなる画像データを生成する(s830)。ここでは、まず、s828にて読み出された入力データに対してOCR処理を施すことにより、この入力データで表される画像に含まれるテキスト部分を認識する。次に、このテキスト部分に対して翻訳処理を行うことによりテキスト部分を所定の言語で表現されたテキストに変換する。なお、ここでの翻訳処理は、上述したs804にて起動したUIジョブにおいて取得されるパラメータに基づいて行われるものであり、このパラメータで示される言語への変換が行われることとなる。そして、こうして認識されたテキスト部分について、所定の印刷レイアウトを設定してなる印刷用の画像データを生成する。
【0150】
次に、s830にて生成された画像データを出力する(s832)。ここでは、ジョブIDおよび通信先アドレスと共にs830にて生成された画像データを、印刷ジョブに渡すために記憶領域に書き込む処理を行う。これに基づいて後述する図25のs1120にて複合機10に適合した印刷コマンドを作成し、複合機10へ送信する。
【0151】
次に、s828にて全ての入力データ(全ページ分のデータ領域)についての読み出しが完了したか否かをチェックし(s834)、完了していなければ(s834:NO)、s828へ戻る一方、完了していれば(s834:YES)、s832による出力データの出力(記憶領域への書き込み)が終了したか否かをチェックする(s836)。
【0152】
このs836で、出力データの出力が完了していなければ(s836:NO)、s828へ戻る一方、出力データの出力が完了していれば(s836:YES)、印刷(出力)ジョブの終了指令を複合機指令として出力する(s838)。ここでは、ジョブIDと共に印刷ジョブの終了指令を、返信情報を格納する記憶領域に書き込む処理を行う。これに基づいて、図19におけるs732にて複合機制御指令が生成され、図20におけるs734にて複合機10側に終了指令として送信されることとなる。この終了指令は、図10におけるs208にて複合機10側で受信され、これに基づいて、複合機10側において出力ジョブが停止(終了)されることとなる(同図s218)。
【0153】
こうして、印刷ジョブの終了指令を出力した後、または、上述したs826で印刷ジョブが停止されたと判定された場合(s826:YES)、s820で起動させたサービス側印刷ジョブを終了させる(s840)。
【0154】
次に、スキャン(入力)ジョブの終了指令を複合機指令として出力する(s842)。ここでは、ジョブIDと共にスキャンジョブの終了指令を、返信情報を格納する記憶領域に書き込む処理を行う。これに基づいて、図19におけるs732にて複合機制御指令が生成され、図20におけるs734にて複合機10側に終了指令として送信されることとなる。この終了指令は、図10におけるs208にて複合機10側で受信され、これに基づいて、複合機10側において入力ジョブが停止(終了)されることとなる(同図s218)。
【0155】
こうして、スキャンジョブの終了指令を出力した後、または、上述したs818でスキャンジョブが停止されたと判定された場合(s818:YES)、s812で起動させたサービス側スキャンジョブを終了させる(s844)。
【0156】
次に、UIジョブの終了指令を複合機指令として出力する(s846)。ここでは、ジョブIDと共にスキャンジョブの終了指令を、返信情報を格納する記憶領域に書き込む処理を行う。これに基づいて、図19におけるs732にて複合機制御指令が生成され、図20におけるs734にて複合機10側に終了指令として送信されることとなる。この終了指令は、図10におけるs208にて複合機10側で受信され、これに基づいて、複合機10側においてUIジョブが停止(終了)されることとなる(同図s218)。
【0157】
こうして、UIジョブの終了指令を出力した後、または、上述したs810でパラメータ入力が停止されたと判定された場合(s810:YES)、s804で起動させたサービス側UIジョブを終了させる(s848)。
【0158】
そして、各ジョブにおいて確保されていたリソースを解放するなどの終了処理を行った後(s850)、サービスの終了指令を複合機指令として出力した後(s852)、本セッション処理を終了する。このs852では、サービスの終了指令を、返信情報を格納する記憶領域に書き込む処理を行う。これに基づいて、図19におけるs732にて複合機制御指令が生成され、図20におけるs734にて複合機10側に終了指令として送信されることとなる。この終了指令は、図10におけるs208にて複合機10側で受信され、これに基づいて、複合機10側においてセッション処理が終了されることとなる(同図s222)。
(3−3)UIジョブ
続いて、図21におけるs804にて起動されるUIジョブの処理手順を図23に基づいて説明する。
【0159】
このUIジョブが開始されると、まず、複合機10から複合機ジョブ指令問合せを受信するまで待機し、この複合機ジョブ指令問合せを受信したら(s902)、複合機10に対して、この複合機10の仕様情報を要求するための仕様情報要求をHTTPレスポンスとして返信する(s930)。この仕様情報要求は、図12におけるs314の処理で複合機10により受信されるものであり、これを受けた複合機10が同図320の処理により仕様情報を送信してくる。
【0160】
こうして、仕様情報要求を返信した後、複合機10から仕様情報がHTTPリクエストとして送信されるのを待って、こうして送信されてきた仕様情報を受信したら(s932)、サービスの実行に必要なパラメータの設定を要求するためのパラメータ要求指令を複合機指令として複合機10へ返信する(s904)。このs902において受信する「複合機ジョブ指令問合せ」とは、図12におけるs312にて複合機10から送信されるHTTPリクエストである。また、s904にて送信する複合機指令とは、同図s314にて複合機10に受信されるHTTPレスポンスであり、サービスI/F情報36(例えば、翻訳コピーのサービスに対応するもの)が付加されたものである。この複合機指令を受信した複合機10は、同図s316〜s320にてパラメータを送信用データ格納領域にセットしてからs312にてこのパラメータをHTTPリクエストにより送信してくる。
【0161】
次に、エラーカウントを初期化する(s906)。ここでは、後述のようにパラメータを正常に受信できない自体が連続して発生した回数をカウントするためのカウンタをリセット(「0」をセット)する。
【0162】
次に、s904にて送信した複合機指令を受信した複合機10からパラメータが送信されてくるまで待機し、パラメータを受信したら(s908)、このパラメータを正常に受信できているか否かをチェックする(s910)。
【0163】
このs910にてパラメータが正常に受信できていないと判定された場合には(s910:NO)、このような正常に受信できない状況が所定の回数(本実施形態においては2回)連続して発生しているか否かをエラーカウントによるカウント値に基づいてチェックし(s912)、所定の回数連続して発生していなければ(s912:NO)、パラメータを正常に受信できなかった旨(サーバ受取NG;異常受取)を通知するためのサーバ受取状況を出力し(s914)、エラーカウントをカウントアップした後(s916)、s908へ戻る。このs914では、サーバ受取状況を、返信情報を格納する記憶領域に書き込む処理を行う。これに基づいて、図19におけるs732にて複合機制御指令が生成され、図20におけるs734にて複合機10側にサーバ受取状況として送信されることとなる。このサーバ受取状況は、図12におけるs314にて複合機10側で受信され、これに基づいて、複合機10側においてパラメータの再送信が行われることとなる(同図s334,s336,s312)。
【0164】
また、s912で、正常に受信できない状況が所定の回数連続して発生していたら(s912:YES)、セッション処理に対してUIジョブの停止(終了)を通知した後(s918)、本UIジョブを終了する。このs918による通知は、図21におけるs810にてセッション処理が受けるものである。
【0165】
また、上述したs910で、パラメータが正常に受信できていると判定された場合には(s910:YES)、パラメータを正常に受信できた旨(サーバ受取OK;正常受取)を通知するためのサーバ受取状況を出力する(s920)。ここでは、サーバ受取状況を、返信情報を格納する記憶領域に書き込む処理を行う。これに基づいて、図19におけるs732にて複合機制御指令が生成され、図20におけるs734にて複合機10側にサーバ受取状況として送信されることとなる。このサーバ受取状況は、図12におけるs314にて複合機10側で受信され、これに基づいて、複合機10側においてパラメータの再送信が必要ないことが確認される(同図s334)。
【0166】
次に、セッション処理に対してパラメータの入力が完了(パラメータを取得)した旨を通知する(s922)。ここでの通知は、図21におけるs808にてセッション処理が受けるものである。
【0167】
そして、このs922を終えた以降、複合機10から複合機ジョブ指令問合せを受信するまで待機し、この複合機ジョブ指令問合せを受信したら(s924)、サービス状態情報を出力する(s926)、といった処理を、他の処理(例えば、図22におけるs846)により本UIジョブが停止(終了)されるまで繰り返し行う。このs926では、サービス状態情報を、返信情報を格納する記憶領域に書き込む処理を行う。これに基づいて、図19におけるs732にて複合機制御指令が生成され、図20におけるs734にて複合機10側にサービス状態情報として送信されることとなる。
(3−4)スキャンジョブ
続いて、図21におけるs812にて起動されるスキャンジョブの処理手順を図24に基づいて説明する。
【0168】
このスキャンジョブが開始されると、まず、複合機10から複合機状態情報を受信するまで待機し、この複合機状態情報を受信したら(s1002)、図23におけるs906と同様にエラーカウントを初期化した後(s1004)、複合機パラメータを出力する(s1006)。このs1002にて受信される複合機状態情報は、図17におけるs408にて複合機10から送信されてくるHTTPリクエストであり、これに応答する形でs1006にて複合機パラメータをHTTPレスポンスとして返信する。この複合機パラメータは、図23におけるs908にて受信されたものであって、s1002にて受信された複合機状態情報の送信元である複合機10に対応するパラメータである。
【0169】
この複合機パラメータを受信した複合機10からは、この複合機パラメータを正常に受信できたか否かを示す複合機受取状況が送信されてくるため、この複合機受取状況に基づいて複合機10側で正常に受け取ることができたか否かをチェックする(s1008)。具体的には、複合機受取状況が、異常受取(NG)である旨の内容であれば正常に受け取ることができていないと判定し、正常受取(OK)である旨の内容であれば正常に受け取ることができていると判定する。
【0170】
このs1008で、複合機10側で複合機パラメータを正常に受け取ることができていないと判定された場合(s1008:NO)、このような正常に受信できない状況が所定の回数(本実施形態においては2回)連続して発生しているか否かをエラーカウントによるカウント値に基づいてチェックし(s1010)、所定の回数連続して発生していなければ(s1010:NO)、エラーカウントをカウントアップした後(s1012)、s1006へ戻る。
【0171】
また、s1010で、正常に受信できない状況が所定の回数連続して発生していたら(s1010:YES)、セッション処理に対してスキャンジョブの停止(終了)を通知した後(s1014)、異常終了を通知するための通知指令をサービス状態情報として出力する(s1016)。このs1014による通知は、図21におけるs818にてセッション処理が受けるものである。また、s1016では、通知指令を、返信情報を格納する記憶領域に書き込む処理を行う。これに基づいて、図19におけるs732にて複合機制御指令が生成され、図20におけるs734にて複合機10側に通知指令として送信されることとなる。この通知指令は、図17におけるs410にて複合機10側で受信される。機能サーバ30側からは、セッションよって、図24のs818により渡され、図29におけるs1014にて受けとられた指令に基づく情報が通知されるため、複合機10では、この情報に基づいて、図20におけるs412にて終了すると判断する(s412:YES)。
【0172】
また、上述のs1008で、複合機10側で複合機パラメータを正常に受け取ることができていると判定された場合(s1008:YES)、複合機パラメータの受信をもって複合機10側でスキャナ(読取部13)の準備が完了しているものとし、セッション処理に対してスキャナの準備完了を通知する。この通知は、図21におけるs816にてセッション処理が受けるものである。
【0173】
次に、機能サーバ30側で処理すべきデータの送信を要求するための入力データ要求を出力する(s1018)。ここでは、入力データ要求を、返信情報を格納する記憶領域に書き込む処理を行う(s1020)。これに基づいて、図19におけるs732にて複合機制御指令が生成され、図20におけるs734にて複合機10側に入力データ要求として送信されることとなる。この入力データ要求は、図17におけるs420にて複合機10側で受信され、これにより、ユーザの操作を受けて入力データが送信されてくる。
【0174】
こうして、入力データ要求を受信した複合機10から入力データを受信したら(s1022)、この入力データの受信が正常に終了していれば(s1024:YES)、正常終了を通知するための通知指令をサービス状態情報として出力した後(s1026)、本スキャンジョブを終了する。このs1026では、通知指令を、返信情報を格納する記憶領域に書き込む処理を行う。これに基づいて、図19におけるs732にて複合機制御指令が生成され、図20におけるs734にて複合機10側に通知指令として送信されることとなる。この通知指令は、図17におけるs432にて複合機10側で受信される。
【0175】
一方、入力データの受信が正常に終了しなければ(s1024:NO)、s1016へ移行し、異常終了を通知するための通知指令をサービス状態情報として出力した後、本スキャンジョブを終了する。この通知指令は、図17におけるs432にて複合機10側で受信される。
(3−5)印刷ジョブ
続いて、図21におけるs820にて起動される印刷ジョブの処理手順を図25に基づいて説明する。
【0176】
この印刷ジョブが開始されると、まず、複合機10から複合機状態情報を受信するまで待機し、この複合機状態情報を受信したら(s1102)、図23におけるs906と同様にエラーカウントを初期化した後(s1104)、複合機パラメータを出力する(s1106)。このs1102にて受信される複合機状態情報は、図18におけるs508にて複合機10から送信されてくるHTTPリクエストであり、これに応答する形でs1106にて複合機パラメータをHTTPレスポンスとして返信する。この複合機パラメータは、図23におけるs908にて受信されたものであって、s1102にて受信された複合機状態情報の送信元である複合機10に対応するパラメータである。
【0177】
この複合機パラメータを受信した複合機10からは、この複合機パラメータを正常に受信できたか否かを示す複合機受取状況が送信されてくるため、図24におけるs1008と同様、この複合機受取状況に基づいて複合機10側で正常に受け取ることができたか否かをチェックする(s1108)。
【0178】
このs1108で、複合機10側で複合機パラメータを正常に受け取ることができていないと判定された場合(s1108:NO)、このような正常に受信できない状況が所定の回数(本実施形態においては2回)連続して発生しているか否かをエラーカウントによるカウント値に基づいてチェックし(s1110)、所定の回数連続して発生していなければ(s1110:NO)、エラーカウントをカウントアップした後(s1112)、s1106へ戻る。
【0179】
また、s1110で、正常に受信できない状況が所定の回数連続して発生していたら(s1110:YES)、セッション処理に対して印刷ジョブの停止(終了)を通知した後(s1114)、異常終了を通知するための通知指令をサービス状態情報として出力する(s1116)。このs1114による通知は、図21におけるs826にてセッション処理が受けるものである。また、s1116では、通知指令を、返信情報を格納する記憶領域に書き込む処理を行う。これに基づいて、図19におけるs732にて複合機制御指令が生成され、図20におけるs734にて複合機10側に通知指令として送信されることとなる。この通知指令は、図18におけるs510にて複合機10側で受信される。機能サーバ30側からは、図21のs852よって、図25のs1114により渡され、図21におけるs826にて受けとられた指令に基づく情報が通知されるため、複合機10では、この情報に基づいて、図18におけるs512にて終了すると判断する(s512:YES)。
【0180】
また、上述のs1108で、複合機10側で複合機パラメータを正常に受け取ることができていると判定された場合(s1108:YES)、複合機パラメータの受信をもって複合機10側で印刷(記録部14)の準備が完了しているものとし、セッション処理に対して印刷の準備完了を通知する(s1118)。この通知は、図21におけるs824にてセッション処理が受けるものである。セッション処理では、この通知を受けて、図22におけるs828〜s836を行い、印刷データの生成を行うこととなる。
【0181】
次に、セッション処理にて生成された印刷データ(図22におけるs832)を複合機10が処理可能な印刷データに変換してなるデータを、返信情報を格納する記憶領域に書き込む処理を行う(s1120)。ここでは、図22のs832で記憶領域に書き込まれた画像データに基づいて、複合機10にて出力可能な印刷コマンドを生成し、ジョブIDおよび通信先アドレスと共に返信情報を格納する記憶領域に書き込む処理を行う。これに基づいて、図19におけるs732にて複合機制御指令が生成され、図20におけるs734にて複合機10側に出力データとして送信されることとなる。この出力データは、図18におけるs520にて複合機10側で受信され、これに基づいて出力データで示される画像の記録部14による記録(印刷)が行われる。
【0182】
こうして、送信される印刷データを受信した複合機10は、図18におけるs532にて複合機状態情報をHTTPリクエストにより送信してくる。
こうして、印刷データを受信した複合機10から複合機状態情報を受信したら(s1122)、この複合機状態情報の受信が正常に終了していれば(s1124:YES)、正常終了を通知するための通知指令をサービス状態情報として出力した後(s1126)、本印刷ジョブを終了する。このs1126では、通知指令を、返信情報を格納する記憶領域に書き込む処理を行う。これに基づいて、図21におけるs732にて複合機制御指令が生成され、図20におけるs734にて複合機10側に通知指令として送信されることとなる。この通知指令は、図18におけるs532にて複合機10側で受信される。
【0183】
一方、複合機状態情報の受信が正常に終了しなければ(s1124:NO)、s1116へ移行し、異常終了を通知するための通知指令をサービス状態情報として出力した後、本印刷ジョブを終了する。この通知指令は、図18におけるs534にて複合機10で受信される。
(3−6)情報変換処理
続いて、複合機10との間における全ての通信に際して実行される情報変換処理の処理手順を図26に基づいて説明する。この情報変換処理は、機能サーバ30の制御部31により実行される処理であるが、上述した各処理(サービス)と、通信部15との間の通信を中継するモジュールとして機能し、両者間の情報の通信が発生した際に開始される。ここでいう「通信の発生」とは、機能サーバ30から複合機10へ向けて情報が送信されること,または,複合機10から情報が受信されたことである。
【0184】
この情報変換処理が起動されると、まず、本情報変換処理に先立って発生した通信に係る情報が仕様情報であるか否かをチェックする(s2002)。この仕様情報は、図12におけるs354を経て同図s312にて複合機10から送信されてくるものである。
【0185】
このs2002で仕様情報であると判定された場合(s2002:YES)、後述する変換モジュール初期化処理を行う(s2004)。ここでは、入出力データのメディア変換に用いる変換モジュールをロードする処理が行われるが、適切な変換モジュールがロードできなかった場合には、エラーフラグが立てられる。なお、図27に変換モジュールの構成を示す。
【0186】
次に、後述する仕様情報変換処理を行う(s2006)。ここでは、s2004にて起動された変換モジュールが確保している記憶領域に、上述した仕様情報を格納する処理を行う。
【0187】
次に、エラーフラグが立っているか否かをチェックし(s2008)、エラーフラグが立っていれば(s2008:YES)、エラー送信情報を生成した後(s2010)、次の処理(s2032)へ移行する一方、エラーフラグが立っていなければ(s2008:NO)、エラー送信情報を生成することなく、次の処理(s2032)へ移行する。
【0188】
また、上述したs2002で、仕様情報でないと判定された場合(s2002:NO)、本情報変換処理に先立って受信した情報がパラメータ要求であるか否かをチェックする(s2012)。このパラメータ要求は、機能サーバ30が、図23におけるs904にて、サービスI/F情報36と共に複合機10に向けて送信(返信)するHTTPレスポンスである。
【0189】
このs2012でパラメータ要求であると判定されたら(s2012:YES)、後述するサービスI/F情報変換処理を行った後(s2014)、次の処理(s2016)へ移行する一方、パラメータ要求でなければ(s2012:NO)、サービスI/F情報変換処理を行うことなく次の処理(s2016)へ移行する。このサービスパラメータ情報変換処理では、パラメータ要求に付加されているサービスI/F情報36を、s2004にてロードされた変換モジュールに応じて変換する処理を行う。
【0190】
次に、本情報変換処理に先立って受信した情報がパラメータであるか否かをチェックする(s2016)。このパラメータは、図12におけるs320を経て同図s312にて複合機10から送信されてくるものである。
【0191】
このs2016でパラメータであると判定されたら(s2016:YES)、後述するサービスパラメータ変換処理を行った後(s2018)、次の処理(s2020)へ移行する一方、パラメータでなければ(s2016:NO)、サービスパラメータ変換処理を行うことなく次の処理(s2020)へ移行する。このサービスパラメータ変換処理では、上述のパラメータを、s2004にてロードされた変換モジュールに応じて変換する処理を行う。
【0192】
次に、本情報変換処理に先立って受信した情報がパラメータ設定であるか否かをチェックする(s2020)。このパラメータ設定とは、図24,図25におけるs1006,s1106にて複合機10から送信されてくる複合機パラメータのことである。
【0193】
このs2020でパラメータ設定であると判定されたら(s2020:YES)、後述する複合機パラメータ変換処理を行った後(s2022)、次の処理(s2024)へ移行する一方、パラメータ設定でなければ(s2020:NO)、複合機パラメータ変換処理を行うことなく次の処理(s2024)へ移行する。この複合機パラメータ変換処理では、上述のパラメータ設定(複合機パラメータ)を、s2004にてロードされた変換モジュールに応じて変換する処理を行う。
【0194】
次に、本情報変換処理に先立って受信した情報が入力データであるか否かをチェックする(s2024)。この入力データは、図17におけるs428にて複合機10から送信されてくるものである。
【0195】
このs2024で入力データであると判定されたら(s2024:YES)、後述する入力メディア変換処理を行った後(s2026)、次の処理(s2028)へ移行する一方、入力データでなければ(s2024:NO)、入力メディア変換処理を行うことなく次の処理(s2028)へ移行する。この入力メディア変換では、上述のようにロードされた変換モジュールによる入力データのメディア変換を行う。
【0196】
次に、本情報変換処理に先立って受信した情報が出力データであるか否かをチェックする(s2028)。この出力データは、図25におけるs1120にて複合機10側で返信情報を格納する記憶領域に書き込まれた後で、この複合機10から送信されてくるものである。
【0197】
このs2028で出力データであると判定されたら(s2028:YES)、後述する出力メディア変換処理を行った後(s2030)、次の処理(s2032)へ移行する一方、出力データでなければ(s2028:NO)、出力メディア変換処理を行うことなく次の処理(s2032)へ移行する。このメディア変換処理は、上述のようにロードされた変換モジュールによる出力データのメディア変換を行う。
【0198】
こうして、出力メディア変換処理を行った後、s2028で出力データでないと判定された場合(s2028:NO)、または、上述したs2010にてエラー送信情報を生成した後、上述した各処理で生成した情報を中継(送信)する(s2032)。ここでは、上述したs2010〜s2030にて生成,変換された情報が、機能サーバ30から複合機10へ向けて送信される情報であれば、その情報を返信情報の格納領域に書き込む一方、複合機10から送信された情報であれば、その情報を該当する処理に渡す。
(3−7)変換モジュール初期化処理
続いて、図26におけるs2004である変換モジュール初期化処理の処理手順を図28に基づいて説明する。
【0199】
この変換モジュール初期化処理が起動されると、まず、上述の情報変換処理に先立って発生した通信に係る情報である仕様情報を読み出した後(s2102)、サービス入出力メディア情報を読み出す(s2104)。このサービス入出力メディア情報とは、あらかじめ機能サーバ30の記憶部16に記憶されたものであって、図29に示すように、各サービスを示すサービス識別情報それぞれに対して、入出力される入力/出力メディアが対応づけられたデータテーブルである。そして、このs2104では、複合機10側に提供すべきサービスを示すサービス識別情報に対応する入力メディアおよび出力メディアが読み出される。
【0200】
次に、入力用変換モジュールをロードする(s2106)。ここでは、以下に示すs2142〜s2168により適切な変換モジュールを選択してロードする処理が行われる。
ここで、このs2142〜s2168について図30に基づいて説明すると、まず、図28におけるs2104にて読み出されたサービス入出力メディア情報の入力メディアを参照する(s2142)。
【0201】
次に、変換対応情報に登録されたサービス入力メディアのうち、s2142にて参照した入力メディアと一致する情報を読み出す(s2144)。この変換対応情報とは、あらかじめ機能サーバ30の記憶部16に記憶されたものであって、図31に示すように、サービス入力/出力メディア,入力/出力デバイス,変換タイプおよび変換モジュールの対応関係を示すデータテーブルである。そして、このs2144では、変換対応情報に登録されている情報のうち、s2142で参照された入力メディアに対応する情報それぞれを読み出す。なお、変換対応情報に登録されている変換モジュールは、全ての入出力デバイスに対するものが用意されているわけではなく、一部の入出力デバイスに対しては用意されていない。また、図31における「(空)」と示した部分は、変換の必要がない場合を表している(つまり、用意されていないものについては、リストアップされていない)。
【0202】
次に、s2144にて読み出された各入力メディアに対応する情報のうち、変換モジュールの情報を全て読み出す(s2146)。
次に、図28におけるs2104にて読み出されたサービス入出力メディア情報の出力メディアを参照する(s2148)。
【0203】
次に、変換対応情報に登録されたサービス入力メディアのうち、s2148にて参照した出力メディアと一致する情報を読み出す(s2150)。
次に、s2150にて読み出された各出力メディアに対応する情報のうち、変換モジュールの情報を全て読み出す(s2152)。
【0204】
次に、s2142〜s2152により該当する変換モジュールを読み出せなかったか否かをチェックし(s2154)、読み出せていないと判定されたら(s2154:YES)、エラーフラグを立てた後(s2156)、次の処理(図28におけるs2108)へ移行する。
【0205】
一方、選択できていると判定されたら(s2154:NO)、その選択された変換モジュールが複数でなければ(s2158:NO)、その選択された変換モジュールが存在しない,つまり上述したように変換モジュールが用意されていない入出力デバイスに対するものであるか否かをチェックする(s2160)。
【0206】
このs2160で変換モジュールが存在すると判定されたら(s2160:NO)、その変換モジュールをロードした後(s2162)、次の処理(図28におけるs2108)へ移行する一方、変換モジュールが存在しないと判定されたら(s2160:YES)、変換モジュールのロードを行うことなく、次の処理(図28におけるs2108)へ移行する。
【0207】
また、上述したs2158で、選択された変換モジュールが複数であると判定されたら(s2158:YES)、仕様情報に優先度が示されているか否かをチェックする(s2164)。本実施形態において、仕様情報には、複合機10の有する入出力デバイスそれぞれについての優先度が示されているものが存在するため(図15における「Device_Priority」タグ参照;セットされた値が小さいほど優先度が高いことを示す)、このs2158では、仕様情報に優先順位が示されているか否かがチェックされる。
【0208】
このs2158で、優先度が示されていると判定された場合(s2158:YES)、選択された変換モジュールに対応づけて変換対応情報に登録されている入力デバイスのうち、仕様情報において優先度が最も高く設定されている(優先度が最小の)ものを選択する(s2166)。
【0209】
一方、s2158で、優先度が示されていないと判定された場合(s2158:NO)、選択された変換モジュールに対応づけて変換対応情報に登録されている入力デバイスのうち、この変換対応情報において上位に位置する(最上部に登録されている)変換モジュールを選択する(s2168)。
【0210】
こうして、s2166,s2168にて変換モジュールを選択したら、s2160に移行し、変換モジュールが存在しなければ、そのまま次の処理(図28におけるs2108)へ移行する一方、変換モジュールが存在すれば、s2162に移行し、選択した変換モジュールをロードした後、次の処理(図28におけるs2108)へ移行する。
【0211】
こうして、s2152〜s2168を終えた後、図28に戻り、エラーフラグが立っているか否かをチェックする(s2108)。このエラーフラグは、上述したs2154で変換モジュールが選択できなかった場合に、s2156において立てられるため、ここでは、入力変換モジュールが選択できなかったか否かをチェックしていることになる。
【0212】
このs2108でエラーフラグが立っていると判定されたら(s2108:YES)、本変換モジュール初期化処理を終えて、図26におけるs2006へ移行する。
一方、エラーフラグが立っていないと判定されたら(s2108:NO)、入力用変換モジュールがロードされているか否かを判定する(s2109)。
【0213】
このs2109でロードされていると判定された場合(s2109:YES)、入力変換モジュールの処理タイプに[複合機→サービス]を代入してから(s2110)次の処理(s2112)へ移行する一方、s2109でロードされていないと判定された場合(s2109:NO)、処理タイプの代入を行うことなく次の処理(s2112)へ移行する。この「入力変換モジュールの処理タイプ」とは、ロードされた変換モジュールが情報の格納領域として確保しているものである(図27における「処理タイプ格納領域」参照)。
【0214】
次に、出力用変換モジュールをロードする(s2112)。ここでは、上述したs2152〜2168と同様の処理により適切な変換モジュールをロードする処理が行われるだけであるため、詳細な説明は省略する。具体的には、s2152〜2168に係る説明のうち、「入力デバイス」を「出力デバイス」と読み替え、「入力メディア」を「出力メディア」と読み替えた説明となる。
【0215】
こうして、s2112を終えた後、上述したs2108と同様、エラーフラグが立っているか否かをチェックする(s2114)。
このs2114でエラーフラグが立っていると判定されたら(s2114:YES)、本変換モジュール初期化処理を終えて、図26におけるs2006へ移行する。
【0216】
一方、エラーフラグが立っていないと判定されたら(s2114:NO)、出力用変換モジュールがロードされているか否かを判定する(s2115)。
このs2115でロードされていると判定された場合(s2115:YES)、出力変換モジュールの処理タイプに[サービス→複合機]を代入した後(s2116)、本変換モジュール初期化処理を終えて図26におけるs2006へ移行する一方、s2115でロードされていないと判定された場合(s2115:NO)、処理タイプの代入を行うことなく、本変換モジュール初期化処理を終えて図26におけるs2006へ移行する。この「出力変換モジュールの処理タイプ」とは、ロードされた変換モジュールが情報の格納領域として確保しているものである(図27における「処理タイプ格納領域」参照)。
(3−8)仕様情報変換処理
続いて、図26におけるs2006である仕様情報変換処理の処理手順を図32に基づいて説明する。
【0217】
この仕様情報変換処理が起動されると、まず、図28におけるs2102と同様、仕様情報を読み出す(s2172)。
次に、このs2172で読み出した仕様情報の先頭の情報を、以下の処理を行う処理対象とする(s2174)。
【0218】
次に、仕様情報における全ての情報についての処理が完了したか否かをチェックし(s2176)、完了していなければ(s2176:NO)、処理対象の情報が入力デバイスに関するものであるか否かをチェックする(s2178)。
【0219】
このs2178で入力デバイスに関するものであると判定された場合(s2178:YES)、図30におけるs2162により入力変換用モジュールがロードされていれば(s2180:YES)、その入力変換用モジュールのデバイス仕様情報格納領域へ処理対象の情報を追加し(s2182)、処理対象の情報を入力変換用モジュールの出力仕様情報に差し替えた後(s2184)、次の情報を処理対象として(s2186)、s2176へ戻る。この「デバイス仕様情報格納領域」とは、ロードされた変換モジュールが情報の格納領域として確保しているものである(図27における「デバイス仕様情報格納領域」参照)。また、「出力仕様情報」とは、ロードされた変換モジュールが情報の格納領域として確保しているものであって(図27における「出力仕様情報」参照)、あらかじめ定められた仕様情報がセットされている。
【0220】
一方、s2180で、図30におけるs2162により入力変換用モジュールがロードされていなければ(s2180:NO)、上記した情報の追加,差し替えを行うことなく、s2186へ移行し、次の情報を処理対象としてからs2176へ戻る。
【0221】
また、s2178で入力デバイスに関するものでないと判定された場合(s2178:NO)、出力デバイスに関するものであるか否かをチェックする(s2188)。
このs2188で出力デバイスに関するものであると判定された場合(s2188:YES)、図30におけるs2162により出力変換用モジュールがロードされていれば(s2190:YES)、出力用変換モジュールのデバイス仕様情報格納領域へ情報を追加し(s2192)、処理対象の情報を出力用変換モジュールの入力仕様情報に差し替えた後(s2194)、s2186へ移行し、次の情報を処理対象としてからs2176へ戻る。なお、この「入力仕様情報」とは、ロードされた変換モジュールが情報の格納領域として確保しているものであって(図27における「入力仕様情報」参照)、あらかじめ定められた仕様情報がセットされている。
【0222】
こうして、s2176〜s2194を仕様情報の全ての情報について行ったら、s2176で仕様情報における全ての情報についての処理が完了したと判定して(s2176:YES)、本仕様情報変換処理を終了する。このように、本仕様情報変換処理によって、s2172にて読み出した仕様情報が、必要に応じて変換モジュールの入力/出力仕様情報に変換されることとなる。また、必要に応じて図23におけるs932にて入力される仕様情報に変換されることとなる。
(3−9)サービスI/F情報変換処理
続いて、図26におけるs2014であるサービスI/F情報変換処理の処理手順を図33,図34に基づいて説明する。なお、以下の説明において示される変換モジュールの構成について説明すると、この変換モジュールは、図27に示すように、変換処理プログラム本体の他、あらかじめ定められたパラメータとして、入力仕様情報,出力仕様情報,入力デバイス用サービスI/F情報,出力デバイス用サービスI/F情報などの記憶領域を有しており、また、以下の処理において情報を格納するために確保された格納領域として、処理タイプ格納領域,デバイス仕様情報格納領域,サービス側サービスI/F情報格納領域,入力パラメータ格納領域,出力パラメータ格納領域などを有している。
【0223】
これらのうち、あらかじめ定められたパラメータを構成する入力仕様情報は、出力用変換モジュールとして利用される場合にUIジョブに渡されることとなる情報であり、変換処理プログラムによる変換処理における入力仕様情報となるものである。また、出力仕様情報は、入力用変換モジュールとして利用される場合にUIジョブに渡されることとなる情報であり、変換処理プログラムによる変換処理における出力仕様情報となるものである。また、入力デバイス用サービスI/F情報は、入力用変換モジュールとして利用される場合に複合機10に送信することとなる情報であり、上述したサービスI/F情報36と同じフォーマットで形成された入力デバイスの設定項目を定義する情報である。そして、出力デバイス用サービスI/F情報は、出力用変換モジュールとして利用される場合に複合機10に送信することとなる情報であり、上述したサービスI/F情報36と同じフォーマットで形成された出力デバイスの設定項目を定義する情報である。
【0224】
また、情報を格納するために確保された格納領域を構成する処理タイプ格納領域は、変換処理プログラムによる変換の方向を示す情報を格納する領域であり、ここに格納された情報により変換処理プログラムが入力フィルタとして動作する([複合機→サービス]の場合)のか、出力フィルタとして動作する([サービス→複合機]の場合)のかが切り替えられることとなる。また、デバイス仕様情報格納領域は、複合機10側から受け取った仕様情報のうち、入出力いずれかの関係するデバイスについての仕様を定義する情報を格納する領域である。また、サービス側サービスI/F情報格納領域は、サービス側から受け取ったサービスI/F情報36のうち、入出力いずれかの関係するパラメータについての設定項目を定義する情報を格納する領域である。また、入力パラメータ格納領域は、変換処理を行う際における入力側(仮想)デバイスのパラメータを格納する領域である。そして、出力パラメータ格納領域は、変換処理を行う際における出力側(仮想)デバイスのパラメータを格納する領域である。
【0225】
このサービスI/F情報変換処理が起動されると、まず、上述の情報変換処理に先立って発生した通信に係る情報であるパラメータ要求に付加されているサービスI/F情報36を読み出す(s2202)。
【0226】
次に、s2202にて読み出されたサービスI/F情報36における先頭の設定項目を処理対象とする(s2204)。
次に、サービスI/F情報36における全ての設定項目に対する以下の処理が完了したか否かをチェックし(s2206)、完了していなければ(s2206:NO)、処理対象の設定項目が入力デバイスに関する設定項目であるか否かをチェックする(s2208)。
【0227】
このs2208で入力デバイスに関する設定項目でないと判定された場合(s2208:NO)、そのまま次の処理(s2226)へ移行する一方、入力デバイスに関する設定項目であると判定された場合(s2208:YES)、図30におけるs2162により入力変換用モジュールがロードされていなければ(s2210:NO)、次の設定項目を処理対象とした後(s2212)、s2206へ戻る。
【0228】
一方、s2210で、図30におけるs2162により入力変換用モジュールがロードされていれば(s2210:YES)、入力用変換モジュールのサービス側サービスI/F情報格納領域に、処理対象の設定項目におけるパラメータを登録(保存)する(s2214)。この「サービス側サービスI/F情報格納領域」とは、ロードされた変換モジュールが情報の格納領域として確保しているものである(図27における「サービス側サービスI/F情報格納領域」参照)。
【0229】
次に、サービスI/F情報36に代用設定項目があるか否かをチェックする(s2216)。この代用設定項目とは、「value_Name」の値として、先頭に「_alt_」の文字が挿入された値となっている設定項目のことである。そして、このs2216では、この先頭に「_alt_」の文字が挿入された値の「value_Name」が含まれている場合に、代用設定項目があると判定する。なお、図35に、この「value_Name」の値について、それぞれ対応するデバイス,入出力(入力および出力のいずれに用いられるか),および,その値の定義を示す。
【0230】
このs2216で、代用設定項目があると判定された場合(s2216:YES)、その設定項目を入力デバイスに対応した代用設定項目に差し替えた後(s2218)、次の処理(s2226)へ移行する。このs2218では、処理対象の設定項目のパラメータを、入力デバイスに対応する代用設定項目における「_alt_」を削除したものに差し替える。例えば、図13における翻訳コピーサービスでは、入力デバイスとしてテキスト入力のためにキーボード(入力部12)を必要とするが(図29参照)、キーボードを有していない場合に、その代用設定項目として「_alt_scan_res」の「_alt_」を削除した「scan_res」に書き換える。
【0231】
また、s2216で、代用設定項目がないと判定された場合(s2216:NO)、入力変換モジュールに代用設定項目があるか否かをチェックする(s2220)。この「代用設定項目」とは、入力変換モジュールにおける入力デバイス用サービスI/F情報にセットされたパラメータである。
【0232】
このs2220で代用設定項目があると判定された場合(s2220:YES)、入力変換モジュールの入力デバイス用サービスI/F情報から設定項目を読み出して差し替えた後(s2222)、次の処理(s2226)へ移行する。この「入力デバイス用サービスI/F情報」とは、ロードされた変換モジュールが情報の格納領域として確保しているものであって(図27における「入力デバイス用サービスI/F情報」参照)、本実施形態においては、あらかじめ定められたサービスI/F情報がセットされているが、何もセットされていない設定とすることも可能である。
【0233】
また、s2222で、代用設定項目がないと判定された場合(s2222:NO)、デバイスに対応した固定設定項目を読み出して差し替えた後(s2224)、次の処理(s2226)へ移行する。この「固定設定項目」は、機能サーバ30の図示しないハードディスク内にあらかじめ記憶された入出力デバイスに対応づけられた設定項目の情報である。
【0234】
次に、処理対象の設定項目が処理対象の設定項目が出力デバイスに関する設定項目であるか否かをチェックする(s2226)。
このs2226で出力デバイスに関する設定項目でないと判定された場合(s2226:NO)、s2212へ移行し、次の設定項目を処理対象とした後、s2206へ戻る一方、出力デバイスに関する設定項目であると判定された場合(s2226:YES)、図30におけるs2162により出力変換用モジュールがロードされていなければ(s2228:NO)、s2212へ移行し、次の設定項目を処理対象とした後、s2206へ戻る。
【0235】
一方、s2228で、図30におけるs2162により出力変換用モジュールがロードされていれば(s2228:YES)、出力用変換モジュールのサービス側サービスI/F情報格納領域に、処理対象の設定項目におけるパラメータを格納する(s2230)。
【0236】
次に、上述したs2216と同様に、サービスI/F情報36に代用設定項目があるか否かをチェックする(s2232)。
このs2232で、代用設定項目があると判定された場合(s2232:YES)、その設定項目を出力デバイスに対応した代用設定項目に差し替えた後(s2234)、s2212へ移行し、次の設定項目を処理対象とした後、s2206へ戻る。このs2234では、処理対象の設定項目のパラメータを、出力デバイスに対応する代用設定項目における「_alt_」を削除したものに差し替える。
【0237】
また、上述したs2232で、代用設定項目がないと判定された場合(s2232:NO)、出力変換モジュールに代用設定項目があるか否かをチェックする(s2236)。
このs2236で出力変換モジュールがあると判定された場合(s2236:YES)、出力変換モジュールの出力デバイス用サービスI/F情報から設定項目を読み出して差し替えた後(s2238)、s2212へ移行し、次の設定項目を処理対象とした後、s2206へ戻る。この「出力デバイス用サービスI/F情報」とは、ロードされた変換モジュールが情報の格納領域として確保しているものであって(図27における「出力デバイス用サービスI/F情報」参照)、本実施形態においては、あらかじめ定められたサービスI/F情報がセットされているが、何もセットされていない設定とすることも可能である。
【0238】
また、s2236で、代用設定項目がないと判定された場合(s2236:NO)、上述したs2224と同様、デバイスに対応した固定設定項目を読み出して差し替えた後(s2240)、s2212へ移行し、次の設定項目を処理対象とした後、s2206へ戻る。
【0239】
この後、s2206〜s2240をサービスI/F情報36の全ての設定項目について行ったら、s2206で全ての設定項目についての処理が完了したと判定して(s2206:YES)、本サービスI/F情報変換処理を終了する。このように、本サービスI/F情報変換処理によって、s2202にて読み出したサービスI/F情報36が、必要に応じて変換モジュールのサービスI/F情報36に変換されることとなる。また、必要に応じて図12のs318にて複合機10が受け取るサービスI/F情報36に変換されることとなる。
(3−10)サービスパラメータ変換処理
続いて、図26におけるs2018であるサービスパラメータ処理の処理手順を図36,図37に基づいて説明する。
【0240】
このサービスパラメータ変換処理が開始されると、まず、上述の情報変換処理に先立って発生した通信に係る情報であるパラメータ(サービスパラメータ)を読み出す(s2302)。
【0241】
次に、s2302にて読み出したパラメータにおける先頭の設定項目を、以下の処理を行う処理対象とする(s2304)。
次に、サービスパラメータにおける全ての設定項目に対する以下の処理が完了したか否かをチェックし(s2306)、完了していなければ(s2306:NO)、処理対象の設定項目が入力デバイスに関する設定項目であるか否かをチェックする(s2308)。
【0242】
このs2308で、入力デバイスに関する設定項目であれば(s2308:YES)、図30におけるs2162により入力変換用モジュールがロードされていなければ(s2310:NO)、次の設定項目を処理対象とした後(s2312)、s2306へ戻る。
【0243】
また、s2310で、図30におけるs2162により入力変換用モジュールがロードされていれば(s2210:YES)、入力用変換モジュールの入力パラメータ格納領域に、処理対象の設定項目におけるパラメータを登録(保存)する(s2314)。この「入力パラメータ格納領域」とは、ロードされた変換モジュールが情報の格納領域として確保しているものである(図27における「入力パラメータ格納領域」参照)。
【0244】
次に、処理対象の設定項目におけるパラメータが差し替え済みであるか否かをチェックする(s2316)。
このs2316で、差し替え済みであると判定された場合(s2316:YES)、s2312へ移行し、次の設定項目を処理対象とした後、s2306へ戻る。
【0245】
一方、s2316で、差し替え済みではないと判定された場合(s2316:NO)、出力パラメータ格納領域に、サービスI/F情報格納領域に記憶した設定項目に値を設定した情報を生成して、処理対象の設定項目におけるパラメータを、この情報に差し替える(s2318)。ここでは、入力用変換モジュール内の変換処理プログラムにあらかじめ組み込まれた値をセットすることにより情報を生成し、処理対象の設定項目におけるパラメータを、こうして生成した情報に差し替える。
【0246】
こうして、s2318を終えた後、または、s2308で入力デバイスに関する設定項目でない場合(s2308:NO)、処理対象の設定項目が出力デバイスに関する設定項目であるか否かをチェックする(s2320)。
【0247】
このs2320で、出力デバイスに関する設定項目でないと判定された場合(s2320:NO)、s2312へ移行し、次の設定項目を処理対象とした後、s2406へ戻る。
【0248】
また、s2320で、出力デバイスに関する設定項目であると判定された場合(s2320:YES)、図30におけるs2162により出力変換用モジュールがロードされていなければ(s2332:NO)、s2312へ移行し、次の設定項目を処理対象とした後、s2306へ戻る。
【0249】
一方、s2320で、図30におけるs2162により出力変換用モジュールがロードされていれば(s2322:YES)、出力用変換モジュールの出力パラメータ格納領域に、処理対象の設定項目におけるパラメータを格納する(s2324)。この「出力パラメータ格納領域」とは、ロードされた変換モジュールが情報の格納領域として確保しているものである(図27における「出力パラメータ格納領域」参照)。
【0250】
次に、処理対象の設定項目におけるパラメータが差し替え済みであるか否かをチェックする(s2326)。
このs2326で、差し替え済みであると判定された場合(s2326:YES)、s2312へ移行し、次の設定項目を処理対象とした後、s2306へ戻る。
【0251】
一方、s2326で、差し替え済みではないと判定された場合(s2326:NO)、出力パラメータ格納領域に、サービスI/F情報格納領域に記憶した設定項目に値を設定した情報を生成して、処理対象の設定項目におけるパラメータを、この情報に差し替える(s2328)。ここでは、出力用変換モジュール内の変換処理プログラム内にあらかじめ組み込まれた値をセットすることにより情報を生成し、処理対象の設定項目におけるパラメータを、こうして生成した情報に差し替える。
【0252】
このs2328を終えた後、s2312へ移行し、次の設定項目を処理対象とした後、s2306へ戻る。
この後、s2306〜s2328をサービスパラメータの全ての設定項目について行ったら、s2306で全ての設定項目についての処理が完了したと判定して(s2306:YES)、本サービスパラメータ変換処理を終了する。このように、本サービスパラメータ変換処理によって、s2302にて読み出したサービスパラメータが、必要に応じて変換モジュールの入出力パラメータ,または,必要に応じて図23のs908に入力されるパラメータに変換されることとなる。
(3−11)複合機パラメータ変換処理
続いて、図26におけるs2022である複合機パラメータ変換処理の処理手順を図38,図39に基づいて説明する。
【0253】
この複合機パラメータ変換処理が起動されると、まず、上述の情報変換処理に先立って発生した通信に係る情報である複合機パラメータ(パラメータ設定)を読み出す(s2402)。
【0254】
次に、s2402にて読み出したパラメータにおける先頭の設定項目を、以下の処理を行う処理対象とする(s2404)。
次に、複合機パラメータにおける全ての設定項目に対する以下の処理が完了したか否かをチェックし(s2406)、完了していなければ(s2406:NO)、処理対象の設定項目が入力デバイスに関する設定項目であるか否かをチェックする(s2408)。
【0255】
このs2408で、入力デバイスに関する設定項目であれば(s2408:YES)、図30におけるs2162により入力変換用モジュールがロードされていなければ(s2410:NO)、次の設定項目を処理対象とした後(s2412)、s2406へ戻る。
【0256】
また、s2410で、図30におけるs2162により入力変換用モジュールがロードされていれば(s2410:YES)、入力用変換モジュールの出力パラメータ格納領域に、処理対象の設定項目におけるパラメータを登録(保存)する(s2414)。
【0257】
次に、処理対象の設定項目におけるパラメータが差し替え済みであるか否かをチェックする(s2416)。
このs2416で、差し替え済みであると判定された場合(s2416:YES)、s2412へ移行し、次の設定項目を処理対象とした後、s2406へ戻る。
【0258】
一方、s2416で、差し替え済みではないと判定された場合(s2416:NO)、処理対象の設定項目におけるパラメータを、入力用変換モジュールの入力パラメータ格納領域にセットされたパラメータに差し替える(s2418)。
【0259】
こうして、s2418を終えた後、または、s2408で入力デバイスに関する設定項目でない場合(s2408:NO)、処理対象の設定項目が出力デバイスに関する設定項目であるか否かをチェックする(s2420)。
【0260】
このs2420で、出力デバイスに関する設定項目でないと判定された場合(s2420:NO)、s2412へ移行し、次の設定項目を処理対象とした後、s2406へ戻る。
【0261】
また、s2420で、出力デバイスに関する設定項目であると判定された場合(s2420:YES)、図30におけるs2162により出力変換用モジュールがロードされていなければ(s2422:NO)、s2412へ移行し、次の設定項目を処理対象とした後、s2406へ戻る。
【0262】
一方、s2420で、図30におけるs2162により出力変換用モジュールがロードされていれば(s2422:YES)、出力用変換モジュールの入力パラメータ格納領域に、処理対象の設定項目におけるパラメータを格納する(s2424)。
【0263】
次に、処理対象の設定項目におけるパラメータが差し替え済みであるか否かをチェックする(s2426)。
このs2426で、差し替え済みであると判定された場合(s2426:YES)、s2412へ移行し、次の設定項目を処理対象とした後、s2406へ戻る。
【0264】
一方、s2426で、差し替え済みではないと判定された場合(s2426:NO)、出力用変換モジュールの出力パラメータ格納領域に、処理対象の設定項目におけるパラメータを格納する(s2428)。
【0265】
このs2428を終えた後、s2412へ移行し、次の設定項目を処理対象とした後、s2306へ戻る。
この後、s2406〜s2428をサービスパラメータの全ての設定項目について行ったら、s2406で全ての設定項目についての処理が完了したと判定して(s2406:YES)、本サービスパラメータ変換処理を終了する。このように、本サービスパラメータ変換処理によって、s2402にて読み出した複合機パラメータが、必要に応じて変換モジュールの入出力パラメータに変換されることとなる。また、必要に応じて図17のs410,図18のs510の処理にて複合機10が受け取る複合機パラメータに変換されることとなる。
(3−12)入力/出力メディア変換処理
続いて、図26におけるs2026,s2030である入力メディア変換処理,出力メディア変換処理の処理手順を図40(a),(b)に基づいて説明する。
【0266】
この入力/出力メディア変換処理が起動されると、まず、入力/出力用変換モジュールがロードされているか否かがチェックされる(s2502,s2512)。ここでは、入力メディア変換処理(図40(a))の場合であれば、図30におけるs2162にて変換モジュールがロードされ、かつ、こうしてロードされた変換モジュールが入力用変換モジュールであることをチェックする。また、出力メディア変換処理(図40(b))の場合であれば、図30におけるs2162にて変換モジュールがロードされ、かつ、こうしてロードされた変換モジュールが出力用変換モジュールであることをチェックする。
【0267】
このs2502,s2512にて入力/出力用変換モジュールがロードされていると判定されたら(s2502:YES,s2512:YES)、その変換モジュールにより、上述の情報変換処理に先立って発生した通信に係る情報である入力/出力データのメディア変換処理を行う(s2504,s2514)。
【0268】
ここでは、入力メディア変換処理(図40(a))の場合であれば、入力データ(図17のs428の処理にて複合機10より送信されたデータ)を、入力用変換モジュールの入力パラメータ格納領域のパラメータで規定される状態としたものとして入力し、メディア変換処理を施してメディア変換し、その変換後のデータを、入力用変換モジュールの出力パラメータ格納領域のパラメータで規定される状態としたデータを得る。一方、出力メディア変換処理(図40(b))の場合であれば、出力データ(図25のs112の処理にて印刷ジョブから出力されたデータ)を、出力用変換モジュールの入力パラメータ格納領域のパラメータで規定される状態としたものとして入力し、メディア変換処理を施してメディア変換し、その変換後のデータを、出力用変換モジュールの出力パラメータ格納領域のパラメータで規定される状態としたものを得る。また、上述したメディア変換処理としては、例えば、テキストで構成される画像を示す画像データにOCR処理を施すことによりテキストデータ化したり、テキストデータを周知のテキスト読み上げプログラムにて音声データ化したり、または、これらの逆のメディア変換などを行う。
(3−13)デバイス優先度設定処理
続いて、操作部12によりあらかじめ定められた操作が行われた際に開始されるデバイス優先度設定処理の処理手順を図41に基づいて説明する。
【0269】
このデバイス優先度設定処理が起動すると、まず、複合機10に記憶している仕様情報(図15)に基づいて、入出力デバイスの優先度情報をディスプレイ52に表示させる(s2502)。ここでは、図42(a),(b)に示すように、入出力デバイスの優先度情報を示す優先度選択画面を表示させる。この優先度選択画面は、操作部12への操作により切替可能な入力デバイスの選択用画面(図42(a)参照),出力デバイスの選択画面(図42(b)参照)からなり、それぞれデバイスの優先順位を入力するための入力欄がデバイス毎に設けられたものである。この優先度選択画面が表示された後、ユーザは、操作部12により、入力デバイスの選択画面に切り替える入力切替操作(左の方向キー48の押下),出力デバイスの選択画面に切り替える出力切替操作(右の方向キー49の押下),いずれかの入出力デバイスを指定する指定操作(上下の方向キー46,47の押下),指定した入出力デバイスの優先度を変更する変更操作,変更した優先度を確定する確定操作(OKキー50の押下),優先度の変更をキャンセルするキャンセル操作(キャンセルキー51の押下)などを行うことができる。
【0270】
こうして、優先度選択画面が表示された後、ユーザによる操作(キー入力)が発生したら(s2504)、その操作が入力切替操作であれば(s2506:YES)、仕様情報に基づき、優先度選択画面を入力デバイス用の選択画面に切り替えた後(s2508)、s2504へ戻る。
【0271】
また、ユーザによる操作が出力切替操作であれば(s2506:NO,s2510:YES)、仕様情報に基づき、優先度選択画面を出力デバイス用の選択画面に切り替えた後(s2512)、s2504へ戻る。
【0272】
また、ユーザによる操作が指定操作であれば(s2510:NO,s2514:YES)、入力カーソルを移動させた状態とすることで指定操作により指定された内容を優先度選択画面に反映させた後(s2516)、s2504へ戻る。このs2516では、優先度選択画面における入力欄に表示されているカーソル(図42における破線の四角参照)を、押下された上下の方向キー46,47の方向に位置する別の入力欄へ移動させる。
【0273】
また、ユーザによる操作が変更操作であれば(s2514:NO,s2518:YES)、カーソル位置に値を入力した状態とすることで変更操作により変更された内容を優先度選択画面に反映させた後(s2520)、s2504へ戻る。このs2520では、変更操作により変更された優先度をカーソルが表示されている入力欄に入力された状態とする。
【0274】
また、ユーザによる操作が確定操作であれば(s2518:NO,s2522:YES)、この時点で各入力欄に入力されている優先度の値に矛盾がなければ(s2524:YES)、この入力欄に入力された優先度の値を、その入力欄に対応する入出力デバイスの優先度として仕様情報に記憶(保存)した後(s2530)、本デバイス優先度設定処理を終了する一方、各入力欄に入力されている優先度の値に矛盾があれば(s2524:NO)、図42(c)に示すように、エラー表示を所定時間(本実施形態においては2秒)間行った後(s2526)、優先度選択画面を、本デバイス優先度設定処理が行われる直前の状態に戻した後(s2528)、s2504へ戻る。なお、上述したs2524では、別々の入力欄に優先度として同一の値が入力された状態になっているか否かがチェックされ、同一の値が入力された状態になっていれば、優先度の値に矛盾があると判定する。
【0275】
また、ユーザによる操作がキャンセル操作であれば(s2522:NO,s2532:YES)、本デバイス優先度設定処理を終了する。
そして、ユーザによる操作が上述したいずれの操作でもなければ(s2532:NO)、拒否音(ブザー音など)を鳴動させた後(s2534)、s2504へ戻る。
【0276】
[効果]
このように構成されたサービス提供システムにおいて、機能サーバ30は、図40の入力/出力メディア変換処理を実行することで、複合機10側にサービスを提供できるように構成されている。この入力/出力メディア変換処理は、図26の情報変換処理を経て、複合機10の有する入出力デバイス,つまりこれら入出力デバイスで実現される機能に対応するメディアで処理結果(入力/出力データ)が得られる変換モジュールにより行われる。そのため、これにより得られた処理結果であれば、複合機10側でこの処理結果に基づいて複合機10の有する機能を実現することができる。よって、複合機10側においては、複合機10自身が有していない機能が必要なサービスであったとしても、そのサービスの提供を、複合機10自身が対応するメディア(実現可能な機能で対応可能なメディア)の処理結果により間接的に受けることができる。
【0277】
また、上記実施形態においては、複合機10の有する印刷機能により印刷する画像を示す画像データ,および,スキャナ機能により画像を読み取って生成した画像データのうち、少なくとも一方の機能を、機能サーバ30によるサービスの提供を受けて実現することができる。
【0278】
また、機能サーバ30は、図30におけるs2142〜s2154にて、複合機10から取得した仕様情報,および,複合機10側で記憶しているサービス入出力メディア情報に基づいて判定を行うことで、複合機10側で必要な機能を有しているか否か(同図s2154にて「該当する」場合か否か)を判定することができる。
【0279】
そして、このように仕様情報は、複合機10から取得されるため、複合機10の入出力デバイスに関するパラメータを機能サーバ30側で管理する必要がなく、このようなパラメータの機能サーバ30側に対する登録作業などの負担が生じることはない。このような作業負担は、本サービス提供システムを構成する複合機10の数を多くするほど大きくなってしまうため、本サービス提供システムのような構成とすることにより、大幅に作業負担を軽減することができる。
【0280】
さらに、複合機10の入出力デバイスに関するパラメータを機能サーバ30側で管理する構成を想定すると、ユーザによるパラメータの登録作業が必要になり、このときのユーザによる入力ミスなどにより誤ったパラメータが登録されてしまい、システム全体が正常に動作しなくなってしまう虞があるが、本サービス提供システムのような構成であれば、複合機10から複合機10自身のパラメータが通知され、これに基づいて以降の処理を行っているため、誤ったパラメータによりシステム全体が正常に動作しなくなる、といった虞がない。
【0281】
また、機能サーバ30は、図30におけるs2142〜s2154にて、複合機10から取得した仕様情報,および,複合機10側で記憶しているサービス入出力メディア情報に基づいて判定を行うことで、複合機10側で必要な機能を有しているか否か(同図s2154にて「該当する」場合か否か)を判定し、以降の処理で、その機能に対応する変換モジュールを読み出すように構成されている。そして、このとき読み出すべき変換モジュールが複数あった場合には、読み出すべき変換モジュールを、同図s2164により、仕様情報に規定された優先順位に基づいて絞り込むことができる。
【0282】
また、このときの優先順位については、機能サーバ30側で、図41に示したデバイス優先度設定処理を実行することにより、ユーザに指定させることができ、以降、機能サーバ30は、こうして指定された優先順位に基づいて変換モジュールを選択するようにできる。
【0283】
また、図40におけるs2504,s2514にてメディア変換処理を行う際に用いられる変換モジュールは、複合機10から機能サーバ30へ送信されたデータに対するメディア変換処理だけでなく、機能サーバ30から複合機10へ送信されるデータに対するメディア変換処理をも行うことができるため、両者間の一方向にデータが送信されるサービスだけでなく、双方向でデータがやりとりされるサービスについても、複合機10側で提供を受けることができる。また、同図s2502,s2512にて入出力用変換モジュールがロードされている場合に、データ変換が行われるため、一方向に対するデータのみ変換を要する場合にも適用できる。
【0284】
また、複合機10は、図12におけるs314,s316にて機能サーバ30からパラメータ要求を受けたタイミングで、ユーザにパラメータを指定させることができ、そのパラメータを機能サーバ30へ送信することで、以降のサービスの提供を受けることができるようになる。
【0285】
また、このとき、パラメータ要求と共に機能サーバ30から送信されるサービスI/F情報36は、図33,図34のサービスI/F情報変換処理により機能サーバ30が複合機10の有する入出力デバイスに対応する内容に変換されたものであるため、はじめから複合機10の有する入出力デバイスで利用可能なサービスについてのパラメータを指定させることができる。
【0286】
また、図33のs2216〜s2224や、図34のs2232〜s2240のように、例えば、スキャナの解像度などサービスで入出力に必要な能力が制限される場合など、サービスI/F情報36に代用設定項目を設けることで、あらかじめ複合機10側で選択できるパラメータを制限できる。また、サービスI/F情報36に代用設定項目がなくとも、入出力変換モジュールに代用設定項目があれば、その設定項目により複合機10側で選択できるパラメータを決定することが可能となる。
【0287】
[変形例]
以上、本発明の実施の形態について説明したが、本発明は、上記実施形態に何ら限定されることはなく、本発明の技術的範囲に属する限り種々の形態をとり得ることはいうまでもない。
【0288】
例えば、上記実施形態においては、本発明における画像処理装置として、複合機10を適用した構成を例示したが、機能サーバ30により提供されるサービスを受けて機能を実現できる画像処理装置であれば、複合機以外の装置として、例えば、プリンタ装置,スキャナ装置,ファクシミリ装置などに適用することも可能である。
【0289】
また、上記実施形態において、機能サーバ30が、パラメータ要求指令をサービスI/F情報36と共に送信する構成を例示した。しかし、このように、パラメータ要求指令およびサービスI/F情報36を送信する処理については、機能サーバ30と別体の装置(単体の装置または連携して動作する複数の装置)により実現するように構成してもよい。
【0290】
また、上記実施形態において、複合機10は、ディレクトリサーバ20のサービス定義情報記憶部24に記憶されている複数のサービス定義情報25のうち、まずトップのサービス定義情報25を受信してカテゴリを選択し、次に、その選択したカテゴリに対応するサービス定義情報25を受信してサービスを選択するようにしているが、これに限ったものではない。すなわち、ディレクトリサーバ20のサービス定義情報記憶部24に記憶されている複数の(例えばすべての)サービス定義情報25を一度に受信するようにしてもよい。
【0291】
また、サービスI/F情報36が設定を要求するパラメータとしては、上記実施形態で例示したもの(解像度等)に限らず、サービスの内容に応じて様々なものが考えられる。例えば、モノクロ/カラーの選択、トナーの濃さ(印刷濃度)、音声のボリューム(音量)等が挙げられる。
【0292】
また、上記実施形態のサービス提供システムでは、複合機10、ディレクトリサーバ20及び機能サーバ30をそれぞれ1台ずつ備えた構成を例示しているが、このような構成はあくまでも説明を容易にするための構成例にすぎず、本発明のサービス提供システムは、これ以外にも様々な構成をとることが可能である。すなわち、本発明のサービス提供システムにおいて、複合機10は複数設けられていてもよい。具体的には、複数の複合機10が、共通のディレクトリサーバ20からのサービス定義情報25を受信し、共通の機能サーバ30にサービスを要求するようにすることができる。
【0293】
また、本発明のサービス提供システムにおいて、ディレクトリサーバ20は複数設けられていてもよい。具体的には、例えば、トップのサービス定義情報25を送信するディレクトリサーバ20と、各カテゴリのサービス定義情報25を送信するディレクトリサーバ20とを、別々のサーバで構成することも可能である。また、ディレクトリサーバ20を設けずに、直接機能サーバ30にサービスからサービスの提供を受ける構成であってもよい。
【0294】
また、本発明の画像システムにおいて、機能サーバ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が送信するようにしてもよい。また、変換処理は、機能サーバ30と別体の装置により実行されるように構成してもよく、また、ディレクトリサーバ20により実行されるように構成してもよい。
【0295】
また、上記実施形態においては、図30におけるs2142〜s2154にて変換モジュールを読み出すにあたり、読み出すべき変換モジュールが複数あった場合に、仕様情報に規定された優先順位に基づいて絞り込むように構成されたものを例示した。しかし、この変換モジュールを絞り込むための条件として、他の条件を採用してもよい。例えば、提供するサービスの種類との関係で最も適した変換モジュールをデータテーブルや数式に基づいて決定して選択する構成などが考えられる。
【0296】
また、上記実施形態においては、図41のデバイス優先度設定処理が複合機10側で実行されるように構成されたものを例示した。しかし、この処理については、機能サーバ30側で行われる処理とすることもでき、これによれば、機能サーバ30側から優先度を設定することができるようになる。なお、この場合、同図s2502では複合機10から送信された仕様情報に基づいて優先度選択画面を表示すると共に、同図s2530では、この時点において指定されている優先順位を機能サーバ30側に保存するように構成するとよい。そして、こうして通知された優先順位を機能サーバ30側で記憶(管理)するように構成するとよい。
【0297】
また、ディレクトリサーバ20またはディレクトリサーバ20の一部構成要素,および,機能サーバ30または機能サーバ30の一部構成要素が、それ以外の構成要素からなる装置と連携して動作する単一の装置として構成されていてもよい。
【0298】
また、ディレクトリサーバ20(またはディレクトリサーバ20の一部構成要素)や機能サーバ30(または機能サーバ30の一部構成要素)が、本サービス提供システムを構成する複合機10に備えられた構成としてもよい。
【0299】
[本発明との対応関係]
以上説明した実施形態において、複合機10が本発明におけるデバイスであり、機能サーバ30が本発明におけるサービス提供手段および指定要求手段であり、仕様情報が本発明における保有機能情報であり、優先順位が本発明における決定条件である。
【0300】
また、図22におけるs830,図24における1018〜s1022,図25におけるs1118〜s1122は本発明における提供実行手段であり、図30におけるs2142〜s2154は本発明における機能判定手段であり、同図s2164〜s2168は本発明における機能決定手段であり、図40におけるs2504,s2514は、本発明における形式変換処理であり、図41におけるs2502〜s2520は本発明における条件指定手段である。
【0301】
また、図12におけるs318は本発明におけるサービス指定手段であり、図17におけるs408,図18におけるs508は本発明におけるサービス要求手段であり、同図s428,s528は本発明におけるサービス実現手段であり、図12におけるs354,s312は本発明における情報通知手段であり、図41のデバイス優先度設定処理を複合機10側で実行する処理とした場合におけるs2530は本発明における条件通知手段である。
そして、図23におけるs904は本発明における指定要求手段である。
【図面の簡単な説明】
【0302】
【図1】サービス提供システムの構成を示すブロック図
【図2】操作部の構成を示す図
【図3】サービス定義情報における各タグの定義付けを示す図
【図4】サービスI/F情報における各タグの定義付けを示す図
【図5】複合機処理複合機による複合機処理を示すフローチャート
【図6】方法選択画面を示す図
【図7】サービス定義情報のデータ構造を示す図(1)
【図8】サービス選択用画面
【図9】サービス定義情報のデータ構造を示す図(2)
【図10】複合機によるセッション処理を示すフローチャート(1/2)
【図11】複合機によるセッション処理を示すフローチャート(2/2)
【図12】複合機によるUIジョブを示すフローチャート(1/2)
【図13】サービスI/F情報
【図14】パラメータ入力画面を示す図
【図15】仕様情報のデータ構造を示す図
【図16】仕様情報におけるタグの定義付けを示す図
【図17】複合機による入力ジョブを示すフローチャート
【図18】複合機による出力ジョブを示すフローチャート
【図19】機能サーバによる機能サーバ処理を示すフローチャート(1/2)
【図20】機能サーバによる機能サーバ処理を示すフローチャート(2/2)
【図21】機能サーバによるセッション処理を示すフローチャート(1/2)
【図22】機能サーバによるセッション処理を示すフローチャート(2/2)
【図23】機能サーバによるUIジョブを示すフローチャート
【図24】機能サーバによるスキャンジョブを示すフローチャート
【図25】機能サーバによる印刷ジョブを示すフローチャート
【図26】機能サーバによる情報変換処理を示すフローチャート
【図27】変換モジュールの構成を示す図
【図28】機能サーバによる変換モジュール初期化処理を示すフローチャート
【図29】サービス入出力メディア情報を示す図
【図30】機能サーバによる変換モジュールの選択処理を示すフローチャート
【図31】変換対応情報を示す図
【図32】機能サーバによる仕様情報変換処理を示すフローチャート
【図33】機能サーバによるサービスI/F情報変換処理を示すフローチャート(1/2)
【図34】機能サーバによるサービスI/F情報変換処理を示すフローチャート(2/2)
【図35】サービスI/F情報における「Value_Name」の値の定義付けを示す図
【図36】機能サーバによるサービスパラメータ変換処理を示すフローチャート(1/2)
【図37】機能サーバによるサービスパラメータ変換処理を示すフローチャート(2/2)
【図38】機能サーバによる複合機パラメータ変換処理を示すフローチャート(1/2)
【図39】機能サーバによる複合機パラメータ変換処理を示すフローチャート(2/2)
【図40】機能サーバによる入力/出力メディア変換処理を示すフローチャート
【図41】機能サーバによるデバイス優先度設定処理を示すフローチャート
【図42】優先度選択画面を示す図
【符号の説明】
【0303】
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…方向キー、47…方向キー,48…方向キー、49…方向キー、50…OKキー、51…キャンセルキー、52…ディスプレイ。
【特許請求の範囲】
【請求項1】
ネットワークを介したサービスを提供可能なサービス提供手段と、
該サービス提供手段によるサービスの提供を受けることのできるデバイスと、
を備えたサービス提供システムであって、
前記デバイスにおいて、
前記サービス提供手段に対してサービスの提供を要求するサービス要求手段と、
該サービス要求手段による要求を受けた前記サービス提供手段によりサービスの提供を受けて当該デバイスの有する機能を実現するサービス実現手段と、が備えられており、
前記サービス提供手段において、
前記デバイスの備えるサービス要求手段による要求を受けた場合に、該デバイスに対してサービスを提供する提供実行手段と、
前記デバイスの有する機能を示す保有機能情報に基づいて、前記提供実行手段によるサービスの提供を受けるにあたり、前記デバイス側で必要な機能を有しているか否かを判定する機能判定手段と、を備え、
前記提供実行手段は、前記機能判定手段により必要な機能を有していないと判定された場合において、前記デバイスの備える前記サービス要求手段による要求を受けた場合、前記デバイスの有する機能に対応するメディアでサービスの提供を可能とする処理である形式変換処理を実行してなるサービスを提供する
ことを特徴とするサービス提供システム。
【請求項2】
前記デバイスにおいては、
画像を読み取りその画像を表す画像データを生成する機能および画像データの表す画像を印刷する機能のうち少なくとも一方の機能を有しており、
前記サービス提供手段においては、
前記デバイスの有する機能により生成された画像データおよび印刷される画像を示す画像データのうち少なくともいずれか一方に関するサービスを提供可能に構成されている
ことを特徴とする請求項1に記載のサービス提供システム。
【請求項3】
前記サービス提供手段において、
前記機能判定手段は、前記保有機能情報で示される機能が、前記提供実行手段によるサービスの提供を受けるのに必要な機能を示す必要機能情報で示される機能に含まれている場合に、前記デバイス側で必要な機能を有していると判定する
ことを特徴とする請求項1または請求項2に記載のサービス提供システム。
【請求項4】
前記デバイスにおいて、
前記サービス提供手段に前記保有機能情報を通知する情報通知手段が備えられており、
前記サービス提供手段において、
前記機能判定手段は、前記デバイスの備える情報通知手段により通知された保有機能情報に基づいて、前記デバイス側で必要な機能を有しているか否かを判定する
ことを特徴とする請求項3に記載のサービス提供システム。
【請求項5】
前記サービス提供手段において、
前記機能判定手段により前記デバイス側で必要な機能を有していないと判定された場合に、前記デバイスの有する機能から、いずれかの機能を所定の決定条件に基づいて決定する機能決定手段が備えられており、
前記提供実行手段は、複数種類の形式変換処理のうちいずれかの形式変換処理を実行することによりサービスを提供可能であって、前記機能決定手段により決定された機能に対応するメディアでサービスの提供を可能とする処理である形式変換処理を実行してなるサービスを提供する、ように構成されている
ことを特徴とする請求項1から4のいずれかに記載のサービス提供システム。
【請求項6】
前記デバイスにおいて、
ユーザに前記サービス提供手段の備える機能決定手段が機能を決定する際の決定条件を指定させる条件指定手段と、
該条件指定手段により指定された決定条件を前記サービス提供手段に通知する条件通知手段と、が備えられており、
前記サービス提供手段において、
前記機能決定手段は、前記デバイスの備える条件通知手段により通知された決定条件に基づいて機能を決定する、ように構成されている
ことを特徴とする請求項5に記載のサービス提供システム。
【請求項7】
前記サービス提供手段において、
前記提供実行手段は、前記デバイスから当該サービス提供手段へ送信されたデータに対する前記形式変換処理,および,当該サービス提供手段から前記デバイスへ送信されるデータに対する前記形式変換処理をそれぞれ実行可能に構成されている
ことを特徴とする請求項1から6のいずれかに記載のサービス提供システム。
【請求項8】
前記デバイスに対して、前記サービス提供手段により提供可能な1以上のサービスのうちいずれかのサービスの指定を要求する指定要求手段が備えられており、
前記デバイスにおいて、
前記指定要求手段による要求を受けた際に、ユーザに1以上のサービスのうちいずれかのサービスを指定させるサービス指定手段が備えられており、
前記サービス要求手段は、前記サービス指定手段により指定されたサービスの提供を前記サービス提供手段に対して要求する、ように構成されている
ことを特徴とする請求項1から7のいずれかに記載のサービス提供システム。
【請求項9】
前記指定要求手段は、前記機能判定手段により必要な機能を有していないと判定されている場合、前記形式変換処理を実行してなるサービスを含む1以上のサービスのうちいずれかのサービスの指定を要求して、
前記サービス提供手段において、
前記提供実行手段は、前記デバイスの備える前記サービス要求手段により前記形式変換処理を実行してなるサービスの提供を要求された場合、該形式変換処理を実行してなるサービスを提供する、ように構成されている
ことを特徴とする請求項8に記載のサービス提供システム。
【請求項10】
サーバからのサービスの提供を受けることが可能なデバイスであって、
該デバイスからの要求に応じて、該デバイスの有する機能により生成または出力されたデータに関するサービスを提供するサーバに対してサービスの提供を要求するサービス要求手段と、
前記サーバに当該デバイスの有する機能を示す保有機能情報を通知する情報通知手段と、
該サービス要求手段による要求を受けた前記サーバによりサービスの提供を受けて当該デバイスの有する機能を実現するサービス実現手段と、が備えられている
ことを特徴とするデバイス。
【請求項11】
画像を読み取りその画像を表す画像データを生成する機能および画像データの表す画像を印刷する機能のうち少なくとも一方の機能を有するデバイスからの要求に応じて、該デバイスの有する機能により生成された画像データおよび印刷される画像を示す画像データのうち少なくとも一方に関するサービスを提供するサーバであって、
前記デバイスの有する機能を示す保有機能情報に基づいて、前記提供実行手段によるサービスの提供を受けるにあたり、前記デバイス側で必要な機能を有しているか否かを判定する機能判定手段と、
該機能判定手段により必要な機能を有していないと判定されている場合、前記デバイスの備える前記サービス要求手段による要求を受けた際に、前記デバイスの有する機能に対応するメディアでサービスの提供を可能とする処理である形式変換処理を実行してなるサービスを提供する提供実行手段が備えられている
ことを特徴とするサーバ。
【請求項12】
請求項1から9のいずれかに記載のサービス提供システムとして機能させるための各種処理手順を、コンピュータシステムに実行させるためのプログラム。
【請求項13】
請求項1から9のいずれかに記載のデバイスとして機能させるための各種処理手順を、コンピュータシステムに実行させるためのプログラム。
【請求項14】
請求項1から9のいずれかに記載のサーバとして機能させるための各種処理手順を、コンピュータシステムに実行させるためのプログラム。
【請求項1】
ネットワークを介したサービスを提供可能なサービス提供手段と、
該サービス提供手段によるサービスの提供を受けることのできるデバイスと、
を備えたサービス提供システムであって、
前記デバイスにおいて、
前記サービス提供手段に対してサービスの提供を要求するサービス要求手段と、
該サービス要求手段による要求を受けた前記サービス提供手段によりサービスの提供を受けて当該デバイスの有する機能を実現するサービス実現手段と、が備えられており、
前記サービス提供手段において、
前記デバイスの備えるサービス要求手段による要求を受けた場合に、該デバイスに対してサービスを提供する提供実行手段と、
前記デバイスの有する機能を示す保有機能情報に基づいて、前記提供実行手段によるサービスの提供を受けるにあたり、前記デバイス側で必要な機能を有しているか否かを判定する機能判定手段と、を備え、
前記提供実行手段は、前記機能判定手段により必要な機能を有していないと判定された場合において、前記デバイスの備える前記サービス要求手段による要求を受けた場合、前記デバイスの有する機能に対応するメディアでサービスの提供を可能とする処理である形式変換処理を実行してなるサービスを提供する
ことを特徴とするサービス提供システム。
【請求項2】
前記デバイスにおいては、
画像を読み取りその画像を表す画像データを生成する機能および画像データの表す画像を印刷する機能のうち少なくとも一方の機能を有しており、
前記サービス提供手段においては、
前記デバイスの有する機能により生成された画像データおよび印刷される画像を示す画像データのうち少なくともいずれか一方に関するサービスを提供可能に構成されている
ことを特徴とする請求項1に記載のサービス提供システム。
【請求項3】
前記サービス提供手段において、
前記機能判定手段は、前記保有機能情報で示される機能が、前記提供実行手段によるサービスの提供を受けるのに必要な機能を示す必要機能情報で示される機能に含まれている場合に、前記デバイス側で必要な機能を有していると判定する
ことを特徴とする請求項1または請求項2に記載のサービス提供システム。
【請求項4】
前記デバイスにおいて、
前記サービス提供手段に前記保有機能情報を通知する情報通知手段が備えられており、
前記サービス提供手段において、
前記機能判定手段は、前記デバイスの備える情報通知手段により通知された保有機能情報に基づいて、前記デバイス側で必要な機能を有しているか否かを判定する
ことを特徴とする請求項3に記載のサービス提供システム。
【請求項5】
前記サービス提供手段において、
前記機能判定手段により前記デバイス側で必要な機能を有していないと判定された場合に、前記デバイスの有する機能から、いずれかの機能を所定の決定条件に基づいて決定する機能決定手段が備えられており、
前記提供実行手段は、複数種類の形式変換処理のうちいずれかの形式変換処理を実行することによりサービスを提供可能であって、前記機能決定手段により決定された機能に対応するメディアでサービスの提供を可能とする処理である形式変換処理を実行してなるサービスを提供する、ように構成されている
ことを特徴とする請求項1から4のいずれかに記載のサービス提供システム。
【請求項6】
前記デバイスにおいて、
ユーザに前記サービス提供手段の備える機能決定手段が機能を決定する際の決定条件を指定させる条件指定手段と、
該条件指定手段により指定された決定条件を前記サービス提供手段に通知する条件通知手段と、が備えられており、
前記サービス提供手段において、
前記機能決定手段は、前記デバイスの備える条件通知手段により通知された決定条件に基づいて機能を決定する、ように構成されている
ことを特徴とする請求項5に記載のサービス提供システム。
【請求項7】
前記サービス提供手段において、
前記提供実行手段は、前記デバイスから当該サービス提供手段へ送信されたデータに対する前記形式変換処理,および,当該サービス提供手段から前記デバイスへ送信されるデータに対する前記形式変換処理をそれぞれ実行可能に構成されている
ことを特徴とする請求項1から6のいずれかに記載のサービス提供システム。
【請求項8】
前記デバイスに対して、前記サービス提供手段により提供可能な1以上のサービスのうちいずれかのサービスの指定を要求する指定要求手段が備えられており、
前記デバイスにおいて、
前記指定要求手段による要求を受けた際に、ユーザに1以上のサービスのうちいずれかのサービスを指定させるサービス指定手段が備えられており、
前記サービス要求手段は、前記サービス指定手段により指定されたサービスの提供を前記サービス提供手段に対して要求する、ように構成されている
ことを特徴とする請求項1から7のいずれかに記載のサービス提供システム。
【請求項9】
前記指定要求手段は、前記機能判定手段により必要な機能を有していないと判定されている場合、前記形式変換処理を実行してなるサービスを含む1以上のサービスのうちいずれかのサービスの指定を要求して、
前記サービス提供手段において、
前記提供実行手段は、前記デバイスの備える前記サービス要求手段により前記形式変換処理を実行してなるサービスの提供を要求された場合、該形式変換処理を実行してなるサービスを提供する、ように構成されている
ことを特徴とする請求項8に記載のサービス提供システム。
【請求項10】
サーバからのサービスの提供を受けることが可能なデバイスであって、
該デバイスからの要求に応じて、該デバイスの有する機能により生成または出力されたデータに関するサービスを提供するサーバに対してサービスの提供を要求するサービス要求手段と、
前記サーバに当該デバイスの有する機能を示す保有機能情報を通知する情報通知手段と、
該サービス要求手段による要求を受けた前記サーバによりサービスの提供を受けて当該デバイスの有する機能を実現するサービス実現手段と、が備えられている
ことを特徴とするデバイス。
【請求項11】
画像を読み取りその画像を表す画像データを生成する機能および画像データの表す画像を印刷する機能のうち少なくとも一方の機能を有するデバイスからの要求に応じて、該デバイスの有する機能により生成された画像データおよび印刷される画像を示す画像データのうち少なくとも一方に関するサービスを提供するサーバであって、
前記デバイスの有する機能を示す保有機能情報に基づいて、前記提供実行手段によるサービスの提供を受けるにあたり、前記デバイス側で必要な機能を有しているか否かを判定する機能判定手段と、
該機能判定手段により必要な機能を有していないと判定されている場合、前記デバイスの備える前記サービス要求手段による要求を受けた際に、前記デバイスの有する機能に対応するメディアでサービスの提供を可能とする処理である形式変換処理を実行してなるサービスを提供する提供実行手段が備えられている
ことを特徴とするサーバ。
【請求項12】
請求項1から9のいずれかに記載のサービス提供システムとして機能させるための各種処理手順を、コンピュータシステムに実行させるためのプログラム。
【請求項13】
請求項1から9のいずれかに記載のデバイスとして機能させるための各種処理手順を、コンピュータシステムに実行させるためのプログラム。
【請求項14】
請求項1から9のいずれかに記載のサーバとして機能させるための各種処理手順を、コンピュータシステムに実行させるためのプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【図30】
【図31】
【図32】
【図33】
【図34】
【図35】
【図36】
【図37】
【図38】
【図39】
【図40】
【図41】
【図42】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【図30】
【図31】
【図32】
【図33】
【図34】
【図35】
【図36】
【図37】
【図38】
【図39】
【図40】
【図41】
【図42】
【公開番号】特開2006−135693(P2006−135693A)
【公開日】平成18年5月25日(2006.5.25)
【国際特許分類】
【出願番号】特願2004−322938(P2004−322938)
【出願日】平成16年11月5日(2004.11.5)
【出願人】(000005267)ブラザー工業株式会社 (13,856)
【Fターム(参考)】
【公開日】平成18年5月25日(2006.5.25)
【国際特許分類】
【出願日】平成16年11月5日(2004.11.5)
【出願人】(000005267)ブラザー工業株式会社 (13,856)
【Fターム(参考)】
[ Back to top ]