以下、本発明の実施の形態について図面を参照して説明する。以下の説明では同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがってそれらについての詳細な説明は繰り返さない。
図1は、本発明の実施の形態の1つにおけるデータ処理システムの全体概要を示す図である。図1を参照して、データ処理システム1は、ネットワーク11にそれぞれ接続された5台の複合機(以下、「MFP」という)100,100A〜100Dと、パーソナルコンピュータ(以下「PC」という)21,23と、インターネット13に接続された5台のサーバー31,31A〜31Dと、を含む。
ネットワーク11は、ローカルエリアネットワーク(LAN)であり、有線または無線を問わない。またネットワーク11は、LANに限らず、ワイドエリアネットワーク(WAN)、インターネット、または一般公衆回線を用いたネットワーク等であってもよい。ネットワーク11は、ゲートウェイを介してインターネット13に接続されている。
MFP100,100A〜100Dは、制御装置の一例である。サーバー31、31A〜31Dは、処理実行装置の一例であり、一般的なコンピュータである。サーバー31、31A〜31Dは、SaaSを提供可能なWebサーバーとして機能し、有料のデータ処理サービスを提供する。サーバー31、31A〜31Dが提供するデータ処理サービスは、サーバー31、31A〜31Dそれぞれで動作するソフトウェアの機能を、ネットワークを介してオンラインで利用可能とする形態である。サーバー31、31A〜31Dが提供するデータ処理サービスの種類は、すべて同じであってもよいが、異なっていてもよい。ここでは、サーバー31、31A〜31Dが提供するデータ処理サービスの種類が互いに異なる場合を例に説明する。
サーバー31,31A〜31D各々は、データ処理プログラムがインストールされており、外部からデータを受信し、受信されたデータに処理を実行して、データ処理を実行した後の処理後データを返信する。データ処理は、入力されるデータに実行される処理であり、例えば、データの画像に予め定められた画像を合成する文字合成処理、画像を文字認識(OCR)して文字のデータに変換する文字認識処理、文字を他の言語の文字に変換する翻訳処理、時刻を証明する時刻証明処理、データ中の画像に対する画像処理等を含む。文字合成処理は、例えば、文書管理用の情報を表した文字の画像を合成する処理、または、文書を追跡するための1次元または2次元バーコードの画像を合成する処理を含む。時刻証明処理は、データが原本であることを保証する処理、発生時刻の証明とデータの存在を証明する処理、さらに、改ざんの有無を証明する処理のために、時刻情報をデータに付加する処理である。画像処理は、例えば、データ中の画像の領域の色を変換する色変換処理、データ中の画像の領域の輪郭を強調する輪郭強調処理、データのフォーマットを変換するフォーマット変換処理等を含む。
ここでは、サーバー31,31A〜31D各々がデータ処理サービスを提供するために実行する処理を担当処理という。また、サーバー31に文字合成処理を実行するための文字合成処理プログラムがインストールされており、サーバー31の担当処理を文字合成処理とし、サーバー31Aに文字認識処理および翻訳処理を実行するための文字認識および翻訳プログラムがインストールされており、サーバー31Aの担当処理を文字認識処理および翻訳処理とし、サーバー31Bに時刻証明処理を実行するための時刻証明処理プログラムがインストールされており、サーバー31Bの担当処理を時刻証明処理とし、サーバー31Cに色変換処理の画像処理を実行するための画像処理プログラムがインストールされており、サーバー31Cの担当処理を色変換処理とし、サーバー31Dに輪郭強調処理の画像処理を実行するための画像処理プログラムがインストールされており、サーバー31Dの担当処理を輪郭強調処理とする場合を例に説明する。
サーバー31、31A〜31D各々により提供されるデータ処理サービスを利用する場合は課金される。ここでは、サーバー31、31A〜31D各々が、登録ユーザーごとに課金額を示す課金データを記憶する。なお、課金の方法は、種々方法が知られているが、課金方法を限定するものではない。例えば、課金サーバーを別途設けるようにし、課金サーバーにおいて、サービスおよびユーザーごとに課金額を記憶するようにしてもよい。
サーバー31、31A〜31Dそれぞれは、担当処理の実行を指示するユーザーが登録ユーザーとして登録されていることを条件に、担当処理を実行する。具体的には、サーバー31、31A〜31Dのうちユーザーが担当処理の実行を依頼する依頼サーバーによって、ユーザーが登録ユーザーとして認証されることを条件に、依頼サーバーは担当処理を実行する。
PC21,23は、一般的なコンピュータであり、それらのハードウエア構成は周知なのでここでは説明を繰り返さない。PC21,23は、ネットワーク11を介して、MFP100,100A〜100Eおよびサーバー31、31A〜31Eと通信が可能である。
本実施の形態におけるデータ処理システムは、MFP100,100A〜100Dのいずれかに、ユーザーによりジョブが投入される。ジョブは、処理対象となるデータと、データに対して実行される処理とを定める。データに対して実行される処理は、MFP100,100A〜100Dのいずれかで実行可能な処理である。MFP100,100A〜100Dが実行可能な処理は、MFP100,100A〜100D各々にインストールされているプログラムまたはハードウエアにより実行される処理の他、サーバー31、31A〜31D各々の担当処理を含む。MFP100,100A〜100D各々は、ジョブが投入されると、投入されたジョブに従って処理を実行する。
なお、図1においては5台のMFP100,100A〜100D、2台のPC21,23および5台のサーバー31,31A〜31Dを示しているが、それらの台数を限定するものではなく、1台以上のMFP100と、1台以上のサーバー31がネットワーク11またはインターネット13に接続されていればよい。
MFP100,100A〜100Dのハードウエアおよび機能は、すべて同じである。ここでは、特に言及しない限り、MFP100を例に説明する。
図2は、MFPのハードウエア構成の一例を示すブロック図である。図2を参照して、MFP100は、メイン回路110と、原稿を読み取るための原稿読取部130と、原稿を原稿読取部130に搬送するための自動原稿搬送装置120と、原稿読取部130が原稿を読み取って出力する静止画像を用紙等に形成するための画像形成部140と、画像形成部140に用紙を供給するための給紙部150と、ユーザーインターフェースとしての操作パネル160と、を含む。
メイン回路110は、CPU111と、通信インターフェース(I/F)部112と、ROM(Read Only Memory)113と、RAM(Random Access Memory)114と、EEPROM(Electrically Erasable and Programmable ROM)115と、大容量記憶装置としてのハードディスクドライブ(HDD)116と、ファクシミリ部117と、CD−ROM(Compact Disc−Read Only Memory)119Aが装着される外部記憶装置119と、を含む。
CPU111は、自動原稿搬送装置120、原稿読取部130、画像形成部140、給紙部150および操作パネル160と接続され、MFP100の全体を制御する。ROM113は、CPU111が実行するプログラム、およびそのプログラムを実行するために必要なデータを記憶する。RAM114は、CPU111がプログラムを実行する際の作業領域として用いられる。また、RAM114は、原稿読取部130から連続的に送られてくる静止画像を一時的に記憶する。
操作パネル160は、MFP100の上面に設けられ、表示部160Aと操作部160Bとを含む。表示部160Aは、液晶表示装置(LCD)、有機ELD(Electroluminescence Display)等の表示装置であり、ユーザーに対する指示メニューや取得した画像データに関する情報等を表示する。操作部160Bは、複数のキーを備え、キーに対応するユーザーの操作による各種の指示、文字、数字などのデータの入力を受け付ける。操作部160Bは、表示部160A上に設けられたタッチパネルをさらに含む。
通信I/F部112は、MFP100をネットワーク11に接続するためのインターフェースである。CPU111は、通信I/F部112を介してPC21,23およびサーバー31との間で通信し、データを送受信する。また、通信I/F部112は、ネットワーク11を介してインターネットに接続されたサーバー31,31A〜31Dと通信し、データを送受信する。
ファクシミリ部117は、公衆交換電話網(PSTN)に接続され、ファクシミリデータを送受信する。ファクシミリ部117は、原稿読取部130により読み取られた画像データまたはHDD116に記憶されたデータをファクシミリデータに変換して、PSTNに接続されたファクシミリ装置に送信する。また、ファクシミリ部117は、受信されたファクシミリデータをHDD116に記憶するか、画像形成部140にファクシミリデータの画像を用紙に形成させる。
外部記憶装置119は、CD−ROM119Aが装着される。CPU111は、外部記憶装置119を介してCD−ROM119Aにアクセス可能である。CPU111は、外部記憶装置119に装表されたCD−ROM119Aに記録されたプログラムをRAM114にロードして実行する。なお、CPU111が実行するプログラムは、CD−ROM119Aに記録されたプログラムに限られず、HDD116に記憶されたプログラムをRAM114にロードして実行するようにしてもよい。この場合、ネットワーク11に接続された他のコンピュータが、MFP100のHDD116に記憶されたプログラムを書換える、または、新たなプログラムを追加して書き込むようにしてもよい。さらに、MFP100が、ネットワーク11に接続された他のコンピュータからプログラムをダウンロードして、そのプログラムをHDD116に記憶するようにしてもよい。ここでいうプログラムは、CPU111が直接実行可能なプログラムだけでなく、ソースプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。
なお、CPU111が実行するプログラムを記憶する媒体としては、CD−ROM119Aに限られず、光ディスク(MO(Magnetic Optical Disc/MD(Mini Disc)/DVD(Digital Versatile Disc))、ICカード、光カード、マスクROM、EPROM(Erasable Programmable ROM)、EEPROM(Electrically EPROM)などの半導体メモリであってもよい。
サーバー31、31A〜31Dのハードウエア構成は、同じなのでここでは、サーバー31を例に説明する。図3は、本実施の形態におけるサーバーのハードウエア構成の一例を示すブロック図である。図3を参照して、サーバー31は、それぞれがバス208に接続され、サーバー31の全体を制御するためのCPU201と、CPU201が実行するプログラム等を記憶するためのROM202と、CPU201の作業領域として用いられるRAM203と、サーバー31をインターネット13に接続するためのネットワークI/F204と、大容量記憶装置としてのHDD205と、表示部206と、ユーザーの操作の入力を受け付ける操作部207と、外部記憶装置209と、を含む。
外部記憶装置209は、プログラムを記憶したCD−ROM(Compact Disc−ROM)209Aが装表される。CPU201は、外部記憶装置209を介してCD−ROM209Aに記憶されたプログラムをRAM203にロードし、実行する。なお、プログラムを記憶する記録媒体としては、CD−ROM209Aに限られず、フレキシブルディスク、カセットテープ、光ディスク(MO/MD/DVD)、ICカード、光カード、マスクROM、EPROM、EEPROMなどの半導体メモリ等でもよい。また、HDD205に記憶されたプログラムをRAM203にロードして実行するようにしてもよい。この場合、サーバー31が、インターネットに接続された他のコンピュータからプログラムをダウンロードして、そのプログラムをHDD205に記憶するようにしてもよい。
図4は、サーバーが備えるCPUの機能の一例をHDDに記憶されるデータとともに示すブロック図である。図4に示す機能は、サーバー31が備えるCPU201がROM202、HDD205またはCD−ROM209Aに記憶されたサービス提供プログラムを実行することにより、実現される。
図4を参照して、CPU201は、登録ユーザーを登録する登録ユーザー登録部251と、認証依頼を受け付ける認証依頼受付部253と、ユーザーを認証する登録ユーザー認証部255と、実行依頼を受け付ける実行依頼受付部257と、担当処理を実行する処理実行部259と、担当処理の実行に対する対価を課金する課金部261と、を含む。
登録ユーザー登録部251は、サーバー31が提供するサービスを受けることが許可された登録ユーザーを登録する。サーバー31が提供するサービスは、処理対象となるデータに担当処理を実行し、実行結果を返信する処理である。登録ユーザー登録部251は、サーバー31の管理者が、登録ユーザー情報を操作部207に入力すると、登録ユーザー情報を受け付け、受け付けられた登録ユーザー情報を、HDD205に記憶する。これにより、HDD205に登録ユーザー情報271が記憶される。登録ユーザー情報は、登録ユーザーを識別するための登録ユーザー識別情報と、パスワードとを含む。なお、管理者は、登録ユーザー情報を操作部207から入力するのに加えて、PC21,23からサーバー31にログインし、PC21,23からサーバー31を遠隔操作して登録ユーザー情報を登録するようにしてもよい。
また、クレジットカード等のように第三者機関によってユーザーを特定することのできる場合には、任意のユーザーが操作するパーソナルコンピュータからクレジットカード番号等を受信し、第三者機関であるクレジットカード会社が備えるサーバーによってそのユーザーが認証されることを条件に、認証されたユーザーを登録ユーザーとして登録するようにしてもよい。
認証依頼受付部253は、サービスの提供を受けることを望むユーザーが操作する装置から認証情報を受信することにより、認証依頼を受け付ける。具体的には、ユーザーが、例えば、MFP100を操作する場合に、MFP100に登録ユーザー識別情報およびパスワードの組を入力し、サーバー31が提供するサービスを利用する指示をすれば、MFP100は登録ユーザー識別情報およびパスワードの組を含む認証依頼情報をサーバー31に送信する。なお、サーバー31が提供するサービスの提供を受けることを望むユーザーが、操作する装置はMFP100に限られず、サーバー31と通信可能な装置であれば、他のMFP100A〜100D、またはPC21,23であってもよい。
認証依頼受付部253は、ネットワークI/F204がMFP100から認証依頼情報を受信すると、受信された認証依頼情報を取得することにより、認証依頼を受け付ける。認証依頼受付部253は、取得された認証依頼情報に含まれる登録ユーザー識別情報およびパスワードの組を、登録ユーザー認証部255に出力する。
登録ユーザー認証部255は、登録ユーザー識別情報およびパスワードの組が入力されることに応じて、登録ユーザーを認証する。登録ユーザー認証部255は、HDD205に記憶されている登録ユーザー情報271を検索し、登録ユーザー識別情報およびパスワードの組と同じ登録ユーザー識別情報およびパスワードを含む登録ユーザー情報271が存在すれば、登録ユーザーとして認証するが、そのような登録ユーザー情報271が存在しなければ登録ユーザーとして認証しない。
登録ユーザー認証部255は、登録ユーザーとして認証する場合、認証依頼を送信してきた装置、ここでは、MFP100に認証成功を示す認証成功信号をネットワークI/F204を介して返信するとともに、処理実行部259に実行許可信号を出力する。実行許可信号は、認証依頼情報に含まれる登録ユーザー識別情報を含む。また、登録ユーザー認証部255は、登録ユーザーとして認証する場合、認証依頼を送信してきた装置、ここでは、MFP100を識別するための装置識別情報と、認証依頼情報に含まれる登録ユーザー識別情報との組を実行依頼受付部257に出力する。
登録ユーザー認証部255は、登録ユーザーとして認証しない場合、認証依頼を送信してきた装置、ここでは、MFP100に認証失敗を示す認証失敗信号をネットワークI/F204を介して返信する。この場合、登録ユーザー認証部255は、処理実行部259に実行許可信号を出力しない。
実行依頼受付部257は、登録ユーザー認証部255により認証された登録ユーザーが操作する装置から実行依頼情報を受信することにより、担当処理実行依頼を受け付ける。具体的に、ユーザーがMFP100を操作して、サーバー31により認証された場合を例に説明する。ユーザーが、MFP100に処理対象とするデータを指定し、サーバー31の担当処理を選択すれば、MFP100は、データと担当処理を識別するための処理識別情報とを含む担当処理実行依頼情報をサーバー31に送信する。実行依頼受付部257は、ネットワークI/F204が担当処理実行依頼情報を受信すると、ネットワークI/F204から担当処理実行依頼情報を取得することにより、担当処理実行依頼を受け付ける。実行依頼受付部257は、ネットワークI/F204により受信された担当処理実行依頼情報が、登録ユーザー認証部255から入力される装置識別情報と同じ装置識別情報の装置から送信される担当処理実行依頼情報であることを条件に、担当処理実行依頼を取得する。
実行依頼受付部257は、取得された担当処理実行依頼情報に含まれるデータおよび処理識別情報と、登録ユーザー認証部255から入力される登録ユーザー識別情報および装置識別情報とを、処理実行部259に出力し、処理識別情報と登録ユーザー識別情報との組を課金部261に出力する。
処理実行部259は、登録ユーザー認証部255により認証された登録ユーザーによる担当処理実行依頼に基づいて、担当処理を実行し、実行結果を返信する。処理実行部259は、登録ユーザー認証部255から実行許可信号が入力され、実行依頼受付部257からデータ、処理識別情報、登録ユーザー識別情報および装置識別情報が入力される。処理実行部259は、実行許可信号が入力され、かつ実行許可信号に含まれる登録ユーザー識別情報と実行依頼受付部257から入力される登録ユーザー識別情報とが同じことを条件に、実行依頼受付部257から入力されるデータに対して、処理識別情報で特定される担当処理を実行する。処理実行部259は、担当処理を実行した結果得られる処理済のデータと処理量とを含む実行結果を実行依頼受付部257から入力される装置識別情報で特定される装置に、ネットワークI/F204を介して送信する。処理量は、データに対して担当処理を実行する際の量を示し、基準単位に基づいて算出される。基準単位は、担当処理に対して後述する課金額を算出するために予め定められた単位である。例えば、データが複数ページの画像を含む場合であって、基準単位がページならば、処理量はデータのページ数である。
また、処理実行部259は、担当処理の実行が終了すると、課金部261に、処理済情報を出力する。処理済情報は、実行依頼受付部257から入力される処理識別情報と、実行依頼受付部257から入力される登録ユーザー識別情報と、処理量と、を含む。
課金部261は、処理済情報に基づいて課金データを生成し、HDD205に記憶された課金データ273に追加して記憶する。課金データは、登録ユーザー識別情報と、処理識別情報と、課金額と、を含む。課金部261は、処理済情報に含まれる処理識別情報で特定される担当処理に対して予め定められた単価と処理量とから課金額を算出する。
図5は、MFPが備えるCPUの機能の一例をEEPROMに記憶されるデータとともに示すブロック図である。図5に示す機能は、MFP100が備えるCPU111がROM114、EEPROM115、HDD116またはCD−ROM119Aに記憶されたジョブ実行プログラムを実行することにより、構成される。
図5を参照して、CPU111は、処理登録部51と、許可ユーザーを登録する許可ユーザー登録部53と、操作者となるユーザーを操作ユーザーとして認証する操作ユーザー認証部55と、ジョブを生成するジョブ生成部57と、サーバー31、31A〜31Dのいずれかに担当処理の実行を依頼する担当処理実行依頼部59と、集計部63と、を含む。
許可ユーザー登録部53は、MFP100の使用が許可されたユーザーを登録する。以下、MFP100の使用が許可されたユーザーを許可ユーザーという。許可ユーザー登録部53は、MFP100の管理者が、MFP100に許可ユーザーに関する情報を入力することにより、登録ユーザーレコードを生成し、HDD205に記憶されている許可ユーザーテーブル93に追加して、記憶する。許可ユーザーを識別するための許可ユーザー識別情報と、許可ユーザーの名称と、パスワードと、制限情報と、を少なくとも含む。許可ユーザー識別情報とパスワードとの組を、特に認証情報という。制限情報は、MFP100が有する複数の機能のうち許可ユーザーに対して実行が制限される機能と、制限の内容とを含む。MFP100の管理者は、操作部160Bを直接操作することにより、または、PC21,23を用いてMFP100を遠隔操作することにより、許可ユーザーを登録するための情報をMFP100に入力することができる。
許可ユーザー登録部53は、分類部65を含む。分類部65は、許可ユーザーを予め定められた複数のグループのうちで許可ユーザーが属するグループに分類する。分類部65は、許可ユーザーを分類したグループと、許可ユーザーと関連付ける。ここでは、分類部65は、許可ユーザーに対して生成される登録ユーザーレコードに、許可ユーザーが分類されたグループを識別するためのグループ識別情報を付加することにより、許可ユーザーとグループとを関連付ける。グループは、例えば、企業等の組織における部門、プロジェクト等を用いることができ、経理処理における分類単位であるのが好ましい。
図6は、許可ユーザーテーブルの一例を示す図である。図6を参照して、許可ユーザーテーブルは、許可ユーザーごとに許可ユーザーレコードを含む。許可ユーザーレコードは、許可ユーザーIDの項目と、ユーザー名の項目と、パスワードの項目と、プロジェクト(部門)の項目と、制限情報の項目と、を含む。許可ユーザーIDの項目は、許可ユーザーの許可ユーザー識別情報が設定される。ユーザー名の項目は、許可ユーザーの氏などの名称が設定される。パスワードの項目は、パスワードが設定される。プロジェクト(部門)の項目は、許可ユーザーが属するグループのグループ識別情報が設定される。制限情報の項目は、MFP100が有する複数の機能のうち許可ユーザーに対して実行が制限される機能と、その内容とを含む情報が設定される。
例えば、第1行目の許可ユーザーレコードは、許可ユーザー識別情報「User1」の許可ユーザーに対応する許可ユーザーレコードであり、その許可ユーザーは、ユーザー名「田中」であり、パスワード「54321」であり、グループ識別情報「Pro1」のグループに属し、制限される機能がないことを示している。また、第2行目の許可ユーザーレコードは、許可ユーザー識別情報「User2」の許可ユーザーに対応する許可ユーザーレコードであり、その許可ユーザーは、ユーザー名「鈴木」であり、パスワード「12345」であり、グループ識別情報「A部」のグループに属し、制限される機能としてコピー機能の実行が許可されていないことを示している。
図5に戻って、操作ユーザー認証部55は、MFP100を操作するユーザーを認証する。具体的には、MFP100を操作するユーザーが入力する認証情報を受け付け、受け付けられた認証情報を、EEPROM115に予め記憶された許可ユーザーテーブル93に含まれる許可ユーザーレコードと比較することにより、ユーザーを認証する。以下、操作ユーザー認証部55により認証されたユーザーを操作ユーザーという。
操作ユーザー認証部55は、MFP100を操作するユーザーが操作部160Bに認証情報を入力する場合、操作部160Bから認証情報を受け付ける。また、操作ユーザー認証部55は、ユーザーがPC21,23を操作してMFP100を遠隔操作する場合は、ユーザーがPC21,23に認証情報を入力すると、通信I/F部112が認証情報を受信するので、通信I/F部112により受信された認証情報を受け付ける。操作ユーザー認証部55は、ユーザーにより入力された認証情報と同じ許可ユーザー識別情報とパスワードとの組を含む許可ユーザーレコードが許可ユーザーテーブル93に含まれていれば、ユーザーを操作ユーザーとして認証するが、そのような許可ユーザーレコードが存在しなければユーザーを操作ユーザーとして認証しない。操作ユーザー認証部55は、ユーザーを操作ユーザーとして認証する場合、ジョブ生成部57、処理登録部51および担当処理実行依頼部59に操作ユーザーの許可識別情報を出力する。操作ユーザー認証部55は、ユーザーを操作ユーザーとして認証する場合、その後認証された操作ユーザーがログアウトするまでに入力される操作を、操作ユーザーにより入力される操作として扱う。
処理登録部51は、サーバー31,31A〜31Dそれぞれが提供するサービスと、そのサービスの利用が許可された登録ユーザーと、を関連付ける。具体的には、処理登録部51は、サーバー31,31A〜31Dのいずれかが実行可能な担当処理と、その担当処理の実行が許可された登録ユーザーと、その登録ユーザーを認証するための登録ユーザー情報と、を関連付けたサービス登録レコードを生成し、生成されたサービス登録レコードをHDD115に記憶された登録処理テーブル91に追加して記憶する。
具体的には、処理登録部51は、通信I/F部112を介して、サーバー31,31A〜31Dそれぞれからサービス情報を取得する。サービス情報は、サーバー31,31A〜31Dそれぞれが実行可能な担当処理を識別するための処理識別情報と、担当処理の内容を示す機能情報と、課金情報と、を含む。課金情報は、基準単位と単価とを含む。基準単位は、担当処理に対して課金額を算出するために基準となる単位である。単価は、基準単位の処理量に対する料金である。処理識別情報は、サーバー31,31A〜31Dそれぞれにおいて担当処理のために通信用に割り当てられたポート番号である。なお、処理識別情報は、担当処理を識別可能であれば、ポート番号とは別の情報を用いてもよい。
ここで、許可ユーザー登録部53により許可ユーザーとして登録されているユーザー名「鈴木」のユーザーが、サーバー31が提供するサービスの利用が許可されている場合を例に説明する。サーバー31において、ユーザー名「鈴木」の許可ユーザーに対して登録ユーザーとして与えられた登録ユーザー識別情報が「USER2」であり、パスワードが「12345」である場合を例に説明する。
ユーザー名「鈴木」のユーザーが、MFP100にログインする場合、操作ユーザー認証部55によって操作ユーザーとして認証され、処理登録部51に許可ユーザー識別情報「User2」が入力される。処理登録部51は、表示部160Aに処理登録画面を表示する。処理登録画面は、先にサーバー31,31A〜31Dそれぞれから取得されたサービス情報を、選択可能に一覧表示する画面である。ユーザー名「鈴木」の操作ユーザーは、処理登録画面に選択可能に表示されたサーバー31,31A〜31Dそれぞれのサービス情報のうちから少なくとも1つのサービス情報を選択可能である。ユーザー名「鈴木」のユーザーは、サーバー31が提供するサービスの利用が許可されているので、サーバー31から取得されたサービス情報を選択することができる。
さらに、処理登録部51は、ユーザー名「鈴木」のユーザーが操作部160Bに入力する登録ユーザー情報を受け付け、ユーザー名「鈴木」のユーザーにより選択されたサービス情報と、ユーザー名「鈴木」のユーザーの許可ユーザー識別情報と、受け付けられた登録ユーザー情報とを用いて、サービス登録レコードを生成し、生成されたサービス登録レコードを、EEPROM115に記憶されている登録処理テーブルに追加して記憶する。具体的には、処理登録部51は、ユーザー名「鈴木」のユーザーにより選択されたサービス情報に含まれる処理識別情報および機能情報と、操作ユーザー認証部55から入力される許可ユーザー識別情報と、ユーザー名「鈴木」のユーザーにより入力された登録ユーザー情報と、を含むサービス登録レコードを生成する。サービス登録レコードは、サーバー31が提供するサービスにおいて実行する担当処理と、その担当処理の実行が許可された登録ユーザー情報とを関連付ける。また、サービス登録レコードは、登録ユーザーと許可ユーザーとを関連付ける。
図7は、登録処理テーブルの一例を示す図である。図7を参照して、登録処理テーブルは、登録されるサービスごとにサービス登録レコードを含む。サービス登録レコードは、サービスNo.の項目と、処理識別情報の項目と、機能の項目と、許可ユーザーIDの項目と、登録ユーザー情報の項目と、を含む。登録ユーザー情報の項目は、登録ユーザーIDの項目と、パスワードの項目と、を含む。サービスNo.の項目は、サービス登録レコードを識別するためのレコード識別情報が設定される。処理識別情報の項目は、サーバー31,31A〜31Dのいずれかで実行される担当処理を識別するための処理識別情報が設定される。機能の項目は、担当処理の機能の内容を示す機能情報が設定される。許可ユーザーIDの項目は、許可ユーザー識別情報が設定される。登録ユーザー情報の項目は、許可ユーザー識別情報で特定されるユーザーの登録情報が設定される。
例えば、1行目のサービス登録レコードは、処理識別情報「http:www.service1.or.jp/image/」が設定されており、サーバー31が実行可能な担当処理に対応するサービス登録レコードであり、その担当処理の機能情報が「文字合成」であることを示し、許可ユーザー識別情報「User2」の許可ユーザーに対して実行が許可されており、その許可ユーザーに対してサーバー31において登録されている登録ユーザー識別情報が「USER2」であり、パスワードが「12345」であることを示している。
図5に戻って、ジョブ生成部57は、操作ユーザー認証部55から操作ユーザーの許可ユーザー識別情報が入力されることを条件に、操作ユーザーにより入力される操作に従って、ジョブを生成する。ジョブは、処理対象となるデータと、そのデータに対して実行する1以上の処理とを定める。ジョブ生成部57は、処理対象となるデータを指定する領域と、処理を選択する領域とを含むジョブ受付画面を生成し、生成されたジョブ受付画面を表示部160Aに表示する。処理を選択する領域は、EEPROM115に記憶された登録処理テーブル91に含まれる1以上のサービス登録レコードそれぞれの処理識別情報を選択可能に表示する領域である。また、ジョブ受付画面に表示される処理識別情報は、操作ユーザーに係わりなく、EEPROM115に記憶された登録処理テーブル91に含まれる1以上のサービス登録レコードすべてにそれぞれに含まれる処理識別情報である。したがって、操作ユーザーが、サーバー31,31A〜31Dのいずれにも登録ユーザーとして登録されていない場合であっても、他のユーザーが登録されていれば、サーバー31,31A〜31Dのうち他のユーザーが登録ユーザーとして登録されている装置の担当処理の処理識別情報が選択可能に表示される。
図8は、ジョブ受付画面の一例を示す図である。図8を参照してジョブ受付画面501は、処理対象となるデータを指定するための領域511と、出力先を指定するための領域521と、処理を指定するための領域531と、を含む。処理対象となるデータを指定するための領域511は、スキャンの文字が表されたボタン513と、BOXの文字が表されたボタン515と、ファイル名が入力される領域517と、を含む。ボタン513,515は、いずれか一方が指示可能となっている。ボタン513が指示される場合、原稿読取部130が原稿を読み取って出力する画像データが、処理対象のデータに設定される。ボタン515が指示される場合、領域517が有効になる。領域517にHDD116に記憶されたデータのうちから選択されたデータのファイル名が入力されると、入力されたファイル名のデータが処理対象のデータに設定される。また、領域517の右に配置された逆三角形のボタンが指示される場合、HDD116に記憶されたデータのファイル名を一覧表示し、一覧表示されたファイル名のうちから1つが指示されると、指示されたファイル名が領域517に表示されるとともに、そのファイル名のデータが処理対象に設定される。
出力先を指定するための領域521は、プリントの文字が表されたボタン523と、送信の文字が表されたボタン525と、宛先のアドレスが入力される領域527と、を含む。ボタン523,525は、いずれか一方が指示されてもよいし、両方が指示されてもよい。ボタン523が指示される場合、画像形成部140が出力先に設定され、画像形成部140により画像を形成する処理が設定される。ボタン525が指示される場合、通信I/F部112またはHDD116が出力先に決定され、処理対象となるデータを送信または記憶する処理が設定される。ボタン525が指示される場合、領域527が有効になる。領域527にデータの出力先となるアドレスが入力されると、出力先となる宛先に設定される。アドレスは、電子メールアドレスであってもよいし、データの記憶先を示すURLであってもよい。また、領域527の右に配置された逆三角形のボタンが指示される場合、出力先として予め登録されたアドレスを一覧表示し、一覧表示されたアドレスのうちから1つが指示されると、指示されたアドレスが領域527に表示されるとともに、そのアドレスが出力先となる宛先に設定される。アドレスは、1以上を指定可能である。
処理を指定するための領域531には、EEPROM115に記憶された登録処理テーブル91に含まれる1以上のサービス登録レコードすべてにそれぞれに含まれる処理識別情報が表示される。ここでは、図7に示した、サービスNo.が1〜3の3つのサービス登録レコードそれぞれの機能情報と、処理識別情報とが表示される。3つの処理識別情報のうちで選択された処理識別情報の横に選択されたことを示す「on」が表示される。選択されていない処理識別情報の横には選択されていないことを示す「off」が表示される。ここでは、3つの処理識別情報のすべてが選択されている場合を示している。
図5に戻って、ジョブ生成部57は、操作ユーザーにより入力される操作に従って、処理対象となるデータと、1以上の担当処理の処理識別情報と、出力先とを含むジョブを生成し、生成されたジョブを担当処理実行依頼部59に出力する。担当処理実行依頼部59は、ジョブ生成部57からジョブが入力されることに応じて、ジョブを実行する。まず、担当処理実行依頼部59は、ジョブに含まれる1以上の処理識別情報のうちから1つの処理識別情報を処理対象となる担当処理を特定する情報として順に選択する。以下、処理対象に選択された担当処理を対象処理という。そして、担当処理実行依頼部59は、対象処理の実行を、サーバー31,31A〜31Dのうち対象処理を担当処理とする装置に依頼する。以下、サーバー31,31A〜31Dのうち対象処理を担当処理とする装置を依頼装置という。
担当処理実行依頼部59は、登録ユーザー決定部71と、許可要求部73と、認証依頼部75と、実行依頼部77と、を含む。登録ユーザー決定部71は、EEPROM115に記憶された登録処理テーブル91を参照して、対象処理の実行が許可される登録ユーザーを決定する。登録処理テーブル91から対象処理の処理識別情報が処理機別情報の項目に設定されたサービス登録レコードを抽出する。登録ユーザー決定部71は、抽出されたサービス登録レコードの許可ユーザーIDの項目に設定されている許可ユーザー識別情報のユーザーを登録ユーザーに決定する。登録ユーザー決定部71は、決定された登録ユーザーの許可ユーザー識別情報を許可要求部73に出力し、抽出されたサービス登録レコードに含まれる処理識別情報および登録ユーザー情報を認証依頼部75に出力する。抽出されたサービス登録レコードに含まれる許可ユーザー識別情報で特定されるユーザーは、対象処理の実行が許可された登録ユーザーである。
許可要求部73は、操作ユーザー認証部55から許可ユーザー識別情報が入力され、登録ユーザー決定部71から許可ユーザー識別情報が入力される。許可要求部73は、操作ユーザー認証部55から入力される許可ユーザー識別情報と、登録ユーザー決定部71から入力される許可ユーザー識別情報とを比較し、操作ユーザーと登録ユーザーとが同一か否かを判断する。操作ユーザー認証部55から入力される許可ユーザー識別情報で特定されるユーザーは、操作ユーザー認証部55により認証された操作ユーザーである。登録ユーザー決定部71から入力される許可ユーザー識別情報で特定されるユーザーは、対象処理の実行が許可された登録ユーザーである。許可要求部73は、操作ユーザーと登録ユーザーとが同一と判断する場合、認証依頼部75に認証指示を出力する。
許可要求部73は、両者が同一でないと判断する場合、登録ユーザーによる許可が得られることを条件に、認証依頼部75に認証指示を出力する。許可要求部73は、登録ユーザー決定部71から入力される許可ユーザー識別情報で特定される登録ユーザーに、対象処理を実行する許可を求める。具体的には、登録ユーザーに割り当てられた電子メールアドレスを宛先に設定し、対象処理を実行する許可を求めるメッセージを本文に含む電子メールを生成し、電子メールを送信する。その後、許可要求部73は、登録ユーザーから許可することを示すメッセージを含む返信メールを受信すると、登録ユーザーによる許可が得られたと判断する。
認証依頼部75は、登録ユーザー決定部71から処理識別情報および登録ユーザー情報が入力され、許可要求部73から認証指示が入力される。認証依頼部75は、登録ユーザー決定部71から入力される処理識別情報に基づいて、対象処理を担当処理とする依頼装置を特定する。そして、認証依頼部75は、許可要求部73から認証指示が入力されることを条件に、依頼装置に認証を依頼する。例えば、サーバー31が依頼装置の場合、認証依頼部75は、通信I/F部112を介して、登録ユーザー決定部71から入力される登録ユーザー情報を含む認証依頼情報を送信する。認証依頼部75は、操作ユーザーと対象処理の登録ユーザーとが異なる場合は、操作ユーザーに代わって、対象処理の登録ユーザーの登録ユーザー情報を送信するために、登録ユーザー決定部71から入力される登録ユーザー情報を含む認証依頼情報を送信する。このため、操作ユーザーが、対象処理を担当処理とするサーバー31において登録ユーザーとして登録されていない場合であっても、対象処理の登録ユーザーとしてサーバー31によって認証される。
認証依頼情報を受信するサーバー31は、認証する場合に認証成功信号を返信し、認証しない場合は認証失敗信号を返信する。認証依頼部75は、通信I/F部112がサーバー31から認証成功信号を受信すると、実行依頼指示を実行依頼部77に出力するが、認証失敗信号を受信すると、実行依頼指示を実行依頼部77に出力しない。
実行依頼部77は、認証依頼部75から実行依頼指示が入力されることを条件に、対象処理の実行を依頼装置に依頼する。処理対象データと対象処理の処理識別情報とを含む担当処理実行依頼を依頼装置に通信I/F部112を介して送信する。ここでは、サーバー31が依頼装置の場合について説明する。依頼装置であるサーバー31は、担当処理実行依頼を受信すると、実行結果を返信するので、通信I/F部112が実行結果を受信すると、実行依頼部77は実行結果を取得する。実行結果は、担当処理を実行した後の処理済のデータと処理量とを含む。実行依頼部77は、取得された実行結果に含まれる処理済のデータで、EEPROM115に記憶された処理対象データ95を更新するとともに、集計部63に集計指示を出力する。集計指示は、操作ユーザーの許可ユーザー識別情報と、対象処理の処理識別情報と処理量とを含む。
実行依頼部77は、制限解除部79と、アクセス権変更部81とを含む。制限解除部79は、MFP100において、データの外部への送信を禁止する設定がされている場合、一時的に送信を禁止する設定を解除し、データの外部への送信を可能とする。これにより、担当処理実行依頼の依頼装置への送信が可能となる。制限解除部79は、担当処理実行依頼の送信が完了すると、データの外部への送信を禁止する設定に戻す。データの外部への送信を禁止する設定がされている場合は、操作ユーザーが制限されている場合を含む。この場合には、操作ユーザーに対応する許可ユーザーレコードの制限情報の項目を、制限が解除されるように一時的に書き換える。
アクセス権変更部81は、処理対象データに対するアクセス権を変更する。EEPROM115に記憶された処理対象データ95へのアクセス権を、対象処理の登録ユーザーのみが読み取りおよび変更可能なアクセス権に設定する。このため、実行依頼部77は、操作ユーザーが登録ユーザーと異なる場合であっても、処理対象なるデータを依頼装置に送信することができる。また、ジョブが実行中の段階においては、処理対象となるデータは、対象処理が実行されるごとに更新されるので、操作ユーザーによるアクセスを禁止して、データを変更できないようにすることができる。
集計部63は、実行依頼部77から集計指示が入力されることに応じて、操作ユーザーが属するグループごとに課金額を算出し、算出された課金額で、EEPROM115に記憶されたグループ別カウンター97を更新する。グループ別カウンターは、対象処理ごと、および、操作ユーザーが属するグループごとに、課金額が設定されるカウンターである。換言すれば、処理識別情報とグループ識別情報との組で1つのグループ別カウンターが特定される。
集計部63は、操作ユーザーが属するグループを決定する。集計指示に含まれる操作ユーザーの許可ユーザー識別情報を用いて、EEPROM115に記憶されている許可ユーザーテーブル93から操作ユーザーに対応する許可ユーザーレコードを抽出し、抽出された許可ユーザーレコードのプロジェクト(部門)の項目に設定されているグループ識別情報を取得する。
集計部63は、実績記憶部85と、グループ別カウンター生成部87と、を含む。実績記憶部85は、集計指示に含まれる処理識別情報に対応する単価と集計指示に含まれる処理量とを乗算することにより課金額を算出し、算出された課金額で、EEPROM115に記憶されたグループ別カウンター97のうち操作ユーザーが属するグループのグループ識別情報および集計指示に含まれる対象処理の処理識別情報で特定されるグループ別カウンターを更新する。課金額を、グループ別カウンターに記憶されている値を加算することにより更新する。
グループ別カウンター生成部87は、EEPROM115に記憶されているグループ別カウンター97に、課金額を設定する対象となるカウンターが存在しない場合には、新たなグループ別カウンターを生成し、グループ別カウンター97に追加する。具体的には、グループ別カウンター生成部87は、集計指示に含まれる対象処理の処理識別情報と、取得されたグループ識別情報との組に対応するグループ別カウンターが、EEPROM115に記憶されているグループ別カウンター97に含まれているか否かを判断する。そのようなグループ別カウンターが存在しない場合に、集計指示に含まれる対象処理の処理識別情報と、取得されたグループ識別情報との組に対応するグループ別カウンターを生成し、EEPROM115に記憶されているグループ別カウンター97に追加する。すべてのグループ別およびサーバー31,31A〜31Dそれぞれの担当処理別にグループ別カウンターを設けると、グループの数と担当処理の数を乗算した値の数だけグループ別カウンターを設けなければならない。しかしながら、対象処理が実行された結果に対応するグループ別カウンターのみを設ければよいので、グループ別カウンターの数をできるだけ少なくすることができる場合がある。
また、グループ別カウンターは、処理識別情報とグループ識別情報との組みで特定されるので、複数のグループ別カウンターのうちから処理識別情報情が同じものを抽出すれば、その処理識別情報の担当処理において、グループ別の課金額を求めることができる。また、複数のグループ別カウンターのうちからグループ識別情報が同じものを抽出すれば、そのグループ識別情報のグループにおいて、担当処理別の課金額を求めることができる。
図9は、サービス依頼処理の流れの一例を示すフローチャートである。サービス依頼処理は、MFP100が備えるCPU111がROM114、EEPROM115、HDD116またはCD−ROM119Aに記憶されたサービス登録プログラムを実行することにより、CPU111のより実行される処理である。図9を参照して、CPU111は、MFP100を操作するユーザーの認証に成功したか否かを判断する(ステップS01)。ユーザーの認証に成功するまで待機状態となり(ステップS01でNO)、ユーザーの認証に成功したならば(ステップS01でYES)、処理をステップS02に進める。ステップS02においては、操作ユーザーを特定する。ステップS01において認証されたユーザーを操作ユーザーとして特定する。次のステップS03においては、サービス登録指示を受け付けたか否かを判断する。操作部160Bが有し、サービス登録指示が予め割り当てられたボタンが押下されると、サービス登録指示を受け付ける。サービス登録指示を受け付けるならば処理をステップS04に進めるが、そうでなければ処理をステップS05に進める。ステップS04においては、サービス登録処理を実行し、処理をステップS09に進める。サービス登録処理については後述する。
ステップS05においては、ジョブ生成指示を受け付けたか否かを判断する。操作部160Bが有し、ジョブ生成指示が予め割り当てられたボタンが押下されると、ジョブ生成指示を受け付ける。ジョブ生成指示を受け付けるならば処理をステップS06に進めるが、そうでなければ処理をステップS09に進める。ステップS06においては、ジョブ生成処理を実行し、処理をステップS07に進める。ジョブ生成処理については後述するが、ジョブを生成する処理である。ステップS07において、実行指示を受け付けたか否かを判断する。操作部160Bが備え、実行指示が予め割り当てられたスタートキーが押下されると、実行指示を受け付ける。実行指示を受け付けるまで待機状態となり(ステップS07でNO)、実行指示を受け付けたならば処理をステップS08に進める。ステップS08においては、ステップS06において生成されたジョブを実行するジョブ実行処理を実行し、処理をステップS09に進める。ジョブ実行処理の詳細は後述する。
ステップS09においては、操作ユーザーがログアウトしたか否かを判断する。操作部160Bが有し、ログアウト指示が予め割り当てられたボタンが押下されると、操作ユーザーがログアウトしたと判断する。また、操作ユーザーが操作部160Bに操作を入力することなく所定の時間が経過すると、操作ユーザーがログアウトしたと判断する。操作ユーザーがログアウトしたならば処理を終了するが、そうでなければ処理をステップS03に戻す。
図10は、サービス登録処理の流れの一例を示すフローチャートである。サービス登録処理は、図9のステップS04において実行される処理である。図10を参照して、処理登録画面を表示部160Aに表示する(ステップS11)。処理登録画面は、サーバー31,31A〜31Dそれぞれから取得されたサービス情報を、選択可能に一覧表示する画面である。例えば、ユーザー名「鈴木」の操作ユーザーが、サーバー31が提供するサービスの利用が許可されている場合、処理登録画面に表示され、サーバー31から取得されたサービス情報を選択することができる。
次のステップS12においては、サービス情報が選択されたか否かを判断する。操作ユーザーが、操作部160Bを操作して、処理登録画面に表示されたサービス情報のうちから1つを選択する指示を入力すれば、サービス情報の選択を受け付ける。次のステップS13においては、登録ユーザー情報を受け付ける。操作ユーザーが操作部160Bを操作して入力する登録ユーザー情報を受け付ける。登録ユーザー情報は、サーバー31,31A〜31Dのいずれかにおいて登録された登録ユーザーを識別するための登録ユーザー識別情報と、パスワードとを含む。
次のステップS14においては、登録内容が確定したか否かを判断する。登録内容が確定したならば処理をステップS15に進めるが、そうでなければ処理をステップS12に戻す。ステップS15においては、サービス登録レコードを生成する。サービス登録レコードは、サーバー31,31A〜31Dのいずれかにおいて操作ユーザーが登録されたサーバーの担当処理の処理識別情報と、操作ユーザーの許可ユーザー識別情報と、ステップS13において受け付けられた登録ユーザー情報と、を含む。サービス登録レコードは、サーバー31,31A〜31Dいずれかの担当処理と、その担当処理の実行が許可された登録ユーザー情報とを関連付ける。また、サービス登録レコードは、登録ユーザーと許可ユーザーとを関連付ける。
そして次のステップS16において、生成されたサービス登録レコードを、EEPROM115に記憶されている登録処理テーブルに追加して記憶し、処理をサービス依頼処理に戻す。
図11は、ジョブ生成処理の流れの一例を示すフローチャートである。ジョブ生成処理は、図9のステップS06において実行される処理である。図11を参照して、CPU111は、EEPROM115に記憶された登録処理テーブル91を読み出す(ステップS21)。次のステップS22においては、登録処理テーブル91に基づいてジョブ受付画面を生成する。ここでは、図8に示したジョブ受付画面501を生成する場合を説明する。ジョブ受付画面501は、処理対象となるデータを指定する領域511と、処理を選択する領域531と、出力先を指定する領域521と、を含む。処理を選択する領域531は、登録処理テーブル91に含まれる1以上のサービス登録レコードそれぞれの処理識別情報を選択可能に表示する領域である。このため、操作ユーザーが、サーバー31,31A〜31Dのいずれにも登録ユーザーとして登録されていない場合であっても、他のユーザーが登録されていれば、サーバー31,31A〜31Dのうち他のユーザーが登録ユーザーとして登録されている装置の担当処理の処理識別情報が選択可能に表示される。
そして、生成されたジョブ受付画面501を表示部160Aに表示する(ステップS23)。次のステップS24においては、処理対象データの指定を受け付けたか否かを判断する。ジョブ受付画面501の処理対象となるデータを指定する領域511で指定されたデータを処理対象データとして受け付ける。処理対象データの指定を受け付けたならば処理をステップS25に進めるが、そうでなければ処理をステップS26に進める。ステップS25においては、受け付けられた処理対象データをジョブ構成情報に追加し、処理をステップS30に進める。ジョブ構成情報は、ジョブの内容を定める情報である。
ステップS26においては、出力先の指定を受け付けたか否かを判断する。ジョブ受付画面501の出力先を指定する領域521に入力された出力先を受け付ける。出力先の指定を受け付けたならば処理をステップS27に進めるが、そうでなければ処理をステップS28に進める。ステップS27においては、ジョブ構成情報に出力先を追加し、処理をステップS30に進める。
ステップS28においては、サービスの選択を受け付けたか否かを判断する。ジョブ受付画面501の処理を選択する領域531に表示された処理識別情報のいずれかが指示されると、サービスの選択を受け付ける。サービスの選択を受け付けたならば処理をステップS29に進めるが、そうでなければ処理をステップS30に進める。ステップS29においては、選択された処理識別情報をジョブ構成情報に追加し、処理をステップS30に進める。
ステップS30においては、設定終了指示を受け付けたか否かを判断する。操作部160Bが有し、設定終了指示が割り当てられたキーが指示されると、設定終了指示を受け付ける。設定終了指示を受け付けたならば処理をサービス依頼処理に戻し、そうでなければ処理をステップS24に戻す。
図12は、ジョブ実行処理の流れの一例を示すフローチャートである。ジョブ実行処理は、図9のステップS08において実行される処理である。図12を参照して、CPU111は、ジョブ構成情報で定められる1以上の処理識別情報のうちから1つを処理対象に選択する(ステップS31)。この段階で選択される処理識別情報で特定される担当処理は、対象処理である。次のステップS32においては、依頼装置を特定する。EEPROM115に記憶された登録処理テーブル91を参照して、ステップS31において選択された処理識別情報を担当処理とする依頼装置を特定する。ここでは、サーバー31が依頼装置として特定される場合を例に説明する。
次のステップS33においては、登録ユーザーを特定する。EEPROM10015に記憶された登録処理テーブル91を参照して、対象処理の実行が許可された登録ユーザーを特定する。具体的には、EEPROM10015に記憶された登録処理テーブル91に含まれるサービス登録レコードのうちから、ステップS31において選択された処理識別情報を含むサービス登録レコードを抽出する。そして、抽出されたサービス登録レコードの許可ユーザーIDの項目に設定されている許可ユーザー識別情報で特定されるユーザーを登録ユーザーとして特定する。
次のステップS34においては、ステップS33において特定された登録ユーザーが、操作ユーザーと同一か否かを判断する。登録ユーザーの許可ユーザー識別情報と操作ユーザーの許可ユーザー識別情報とを比較することにより、同一か否かを判断する。登録ユーザーと操作ユーザーとが同一ならば処理をステップS39に進めるが、そうでなければ処理をステップS35に進める。登録ユーザーが知らない間に、対象処理が実行されるのを防止するためである。
ステップS35においては、登録ユーザーに許可を要求する。登録ユーザーに割り当てられた電子メールアドレスを宛先に設定し、対象処理を実行する許可を求めるメッセージを本文に含む電子メールを生成し、電子メールを送信する。そして、登録ユーザーにより許可されたか否かを判断する(ステップS36)。登録ユーザーから許可することを示すメッセージを含む返信メールを受信すると、登録ユーザーによる許可が得られたと判断する。登録ユーザーにより許可されたならば処理をステップS37に進めるが、そうでなければ処理をステップS50に進める。
ステップS50においては、エラー処理を実行し、処理をサービス依頼処理に戻す。エラー処理は、特に限定するものではないが、ジョブを実行できないことを示すエラーメッセージを表示部160Aに表示する処理である。
ステップS37においては、EEPROM115に記憶されている処理対象データ95に対するアクセス権を、登録ユーザーに対して読み込みおよび変更が可能なアクセス権を付与する。これにより、処理対象データ95をサーバー31に送信可能な状態に設定する。次のステップS38においては、処理対象データ95に対する操作ユーザーのアクセスを制限する。具体的には、EEPROM115に記憶されている処理対象データ95に対するアクセス権を、操作ユーザーに対して読み込みおよび変更が不可能なアクセス権を付与する。操作ユーザーが処理対象データ95に対してアクセスするのを制限して、ジョブ実行中に処理対象データ95が変更されることを防止する。
次のステップS39においては、登録ユーザーの認証を依頼する。具体的には、ステップS33において抽出されたサービス登録レコードの登録ユーザー情報の項目に設定されている登録ユーザー識別情報とパスワードとを含む認証依頼情報を、依頼装置であるサーバー31に通信I/F部10012を介して送信する。認証依頼情報を受信するサーバー31は、認証する場合に認証成功信号を返信し、認証しない場合は認証失敗信号を返信する。
次のステップS40においては、依頼装置において認証が成功したか否かを判断する。通信I/F部112が認証成功信号を受信する場合にサーバー31における認証が成功したと判断し、認証失敗信号を受信する場合にサーバー31における認証が失敗したと判断する。認証に成功したならば処理をステップS41に進めるが、そうでなければ処理をステップS50に進める。
ステップS41においては、データ送信制限が設定されているか否かを判断する。外部へのデータの送信が制限されているならば、処理をステップS42に進めるが、そうでなければ処理をステップS45に進める。ステップS42においては、データ送信の制限を解除する。そして次のステップS43において、担当処理実行依頼を依頼装置であるサーバー31に送信する。次のステップS44においては、データ送信制限を設定し、処理をステップS416に進める。一方、ステップS45においては、担当処理実行依頼を依頼装置であるサーバー31に送信し、処理をステップS46に進める。
ステップS46においては、実行結果を受信したか否かを判断する。担当処理実行依頼を受信するサーバー31は、担当処理実行依頼に基づいて担当処理を実行し、その結果を返信する。通信I/F部112が、サーバー31から実行結果を受信するまで待機状態となり(ステップS46でNO)、サーバー31から実行結果を受信したならば(ステップS46でYES)、処理をステップS47に進める。
ステップS47においては、ステップS46において受信された実行結果に含まれる処理済みデータで、EEPROM115に記憶されている処理対象データ95を更新する。次のステップS48においてはカウント処理を実行し、処理をステップS49に進める。カウント処理の詳細は後述する。ステップS49においては、ジョブ構成情報に未選択の処理識別情報が存在するか否かを判断する。未選択の処理識別情報が存在するならば処理をステップS31に戻し、そうでなければ処理をサービス依頼処理に戻す。
図13は、カウント処理の流れの一例を示すフローチャートである。カウント処理は、図12のステップS48において実行される処理である。図13を参照して、CPU111は、グループ別カウンターが存在するか否かを判断する。EEPROM115に記憶されているグループ別カウンター97のうちに、図12のステップS31において選択された処理識別情報および登録ユーザーが属するグループのグループ識別情報に対応するグループ別カウンターが存在するか否かを判断する。登録ユーザーが属するグループのグループ識別情報は、EEPROM115に記憶された許可ユーザーテーブル93を参照し、登録ユーザーの許可ユーザー識別情報と関連付けられたグループ識別情報である。グループ別カウンターが存在するならば処理をステップS63に進めるが、そうでなければ処理をステップS62に進める。
ステップS62においては、図12のステップS31において選択された処理識別情報および登録ユーザーが属するグループのグループ識別情報に対応するグループ別カウンターを生成し、EEPROM115に記憶されているグループ別カウンター97に追加する。次のステップS63においては、グループ別カウンターを、実行結果に含まれる処理量に基づき定まる課金額で更新し、処理をジョブ実行処理に戻す。具体的には、図12のステップS31において選択された処理識別情報に対応する単価と実行結果に含まれる処理量とを乗算することにより課金額を算出し、算出された課金額で、グループ別カウンター97を更新する。課金額を、グループ別カウンターに記憶されている値を加算することにより更新する。
図14は、サービス提供処理の流れの一例を示すフローチャートである。サービス提供処理は、サーバー31,31A〜31Dそれぞれが備えるCPU201が、ROM202、HDD205またはCD−ROM209Aに記憶されたサービス提供プログラムを実行することにより、CPU201により実行される処理である。ここでは、サーバー31が備えるCPU201がサービス提供プログラムを実行する処理について説明する。
図14を参照して、CPU201は、認証依頼情報を受信したか否かを判断する。ネットワークI/F204が、MFP100,100A〜100Dのいずれかから認証依頼情報を受信したか否かを判断する。認証依頼情報を受信するまで待機状態となり(ステップS101でNO)、認証依頼情報を受信したならば(ステップS101でYES)、処理をステップS102に進める。ここでは、MFP100から認証依頼情報を受信する場合を例に説明する。
ステップS102においては、受信された認証依頼情報に基づいて認証処理を実行する。認証依頼情報に含まれる登録ユーザー識別情報およびパスワードが、予め登録されているならば、その登録ユーザー識別情報で特定される登録ユーザーを認証するが、予め登録されていなければ登録ユーザーを認証しない。次のステップS103においては、認証結果によって処理を分岐させる。認証に成功するならば処理をステップS104に進めるが、そうでなければ処理をステップS111に進める。ステップS111においては、認証依頼情報を送信してきたMFP100に認証失敗信号を送信し、処理を終了する。
ステップS104においては、認証依頼情報を送信してきたMFP100に認証成功信号を送信し、処理をステップS105に進める。
ステップS105においては、担当処理実行依頼を受信したか否かを判断する。ネットワークI/F204が、MFP100から担当処理実行依頼を受信したか否かを判断する。
担当処理実行依頼を受信するまで待機状態となり(ステップS105でNO)、担当処理実行依頼を受信したならば(ステップS105でYES)、処理をステップS106に進める。
ステップS106においては、ステップS105において受信された担当処理実行依頼に含まれる処理対象データを、HDD205に記憶する。次のステップS107においては、担当処理実行依頼に含まれる処理識別情報で特定される担当処理を、ステップS106において記憶したデータに実行する。そして、担当処理の実行が終了するまで待機状態となり(ステップS108でNO)、担当処理の実行が終了したならば(ステップS108でYES)、処理をステップS109に進める。ステップS109においては、担当処理実行依頼を送信してきたMFP100に実行結果を送信し、処理をステップS110に進める。実行結果は、担当処理を実行した後の処理済みのデータと、処理量とを含む。次のステップS110においては、担当処理の実行に対して課金し、処理を終了する。具体的には、担当処理に対して予め定められた単価と処理量とを乗算することにより課金額を決定し、ステップS102において認証された登録ユーザーに対して課金する。
<第1の変形例>
なお、上述した実施の形態においては、MFP100,100A〜100Dそれぞれにおいてジョブを実行するようにしたが、MFP100,100A〜100Dを統括する制御装置を設けてもよい。例えば、PC21を制御装置とする場合、MFP100,100A〜100Dそれぞれは、ジョブを生成し、生成したジョブをPC21に送信する。PC21は、MFP100,100A〜100Dのいずれかからジョブを受信すると、受信されたジョブを実行する。この場合、PC21が備えるCPUは、図5に示した機能のうち担当処理事項依頼部59および集計部63が形成される。一方、MFP100,100A〜100Dには、処理登録部51、ジョブ生成部57、許可ユーザー登録部53および操作ユーザー認証部55が形成される。さらに、MFP100,100A〜100DからPC21には、ジョブ生成部57において生成されたジョブと、操作ユーザー認証部55において認証された操作ユーザーの許可ユーザー識別情報と、処理登録部51により生成されるユーザー登録レコードと、が送信される。PC21からMFP100,100A〜100Dには、ジョブを実行した結果が送信される。
<第2の変形例>
上述した実施の形態においては、サーバー31,31A〜31Dが、それぞれ1つの担当処理を実行する場合を説明したが、それぞれが複数の担当処理を実行可能であってもよい。また、単一のサーバー31がすべての担当処理を実行するようにしてもよい。この場合、担当処理実行依頼部59は、処理対象データとジョブ(ジョブ構成情報)をサーバー31に送信するのに加えて、ジョブにより定まる1以上の処理識別情報それぞれで特定される担当処理の実行が許可された1以上の登録ユーザーを特定し、処理対象識別情報と登録ユーザーの登録ユーザー情報との組を、サーバー31に送信する。これにより、サーバー31では、ジョブを実行する際に、ジョブにより定められる1以上の処理識別情報の担当処理における認証が可能となり、ジョブを実行することが可能となる。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。