以下、本発明の実施の形態について図面を参照して説明する。以下の説明では同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがってそれらについての詳細な説明は繰り返さない。
<第1の実施の形態>
図1は、本発明の実施の形態の1つにおける画像処理システムの全体概要を示す図である。図1を参照して、画像処理システム1は、ネットワーク102にそれぞれ接続された5台の複合機(以下、「MFP」という)100と、パーソナルコンピュータ(以下「PC」という)300と、5台のサーバー200,200A〜200Dと、を含む。
ネットワーク102は、ローカルエリアネットワーク(LAN)であり、有線または無線を問わない。また、ネットワーク102は、ゲートウェイを介してインターネットに接続されている。なお、ネットワーク102は、LANに限らず、ワイドエリアネットワーク(WAN)、インターネット、または一般公衆回線を用いたネットワーク等であってもよく、それらを組み合わせて接続されたネットワークであってもよい。
サーバー200、200A〜200Dそれぞれは、画像処理装置として機能し、MFP100は、サーバー200、200A〜200Dを制御する制御装置として機能する。サーバー200、200A〜200Dは、一般的なコンピュータであり、それらのハードウエア構成は周知なのでここでは説明を繰り返さない。サーバー200、200A〜200Dは、SaaSを提供可能なWebサーバーとして機能し、有料の画像処理サービスを提供する。サーバー200、200A〜200Dが提供する画像処理サービスは、サーバー200、200A〜200Dそれぞれで動作するソフトウェアの機能を、ネットワーク102を介してオンラインで利用可能とする形態である。サーバー200、200A〜200Dが提供する画像処理サービスの種類は、すべて同じであってもよいが、異なっていてもよい。ここでは、サーバー200、200A〜200Dが提供する画像処理サービスの種類が互いに異なる場合を例に説明する。
サーバー200,200A〜200D各々は、画像処理プログラムがインストールされており、外部からデータを受信し、受信されたデータに処理を実行して、画像処理を実行した後の処理後データを転送する。画像処理は、入力される画像データに実行される処理であり、例えば、地紋を合成する地紋合成処理、画像データを構成する複数ページのうちから白紙のページを除去する白紙除去処理、文字認識(OCR)して文字のデータに変換する文字認識処理、文字を翻訳する翻訳処理、データ中の画像の領域の色を変換する色変換処理、データ中の画像の領域の輪郭を強調する輪郭強調処理、データのフォーマットを変換するフォーマット変換処理等を含む。
ここでは、サーバー200に地紋合成処理を実行するための地紋合成プログラムがインストールされており、サーバー200が地紋合成サービスを提供し、サーバー200Aに白紙除去処理を実行するための白紙除去プログラムがインストールされており、サーバー200Aが白紙除去サービスを提供し、サーバー200Bに翻訳処理を実行するための翻訳プログラムがインストールされており、翻訳サービスを提供し、サーバー200Cに文字認識処理を実行するための文字認識プログラムがインストールされており、サーバー200Cが文字認識サービスを提供し、サーバー200Dに、フォーマット変換処理を実行するためのフォーマット変換プログラムがインストールされており、フォーマット変換サービスを提供する。
サーバー200、200A〜200Dが提供する画像処理サービスは、MFP100で利用可能に設定されている。MFP100は、サーバー200、200A〜200Dが提供する画像処理サービスを利用することが可能なように設定されている。MFP100がサーバー200、200A〜200D各々により提供される画像処理サービスを利用する場合は課金される。なお、課金の方法は、種々方法が知られているが、課金方法を限定するものではない。
以下、サーバー200、200A〜200Dが画像処理サービスを提供するために実行する処理を、担当処理という。具体的には、サーバー200の担当処理は地紋合成処理であり、サーバー200Aの担当処理は白紙除去処理であり、サーバー200Bの担当処理は翻訳処理であり、サーバー200Cの担当処理はOCR処理であり、サーバー200Dの担当処理はフォーマット変換処理である。
PC300は、一般的なコンピュータであり、そのハードウエア構成は周知なのでここでは説明を繰り返さない。PC300は、ネットワーク102を介して、MFP100と通信が可能である。本実施の形態における画像処理システム1は、MFP100に、ユーザーによりワークフローが投入される。ワークフローは、処理対象となるデータと、そのデータに対して複数の処理のうちから選ばれた1以上の処理と、1以上の処理を実行する順番とを定める。複数の処理は、MFP100が実行可能な処理であり、MFP100にインストールされているプログラムを実行することにより実行される処理、またはハードウエアにより実行される処理の他、サーバー200、200A〜200Dが提供する画像処理サービスを含む。MFP100は、ワークフローが投入されると、投入されたワークフローにより定まる順番に従って、サーバー200,200A〜200Dのうちから処理を実行する装置を特定し、特定された装置にワークフローおよび処理対象となるデータとを送信し、画像処理を実行させる。
なお、図1においては1台のMFP100、1台のPC300および5台のサーバー200,200A〜200Dを示しているが、それらの台数を限定するものではなく、少なくとも1台以上のMFP100と、1台以上のサーバー200がネットワーク102またはインターネットに接続されていればよい。
図2は、本実施の形態におけるMFPの外観を示す斜視図である。図3は、MFPのハードウエア構成の一例を示すブロック図である。図2および図3を参照して、MFP100は、メイン回路110と、原稿を読み取るための原稿読取部130と、原稿を原稿読取部130に搬送するための自動原稿搬送装置120と、原稿読取部130が原稿を読み取って出力する静止画像を用紙等に形成するための画像形成部140と、画像形成部140に用紙を供給するための給紙部150と、ユーザーインターフェースとしての操作パネル160と、コインベンダ170と、を含む。
メイン回路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と、コインベンダ170を制御するコインベンダ通信部118と、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をネットワーク102に接続するためのインターフェースである。CPU111は、通信I/F部112を介してサーバー200,200A〜200DおよびPC300との間で通信し、データを送受信する。また、通信I/F部112は、ネットワーク102を介してインターネットに接続されたコンピュータと通信し、データを送受信する。
ファクシミリ部117は、公衆交換電話網(PSTN)に接続され、PSTNにファクシミリデータを送信する、またはPSTNからファクシミリデータを受信する。ファクシミリ部117は、受信したファクシミリデータを、HDD116に記憶する、または画像形成部140に出力する。画像形成部140は、ファクシミリ部117により受信されたファクシミリデータを用紙に印刷する。また、ファクシミリ部117は、HDD116に記憶されたデータをファクシミリデータに変換して、PSTNに接続されたファクシミリ装置に送信する。
コインベンダ通信部118は、コインベンダ170と接続され、CPU111がコインベンダ170と通信するための通信インターフェースである。
コインベンダ170は、コイン投入口172と返却ボタン173と、表示部171と、コイン返却口174とを含む。コインベンダ170は、コイン投入口172に投入されるコインを受け付け、投入されるコインから残金を算出し、表示部171に残金を表示する。また、コインベンダ170は、残金に応じたデータ処理を、MFP100に許容する。また、コインベンダ170は、残金が残っている段階で、返却ボタン173が押下されると、残金に相当する枚数のコインをコイン返却口174に排出する。
なお、本実施の形態においては、サーバー200,200A〜200Dが提供する画像処理サービスを利用する場合、コインベンダ170によって課金する場合を例に説明するが、課金を管理する課金サーバーをネットワーク102に接続し、課金サーバーによって課金するようにしてもよい。この場合には、コインベンダ170は不要である。
外部記憶装置119は、CD−ROM119Aが装着される。CPU111は、外部記憶装置119を介してCD−ROM119Aにアクセス可能である。CPU111は、外部記憶装置119に装表されたCD−ROM119Aに記録されたプログラムをRAM114にロードして実行する。なお、CPU111が実行するプログラムは、CD−ROM119Aに記録されたプログラムに限られず、HDD116に記憶されたプログラムをRAM114にロードして実行するようにしてもよい。この場合、ネットワーク102に接続された他のコンピュータが、MFP100のHDD116に記憶されたプログラムを書換える、または、新たなプログラムを追加して書き込むようにしてもよい。さらに、MFP100が、ネットワーク102に接続された他のコンピュータからプログラムをダウンロードして、そのプログラムを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)などの半導体メモリであってもよい。
サーバー200,200A〜200Dのハードウエア構成は同じである。ここでは、サーバー200を例にハードウエア構成を説明する。図4は、本実施の形態におけるサーバーのハードウエア構成の一例を示すブロック図である。図4を参照して、サーバー200は、それぞれがバス208に接続され、サーバー200の全体を制御するためのCPU201と、CPU201が実行するプログラム等を記憶するためのROM202と、CPU201の作業領域として用いられるRAM203と、サーバー200をネットワーク102に接続するためのネットワーク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にロードして実行するようにしてもよい。この場合、サーバー200が、インターネットに接続された他のコンピュータからプログラムをダウンロードして、そのプログラムをHDD205に記憶するようにしてもよい。ここでいうプログラムは、CPU201が直接実行可能なプログラムだけでなく、ソースプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。
図5は、MFPが備えるCPUの機能の一例を示すブロック図である。図5に示す機能は、MFP100が備えるCPU111がROM113、EEPROM115、HDD116またはCD−ROM119Aに記憶されたワークフロー実行プログラムを実行することにより、実現される。
図5を参照して、CPU111は、サーバー200,200A〜200D各から基準データを取得する基準データ取得部11と、基準データを記憶する基準データ登録部13と、処理対象となるデータを受け付けるデータ受付部15と、受け付けられたデータに対して実行する処理として複数の処理のうちから1以上の処理を選択する処理選択部17と、ワークフロー生成部31と、選択された1以上の処理の実行順を決定する順番決定部19と、ワークフロー生成部31と、実行した処理に対して課金する課金部41と、を含む。
基準データ取得部11は、サーバー200,200A〜200D各々から基準データを取得する。基準データは、担当処理の実行に対する課金額を算出するためのデータの単位と、単価と、担当処理の処理内容とを含む。MFP100の管理者がMFP100に、サーバー200,200A〜200D各々が提供する画像処理サービスを利用可能とするために、MFP100にサーバー200,200A〜200D各々が提供する画像処理サービスを登録する。管理者が、画像処理サービスを登録する際に、基準データ取得部11は、サーバー200,200A〜200D各々に基準データの送信を要求し、要求に応じて返信される基準データを受信することにより、基準データを取得する。基準データ取得部11は、取得された基準データを基準データ登録部13に出力する。基準データ登録部13は、基準データ取得部11から入力される基準データを、基準データを送信してきた装置を識別するための装置識別情報と関連付けてEEPROM115に記憶する。
本実施の形態においては、担当処理を「地紋合成処理」とするサーバー200から受信される基準データは、データの単位として「原稿面数」と、単価「5円/枚」と、処理内容として「データに含まれる複数ページそれぞれに地紋を合成」を含む。担当処理を「白紙除去処理」とするサーバー200Aから受信される基準データは、データの単位として「原稿面数」と、単価「10円/枚」と、処理内容として「データに含まれる複数ページのうちから白紙のページを除去」を含む。担当処理を「翻訳処理」とするサーバー200Bから受信される基準データは、データの単位として「文字」と、単価「2円/文字」と、処理内容として「日本語を英語に変換」を含む。担当処理を「文字認識処理」とするサーバー200Cから受信される基準データは、データの単位として「文字」と、単価「1円/文字」と、処理内容として「画像中の文字をテキストに変換」を含む。担当処理を「フォーマット変換処理」とするサーバー200Dから受信される基準データは、データの単位として「原稿面積」と、単価「10円/原稿面積(A5)」と、処理内容として「データのフォーマットを変換」を含む。
データ受付部15は、ワークフローの処理対象となるデータを受け付ける。処理選択部17は、複数の処理のうちからワークフローを構成する1以上の処理を選択する。CPU111は、ユーザーが操作部160Bにワークフローの生成指示を入力すると、表示部160Aに、ワークフロー生成画面を表示する。ワークフロー生成画面は、処理対象となるデータを指定する領域と、ワークフローを構成する1以上の処理を指定する領域とを含む。
図6は、ワークフロー生成画面の一例を示す図である。図6を参照して、ワークフロー生成画面301は、宛先を指定する領域303と、処理内容を指定する領域305と、処理対象となるデータを指定する領域307と、を含む。
宛先を指定する領域303は、ワークフローを構成する複数の処理を実行した後のデータの出力先が設定される。出力先は、処理後のデータを出力する方法および出力先を特定する情報であり、ワークフローを構成する複数の処理のうち最後の処理を担当処理とする装置によって参照され、出力先に設定された宛先に処理後のデータが出力される。
出力先は、電子メールアドレスでもよいし、プリンタなどの画像形成装置のIPアドレスであってもよいし、ファクシミリ装置のファクシミリ番号であってもよいし、MFP100の画像形成部140であってもよい。出力先に、電子メールアドレスが設定される場合、ワークフローを実行した後のデータを添付した電子メールが送信される。出力先にプリンタなどの画像形成装置のIPアドレスが設定される場合は、ワークフローを実行した後のデータがファイル転送される。出力先にファクシミリ装置のファクシミリ番号が設定される場合は、ワークフローを実行した後のデータがファクシミリ送信される。出力先にMFP100の画像形成部140が設定される場合は、ワークフローを実行した後のデータの画像が画像形成部140により用紙に形成される。
処理内容を指定する領域305は、ワークフローを構成する処理として指定可能な処理の処理識別情報と、指定の有無とを含む。ワークフローを構成する処理として指定可能な処理は、EEPROM115に記憶された基準データに基づいて決定される。ここでは、サーバー200,200A〜200D各々から基準データが受信され、EEPROM115に記憶されているので、サーバー200,200A〜200D各々の担当処理が指定可能な処理として決定される。具体的には、領域305は、サーバー200の担当処理である地紋合成処理の処理識別情報「地紋」と、サーバー200Aの担当処理である白紙除去処理の処理識別情報「白紙除去」と、サーバー200Bの担当処理である翻訳処理の処理識別情報「翻訳」と、サーバー200Cの担当処理である文字認識処理の処理識別情報「OCR」と、サーバー200Dの担当処理であるフォーマット変換処理の処理識別情報「フォーマット」と、が選択可能に表示される。処理識別情報「白紙除去」、「OCR」、「地紋」、「翻訳」各々に右に「On」が表示され、指定されていることを示している。ユーザーが、処理識別情報を指示するごとに、指定された状態、指定されない状態に切り換わる。処理識別情報が指示されず、処理が選択されない状態では、「On」に代えて「Off」が表示される。
処理識別情報「フォーマット」の右に「PDF」が表示され、フォーマット変換処理が指定されていることを示しており、変換後のフォーマットとして「PDF」が指定されたことを示している。ユーザーが、処理識別情報を指示するごとに、指定された状態、指定されない状態に切り換わる。また、指定された状態において、変換後のフォーマットを指定することが可能となっている。処理が選択されない状態では、処理識別情報「フォーマット」の右に「Off」が表示される。
領域307は、処理対象となるデータを指定する領域であり、「スキャン」の文字が表されたボタン307Aと、「BOX」の文字が表されたボタン307Bとを含む。ボタン307Aがユーザーにより指示されると、原稿を読み取った画像データを処理対象に指定する指示が受け付けられ、ボタン307Bがユーザーにより指示されると、HDD116に記憶されたデータのうちからユーザーにより指示されたデータを、処理対象に指定する指示が受け付けられる。
図5に戻って、データ受付部15は、表示部160Aに表示されたワークフロー生成画面301において、ユーザーがボタン307Aを指示した場合、原稿読取部130を制御して、原稿を読み取らせ、原稿読取部130が出力する画像データを取得する。データ受付部15は、取得された画像データを、ワークフローの処理対象となるデータとして、ワークフロー生成部31および課金部41に出力する。また、データ受付部15は、表示部160Aに表示されたワークフロー生成画面301において、ユーザーがボタン307Bを指示した場合、表示部160Aにデータ一覧画面を表示する。データ一覧画面は、HDD116に記憶された複数のデータ各々のファイル名を選択可能に表示する画面である。ユーザーが、データ一覧画面に表示された複数のファイル名のうちから1つを指示すれば、指示されたファイル名のデータをHDD116から読み出す。データ受付部15は、読み出されたデータを、ワークフローの処理対象となるデータとして、ワークフロー生成部31および課金部41に出力する。
処理選択部17は、ワークフローで実行する処理として1以上の処理を選択する。具体的には、処理選択部17は、表示部160Aに表示されたワークフロー生成画面301において、領域305に表示された5つの処理識別情報のうち、ユーザーにより指示された処理識別情報を、ワークフローで実行する処理の処理識別情報として取得する。処理選択部17は、ユーザーにより指示された処理識別情報を、順番決定部19に出力する。ここでは、5つの処理識別情報がユーザーにより指示された場合について説明する。この場合、処理識別情報「白紙除去」、「OCR」、「地紋」、「翻訳」および「フォーマット」が順番決定部19に出力される。
順番決定部19は、処理選択部17からワークフローで実行する1以上の処理各々の処理識別情報が入力される。ここでは、5つの処理識別情報「白紙除去」、「OCR」、「地紋」、「翻訳」および「フォーマット」が入力される。順番決定部19は、依存処理検出部21と、特定処理優先部23と、を含む。依存処理検出部21は、EEPROM115に記憶された基準データに含まれる担当処理の処理内容に基づいて、処理識別情報「白紙除去」、「OCR」、「地紋」、「翻訳」および「フォーマット」で特定される5つの処理うちから依存処理と特定処理との組を検出する。依存処理は、特定処理が実行される前後で課金額が減少する処理である。
依存処理検出部21は、5つの処理のうちから処理を実行する前後でデータの単位が異なる処理を特定処理候補として選択する。ここでは、処理識別情報「OCR」は、処理を実行する前のデータの単位が原稿面数であり、処理を実行した後のデータの単位が文字数なので、特定処理候補として選択する。次に、依存処理検出部21は、5つの処理各々において、課金額を算出するためのデータの単位が、特定処理候補いずれかの処理後のデータの単位と同じ処理を、依存処理に決定する。例えば、処理識別情報「翻訳」の処理は、データの単位を文字とし、処理識別情報「OCR」の処理は、処理後のデータの単位が文字なので、処理識別情報「翻訳」の処理は依存処理であり、処理識別情報「OCR」の処理は、特定処理である。したがって、依存処理検出部21は、処理識別情報「翻訳」の依存処理と処理識別情報「OCR」の特定処理との組を検出する。
また、依存処理検出部21は、5つの処理のうちから処理を実行する前後でデータの量が異なる処理を特定処理候補として選択する。ここでは、処理識別情報「白紙除去」の処理は、処理を実行する前後で原稿面数が異なるので、処理識別情報「白紙除去」の処理を特定処理候補として選択する。次に、依存処理検出部21は、5つの処理各々において、課金額を算出するためのデータの単位が、特定処理候補の処理後のデータの単位と同じ処理を、依存処理に決定する。処理識別情報「地紋」および「フォーマット」の処理各々は、データの単位を原稿面数とし、処理識別情報「白紙除去」の処理は、処理後のデータの単位が文字なので、処理識別情報「地紋」および「フォーマット」の処理は依存処理であり、処理識別情報「白紙除去」の処理は、特定処理である。この場合は、処理識別情報「地紋」の依存処理と処理識別情報「白紙除去」の特定処理との組と、処理識別情報「フォーマット」の依存処理と処理識別情報「白紙除去」の特定処理との組と、を検出する。
依存処理検出部21は、検出した3つの組を特定処理優先部23に出力する。特定処理優先部23は、5つの処理を実行する順番を決定し、5つの処理識別情報と決定された処理の順番とをワークフロー生成部31に出力する。特定処理優先部23は、特定処理を実行する前後でデータの原稿面または原稿面積の値が異なる第1特定処理を、特定処理を実行する前後でデータの文字数の値が異なる第2特定処理より優先し、先の順番を付与する。ここでは、処理識別情報「白紙除去」の特定処理が第1特定処理であり、処理識別情報「OCR」の特定処理が第2特定処理である。
また、特定処理優先部23は、特定処理を依存処理よりも優先し、先の順番を付与する。具体的には、特定処理優先部23は、処理識別情報「白紙除去」の第1特定処理を処理識別情報「OCR」の第2特定処理より優先し、先の順番を付与する。また、処理識別情報「白紙除去」の第1特定処理を処理識別情報「地紋」の依存処理および処理識別情報「フォーマット」の依存処理より優先し、先の順番を付与する。このため、白紙除去処理により、データ量が減少するので、後段の処理においてより少ないデータ量のデータを処理することができる、課金額が安くなる場合がある。その結果、課金額を安くした順番を決定することができる。また、処理識別情報「OCR」の第2特定処理を処理識別情報「翻訳」の依存処理より優先し、順番を先にする。
ここでは、特定処理優先部23は、処理識別情報「白紙除去」の第1特定処理を第1番目とし、処理識別情報「OCR」の第2特定処理を第2番目とし、処理識別情報「地紋」の依存処理を第3番目とし、処理識別情報「翻訳」の依存処理を第4番目とし、処理識別情報「フォーマット」の依存処理を第5番目に決定する場合を例に説明する。
ワークフロー生成部31は、データ送信部33と、サービス構成情報生成部35と、サービス構成情報送信部37と、課金基本情報送信部39と、を含む。サービス構成情報生成部35は、順番決定部19から5つの処理識別情報と処理の順番とが入力され、操作部160Bからユーザーが操作部160Bに宛先として入力した出力先が入力される。サービス構成情報生成部35は、5つの処理識別情報と処理の順番とを定めたサービス構成レコードと出力先とを含むサービス構成情報を生成し、生成したサービス構成情報を、サービス構成情報送信部37、データ送信部33および課金部41に出力する。
サービス構成情報送信部37は、サービス構成情報を、サーバー200,200A〜200Dのうち、サービス構成情報において処理の順番が第1番目に定められている処理識別情報で特定される処理を担当処理とするサーバーに、通信I/F部112を介して送信する。ここでは、処理識別情報「白紙除去」が、順番が第1番目に定められているので、処理識別情報「白紙除去」を担当処理とするサーバー200Aに、サービス構成情報を送信する。
課金基本情報送信部39は、サービス構成情報に基づいて課金基本情報を生成し、課金基本情報を、サーバー200,200A〜200Dのうち、サービス構成情報において処理の順番が第1番目に定められている処理識別情報「白紙除去」で特定される処理を担当処理とするサーバー200Aに、通信I/F部112を介して送信する。課金基本情報は、ワークフロー全体で課金額を算出する複数の単位ごとに単位量を定める。
データ送信部33は、データ受付部15からデータが入力され、サービス構成情報生成部35からサービス構成情報が入力される。データ送信部33は、データ受付部15から入力されるデータを、サーバー200,200A〜200Dのうち、サービス構成情報において処理の順番が第1番目に定められている処理識別情報「白紙除去」で特定される処理を担当処理とするサーバー200Aに、通信I/F部112を介して送信する。
図7は、サービス構成情報の一例を示す図である。図7を参照して、サービス構成情報は、ワークフローに含まれる複数の処理毎にサービス構成レコードを含む。ここでは、ワークフローに5つの処理を含むので、サービス構成情報は、5つのサービス構成レコードを含む。サービス構成レコードは、処理順の項目と、処理名の項目と、画像データ転送ポートの項目と、通信情報通信ポートの項目と、単位の項目と、課金額の項目とを含む。処理名の項目は、処理を識別するための処理識別情報が設定される。処理順の項目は、処理名の項目に設定された処理識別情報の処理のワークフローにおいて実行される順番が設定される。画像データ転送ポートの項目は、サーバー200,200A〜200Dのうち処理名の項目に設定された処理識別情報の処理を担当処理とするサーバーにおいて画像データを転送するために割り当てられた通信ポートの番号が設定される。通信情報通信ポートの項目は、サーバー200,200A〜200Dのうち処理名の項目に設定された処理識別情報の処理を担当処理とするサーバーにおいてサービス構成情報を転送するために割り当てられた通信ポートの番号が設定される。単位の項目は、サーバー200,200A〜200Dのうち処理名の項目に設定された処理識別情報の処理を担当処理とするサーバーにおいて担当処理を実行することにより課金される課金額の単価が設定される。課金額の項目は、サーバー200,200A〜200Dのうち処理名の項目に設定された処理識別情報の処理を担当処理とするサーバーにおいて画像データに対して担当処理を実行した場合に課金される課金額が設定される。
図8は、課金基本情報の一例を示す第1の図である。図8に示す課金基本情報は、ワークフローが実行される前の段階における課金基本情報を示している。図8を参照して、課金基本情報は、単位の項目と、確定値の項目とを含む。単位の項目は、ワークフロー全体で課金額を算出する複数の単位毎に、課金基本レコードを含む。ここでは、処理識別情報「白紙除去」および「地紋」それぞれに対して、課金額を算出する単位が「原稿面数」であり、処理識別情報「OCR」および「翻訳」それぞれに対して、課金額を算出する単位が「文字数」であり、処理識別情報「フォーマット」に対して、課金額を算出する単位が「原稿面積(A5換算)」である。
このため、課金基本情報は、課金額を算出する単位「原稿面数」、「文字数」および「原稿面積(A5換算)」にそれぞれ対応する3つの課金基本レコードを含む。課金基本レコードは、単位の項目と、確定値の項目と、を含む。単位の項目は、課金額を算出する単位「原稿面数」、「文字数」および「原稿面積(A5換算)」それぞれが設定される。確定値の項目は、単位の項目に設定される単位に対応する単位量が設定される。単位量は、ワークフローで定められる複数の処理各々が実行される前の段階において確定した値のみが設定され、確定していない場合には「未確定」が設定される。したがって、ワークフローで定められる複数の処理各々が実行される前後で、単位量が変動する場合がある。確定した値とは、ワークフローで実行される処理が実行される前に定まっている値である。
サービス構成情報において定められる順番が第1番目の処理は、処理識別情報「白紙除去」の処理であり。データ受付部15から入力される画像データの原稿面数、換言すれば、ページ数から、確定値「12」が求められ、課金基本情報に設定される。また、データ受付部15から入力される画像データの原稿面積から確定値「24」が求められ、課金基本情報に設定される。
なお、原稿面数および原稿面積は、白紙除去処理が実行された後に変更される。ここでは、データが原稿面数「2」、原稿面積「4」の白紙を含んでおり、データに含まれる文字数が「300」の場合を例に説明する。この場合、白紙除去処理が実行されると、原稿面数「10」、原稿面積「20」に変更される。また、文字認識処理が実行されると、文字数「300」が確定する。
図9は、サーバーが備えるCPUの機能の一例を示すブロック図である。図9に示す機能は、サーバー200が備えるCPU201がROM202、HDD205またはCD−ROM209Aに記憶されたワークフロー実行プログラムを実行することにより、実現される。図9を参照して、CPU201は、ジョブ実行タスク211と、課金額算出タスク221と、を含む。ジョブ実行タスク211と、課金額算出タスク221とは、互いに独立して処理を実行する。
ジョブ実行タスク211は、データ受信部213と、ジョブ実行部215と、データ転送部217と、を含む。課金額算出タスク221は、サービス構成情報受信部223と、課金基本情報受信部225と、課金額算出部227と、ユーザー指示受信部228と、サービス構成情報転送部229と、課金基本情報転送部231と、を含む。
サービス構成情報受信部223は、ネットワークI/F204を制御して、サービス構成情報を受信する。MFP100は、サービス構成情報において処理順が第1面目の処理を担当処理とするサーバー200Aにサービス構成情報を送信するので、サーバー200Aのサービス構成情報受信部223は、MFP100からサービス構成情報を受信する。一方、他のサーバー200,200B〜200D各々は、サービス構成情報で定められる処理の順番が、担当処理より前の順番の処理を担当処理とするサーバーが送信するので、処理順が前のサーバーからサービス構成情報を受信する。サービス構成情報受信部223は、受信されたサービス構成情報を課金額算出部227およびジョブ実行タスク211に出力する。
課金基本情報受信部225は、ネットワークI/F204を制御して、課金基本情報を受信する。MFP100は、サービス構成情報において処理順が第1面目の処理を担当処理とするサーバー200Aに課金基本情報を送信するので、サーバー200Aの課金基本情報受信部225は、MFP100から課金基本情報を受信する。一方、他のサーバー200,200B〜200D各々は、サービス構成情報で定められる処理順が、担当処理より前の処理を担当処理とするサーバーが送信するので、処理順が前のサーバーから課金基本情報を受信する。課金基本情報受信部225は、受信された課金基本情報を課金額算出部227に出力する。
ジョブ実行タスク211が備えるデータ受信部213は、ネットワークI/F204を制御して、ワークフローの処理対象とするデータを受信する。MFP100は、サービス構成情報において処理順が第1面目の処理を担当処理とするサーバー200Aにデータを送信するので、サーバー200Aのデータ受信部213は、MFP100からデータを受信する。一方、他のサーバー200,200B〜200D各々は、サービス構成情報で定められる処理の順番が、担当処理より前の順番の処理を担当処理とするサーバーからデータを受信する。データ受信部213は、受信されたデータをジョブ実行部215に出力する。
ジョブ実行部215は、データ受信部213から入力されるデータを処理対象とし、サービス構成情報受信部223から入力されるサービス構成情報によって定められる担当処理を実行する。ジョブ実行部215は、データに対して担当処理を実行すると、処理後のデータと、サーバー200A〜200Dのうちサービス構成情報で定められる処理の順番が担当処理より後の順番の処理を担当処理とするサーバーの画像データ転送ポートをデータ転送部217に出力する。また、ジョブ実行部215は、データに対して担当処理が終了する前の段階であっても、処理後のデータの単位量が算出された時点で、単位量を課金額算出タスク221に出力する。
データ転送部217は、ネットワークI/F204を制御し、ジョブ実行部215から入力される処理後のデータを、画像データ転送ポートを用いて、サーバー200A〜200Dのうちサービス構成情報で定められる処理の順番が担当処理より後の順番の処理を担当処理とするサーバーに送信する。データ転送部217がデータを送信する場合は、ジョブ実行部215により実行される担当処理が第2特定処理の場合は、後述するユーザー指示受信部228から送信許可信号が入力されることが条件となる。データ転送部217は、ジョブ実行部215により実行される担当処理が第2特定処理の場合、ユーザー指示受信部228から送信中止信号が入力される場合、データを送信することなく廃棄する。データ転送部217がデータを廃棄する場合、サービス構成情報で定められる複数の処理のうち第2特定処理より順番が後の処理を担当処理とするサーバーにデータが送信されない。 データ転送部217は、ジョブ実行部215により実行される担当処理が第2特定処理でない場合は、後述するユーザー指示受信部228から送信許可信号が入力されるか否かに係わりなく、データを送信する。
なお、データ転送部217は、自装置の担当処理の処理順が、サービス構成情報で最後に定められている場合、サービス構成情報に含まれる宛先として設定されている出力先に、処理後のデータを送信する。
課金額算出タスク221の課金額算出部227は、ジョブ実行部215から単位量が入力されることに応じて、単位量に基づいて課金額を算出するとともに、サービス構成情報受信部223から入力されるサービス構成情報と、課金基本情報受信部225から入力される課金基本情報とを、それぞれ更新する。具体的には、サービス構成情報の担当処理の処理識別情報が処理名の項目に設定されたサービス構成レコードを抽出し、抽出されたサービス構成レコードの課金額の項目に、算出された課金額を設定する。また、課金基本情報の単位の項目に、ジョブ実行部215から入力される単位量が単位と同じ単位が設定された課金基本レコードを抽出し、抽出された課金基本レコードの確定値の項目にジョブ実行部215から入力される単位量を設定する。課金額算出部227は、更新後のサービス構成情報をサービス構成情報転送部229に出力し、更新後の課金基本情報を課金基本情報転送部231に出力する。
課金基本情報転送部231は、課金額算出部227から入力される課金基本情報を、サーバー200,200A〜200Dのうちサービス構成情報において次の順番の処理を担当処理とするサーバーに、ネットワークI/F204を介して送信する。課金基本情報転送部231は、制御装置送信部233を含む。制御装置送信部233は、ジョブ実行部215により実行される処理が第2特定処理の場合、MFP100に課金基本情報をネットワークI/F204を介して送信する。ジョブ実行部215により実行される処理が第2特定処理か否かは、サービス基本情報を参照して判断する。制御装置送信部233は、MFP100に課金基本情報を送信した後、ユーザー指示受信部228にユーザー指示受付指示を出力する。ここでは、第2特定処理は、処理識別情報「OCR」であり、サーバー200Cが備える制御装置送信部233が、課金基本情報をMFP100に送信する。
図10は、課金基本情報の一例を示す第2の図である。図10に示す課金基本情報は、第2特定処理を担当処理とするサーバー200Cが備える制御装置送信部233によってMFP100に送信される課金基本情報を示している。図10を参照して、課金基本情報は、単位の項目に「原稿面数」が設定された課金基本レコードの確定値の項目に「10」が設定されており、単位の項目に「文字数」が設定された課金基本レコードの確定値の項目に「300」が設定されており、単位の項目に「原稿面積(A5換算)」が設定された課金基本レコードの確定値の項目に「20」が設定されている。
図9に戻って、ユーザー指示受信部228は、制御装置送信部233よりユーザー指示受付指示が入力される場合、ネットワークI/F204がMFP100から継続指示または中止指示のいずれかを受信する。ユーザー指示受信部228は、継続指示を受信する場合、送信許可信号をデータ転送部217およびサービス構成情報転送部229に出力するが、中止指示を受信する場合、送信中止信号をデータ転送部217およびサービス構成情報転送部229に出力する。
サービス構成情報転送部229は、ネットワークI/F204を制御し、課金額算出部227から入力されるサービス構成情報を、通信情報通信ポートを用いて、サーバー200A〜200Dのうちサービス構成情報で定められる処理の順番が担当処理より後の順番の処理を担当処理とするサーバーに送信する。サービス構成情報転送部229がサービス構成情報を送信する場合は、ジョブ実行部215により実行される担当処理が第2特定処理の場合は、ユーザー指示受信部228から送信許可信号が入力されることが条件となる。サービス構成情報転送部229は、ジョブ実行部215により実行される担当処理が第2特定処理の場合、ユーザー指示受信部228から送信中止信号が入力される場合、サービス構成情報を送信することなく廃棄する。サービス構成情報転送部229は、ジョブ実行部215により実行される担当処理が第2特定処理でない場合は、ユーザー指示受信部228から送信許可信号が入力されるか否かに係わらず、データを送信する。
再度図5を参照して、課金部41は、ワークフローを構成する複数の処理の実行に対して課金する。課金部41は、課金額表示部43と、課金額決定部45と、課金基本情報受信部47と、ユーザー指示送信部49と、を含む。課金額表示部43は、ワークフローを構成する複数の処理各々の実行に対して課金額を算出し、算出された課金額を含む課金額表示画面を表示部160Aに表示する。
サーバー200,200A〜200Dのうち、ワークフローを構成する複数の処理のうち第2特定処理を実行するサーバー200Cにおいて、処理後のデータの単位量が決定される前の段階においては、依存処理の課金額を算出することはできない。サーバー200,200A〜200Dのうち第2特定処理を実行するサーバー200Cにおいては、処理後のデータの単位量が決定されると、図10に示した課金基本情報をMFP100に直ちに送信するので、課金額表示部43は、第2特定処理を実行するサーバー200Cから課金基本情報が受信されるまでは、課金額を表示しない。課金基本情報受信部47は、ネットワークI/F204が、第2特定処理を実行するサーバー、ここでは、サーバー200Cから課金基本情報を受信すると、受信された課金基本情報を課金額決定部45に出力する。
課金額決定部45は、サービス構成情報生成部35からサービス構成情報が入力され、課金基本情報受信部47から課金基本情報が入力される。課金額決定部45は、課金基本情報受信部47から課金基本情報が入力されることに応じて、課金基本情報に基づいて、サービス構成情報に含まれる1以上の処理各々の課金額を算出し、算出された課金額を課金額表示部43に出力する。
ユーザー指示送信部49は、課金額表示部43が課金額を表示部160Aに表示した後に、ユーザーが操作部160Bに入力する継続指示または中止指示を受け付ける。継続指示は、課金額の合計以上の金額が投入され、かつ、操作部160Bが備えるスタートキーがユーザーにより押下されると受け付けられる。中止指示は、操作部160Bが備えるキャンセルキーがユーザーにより押下されると受け付けられる。ユーザー指示送信部49は、継続指示または中止指示を受け付けると、継続指示または中止指示をネットワークI/F204を介して第2特定処理を実行するサーバー200Cに送信する。
サービス構成情報で定められる5つの処理のすべてが実行される前の段階で、課金額表示画面が表示部160Aに表示されるので、ユーザーは、指定した複数の処理を実行するために課金される料金を、コインベンダ170に投入することができる。
図11は、課金額表示画面の一例を示す図である。図11を参照して、課金額表示画面321は、操作用メッセージを表示する領域323と、通知メッセージを表示する領域325と、処理別の課金額を表示する領域327と、を含む。領域323には「投入口にお金を入れてください。中止する場合には「キャンセル」キーを押してください」の操作用メッセージが表示される。また、領域325には「利用金額は¥320になります」の通知メッセージが表示される。領域327には、処理識別情報「地紋」、「白紙除去」、「翻訳」、「OCR」および「フォーマット」の処理にそれぞれ対応して課金額「¥20」、「¥30」、「¥10」、「¥60」、「¥200」が表示される。
次に、画像処理装置として機能するサーバー200,200A〜200Dの動作を説明する。サーバー200,200A〜200Dの機能は同じなので、以下、特に言及しない限りサーバー200を例に説明する。
図12は、ワークフロー実行処理の流れの一例を示すフローチャートである。ワークフロー実行処理は、MFP100が備えるCPU111がROM113、EEPROM115、HDD116またはCD−ROM119Aに記憶されたワークフロー実行プログラムを実行することにより、CPU111により実行される処理である。
図12を参照して、CPU111は、データを取得したか否かを判断する。データを取得するまで待機状態となり(ステップS01でNO)、データを取得したならば(ステップS01でYES)、処理をステップS02に進める。次のステップS02においては、ワークフローを構成する処理の選択を受け付けたか否かを判断する。処理の選択を受け付けるまで待機状態となり(ステップS02でNO)、処理の選択を受け付けたならば(ステップS02でYSE)、処理をステップS03に進める。
ステップS03においては、処理の順番を決定する順番決定処理を実行し、処理をステップS04に進める。順番決定処理の詳細は後述する。ステップS04においては、課金基本情報を生成する。そして、サービス構成情報を生成する(ステップS05)。次のステップS06においては、処理の順番が第1番目のサーバーを選択する。そして、選択されたサーバーにサービス構成情報を送信する。サービス構成情報を受信するサーバーにおいては、サービス構成情報により定められた順番に従って担当処理を実行する。サービス構成情報を受信するサーバーで実行される処理の詳細は後述するが、特定処理を実行するサーバーにおいては、データの単位量が決定された段階で、課金基本情報をMFP100に送信する。
次のステップS08においては、サービス構成情報送信したサーバーにステップS01において取得されたデータを送信し、処理をステップS09に進める。ステップS09においては、課金基本情報を受信したか否かを判断する。課金基本情報を受信するまで待機状態となり(ステップS09でNO)、課金基本情報を受信したならば(ステップS09でYES)、処理をステップS10に進める。ステップS07において送信されたサービス構成情報を受信するサーバーであって、特定処理を実行するサーバーから送信される課金基本情報を受信する。
ステップS10においては、ステップS02において受け付けられた処理に対する課金額を算出する。課金基本情報に含まれる単位量に、単価を乗算することにより課金額を算出する。次のステップS11においては、算出されたが課金額を表示する。課金額を含む課金額表示画面を生成し、表示部160Aに表示する。
次のステップS12においては、継続指示を受け付けたか否かを判断する。ユーザーが操作部160Bが備えるスタートキーを押下したならば継続指示を受け付ける。継続指示を受け付けたならば処理をステップS13に進めるが、そうでなければ処理をステップS15に進める。ステップS13においては、コインベンダ170に投入された金額の合計である投入額が、ステップS10において算出された課金額の合計以上か否かを判断する。投入額が課金額の合計以上ならば処理をステップS14に進めるが、そうでなければ処理をステップS15に進める。ステップS14においては、継続実行指示を課金基本情報送信してきたサーバーに送信し、処理を終了する。一方、ステップS15においては、中止指示を、課金基本情報を送信してきたサーバーに送信し、処理を終了する。
図13は、順番決定処理の流れの一例を示すフローチャートである。順番決定処理は、図12のステップS03において実行される処理である。図12のステップS03が実行される前のステップS02において、ワークフローを構成する処理が選択されており、順番決定処理は、この選択された処理を実行する順番を決定する。以下、順番決定処理が実行される前の段階でワークフローを構成する処理として選択されている処理を対象処理という。
図13を参照して、ステップS31においては、原稿面数または原稿面積を変更する処理が対象処理のうちに存在するか否かを判断する。原稿面数または原稿面積を変更する処理が存在するならば処理をステップS32に進めるが、そうでなければステップS32をスキップして処理をステップS33に進める。ステップS32においては、原稿面数または原稿面積を変更する処理を第1優先処理に設定し処理をステップS33に進める。ステップS33においては、原稿面数または原稿面積を単位とする依存処理が存在するか否かを判断する。具体的には、課金額を算出するために原稿面数またはが原稿面積を単位とする処理が存在するか否かを判断する。依存処理が存在するならば処理をステップS34に進めるが、そうでなければ処理をステップS36に進める。ステップS34においては、第1優先処理を特定処理に設定する。対のステップS35においては、第1優先処理と、ステップS33においで存在することが検出された依存処理との組を設定し、処理をステップS36に進める。
次のステップS36においては、文字認識処理が対象処理のうちに存在するか否かを判断する。文字認識処理が存在するならば処理をステップS37に進めるが、そうでなければステップS37をスキップして処理をステップS38に進める。ステップS37においては、文字認識処理を第2優先処理に設定し処理をステップS38に進める。ステップS38においては、文字数を単位量とする依存処理が存在するか否かを判断する。具体的には、課金額を算出するために文字数を単位とする処理が存在するか否かを判断する。依存処理が存在するならば処理をステップS39に進めるが、そうでなければ処理をステップS41に進める。ステップS39においては、第2優先処理を特定処理に設定する。次のステップS40においては、第2優先処理と、ステップS38において存在することが検出された依存処理との組を設定し、処理をステップS41に進める。
ステップS41においては、第1優先処理が存在するか否かを判断する。第1優先処理が存在するならば処理をステップS42に進めるが、そうでなければステップS42をスキップして処理をステップS43に進める。ステップS42においては、第1優先処理に順番を設定し、処理をステップS43に進める。順番は、第1番目から若い順に設定する。
次のステップS43においては、第2優先処理が存在するか否かを判断する。第2優先処理が存在するならば処理をステップS44に進めるが、そうでなければ処理をステップS45に進める。ステップS44においては、第2優先処理に次の順番を設定し、処理をステップS45に進める。
ステップS45においては、第1優先処理は特定処理か否かを判断する。第1優先処理が特定処理ならば処理をステップS46に進めるが、そうでなければステップS46をスキップして処理をステップS47に進める。ステップS46においては、第1優先処理と組になる依存処理に次の順番を設定し、処理をステップS47に進める。
ステップS47においては、第2優先処理は特定処理か否かを判断する。第2優先処理が特定処理ならば処理をステップS48に進めるが、そうでなければステップS48をスキップして処理をステップS49に進める。ステップS48においては、第2優先処理と組になる依存処理に次の順番を設定し、処理をステップS49に進める。
ステップS49においては、対象処理のうちで順番が設定されていない残りの処理に次の順番を設定し、処理をワークフロー実行処理に戻す。
図14は、課金額算出処理の流れの一例を示すフローチャートである。課金額算出処理は、サーバー200が備えるCPU201がROM202、HDD205またはCD−ROM209Aに記憶されたワークフロー実行プログラムを実行することにより、CPU201により実行される処理である。図9において、CPU201は、ジョブ実行タスク211と課金額算出タスク221とが形成されることを説明した。課金額算出処理は、CPU201に形成される課金額算出タスク221で実行される処理である。
図14を参照して、CPU201は、サービス構成情報を受信したか否かを判断する(ステップS51)。ネットワークI/F204がMFP100からサービス構成情報を受信するまで待機状態となり(ステップS51でNO)、MFP100からサービス構成情報を受信すると(ステップS51でYES)、処理をステップS52に進める。
ステップS52においては、ジョブ実行タスクにサービス構成情報を出力する。次のステップS53においては、課金基本情報を受信したか否かを判断する。ネットワークI/F204がMFP100から課金基本情報を受信するまで待機状態となり(ステップS53でNO)、MFP100から課金基本情報を受信すると(ステップS53でYES)、処理をステップS54に進める。
ステップS54においては、担当処理が単位量を変更する処理か否かを判断する。担当処理が単位量を変更する処理ならば処理をステップS55に進めるが、そうでなければ処理をステップS59に進める。ステップS55においては、ジョブ実行タスクから単位量が入力されたか否かを判断する。ステップS52においてサービス構成情報を出力したジョブ実行タスクにおいては、サービス構成情報に含まれる担当処理を、処理対象のデータに対して実行し、単位量が決定された時点で、単位量を課金額算出タスクに出力する。ステップS55においては、ジョブ実行タスクが出力する単位量が入力されたか否かを判断する。単位量が入力されるまで待機状態となり(ステップS55でNO)、単位量が入力されると(ステップS55でYES)、処理をステップS56に進める。
ステップS56においては、課金額を算出する。ステップS55において入力された単位量に基づいて金額を算出する。サーバー200において、担当処理に対応する単価が予め記憶されており、ステップS55において入力された単位量に単価を乗算することにより課金額を算出する。
次のステップS57においては、ステップS55において入力された単位量で課金基本情報を更新する。具体的には、ステップS53において受信された課金基本情報に含まれる課金基本レコードのうちからステップS55において入力された単位量の単位と同じ単位が、単位の項目に設定された課金基本レコードを抽出し、抽出された課金基本レコードの確定値の項目にステップS55において入力された単位量を設定する。
次のステップS58においては、更新後の課金基本情報をMFP100に、ネットワークI/F204を介して送信し、処理をステップS60に進める。一方、ステップS59においては、課金額を算出し、処理をステップS60に進める。具体的には、ステップS53において受信された課金基本情報に含まれる課金基本レコードのうちから担当処理が処理対象とするデータの単位と同じ単位が、単位の項目に設定された課金基本レコードを抽出し、抽出された課金基本レコードの確定値の項目に設定された単位量を取得する。そして、取得された単位量に担当処理に対応する単価としてが予め記憶された単価を乗算することにより課金額を算出する。
ステップS60においては、サービス構成情報を更新し、処理をステップS61に進める。具体的には、サービス構成情報の処理名の項目に担当処理の処理識別情報が設定されたサービス構成レコードを抽出し、抽出されたサービス構成レコードの課金額の項目にステップS56またはステップS59において算出された課金額を設定する。
次のステップS61においては、担当処理の順番が最後か否かを判断する。担当処理の順番は、サービス構成情報で定められている。担当処理の順番が最後ならば処理をステップS62に進めるが、担当処理の順番が最後でなければ処理をステップS63に進める。ステップS62においては、サービス構成情報をMFP100にネットワークI/F204を介して送信し、処理を終了する。
一方、ステップS63においては、サービス構成情報を次のサーバーにネットワークI/F204を介して送信する。次のサーバーは、サーバー200,200A〜200Dのうちサービス構成情報で定められた処理の順番が次の処理を担当処理とするサーバーである。そして、課金基本情報を次のサーバーにネットワークI/F204を介して送信し(ステップS64)、処理を終了する。
図15は、ジョブ実行処理の流れの一例を示すフローチャートである。ジョブ実行処理は、サーバー200が備えるCPU201がROM202、HDD205またはCD−ROM209Aに記憶されたワークフロー実行プログラムを実行することにより、CPU201により実行される処理である。図9において、CPU201は、ジョブ実行タスク211と課金額算出タスク221とが形成されることを説明した。課金額算出処理は、CPU201に形成されるジョブ実行タスク211で実行される処理である。
図15を参照して、CPU201は、課金額算出タスクからサービス構成情報が入力されたか否かを判断する(ステップS71)。課金額算出タスクからサービス構成情報が入力されるまで待機状態となり(ステップS71でNO)、サービス構成情報が入力されると(ステップS71でYES)、処理をステップS72に進める。ステップS72においては、ネットワークI/F204がデータを受信したか否かを判断する。データを受信するまで待機状態となり(ステップS72でNO)、データを受信すると(ステップS72でYES)、処理をステップS73に進める。
ステップS73においては、ジョブの実行を開始する。ステップS72において受信されたデータに対して担当処理を実行する。次のステップS74においては単位量が決定されたか否かを判断する。単位量が決定されたならば処理をステップS75に進めるが、そうでなければステップS75をスキップして処理をステップS76に進める。ステップS75においては、課金額算出タスクに単位量を出力する。ジョブを実行することにより単位量が決定された時点で、課金額算出タスクに単位量を出力する。次のステップS76においては、ジョブの実行が終了したか否かを判断する。ジョブの実行が終了したならば処理を終了するが、そうでなければ処理をステップS74に戻す。
<第2の実施の形態>
上述した第1の実施の形態においては、第2特定処理を実行するサーバー200Cにおいて、単位量が決定された後に、サーバー200が課金基本情報をMFP100に送信するようにした。第2の実施の形態における画像処理システム1は、第2特定処理を実行するサーバー200Cが、課金基本情報をMFP100に送信しないようにしたものである。以下、第1の実施の形態における画像処理システム1と異なる点を主に説明する。
図16は、第2の実施の形態におけるサーバーが備えるCPUの機能の一例を示すブロック図である。サーバー200,200A〜200Dの機能は同じなので、ここでは、サーバー200の機能を例に説明する。図16を参照して、図9に示した機能と異なる点は、サービス構成情報転送部229がサービス構成情報転送部229Aに、課金基本情報転送部231が課金基本情報転送部231Aに、ユーザー指示受信部228がユーザー指示受信部228Aに、データ転送部217がデータ転送部217Aに、それぞれ変更された点である。その他の機能は、図9に示した機能と同じなのでここでは説明を繰り返さない。
ユーザー指示受信部228Aは、ネットワークI/F204がMFP100から継続指示または中止指示のいずれかを受信する。ユーザー指示受信部228は、継続指示を受信する場合、送信許可信号をデータ転送部217に出力するが、中止指示を受信する場合、送信中止信号をデータ転送部217に出力する。
データ転送部217Aは、ネットワークI/F204を制御し、ジョブ実行部215から入力される処理後のデータを、画像データ転送ポートを用いて、サーバー200A〜200Dのうちサービス構成情報で定められる処理の順番が担当処理より後の順番の処理を担当処理とするサーバーに送信する。データ転送部217Aは、ユーザー指示受信部228Aから送信許可信号が入力されることを条件に、データを送信する。データ転送部217Aは、ユーザー指示受信部228Aから送信中止信号が入力される場合、データを送信することなく廃棄する。
サービス構成情報転送部229Aは、ネットワークI/F204を制御し、課金額算出部227から入力されるサービス構成情報を、通信情報通信ポートを用いて、サーバー200A〜200Dのうちサービス構成情報で定められる処理の順番が担当処理より後の順番の処理を担当処理とするサーバーに送信する。サービス構成情報転送部229Aは、サービス構成情報により定まる担当処理の処理順が最後の場合、サービス構成情報をMFP100に送信する。これにより、サービス構成情報により定まる担当処理の処理順が最後のサーバーからMFP100に、サービス構成情報で定められる複数の処理のすべての課金額を含むサービス構成情報が送信される。
課金基本情報転送部231Aは、課金額算出部227から入力される課金基本情報を、サーバー200A〜200Dのうちサービス構成情報において次の順番の処理を特定処理とするサーバーに、ネットワークI/F204を介して送信する。
図17は、第2の実施の形態におけるMFPが備えるCPUの機能の一例を示すブロック図である。図17を参照して、図5に示す機能と異なる点は、課金額決定部45が課金額決定部45Aに、課金基本情報受信部47がサービス構成情報受信部47Aに、ユーザー指示送信部49がユーザー指示送信部49Aに、それぞれ変更された点である。その他の機能は図5に示した機能と同じなので、ここでは説明を繰り返さない。
サービス構成情報受信部47Aは、ネットワークI/F204が、サーバー200,200A〜200Dのうちサービス構成情報で定められる処理順が最後の処理を担当処理とするサーバーが送信するサービス構成情報を受信する。サービス構成情報受信部47Aは、サービス構成情報を受信すると、受信されたサービス構成情報を課金額決定部45Aに出力する。
課金額決定部45Aは、サービス構成情報受信部47Aからサービス構成情報が入力されることに応じて、サービス構成情報に含まれる1以上の処理各々の課金額を抽出し、抽出された課金額を課金額表示部43に出力する。
ユーザー指示送信部49Aは、課金額表示部43が課金額を表示部160Aに表示した後に、操作部160Bがユーザーによる継続指示または中止指示を受け付ける。継続指示は、課金額の合計以上の金額が投入され、かつ、操作部160Bが備えるスタートキーが押下されると受け付けられる。中止指示は、操作部160Bが備えるキャンセルキーが押下されると受け付けられる。ユーザー指示送信部49Aは、継続指示または中止指示を受け付けると、継続指示または中止指示をネットワークI/F204を介して、サーバー200,200A〜200Dのすべてに送信する。
サーバー200,200A〜200D各々は、中止指示が受信される場合は、データを順番が次のサーバーに転送しないので、ワークフローを中止することができる。
また、サーバー200,200A〜200D各々は、担当処理を実行するのとは別に、サービス構成情報と、課金基本情報とが転送されるので、サーバー200,200A〜200D各々は、課金額を決定することができる。このため、サーバー200,200A〜200D各々においてワークフローで定まる複数の処理のすべてが実行される前の段階で、サービス構成情報がMFP100において受信され、課金額表示画面が表示部160Aに表示される。このため、ユーザーは、ワークフローを構成する処理として指定した複数の処理を実行するために課金される料金を、ワークフローを構成する複数の処理のすべてが実行される前にコインベンダ170に投入することができる。
図18は、第2の実施の形態におけるワークフロー実行処理の流れの一例を示すフローチャートである。図12に示したワークフロー実行処理と異なる点は、ステップS09およびステップS10が、ステップS09AおよびステップS10Aにそれぞれ変更された点である。その他の処理は図12に示した処理と同じなのでここでは説明を繰り返さない。
ステップS09Aにおいては、サービス構成情報を受信したか否かを判断する。サービス構成情報を受信するまで待機状態となり(ステップS09AでNO)、サービス構成情報を受信したならば(ステップS09AでYES)、処理をステップS10に進める。サービス構成情報は、サーバー200,200A〜200Dのうちサービス構成情報で処理順が最後に定められた処理を担当処理とするサーバーから送信される。次のステップS10Aにおいては、ステップS02において受け付けられた処理に対する課金額を、サービス構成情報に含まれる課金額に決定する。
図19は、第2の実施の形態における課金額算出処理の流れの一例を示すフローチャートである。図14に示した課金額算出処理と異なる点は、ステップS58が削除された点である。したがって、第2の実施の形態におけるサーバー200,200A〜200D各々においては、MFP100に課金基本情報を送信することなく、サーバー200,200A〜200Dのうちサービス構成情報で処理順が最後に定められた処理を特定処理とするサーバーが、MFP100にサービス構成情報を送信する(ステップS62)。このサービス構成情報は、ステップS60において更新され、すべての処理各々の課金額が、課金額の項目に設定されている。
<第3の実施の形態>
第2の実施の形態においては、サーバー200,200A〜200Dのうちサービス構成情報で処理順が最後に定められた処理を担当処理とするサーバーが、MFP100にサービス構成情報を送信するようにした。第3の実施の形態における画像処理システムにおいては、サーバー200,200A〜200Dのうち第2特定処理を担当処理とするサーバーが、処理順が後の処理すべての課金額を算出するようにしたものである。このため、サーバー200,200A〜200Dのうち第2特定処理を担当処理とするサーバーが、サービス構成情報をMFP100に送信することができるので、第2の実施の形態における画像処理システムに比較して、より早い時期にサービス構成情報をMFP100が受信することができる。
図20は、第3の実施の形態におけるサーバーが備えるCPUの機能の一例を示すブロック図である。サーバー200,200A〜200Dの機能は同じなので、ここでは、サーバー200の機能を例に説明する。図20を参照して、図16に示した機能と異なる点は、後段処理課金額決定部235が追加された点、サービス構成情報転送部229Aがサービス構成情報転送部229Bに変更された点である。その他の機能は、図16に示した機能と同じなのでここでは説明を繰り返さない。
後段処理課金額決定部235は、自装置の担当処理が第2特定処理の場合に機能する。後段処理課金額決定部235は、課金基本情報が更新された後に、サービス基本情報を更新する。具体的には、サービス構成情報で処理順が第2特定処理より後の処理に対する課金額のすべてを算出する。このため、サービス基本情報は、複数の処理ごとの単価を予め含む。後段処理課金額決定部235は、更新後のサービス構成情報を、サービス構成情報転送部229Bに出力する。
サービス構成情報転送部229Bは、ジョブ実行部215により実行される担当処理が第2特定処理でない場合、ネットワークI/F204を制御し、課金額算出部227から入力されるサービス構成情報を、通信情報通信ポートを用いて、サーバー200A〜200Dのうちサービス構成情報で定められる処理の順番が担当処理より後の順番の処理を担当処理とするサーバーに送信する。サービス構成情報転送部229Bは、ジョブ実行部215により実行される担当処理が第2特定処理の場合は、後段処理課金額決定部235から更新されたサービス構成情報が入力され、入力されるサービス構成情報を、MFP100に送信する。
図21は、第3の実施の形態におけるサービス構成情報の一例を示す図である。図21を参照して、図7に示したサービス構成情報と異なる点は、単価の項目が追加された点である。その他の項目は、図7に示した項目と同じなので、ここでは説明を繰り返さない。MFP100において、ワークフローが生成される段階において、単価の項目に処理に対して基本データで予め定められた単価が設定される。このため、第2特定処理を担当処理とするサーバーは、課金基本データにおいて複数の単位それぞれに対応して単位量が設定されるので、複数の処理各々の課金額を算出することが可能となる。
図22は、第3の実施の形態における課金額算出処理の流れの一例を示すフローチャートである。図14に示した課金額算出処理と異なる点は、ステップS58以降の処理に代えて、ステップS91〜ステップS97の処理が追加された点である。その他の処理は、図14に示した処理と同じなので、ここでは説明を繰り返さない。
図22を参照して、ステップS57において、課金基本情報が更新された後、または、ステップS59において、課金額が算出された後、処理はステップS91に進む。ステップS91においては、担当処理が第2特定処理か否かを判断する。担当処理が第2特定処理ならば処理をステップS92に進めるが、そうでなければ処理をステップS95に進める。ステップS92においては、担当処理より順番が後の後段処理の課金額を算出する。そして、サービス構成情報を更新する(ステップS93)、ステップS93においては、サービス構成情報で定められる順番が担当処理の順番以降の後段処理の課金額の項目のすべてに、ステップS92において算出された課金額を設定する。次のステップS94においては、更新されたサービス構成情報をMFP100に送信し、処理をステップS96に進める。
一方ステップS95においては、サービス構成情報を更新し、処理をステップS96に進める。ステップS95においては、担当処理に対応する課金額の項目に、ステップS56において算出された課金額を設定する。
ステップS96においては、サービス構成情報を次の順番の処理を担当処理とするサーバーにネットワークI/F204を介して送信する。そして、課金基本情報を次のサーバーにネットワークI/F204を介して送信し(ステップS97)、処理を終了する。
したがって、第3の実施の形態におけるサーバー200,200A〜200D各々においては、MFP100に課金基本情報を送信することなく、サーバー200,200A〜200Dのうちサービス構成情報で第2特定処理を担当処理とするサーバーが、MFP100にサービス構成情報を送信する(ステップS94)。このサービス構成情報は、ステップS93において更新され、すべての処理各々の課金額が、課金額の項目に設定されている。
以上説明したように、本実施の形態における画像処理システムは、制御装置として機能するMFP100が、それぞれが画像処理装置として機能するサーバ200,200A〜200Dがそれぞれ実行する複数の処理のうちからユーザーにより選択された1以上の処理をワークフローを構成する1以上の処理として選択し、サーバ200,200A〜200D各々から受信される基準データに基づいて、ワークフローを構成する1以上の処理のうちに特定処理が実行される前後で課金額が減少する依存処理と特定処理との組を検出し、特定処理の順番を依存処理の順番より前にした順番を決定する。そして、サーバ200,200A〜200Dのうち特定処理を担当処理とするサーバが特定処理を実行した後のデータの単位量が取得された段階で、ワークフローを構成する1以上の処理の課金額を決定する。このため、ワークフローを構成する1以上の処理のすべてが実行される前の段階で課金額をユーザーに通知することができる。
また、データの原稿面または原稿面積の値を変化させる白紙除去処理を特定処理として検出するので、白紙除去処理が実行される順番を原稿面または原稿面積を課金額算出の単位とする地紋合成処理およびフォーマット変換処理より前の順番に決定するので、課金額が安くなる順を決定することができる。
また、データの文字数の値を変化させる文字認識処理を特定処理が特定処理として検出するので、文字数を課金額算出の単位とする処理より前に順番を決定することができ、課金額を正確に算出することができる。
さらに、原稿面または原稿面積を変化させる第1特定処理の順番を、文字数を変化させる記第2特定処理の順番より前にするので、原稿面または原稿面積が変化した後のデータに対して第2特定処理が実行される。このため、第2特定処理のデータ量を少なくすることができるので、ワークフローを構成する1以上の処理を効率的に実行することができる。
なお、本実施の形態においては、画像処理システム1について説明したが、図12〜図15、図18、図19および図22に示した処理を、コンピュータに実行させる画像処理方法およびその画像処理プログラムとして発明を捉えることができるのは言うまでもない。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。