(57)【要約】【課題】  複数の一連の処理を複数の処理実行装置のいずれかで最後まで実行すること。【解決手段】  複数の処理実行装置としてＭＦＰおよびサーバを含む処理実行システムは、複数の処理実行装置のうち第１ＭＦＰは、複数の一連の処理を実行するための設定を受け付ける設定値受付部（Ｓ０４）と、受け付けられた設定に基づき、複数の一連の処理を定義するワークフローを生成するワークフロー生成部（Ｓ０６）と、生成されたワークフローで定義される複数の一連の処理のうち少なくとも１つの依頼処理を複数の処理実行装置のうちサーバに実行させるために、依頼処理を実行するための設定を含む処理依頼データと依頼処理より後の処理を実行するための後処理設定とをサーバに送信する依頼部（Ｓ１７またはＳ１８）と、を備える。【選択図】        図８
2009048533.tif 000002
【特許請求の範囲】
【請求項１】
複数の処理実行装置を含む処理実行システムであって、
前記複数の処理実行装置のうち第１装置は、
複数の一連の処理を実行するための設定を受け付ける設定受付手段と、
受け付けられた前記設定に基づき、前記複数の一連の処理を定義するワークフローを生成するワークフロー生成手段と、
生成された前記ワークフローで定義される前記複数の一連の処理のうち少なくとも１つの依頼処理を前記複数の処理実行装置のうち第２装置に実行させるために、前記依頼処理を実行するための設定を含む処理依頼データと前記依頼処理より後の処理を実行するための後処理設定とを前記第２装置に送信する依頼手段と、を備えた処理実行システム。
【請求項２】
前記複数の処理実行装置のうち前記第２装置以外の第３装置は、前記後処理設定を受信する後処理設定受信手段と、
前記後処理設定が受信されることに応じて、受信された前記後処理設定に従って処理を実行する処理実行手段と、を備える、請求項１に記載の処理実行システム。
【請求項３】
前記依頼手段は、前記後処理設定を暗号化する暗号化手段を含み、
前記処理実行部は、前記後処理設定受信手段により受信された前記後処理設定を復号する復号手段を、含む、請求項２に記載の処理実行システム。
【請求項４】
実行された処理に対して課金する課金手段をさらに備え、
前記課金手段は、生成された前記ワークフローで定義される前記複数の一連の処理のすべてが実行された後に課金する、請求項２に記載の処理実行システム。
【請求項５】
複数の一連の処理を実行するための設定を受け付ける設定受付手段と、
受け付けられた前記設定に基づき、前記複数の一連の処理を定義するワークフローを生成するワークフロー生成手段と、
生成された前記ワークフローで定義される前記複数の一連の処理のうち少なくとも１つの依頼処理を他の処理実行装置に実行させるために、前記依頼処理を実行するための設定を含む処理依頼データと前記依頼処理より後の処理を実行するための後処理設定とを前記他の処理実行装置に送信する依頼手段と、を備えた処理実行装置。
【請求項６】
前記後処理設定を受信する後処理設定受信手段と、
前記後処理設定が受信されることに応じて、受信された前記後処理設定に従って処理を実行する処理実行手段と、を備えた請求項５に記載の処理実行装置。
【請求項７】
前記依頼手段は、前記後処理設定を暗号化する暗号化手段を含み、
前記処理実行部は、前記後処理設定受信手段により受信された前記後処理設定を復号する復号手段を、含む、請求項６に記載の処理実行装置。
【請求項８】
実行された処理に対して課金する課金手段をさらに備え、
前記課金手段は、生成された前記ワークフローで定義される前記複数の一連の処理のすべてが実行された後に課金する、請求項６に記載の処理実行装置。
【請求項９】
複数の処理実行装置を含む処理実行システムで実行される処理実行方法であって、
前記複数の処理実行装置のうち第１装置に、
複数の一連の処理を実行するための設定を受け付けるステップと、
受け付けられた前記設定に基づき、前記複数の一連の処理を定義するワークフローを生成するステップと、
生成された前記ワークフローで定義される前記複数の一連の処理のうち少なくとも１つの依頼処理を前記複数の処理実行装置のうち第２装置に実行させるために、前記依頼処理を実行するための設定を含む処理依頼データと前記依頼処理より後の処理を実行するための後処理設定とを前記第２装置に送信するステップと、を実行させる処理実行方法。
【請求項１０】
複数の一連の処理を実行するための設定を受け付けるステップと、
受け付けられた前記設定に基づき、前記複数の一連の処理を定義するワークフローを生成するステップと、
生成された前記ワークフローで定義される前記複数の一連の処理のうち少なくとも１つの依頼処理を他の処理実行装置に実行させるために、前記依頼処理を実行するための設定を含む処理依頼データと前記依頼処理より後の処理を実行するための後処理設定とを前記他の処理実行装置に送信するステップと、を含む処理実行方法。
【請求項１１】
複数の一連の処理を実行するための設定を受け付けるステップと、
受け付けられた前記設定に基づき、前記複数の一連の処理を定義するワークフローを生成するステップと、
生成された前記ワークフローで定義される前記複数の一連の処理のうち少なくとも１つの依頼処理を他の処理実行装置に実行させるために、前記依頼処理を実行するための設定を含む処理依頼データと前記依頼処理より後の処理を実行するための後処理設定とを前記他の処理実行装置に送信するステップと、をコンピュータに実行させる処理実行プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、処理実行システム、処理実行装置、処理実行方法および処理実行プログラムに関し、特にワークフローを実行するための処理実行システム、処理実行装置、処理実行方法および処理実行プログラムに関する。
【背景技術】
【０００２】
ＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）と呼ばれる複合機は、スキャナ装置、プリンタ装置、コピー装置およびファクシミリ装置の機能を備え、複数種類の処理を実行することができる。このようなＭＦＰ等の処理実行装置の複数をネットワークで接続することで、指示された処理の実行を他の装置に依頼して、他の装置に処理を実行させる技術が知られている（例えば特許文献１〜特許文献４）。依頼する側の装置と、依頼される側の装置とがともに稼動していれば、依頼する側の装置は、依頼される側の装置により処理が実行された処理結果を受信することができる。
【０００３】
しかしながら、依頼する側の装置が、依頼される側の装置に処理の実行を依頼した後に電源がオフになる等すると、依頼される側の装置により処理が実行された処理結果を処理の実行を指示したユーザは得ることができなくなってしまうといった問題がある。
【０００４】
特に、近年では複数の処理を組み合わせたワークフローを定義し、ワークフローで定義された複数の処理を実行する技術が開発されており、ワークフローで定義された複数の処理の一部を、他の装置に実行させる場合には、ワークフローで定義された複数の処理を最後まで実行できなくなってしまうといった問題がある。
【特許文献１】特開２００６−２８７７４６号公報
【特許文献２】特開２００６−２９５８８３号公報
【特許文献３】特開２００６−２０３８６９号公報
【特許文献４】特開２００４−２４０８６４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
この発明は上述した問題点を解決するためになされたもので、この発明の目的の１つは、複数の一連の処理を複数の処理実行装置のいずれかで最後まで実行することが可能な処理実行システムおよび処理方法を提供することである。
【０００６】
この発明の他の目的は、複数の一連の処理を他の処理実行装置とともに最後まで実行することが可能な処理実行装置、処理実行方法および処理実行プログラムを提供することである。
【課題を解決するための手段】
【０００７】
上述した目的を達成するために、この発明のある局面によれば、処理実行システムは、複数の処理実行装置を含む処理実行システムであって、複数の処理実行装置のうち第１装置は、複数の一連の処理を実行するための設定を受け付ける設定受付手段と、受け付けられた設定に基づき、複数の一連の処理を定義するワークフローを生成するワークフロー生成手段と、生成されたワークフローで定義される複数の一連の処理のうち少なくとも１つの依頼処理を複数の処理実行装置のうち第２装置に実行させるために、依頼処理を実行するための設定を含む処理依頼データと依頼処理より後の処理を実行するための後処理設定とを第２装置に送信する依頼手段と、を備えた処理実行システム。
【０００８】
この局面に従えば、ワークフローで定義される複数の一連の処理のうち少なくとも１つの依頼処理を第２装置に実行させる際に、依頼処理を実行するための設定を含む処理依頼データと依頼処理より後の処理を実行するための後処理設定とが、第２装置に送信される。処理依頼データに加えて、依頼処理より後の処理を実行するための後処理設定が送信されるので、処理依頼データを送信した第１装置が、電源がオフになる等した場合であっても、複数の処理実行装置のいずれかが依頼処理より後の処理を実行することができる。その結果、複数の一連の処理を複数の処理実行装置のいずれかで最後まで実行することが可能な処理実行システムを提供することができる。
【０００９】
このましくは、複数の処理実行装置のうち第２装置以外の第３装置は、後処理設定を受信する後処理設定受信手段と、後処理設定が受信されることに応じて、受信された後処理設定に従って処理を実行する処理実行手段と、を備える。
【００１０】
この局面に従えば、第１装置の電源がオフになる等した場合であっても、第３装置により後処理設定に従って処理が実行される。このため、複数の一連の処理を最後まで実行することができる。
【００１１】
好ましくは、依頼手段は、後処理設定を暗号化する暗号化手段を含み、処理実行部は、後処理設定受信手段により受信された後処理設定を復号する復号手段を、含む。
【００１２】
この局面に従えば、後処理設定が暗号化されて送受信されるので、処理の内容が漏洩するのを防止することができる。
【００１３】
好ましくは、実行された処理に対して課金する課金手段をさらに備え、課金手段は、生成されたワークフローで定義される複数の一連の処理のすべてが実行された後に課金する。
【００１４】
この局面に従えば、ワークフローで定義される複数の一連の処理のすべてが実行された後に課金されるので、複数の一連の処理のすべてが実行される前に処理が中止された場合に課金されないようにし、正確に課金することができる。
【００１５】
この発明の他の局面に従えば、処理実行装置は、複数の一連の処理を実行するための設定を受け付ける設定受付手段と、受け付けられた設定に基づき、複数の一連の処理を定義するワークフローを生成するワークフロー生成手段と、生成されたワークフローで定義される複数の一連の処理のうち少なくとも１つの依頼処理を他の処理実行装置に実行させるために、依頼処理を実行するための設定を含む処理依頼データと依頼処理より後の処理を実行するための後処理設定とを他の処理実行装置に送信する依頼手段と、を備える。
【００１６】
この局面に従えば、ワークフローで定義される複数の一連の処理のうち少なくとも１つの依頼処理を他の処理実行装置に実行させる際に、依頼処理を実行するための設定を含む処理依頼データと依頼処理より後の処理を実行するための後処理設定とが、他の処理実行装置に送信される。処理依頼データに加えて、依頼処理より後の処理を実行するための後処理設定が送信されるので、処理依頼データを送信した処理実行装置が、電源がオフになる等した場合であっても、他の処理実行装置が依頼処理より後の処理を実行することができる。このため、複数の一連の処理を他の処理実行装置とともに最後まで実行することが可能な処理実行装置を提供することができる。
【００１７】
好ましくは、後処理設定を受信する後処理設定受信手段と、後処理設定が受信されることに応じて、受信された後処理設定に従って処理を実行する処理実行手段と、を備える。
【００１８】
好ましくは、依頼手段は、後処理設定を暗号化する暗号化手段を含み、処理実行部は、後処理設定受信手段により受信された後処理設定を復号する復号手段を、含む。
【００１９】
好ましくは、実行された処理に対して課金する課金手段をさらに備え、課金手段は、生成されたワークフローで定義される複数の一連の処理のすべてが実行された後に課金する。
【００２０】
この発明の他のさらに局面によれば、処理実行方法は、複数の処理実行装置を含む処理実行システムで実行される処理実行方法であって、複数の処理実行装置のうち第１装置に、複数の一連の処理を実行するための設定を受け付けるステップと、受け付けられた設定に基づき、複数の一連の処理を定義するワークフローを生成するステップと、生成されたワークフローで定義される複数の一連の処理のうち少なくとも１つの依頼処理を複数の処理実行装置のうち第２装置に実行させるために、依頼処理を実行するための設定を含む処理依頼データと依頼処理より後の処理を実行するための後処理設定とを第２装置に送信するステップと、を実行させる。
【００２１】
この局面に従えば、複数の一連の処理を複数の処理実行装置のいずれかで最後まで実行することが可能な処理実行方法を提供することができる。
【００２２】
この発明のさらに他の局面によれば、処理実行方法は、複数の一連の処理を実行するための設定を受け付けるステップと、受け付けられた設定に基づき、複数の一連の処理を定義するワークフローを生成するステップと、生成されたワークフローで定義される複数の一連の処理のうち少なくとも１つの依頼処理を他の処理実行装置に実行させるために、依頼処理を実行するための設定を含む処理依頼データと依頼処理より後の処理を実行するための後処理設定とを他の処理実行装置に送信するステップと、を含む。
【００２３】
この局面に従えば、複数の一連の処理を他の処理実行装置とともに最後まで実行することが可能な処理実行装置を提供することができる。
【００２４】
この発明のさらに他の局面によれば、処理実行プログラムは、複数の一連の処理を実行するための設定を受け付けるステップと、受け付けられた設定に基づき、複数の一連の処理を定義するワークフローを生成するステップと、生成されたワークフローで定義される複数の一連の処理のうち少なくとも１つの依頼処理を他の処理実行装置に実行させるために、依頼処理を実行するための設定を含む処理依頼データと依頼処理より後の処理を実行するための後処理設定とを他の処理実行装置に送信するステップと、をコンピュータに実行させる。
【００２５】
この局面に従えば、複数の一連の処理を他の処理実行装置とともに最後まで実行することが可能な処理実行プログラムを提供することができる。
【発明を実施するための最良の形態】
【００２６】
以下、本発明の実施の形態について図面を参照して説明する。以下の説明では同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがってそれらについての詳細な説明は繰返さない。
【００２７】
図１は、本発明の実施の形態の１つにおける処理実行システムの全体概要を示す図である。図１を参照して、処理実行システム１は、ネットワーク２にそれぞれ接続された複合機（以下、「ＭＦＰ」という）３，４と、パーソナルコンピュータ（以下「ＰＣ」いう）２００と、サーバ３００と、を含む。ＭＦＰ３，４と、サーバ３００とは、処理実行装置として機能する。
【００２８】
ＰＣ２００およびサーバ３００は、一般的なコンピュータである。ＭＦＰ３，４は、スキャナ機能、プリンタ機能、コピー機能、ファクシミリ機能等の複数の機能を備える。
【００２９】
ネットワーク２は、ローカルエリアネットワーク（ＬＡＮ）であり、接続形態は有線または無線を問わない。またネットワーク２は、ＬＡＮに限らず、ワイドエリアネットワーク（ＷＡＮ）、公衆交換電話網（ＰＳＴＮ）等であってもよい。
【００３０】
本実施の形態における処理実行システム１は、ＭＦＰ３，４と、サーバ３００とが、処理実行装置として機能する。ＭＦＰ３，４は、自装置が有しない機能であってもサーバ３００が有する機能であれば、その機能で実行される処理を実行するための指示を受け付けることができる。ここでは、ＭＦＰ３，４それぞれが有しない機能であってもサーバ３００が有する機能を代行機能という。例えば、ＭＦＰ３において代行機能の実行が指示されると、ＭＦＰ３は、サーバに代行機能を実行する依頼をする。代行機能の実行依頼を受けたサーバ３００は、代行機能を実行し、処理結果を代行機能の依頼をしたＭＦＰ３に返信する。
【００３１】
また、ＭＦＰ３，４は、複数の一連の処理を定義したワークフローを生成することが可能である。処理実行装置として機能するＭＦＰ３，４およびサーバ３００は、ワークフローで定義された複数の一連の処理を実行することが可能である。ＭＦＰ３，４は、ワークフローを生成する際、代行機能で実行される処理を、ワークフローに定義することができる。このワークフローの実行について詳細に説明する。
【００３２】
また、本実施の形態において、ＭＦＰ３，４それぞれは、データを暗号化および復号するときに用いる共通鍵を記憶している。
【００３３】
ＭＦＰ３，４のハードウケア構成および機能は同じなので、以下の説明では特に言及しない限りＭＦＰ３を例に説明する。図２は、ＭＦＰのハードウェア構成の一例を示すブロック図である。図２を参照して、ＭＦＰ３は、メイン回路１０１を含み、メイン回路１０１は、ＡＤＦ１０と、画像読取部２０と、画像形成部３０と、給紙部４０と、ファクシミリ部５０と、接続される。メイン回路１０１は、中央演算装置（ＣＰＵ）１１１と、ＣＰＵ１１１の作業領域として使用されるＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１１２と、ＣＰＵ１１１が実行するプログラム等を記憶するためのＥＥＰＲＯＭ（Ｅｌｅｃｔｒｏｎｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１１３と、表示部１１４と、操作部１１５と、大容量記憶装置としてのハードディスクドライブ（ＨＤＤ）１１６と、データ通信制御部１１７と、を含む。
【００３４】
ＣＰＵ１１１は、表示部１１４、操作部１１５、ＨＤＤ１１６およびデータ通信制御部１１７とそれぞれ接続され、メイン回路１０１の全体を制御する。また、ＣＰＵ１１１は、ＡＤＦ１０、画像読取部２０、画像形成部３０、給紙部４０およびファクシミリ部５０とそれぞれ接続され、ＭＦＰ３の全体を制御する。
【００３５】
表示部１１４は、液晶表示装置（ＬＣＤ）、有機ＥＬＤ（Ｅｌｅｃｔｒｏ  Ｌｕｍｉｎｅｓｃｅｎｃｅ  Ｄｉｓｐｌａｙ）等のディスプレイであり、ユーザに対する指示メニューや取得した画像データに関する情報等を表示する。操作部１１５は、複数のキーを備え、キーに対応するユーザの操作による各種の指示、文字、数字などのデータの入力を受付ける。操作部１１５は、表示部１１４上に設けられたタッチパネルを含む。表示部１１４と操作部１１５とで、操作パネル９（図４参照）が構成される。
【００３６】
データ通信制御部１１７は、ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）またはＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）等の通信プロトコルで通信するためのインターフェースであるＬＡＮ端子１１８と、シリアル通信するためのシリアルインターフェース端子１１９とを有する。データ通信制御部１１７は、ＣＰＵ１１１からの指示に従って、ＬＡＮ端子１１８またはシリアルインターフェース端子１１９に接続された外部の機器との間でデータを送受信する。
【００３７】
ＬＡＮ端子１１８に、ネットワーク２に接続するためのＬＡＮケーブルが接続される場合、データ通信制御部１１７は、ＬＡＮ端子１１８を介して他のコンピュータと通信することが可能である。
【００３８】
また、ＣＰＵ１１１は、データ通信制御部１１７を制御して、メモリカード１１９ＡからＣＰＵ１１１が実行するためのプログラムを読出し、読み出したプログラムをＲＡＭ１１２に記憶し、実行する。なお、ＣＰＵ１１１が実行するためのプログラムを記憶する記録媒体としては、メモリカード１１９Ａに限られず、フレキシブルディスク、カセットテープ、光ディスク（ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ−Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）／ＭＯ（Ｍａｇｎｅｔｉｃ  Ｏｐｔｉｃａｌ  Ｄｉｓｃ）／ＭＤ（Ｍｉｎｉ  Ｄｉｓｃ）／ＤＶＤ（Ｄｉｇｉｔａｌ  ＶｅｒＳａｔｉｌｅ  Ｄｉｓｃ））、ＩＣカード、光カード、マスクＲＯＭ、ＥＰＲＯＭ（ＥｒａＳａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｏｎｉｃａｌｌｙ  ＥＰＲＯＭ）などの半導体メモリ等の媒体でもよい。さらに、ＣＰＵ１１１がインターネットに接続されたコンピュータからプログラムをダウンロードしてＨＤＤ１１６に記憶する、または、インターネットに接続されたコンピュータがプログラムをＨＤＤ１１６に書込みするようにして、ＨＤＤ１１６に記憶されたプログラムをＲＡＭ１１２にロードしてＣＰＵ１１１で実行するようにしてもよい。ここでいうプログラムは、ＣＰＵ１１１により直接実行可能なプログラムだけでなく、ソースプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。
【００３９】
ファクシミリ部５０は、公衆交換電話網（ＰＳＴＮ）７に接続され、ＰＳＴＮ７にファクシミリデータを送信する、またはＰＳＴＮ７からファクシミリデータを受信する。ファクシミリ部５０は、受信したファクシミリデータをＨＤＤ１１６に記憶する、または画像形成部３０でファクシミリデータを用紙にプリントする。また、ファクシミリ部５０は、ＨＤＤ１１６に記憶されたデータをファクシミリデータに変換して、ＰＳＴＮ７に接続されたファクシミリ装置または他のＭＦＰに出力する。これにより、ＨＤＤ１１６に記憶されたデータをファクシミリ装置または他のＭＦＰに出力することができる。
【００４０】
図３は、サーバ３００のハードウェア構成の一例を示すブロック図である。図３を参照して、ＰＣ３００は、それぞれがバス３２０に接続されたＣＰＵ３０１と、ＣＰＵ３０１が実行するプログラム等を記憶するためのＲＯＭ３０３と、ＣＰＵ３０１の作業領域として用いられるＲＡＭ３０５と、大容量記憶装置としてのＨＤＤ３０７と、ＰＣ３００をネットワーク２に接続するための通信Ｉ／Ｆ３１１と、ユーザとのインターフェースとなる操作部３１３と、フラッシュメモリ３０８が装着されるカードＩ／Ｆ３０９と、を含む。
【００４１】
操作部３１３は、キーボードとマウスなどのポインティングデバイスとを含む入力部３１５と、データを表示する液晶表示装置等からなる表示部３１７とを含む。
【００４２】
なお、ここではＣＰＵ３０１がＲＯＭ３０３に記憶されたプログラムを実行する例を説明するが、フラッシュメモリ３０８に記憶されたプログラムをＲＡＭ３０５にロードし、実行するようにしてもよい。また、プログラムを記憶する記録媒体としては、フラッシュメモリ３０８に限られず、上述した他の媒体でもよい。
【００４３】
さらに、ＣＰＵ３０１がネットワーク２に接続されたコンピュータからプログラムをダウンロードしてＨＤＤ３０６に記憶する、または、ネットワーク２に接続されたコンピュータがプログラムをＨＤＤ３０６に書込みするようにして、ＨＤＤ３０６に記憶されたプログラムをＲＡＭ３１２にロードしてＣＰＵ３０１で実行するようにしてもよい。
【００４４】
図４は、ＭＦＰが備える操作パネルの一例を示す平面図である。図４を参照して、操作パネル９は、表示部１１４と、操作部１１５とを含む。操作部１１５は、テンキー１１５Ａと、スタートキー１１５Ｂと、入力内容をキャンセルするためのクリアキー１１５Ｃと、コピー処理を実行するためのコピーモードにＭＦＰ１００を遷移させるためのコピーキー１１５Ｄと、スキャン処理を実行するためのスキャンモードにＭＦＰ１００を遷移させるためのスキャンキー１１５Ｅと、データ送信処理を実行するためのデータ送信モードにＭＦＰ１００を遷移させるための送信キー１１５Ｆと、ワークフローの生成指示を受け付けるためのワークフローキー１１５Ｇと、を含む。
【００４５】
図５は、ＭＦＰが備えるＣＰＵの機能の一例を示す機能ブロック図である。図５を参照して、ＣＰＵ１１１は、ワークフローに定義するための処理の指定を受け付けるための処理指定受付部５１と、ワークフローを生成するためのワークフロー生成部５３と、ワークフローに従って処理を実行するための第１処理実行部５７と、処理の実行有無を設定するための履歴設定部５９と、ワークフロー定義データを暗号化するための暗号化部６１と、代行機能の実行を依頼するための依頼部６３と、処理の実行に対して課金するための課金部６９と、暗号化されたワークフロー定義データである暗号データを受信するためのワークフロー受信部６５と、暗号データを復号するための復号部６７と、を含む。
【００４６】
処理指定受付部５１は、ワークフロー定義データに定義するための処理として、ＭＦＰ１００が実行可能な処理または代行機能で実行される処理のうちから少なくとも１つを、操作部１１５から受け付ける。具体的には、ＭＦＰ１００のユーザが、ＭＦＰ１００に実行させるための操作を操作部１１５に入力すると、操作部１１５から操作を受け付ける。例えば、ＭＦＰ１００にコピーを実行させる処理をワークフロー定義データに定義する場合、ユーザがコピー処理をＭＦＰ１００に実行させるための操作として、コピーキー１１５Ｄを押下すれば、コピー処理のための操作を受け付ける。処理指定受付部５１は、受け付けた操作に従って実行される処理を識別するための処理ＩＤをワークフロー生成部５３に出力する。また、ＭＦＰ１００に代行機能を実行させるための処理をワークフロー定義データに定義する場合、代行機能で実行される処理を実行させるための操作を指定する操作ボタン（図９のボタン５０１を参照）を表示部１１４に表示し、ユーザがその操作ボタンを指示すれば、代行機能で実行される処理を実行させるための操作として受け付ける。処理指定受付部５１は、受け付けた操作により特定される代行機能で実行される処理を識別するための処理ＩＤをワークフロー生成部５３に出力する。
【００４７】
ワークフロー生成部５３は、処理指定受付部５１から入力される操作に基づいてワークフロー定義データを生成し、生成したワークフロー定義データを、履歴設定部５９および第１処理実行部５７に出力する。
【００４８】
ワークフロー生成部５３は、設定値受付部５５を含む。設定値受付部５５は、操作に対応する処理を実行するための設定値を受け付ける。ワークフロー生成部５３は、設定値受付部５５により受け付けられた設定値に従って、ワークフロー定義データを生成する。例えば、処理指定受付部５１によりコピーキー１１５Ｄの押下が検出されると、設定値受付部５５は、コピー処理のための設定値としてデフォルトで設定されている値を受け付ける。また、ユーザがコピー処理のためにデフォルトで設定されている値を変更すると、設定値受付部５５は、変更後の設定値を受け付ける。
【００４９】
処理指定受付部５１は、ワークフローに登録するための複数の処理を受け付けることが可能である。複数の処理を受け付ける場合、処理指定受付部５１は、複数の処理それぞれを実行する順番とともに受け付ける。ワークフロー生成部５３は、処理指定受付部５１により受け付けられた処理と、その処理を実行する順番とが入力される。ワークフロー生成部５３は、処理指定受付部５１により受け付けられた処理と、その処理を実行する順番と、設定値受付部５５により受け付けられた設定値と、に基づきワークフロー定義データを生成し、生成したワークフロー定義データを、履歴設定部５９および第１処理実行部５７に出力する。
【００５０】
ここでワークフロー定義データについて説明する。図６は、ワークフロー定義データの一例を示す図である。図６を参照して、ワークフロー定義データは、手順の項目と、処理ＩＤの項目と、設定値の項目と、処理結果の項目と、を含む。手順の項目は、ワークフローにおける複数の処理それぞれの順番が設定される。処理ＩＤの項目は、処理を特定するための識別情報が設定される。処理ＩＤは、ＭＦＰ３が実行可能な処理を識別するための処理ＩＤおよび代行機能により実行される処理を識別するための処理ＩＤを含む。設定値の項目は、処理ＩＤで特定される処理を実行するために用いられる設定値が設定される。ワークフロー定義データにおいて、手順の項目と、処理ＩＤの項目と、設定値の項目とは、ワークフロー生成部５３によりワークフロー定義データが生成される段階で、それぞれ値が設定される。処理結果の項目は、ワークフロー定義データが生成される段階では、処理ＩＤの項目で特定される処理が未だ実行されていないことを示す「未」の値が設定され、処理ＩＤの項目で特定される処理が実行された段階で、処理が実行されたことを示す「済」の値が設定される。
【００５１】
第１番目の手順としては、処理ＩＤが「スキャン」の処理が定義されている。設定値は「解像度」と、「色」と、「データ形式」とが設定される。１番目の手順で定義された処理が実行されると、設定値に設定された「解像度」および「色」で原稿が読み取られ、設定値に設定された「データ形式」のデータが生成される。例えば、ここでは、「データ形式」の設定値にビットマップ形式が設定された場合を例に説明する。
【００５２】
第２番目の手順としては、処理ＩＤが「データ変換」の処理が定義されている。設定値は、「データ形式」と、「Ｓｅａｒｃｈａｂｌｅ」が設定されている。「データ形式」の設定値は、データ形式を変換した後のデータ形式が設定される。「Ｓｅａｒｃｈｅｂｌｅ」の設定値は、イメージデータを検索可能なデータへの変換を示す。検索可能なデータとは、例えば、イメージデータに含まれる文字を文字認識して得られるテキストデータを付加した検索可能なデータである。ここでは、「データ形式」の設定値にＰＤＦ（Ｐｏｒｔａｂｌｅ  Ｄｏｃｕｍｅｎｔ  Ｆｏｒｍａｔ）が設定され、「Ｓｅａｒｃｈｅｂｌｅ」の設定値がオンに設定された場合を例に説明する。第２番目の手順で定義された処理が実行されると、手順１で定義された処理が実行されて生成されるビットマップ形式のデータが、ＰＤＦのデータに変換されるとともに文字認識され、テキストデータを付加したＳｅａｒｃｈａｂｌｅＰＤＦのデータに変換する処理が実行される。
【００５３】
第３番目の手順としては、処理ＩＤが「送信」の処理が定義されている。設定値は、「宛先アドレス」と、「通信プロトコル」とが設定されている。ここでは、「宛先アドレス」の設定値にＰＣ２００が備えるＨＤＤのフォルダを示すＵＲＬが設定され、「通信プロトコル」の設定値にＦＴＰが設定される場合を例に説明する。第３番目の手順が実行されると、第２番目の手順で定義された処理が実行されて生成されるＳｅａｒｃｈａｂｌｅＰＤＦのデータが、ＰＣ２００が備えるＨＤＤのフォルダに格納される。
【００５４】
ここでは、ＭＦＰ３は、第２番目の手順に定義されたデータ変換処理を実行する機能を備えておらず、サーバ３００により実行される代行機能である場合を例に説明する。すなわち、ビットマップ形式のデータをＳｅａｒｃｈａｂｌｅＰＤＦのデータに変換するデータ変換処理を実行する機能は、ＭＦＰ３においては、サーバ３００がＭＦＰ３に代わって処理を実行する代行機能である。
【００５５】
図５に戻って、第１処理実行部５７は、ワークフロー生成部５３から入力されるワークフロー定義データに従って処理を実行する。第１処理実行部５７は、より具体的には、ワークフロー定義データで定義されている手順に従って、処理ＩＤで特定される処理を、設定値に設定された値に従って実行する。第１処理実行部５７は、処理を実行すると、その処理ＩＤを履歴設定部５９に出力する。また、第１処理実行部５７は、処理ＩＤで特定される処理が、ＭＦＰ３の代行機能により実行される処理の場合には、その処理ＩＤと設定値とを含む処理依頼データを生成し、依頼部６３に処理依頼データを出力する。第１処理実行部５７は、処理ＩＤで特定される代行処理を実行する対象となる対象データが存在する場合には、処理依頼データに加えて対象データを、依頼部６３に出力する。対象データは、例えば、前の処理を実行した結果得られるデータである。
【００５６】
対象データが存在しない場合は、例えば、サーバ３００が備えるＨＤＤ３０７に共有フォルダを生成しておき、その共有フォルダにデータを記憶するようにして、ワークフロー定義データで定義される各処理の設定値に対象データが記憶されている共有フォルダおよびファイル名が設定される場合等である。
【００５７】
履歴設定部５９は、第１処理実行部５７から処理ＩＤが入力されると、ワークフロー生成部５３から入力されたワークフロー定義データのうち処理ＩＤに対応する処理結果の項目に「済」の値を設定する。そして、処理結果の項目を書き換えたワークフロー定義データを暗号化部６１に出力する。
【００５８】
暗号化部６１は、履歴設定部５９から入力されるワークフロー定義データを、共通鍵で暗号化し、暗号データを生成する。暗号化部６１は、生成した暗号データを依頼部６３に出力する。暗号データは、未だに実行されていない処理を特定するための処理ＩＤに対応する処理結果の項目が「未」に設定されたワークフロー定義データを暗号化したデータである。換言すれば、暗号化データは、ワークフロー定義データで定義される処理ＩＤのうち代行機能により実行される処理の処理ＩＤより手順が後の処理ＩＤおよび設定値（後処理設定）を暗号化したデータである。
【００５９】
依頼部６３は、第１処理実行部５７から処理依頼データが入力されると、処理依頼データと、暗号化部６１から入力される暗号データとを、代行機能を有するサーバ３００に送信する。具体的には、データ通信制御部１１７を制御し、サーバ３００に処理依頼データと暗号データとを送信する。依頼部６３は、第１処理実行部５７は、処理ＩＤで特定される代行処理を実行する対象となる対象データが存在する場合には、処理依頼データと暗号データとに加えて、対象データをサーバに送信する。処理依頼データ、暗号化部６１および存在する場合には対象データを受信するサーバ３００の動作については後述するが、処理依頼データに含まれる処理ＩＤで特定される処理を実行し、実行後に暗号化データをＭＦＰ３またはＭＦＰ４に送信する。
【００６０】
ワークフロー受信部６５は、サーバ３００が送信する暗号化データを受信する。具体的には、データ通信制御部１１７を制御し、サーバ３００から暗号データを受信する。ワークフロー受信部６５は、サーバ３００が対象データを送信してくる場合には、その対象データを受信する。ワークフロー受信部６５は、暗号データを復号部６７に出力する。また、ワークフロー受信部６５は、対象データを受信する場合には、その対象データを第１処理実行部５７に出力する。ワークフロー受信部６５が受信する暗号データは、暗号化部６１が暗号化したデータの他に、ＭＦＰ４が備えるＣＰＵ１１１が有する暗号化部６１が暗号化したデータを含む。これについては、後述する。
【００６１】
復号部６７は、ワークフロー受信部６５から暗号データが入力されると、その暗号データを共通鍵で復号し、復号して得られるワークフロー定義データを第１処理実行部５７に出力する。
【００６２】
第１処理実行部５７は、復号部６７からワークフロー定義データが入力されると、手順で定義された順に、処理結果を参照する。最初に処理結果が「未」の処理ＩＤが代行機能で実行される処理であれば、その処理ＩＤを履歴設定部５９に出力する。すなわち、暗号データを送信してきたサーバ３００が備える代行機能により処理ＩＤで特定される処理が実行されたと判断する。そして、上述したように、第１処理実行部５７は、ワークフロー定義データで定義されている以降の手順において定義されている処理ＩＤで特定される処理を設定値に設定された値に従って実行するか、その処理ＩＤと設定値とを含む処理依頼データを生成して依頼部６３に処理依頼データを出力する。第１処理実行部５７は、ワークフロー定義データで定義されている処理ＩＤで特定される処理を設定値に設定された値に従って実行する場合、ワークフロー受信部６５から対象データが入力される場合には、処理ＩＤで特定される処理を対象データに対して実行する。第１処理実行部５７は、ワークフロー定義データで定義されている最後の手順に対応する処理ＩＤで特定される処理を実行すると、課金部６９にワークフロー定義データを出力する。
【００６３】
課金部６９は、第１処理実行部５７からワークフロー定義データが入力されると、課金する。具体的には、ワークフロー定義データで定義されている複数の処理ＩＤで特定される複数の処理それぞれが実行されたことに対して、予め定められた料金を積算する。そして、積算して求めた料金をＥＥＰＲＯＭ１１３に記憶されている課金データに加算する。なお、ユーザごとに課金される場合には、ＥＥＰＲＯＭ１１３にユーザ別の課金データを記憶しておき、ワークフロー定義データにそのワークフロー定義データを生成する指示をしたユーザを識別するためのユーザ識別情報を含めるようにし、積算して求めた料金をワークフロー定義データに含まれるユーザ識別情報に対応する課金データに加算する。さらに、課金データが、サーバ３００に記憶されて集中的に管理される場合には、積算して求めた料金とユーザＩＤとをサーバ３００に送信する。
【００６４】
図７は、サーバが備えるＣＰＵが有する機能の一例を示す機能ブロック図である。図７を参照して、サーバ３００が備えるＣＰＵ３０１は、処理依頼データを受信するための処理依頼データ受信部３５１と、暗号データを受信するための後処理設定受信部３５３と、処理を実行するための第２処理実行部３５５と、処理結果送信部３５７と、を含む。
【００６５】
処理依頼データ受信部３５１は、ＭＦＰ３，４のいずれかから処理依頼データを受信する。処理依頼データ受信部３５１は、ＭＦＰ３，４のいずれかが、処理依頼データとともに対象データを送信する場合には、処理依頼データとともに対象データを受信する。具体的には、通信Ｉ／Ｆ３１１がＭＦＰ３，４のいずれかから処理依頼データを受信すると、通信Ｉ／Ｆ３１１から処理依頼データを取得する。通信Ｉ／Ｆ３１１がＭＦＰ３，４のいずれかが処理依頼データとともに対象データを受信する場合は、通信Ｉ／Ｆ３１１から処理依頼データと対象データとを取得する。処理依頼データ受信部３５１は、処理依頼データと、対象データを受信する場合にはその対象データとを、第２処理実行部３５５に出力する。
【００６６】
後処理設定受信部３５３は、ＭＦＰ３，４のいずれかから暗号データを受信する。具体的には、通信Ｉ／Ｆ３１１がＭＦＰ３，４のいずれかから暗号データを受信すると、通信Ｉ／Ｆ３１１から暗号データを取得する。後処理設定受信部３５３は、暗号データを処理結果送信部３５７に出力する。
【００６７】
第２処理実行部３５５は、処理依頼データ受信部３５１から入力される処理依頼データに含まれる処理ＩＤで特定される処理を、処理依頼データに含まれる設定値に従って実行する。第２処理実行部３５５は、処理依頼データ受信部３５１から処理依頼データとともに対象データが入力される場合には、その対象データに対して処理ＩＤで特定される処理を実行する。そして、第２処理実行部３５５は、処理依頼データに含まれる処理ＩＤで特定される処理を実行すると、終了信号を処理結果送信部３５７に出力する。処理依頼データに含まれる処理ＩＤで特定される処理を実行した結果、データが生成される場合には、そのデータを対象データとして終了信号とともに処理結果送信部３５７に出力する。
【００６８】
処理結果送信部３５７は、第２処理実行部３５５から終了信号が入力されると、後処理設定受信部３５３から入力される暗号データを、処理依頼データおよび暗号データを送信してきた装置、ここではＭＦＰ３に送信する。処理結果送信部３５７は、ＭＦＰ３への暗号データの送信に失敗する場合には、他に処理実行装置が存在するか否かを検索する。たとえば、ブロードキャストで検索信号を送信する。そして、ＭＦＰ３とは別の処理実行装置から応答があれば、その処理実行装置に暗号データを送信する。ここでは、ＭＦＰ３の他に処理実行装置としてＭＦＰ４が存在するので、ＭＦＰ４から検索信号に対する応答を受信すれば、ＭＦＰ４に暗号データを送信する。なお、処理結果送信部３５７は、第２処理実行部３５５から対象データが入力される場合には、暗号データとともに対象データを送信する。
【００６９】
このように、サーバ３００は、ワークフロー定義データを生成したＭＦＰ３に暗号データを送信できない場合に、ＭＦＰ４に暗号データを送信する。上述したように、ＭＦＰ４は、それが備えるＣＰＵ１１１が有するワークフロー受信部６５で暗号データを受信する。そして、ＭＦＰ４は、ＭＦＰ３と共通の共通鍵を記憶しているので、ワークフロー受信部６５が暗号データを受信すると、復号部６７がそれを復号することができる。そして、ＭＦＰ４は、復号部６７が復号して得られるワークフロー定義データを、第１処理実行部５７で実行する。
【００７０】
このため、ワークフロー定義データを生成したＭＦＰ３が、その後故障または電源オフ等で停止した場合であっても、ＭＦＰ４においてワークフロー定義データで定義された処理ＩＤで特定される処理が実行される。図６に示したワークフロー定義データの場合には、ＭＦＰ４からＰＣ２００にＳｅａｒｃｈａｂｌｅＰＤＦのデータがＦＴＰで送信される。
【００７１】
図８は、ワークフロー生成・実行処理の流れの一例を示すフローチャートである。ワークフロー生成・実行処理は、ＭＦＰ３またはＭＦＰ４のＣＰＵ１１１がＥＥＰＲＯＭ１１３に記憶されたワークフロー生成・実行プログラムを実行することにより、ＣＰＵ１１１により実行される処理である。ワークフロー生成・実行プログラムは、処理実行プログラムの一部である。
【００７２】
図８を参照して、ＣＰＵ１１１は、ワークフローの生成指示を受け付ける（ステップＳ０１）。操作部１１５のワークフローキー１１５Ｇ（図４参照）の押下を検出すると、ワークフローの生成指示を受け付ける。ワークフローの生成指示を受付らならば処理をステップＳ０２に進めるが、そうでなければ処理をステップＳ１９に進める。ステップＳ１９においては、暗号データを受信したか否かを判断する。暗号データを受信したならば処理をステップＳ２０に進めるが、そうでなければ処理を終了する。すなわち、ワークフロー生成・実行処理は、ワークフローの生成指示を受け付けた場合、または、暗号データを受信した場合のいずれかの場合に実行される処理である。
【００７３】
ステップＳ０１において、ワークフローの生成指示が受け付けられると、手順番号の指定を受け付けたか否かを判断する（ステップＳ０２）。表示部１１４に手順設定画面を表示し、手順番号の指定を受け付ける。ＣＰＵ１１１は、手順番号の指定を受け付けるまで待機状態となり、手順番号の指定を受け付けたならば処理をステップＳ０３に進める。ステップＳ０３においては、設定画面を表示する。設定画面は、ＭＦＰ１００にデフォルトで設定された設定画面を表示する。例えば、コピー処理を実行させる操作を入力するための設定画面を表示する。そして、操作部１１５に入力される操作に従って、処理ＩＤと設定値とを受け付ける（ステップＳ０４）。例えば、表示部１１４に手順登録画面を表示し、ユーザがＭＦＰ１００に実行させる操作を操作部１１５に入力すると、入力された操作で定まる処理ＩＤと、その処理ＩＤで特定される処理を実行するための設定値とを受け付ける。
【００７４】
図９は、手順登録画面の一例を示す図である。図９を参照して、手順登録画面５１０は、手順１、手順２および手順３を選択するためのボタン５１１，５１３，５１５と、手順登録実行の文字が表された手順登録キー５１７と、登録完了の文字が表された登録完了キー５１９と、代行機能で実行されるデータ変換処理を選択するための代替機能選択ボタン５０１と、を含む。また、手順登録画面５１０の右側には設定画面５２０が表示される。
【００７５】
ボタン５１１，５１３，５１５はいずれか１つが選択可能であり、選択されたボタンが反転表示され、選択されていることが示される。図９においては、ボタン５１１が反転表示され、手順１が選択されていることを示す。ボタン５１１，５１３，５１５のうち選択されているボタンに対応する手順に対して、処理ＩＤと、設定画面５２０において設定された設定値とが割り当てられる。なお、ここでは、ボタン５１１，５１３，５１５それぞれに、手順１，手順２，手順３をそれぞれ対応付けたが、その下に下方向の矢印で示される送りボタンを指示すれば、ボタン５１１，５１３，５１５それぞれに、手順４，手順５，手順６がそれぞれ対応付けられる。さらに、送りボタンを指示すれば、次の手順がそれぞれ対応付けられる。また、上方向の矢印で示される戻るボタンを指示すれば、ボタン５１１，５１３，５１５に、先にそれぞれに対応付けられていた手順に戻る。
【００７６】
具体的には、操作部１１５のコピーキー１１５Ｄが押下されたならばコピー処理の指定を受け付け、操作部１１５のスキャンキー１１５Ｅが押下されたならばスキャン処理の指定を受け付け、操作部１１５の送信キー１１５Ｆが押下されたならば送信処理の指定を受け付け、データ変換ボタン５０１が指示されたならば代行機能であるデータ変換処理の指定を受け付ける。複数の処理のいずれかの指示を受け付けると、受け付けられた指示で特定される処理の処理ＩＤが、ボタン５１１，５１３，５１５のうちその時選択されているボタンに対応する手順に割り当てられる。さらに、受け付けられた処理に対して予め定められた設定画面５２０において、設定される処理によって設定値が受け付けられ、ボタン５１１，５１３，５１５のうちその時選択されているボタンに対応する手順に割り当てられる。
【００７７】
設定画面に含まれる設定項目ごとに予めで定められている設定値を受け付けた後、ユーザが設定項目に設定されている設定値を変更すると、変更後の設定値を受け付ける。また、予め設定値が定められていない設定項目については、ユーザにより設定値が設定されなければ、その設定項目には何も設定されない。なお、予め定められた設定値を最初に設定することなく、設定項目それぞれにユーザが設定する設定値を受け付けるようにしてもよい。
【００７８】
手順登録画面において手順登録キー５１７が指示されると、ボタン５１１，５１３，５１５のうち選択されているボタンに対応する手順に対して、処理ＩＤおよび設定画面５２０において設定された設定値が決定される。また、登録完了キー５１９が指示されると、その時点で処理ＩＤおよび設定値が決定されている手順のすべてを含むワークフロー定義データが決定される。
【００７９】
例えば、図６に示したワークフロー定義データが生成される場合を例に説明すると、まず、ボタン５１１が指示された状態で、スキャンキー１１５Ｅが押下されると、設定画面５２０がスキャン処理を設定するための画面に切換わる。設定画面５２０に設定値が入力され、手順登録実行ボタン５１７が指示されると、手順１に対してスキャン処理の処理ＩＤと設定値とが決定される。
【００８０】
次に、ボタン５１３が指示された状態で、データ変換ボタン５０１が指示されると、設定画面５２０がデータ変換処理を設定するための画面に切換わる。設定画面５２０に設定値が入力され、手順登録実行ボタン５１７が指示されると、手順２に対してデータ変換処理の処理ＩＤと設定値とが決定される。
【００８１】
次に、ボタン５１５が指示された状態で、送信キー１１５Ｆが押下されると、設定画面５２０が送信処理を設定するための画面に切換わる。設定画面５２０に設定値が入力され、手順登録実行ボタン５１７が指示されると、手順３に対して送信処理の処理ＩＤと設定値とが決定される。
【００８２】
図８に戻って、ＣＰＵ１１１は、手順登録画面２１０において手順登録キー５１７が指示されたか否かを判断する（ステップＳ０５）。手順登録キー５１７が指示されたならば処理をステップＳ０６に進めるが、そうでなければ処理をステップＳ０４に戻し、設定値の受け付けを継続する。
【００８３】
ステップＳ０６においては、手順番号に対応する処理ＩＤと設定値とをワークフロー定義データに設定する。そして、登録完了キー５１９が指示されたか否かを判断する（ステップＳ０７）。登録完了キー５１９が指示されたならば処理をステップＳ０８に進めるが、そうでなければ処理をステップＳ０２に戻し、継続して処理ＩＤと設定値とを受け付ける。ステップＳ０８においては、手順番号ごとに処理ＩＤと設定値とが設定されたワークフロー定義データのうちから第１番目の手順の処理ＩＤと設定値とを取得する。
【００８４】
次のステップＳ０９においては、処理ＩＤで特定される処理が代行機能により実行される依頼処理か否かを判断する。依頼処理ならば処理をステップＳ１４に進めるが、そうでなければ処理をステップＳ１０に進める。ステップＳ１０においては、処理ＩＤで特定される処理を、設定値に従って実行する。図６に示したワークフロー定義データにおいて第１番目の手順で特定される処理は、スキャン処理なので、処理をステップＳ１０に進める。また、図６に示したワークフロー定義データにおいて第２番目の手順で特定されるデータ変換処理であり、この場合には、データ変換処理は依頼処理なので処理をステップＳ１４に進める。
【００８５】
ステップＳ１０においては、処理ＩＤで特定される処理を実行する。図６に示したワークフロー定義データにおいて第１番目の手順の処理ＩＤが処理対象となっている場合、第１番目の手順の処理ＩＤで特定されるスキャン処理を実行する。スキャン処理が実行されると、画像読取部２０に原稿を読み取らせ、画像読取部２０が出力するビットマップのデータを取得する。このように、処理を実行することによりデータが取得される場合は、そのデータを対象データに設定し、処理を次に進める。
【００８６】
次のステップＳ１１においては、処理を実行した結果を更新する。具体的には、実行した処理の処理ＩＤに対応するワークフロー定義データの処理結果の項目に「済」を設定する。そして、処理をステップＳ１２に進める。ステップＳ１２においては、次の処理が存在するか否かを判断する。具体的には、ワークフロー定義データに次の手順の処理ＩＤが定義されているか否かを判断する。次の手順の処理ＩＤが定義されているならば処理をステップＳ１３に進め、そうでなければ処理をステップＳ１９に進める。ステップＳ１３においては、次の手順の処理ＩＤと設定値とを取得し、処理をステップＳ０９に戻す。
【００８７】
一方、ステップＳ１４においては、依頼処理の実行を依頼するための依頼装置を決定する。ここでは、ＭＦＰ３の依頼機能を実行する装置が、予めサーバ３００に設定されているため、サーバ３００が依頼装置に決定される。
【００８８】
そして、ワークフロー定義データを暗号化する（ステップＳ１５）。ＭＦＰ３，４がそれぞれ記憶する共通鍵でワークフロー定義データを暗号化し、暗号データを生成する。
【００８９】
そして、対象データが存在するか否かを判断する（ステップＳ１６）。対象データが存在する場合には処理をステップＳ１７に進め、存在しなければ処理をステップＳ１８に進める。対象データが存在しない場合は、例えば、サーバ３００が備えるＨＤＤ３０７に共有フォルダを生成しておき、その共有フォルダにデータを記憶するようにして、各処理の設定値に対象データが記憶されている共有フォルダおよびファイル名を設定しておく場合等である。
【００９０】
ステップＳ１７においては、対象データと、処理依頼データと、暗号データとを依頼装置であるサーバ３００に送信し、処理をステップＳ１９に進める。処理依頼データは、ステップＳ０８またはステップＳ１３において取得された処理ＩＤと設定値とを含む。
【００９１】
図１０は、サーバに送信するデータのフォーマットの一例を示す図である。図１０を参照して、「ＦＲＯＭ」および「ＴＯ」の項目に、それぞれ送信元および送信先の装置のＩＰアドレスが設定されており、「ＡＣＴＩＯＮ」の項目にデータ変換処理の処理ＩＤが設定されており、「ＳＥＴＴＩＮＧ１」の項目に、設定値の１つの「ＰＤＦ」が設定されており、「ＳＥＴＴＩＮＧ２」の項目に、設定値の他の１つの「Ｓｅａｒｃｈａｂｌｅ」が設定されておいる。
【００９２】
また、「ＡＴＴＡＣＨ」の項目は、添付データの数を示す。その次に、「Ｂｏｄｙ１」の項目に続いて暗号データが、「Ｂｏｄｙ２」の項目に続いて第１ビットマップデータが続き、「Ｂｏｄｙ３」の項目に続いて第２ビットマップデータが続く。第１および第２ビットマップデータは、対象データである。
【００９３】
図９に戻って、ステップＳ１８においては、処理依頼データと、暗号データとを依頼装置であるサーバ３００に送信し、処理をステップＳ１９に進める。処理依頼データおよび暗号データ、存在する場合には対象データを受信するサーバ３００が実行する処理については、後述するが、サーバ３００は、処理依頼データに含まれる処理ＩＤで特定される処理を、設定値に従って実行した後、暗号データを送信する。対象データが存在する場合には、暗号データとともに対象データを送信する。
【００９４】
図１１は、サーバから受信するデータのフォーマットの一例を示す図である。図１１を参照して、図１０にしめしたフォーマットと異なる点は、「ＦＲＯＭ」および「ＴＯ」に設定されるＩＰアドレスが逆になる点と、「Ｂｏｄｙ２」の項目に続いて第１ＰＤＦデータ１が続き、「Ｂｏｄｙ３」の項目に続いて第２ＰＤＦデータ２が続く点である。第１ＰＤＦデータおよび第２ＰＤＦデータは、第１ビットマップデータおよび第２ビットマップデータをそれぞれデータ変換した後のデータである。
【００９５】
図９に戻って、ステップＳ１９においては、サーバ３００が送信する暗号データを受信したか否かを判断する。暗号データを受信したならば処理をステップＳ２０に進めるが、そうでなければ処理を終了する。
【００９６】
ステップＳ２０においては、ワークフロー受信時実行処理を実行する。ワークフロー受信時実行処理については後述するが、暗号データに含まれるワークフロー定義データに従って処理を実行する処理である。
【００９７】
ステップＳ２１においては、ワークフロー受信時実行処理において、ワークフローで定義された処理がすべて終了したか否かを判断する。すべての処理が終了したならば処理をステップＳ２２に進めるが、そうでなければ処理を終了する。ステップＳ２２においては、課金処理を実行し、処理を終了する。課金処理については、後述する。
【００９８】
図１２は、ワークフロー受信時実行処理の流れの一例を示すフローチャートである。ワークフロー受信時実行処理は、図８に示したワークフロー生成・実行処理のステップＳ２０において実行される処理である。図１２を参照して、ＣＰＵ１１１は、対象データが存在するか否かを判断する（ステップＳ３１）。サーバ３００から受信するデータに「ＡＴＡＣＨ」（図１０参照）の項目が存在するか否かにより判断する。対象データが存在するならば処理をステップＳ３２に進めるが、存在しなければステップＳ３２をスキップして、処理をステップＳ３３に進める。ステップＳ３２においては、対象データを受信する。
【００９９】
ステップＳ３３においては、ワークフロー生成・実行処理のステップＳ１９において受信した暗号データを復号し、ワークフロー定義データを取得する。そして、フラグに「１」を設定する（ステップＳ３４）。ここでフラグは、ワークフロー定義データで定義されている処理ＩＤで特定される依頼処理が、サーバ３００により実行されたか否かを判断するために用いられる。最初の依頼処理の処理結果が「未」の場合に、サーバ３００により実行されたと判断する。換言すれば、手順が先の依頼処理の処理結果が「未」であり、次の手順の依頼処理の処理結果が「未」の場合には、次の手順の依頼処理はサーバ３００により実行されていないと判断する。
【０１００】
次のステップＳ３５においては、ワークフロー定義データにより定義されている第１番目の処理ＩＤと設定値とを取得する。そして、取得した処理ＩＤで特定される処理が処理済みか否かを判断する（ステップＳ３６）。処理結果が「済」ならば処理をステップＳ３７に進め、処理結果が「未」ならば処理をステップＳ３９に進める。
【０１０１】
ステップＳ３７においては、次の処理が存在するか否かを判断する。具体的には、ワークフロー定義データに次の手順の処理ＩＤが定義されているか否かを判断する。次の手順の処理ＩＤが定義されているならば処理をステップＳ３８に進め、そうでなければ処理をワークフロー生成・実行処理に戻す。ステップＳ３８においては、次の手順の処理ＩＤと設定値とを取得し、処理をステップＳ３６に戻す。
【０１０２】
一方、ステップＳ３９においては、処理ＩＤで特定される処理が代行機能により実行される依頼処理か否かを判断する。依頼処理ならば処理をステップＳ４０に進めるが、そうでなければ処理をステップＳ５０に進める。
【０１０３】
ステップＳ４０においては、フラグが「１」に設定されているか否かを判断する。フラグが「１」に設定されていれば、処理ＩＤで特定される処理がサーバ３００で実行された処理と判断し、処理をステップＳ４５に進めるが、そうでなければ処理をステップＳ４１に進める。ステップＳ４１〜ステップＳ４５の処理は、図８に示したワークフロー生成・実行処理のステップＳ１４〜ステップＳ１８の処理とそれぞれ同じである。したがってここでは説明を繰り返さない。
【０１０４】
ステップＳ４６においては、フラグを「０」に設定する。そして、処理を実行した結果を更新する（ステップＳ４７）。具体的には、実行した処理の処理ＩＤに対応するワークフロー定義データの処理結果の項目に「済」を設定する。そして、処理をステップＳ４７に進める。ステップＳ４７においては、次の処理が存在するか否かを判断する。次の手順の処理ＩＤが定義されているならば処理をステップＳ４９に進め、そうでなければ処理をワークフロー生成・実行処理に戻す。ステップＳ４９においては、次の手順の処理ＩＤと設定値とを取得し、処理をステップＳ３９に戻す。
【０１０５】
一方、ステップＳ５０においては、処理ＩＤで特定される処理を、設定値に従って実行する。ステップＳ３９において、図６に示したワークフロー定義データにおいて第３番目の手順の処理ＩＤで特定される処理を実行する場合、送信処理なので処理をステップＳ５０に進め、送信処理を実行する。送信処理が実行されると、対象データをＰＣ２００にＦＴＰで送信する。そして、処理をステップＳ５１に進める。
【０１０６】
ステップＳ５１〜ステップＳ５３の処理は、ステップＳ４７〜ステップＳ４９の処理とそれぞれ同じなので、ここでは説明を繰り返さない。
【０１０７】
図１３は、課金処理の流れの一例を示すフローチャートである。図１３を参照して、まず、ワークフロー定義データを解析する（ステップＳ６１）。例えば、処理ＩＤごとに処理の回数をカウントする。
【０１０８】
次に、ワークフロー定義データにプリント処理の処理ＩＤが定義されているか否かを判断する（ステップＳ６２）。プリント処理の処理ＩＤが定義されているならは処理をステップＳ６３に進め、そうでなければステップＳ６３をスキップして処理をステップＳ６４に進める。ステップＳ６３においては、プリントカウントを加算する。プリントカウントは、プリント処理に対して課金するためのプリント処理の回数をカウントするためのカウンタである。
【０１０９】
次に、ワークフロー定義データにスキャン処理の処理ＩＤが定義されているか否かを判断する（ステップＳ６４）。スキャン処理の処理ＩＤが定義されているならは処理をステップＳ６５に進め、そうでなければステップＳ６５をスキップして処理をステップＳ６６に進める。ステップＳ６５においては、スキャンカウントを加算する。スキャンカウントは、スキャン処理に対して課金するためのスキャン処理の回数をカウントするためのカウンタである。
【０１１０】
次に、ワークフロー定義データにデータ変換処理の処理ＩＤが定義されているか否かを判断する（ステップＳ６６）。データ変換処理の処理ＩＤが定義されているならは処理をステップＳ６７に進め、そうでなければステップＳ６７をスキップして処理をステップＳ６８に進める。ステップＳ６７においては、データ変換カウントを加算する。データ変換カウントは、データ変換処理に対して課金するためのデータ変換処理の回数をカウントするためのカウンタである。
【０１１１】
次に、ワークフロー定義データに送信処理の処理ＩＤが定義されているか否かを判断する（ステップＳ６８）。送信処理の処理ＩＤが定義されているならは処理をステップＳ６９に進め、そうでなければステップＳ６９をスキップして処理をワークフロー受信時実行処理に戻す。ステップＳ６９においては、送信カウントを加算する。送信カウントは、送信処理に対して課金するための送信処理の回数をカウントするためのカウンタである。
【０１１２】
課金処理は、ワークフロー定義データにより定義された最後の処理が実行された後に実行されるので、ワークフローの実行に対して正確に課金することができる。例えば、ワークフロー定義データにより定義された複数の処理がすべて実行される前に中止された場合等に、課金されるのを防止することができる。
【０１１３】
図１４は、依頼処理実行処理の流れの一例を示すフローチャートである。依頼処理実行処理は、サーバ３００が備えるＣＰＵ３０１が、依頼処理実行プログラムを実行することにより、ＣＰＵ３０１により実行される処理である。依頼処理実行プログラムは、処理実行プログラムの一部である。
【０１１４】
図１４を参照して、ＣＰＵ３０１は、処理依頼データと暗号データを受信したか否かを判断する（ステップＳ７１）。それらを受信するまで待機状態となり（ステップＳ７１でＮＯ）、それらを受信したならば処理をステップＳ７２に進める。すなわち、依頼処理実行処理は、処理依頼データと暗号データとを受信することを条件に実行される処理である。
【０１１５】
ステップＳ７２においては、対象データが存在するか否かを判断する。図１０に示したフォーマットでデータを受信する場合、「ＡＴＡＣＨ」の項目に１以上が設定されているか否かで判断する。対象データが存在するならば処理をステップＳ７３に進め、存在しなければ処理をステップＳ７４に進める。
【０１１６】
ステップＳ７４においては、処理依頼データに含まれる処理ＩＤで特定される処理を、処理依頼データに含まれる設定値に従って実行する。ステップＳ７３において、対象データを受信した場合には、その対象データに対して処理を実行する。
【０１１７】
ステップＳ７５においては、対象データが存在するか否かを判断する。ステップＳ７４において処理を実行した結果、データが生成されたか否かを判断する。データが生成されたならば対象データが存在と判断する。データが存在するならば処理をステップＳ７６に進めるが、存在しなければ処理をステップＳ７７に進める。
【０１１８】
ステップＳ７６においては、対象データとステップＳ７１において受信された暗号データとを返信する。一方、ステップＳ７７においては、ステップＳ７１において受信された暗号データを返信する。処理依頼データを送信してきた装置、ここではＭＦＰ３に返信する。
【０１１９】
そして、ステップＳ７８においては、返信に成功したか否かを判断する。例えば、ＭＦＰ３から受信を確認する応答があれば返信に成功したと判断し、所定時間経過してもＭＦＰ３から受信を確認する応答がない場合に返信に失敗したと判断する。返信に成功したならば処理を終了し、失敗したならば処理をステップＳ７９に進める。
【０１２０】
ステップＳ７９においては、送信先検索処理を実行する。送信先検索処理については後述するが、処理依頼データを送信してきた装置、ここではＭＦＰ３の他に、ワークフロー定義データで定義された未処理の処理を実行可能な処理実行装置を検索する。送信先検索処理の結果、送信先が存在するか否かを判断する（ステップＳ８０）。送信先検索処理の結果、送信先アドレスを取得したならば送信先が存在すると判断し、送信先アドレスを取得しなければ送信先が存在しないと判断する。送信先が存在するならば処理をステップＳ８１に進め、存在しなければ処理をステップＳ８４に進める。ステップＳ８４においては、廃棄処理を実行する。廃棄処理は、ワークフロー定義データを消去し、ワークフロー定義データで定義された複数の処理ＩＤで特定される複数の処理を実行するのを途中で中止する。
【０１２１】
ステップＳ８１においては、ステップＳ７５と同様に、対象データが存在するか否かを判断する。対象データが存在すれば処理をステップＳ８２に進め、存在しなければ処理をステップＳ８３に進める。
【０１２２】
ステップＳ８２においては、対象データとステップＳ７１において受信された暗号データとをステップＳ７９において検索された送信先に送信し、処理を終了する。一方、ステップＳ８３においては、暗号データをステップＳ７９において検索された送信先に送信し、処理を終了する。処理依頼データを送信してきた装置、ここではＭＦＰ３に代えて他の処理実行装置、ここではＭＦＰ４が検索されるならばＭＦＰ４に送信する。
【０１２３】
図１５は、送信先検索処理の流れの一例を示すフローチャートである。図１５を参照して、検索要求をマルチキャストで送信する（ステップＳ９１）。具体的には、通信Ｉ／Ｆ３１１を介して、検索要求をネットワーク２にマルチキャストで送信する。送信先検索処理が実行されるのは、処理依頼データを送信してきた装置、ここではＭＦＰ３が電源オフ等で停止している場合なので、検索要求は、ネットワーク２に接続されたＭＦＰ４およびＰＣ２００において受信される。検索要求を受信したＭＦＰ４およびＰＣ２００は、自身が処理実行装置に設定されていれば肯定的な応答、例えばＯＫを返信するが、処理実行装置に設定されていなければ否定的な応答、例えばＮＧを返信する。肯定的な応答とは、処理実行装置として機能することを示す応答であり、否定的な応答とは処理事項装置として機能しないことを示す応答である。ここでは、ＭＦＰ４は、処理実行装置に設定されているが、ＰＣ２００は処理実行装置に設定されていない例を説明する。
【０１２４】
次のステップＳ９２においては、応答を受信したか否かを判断する。応答を受信したならば処理をステップＳ９３に進めるが、そうでなければ処理をステップＳ９５に進める。ここでは、ＰＣ２００およびＭＦＰ４から応答を受信するので、処理をステップＳ９３に進める。
【０１２５】
ステップＳ９３においては、送信先が存在するか否かを判断する。少なくとも１つの肯定的な応答を受信したならば送信先が存在すると判断する。送信先が存在するならば処理をステップＳ９４に進め、そうでなければ処理をステップＳ９５に進める。この例においては、ＭＦＰ４から肯定的な応答を受信するので、処理をステップＳ９４に進める。
【０１２６】
ステップＳ９４においては、返り値に肯定的な応答を送信してきた装置のＩＰアドレスを設定し、処理を依頼処理実行処理に戻す。肯定的な応答を送信してきた装置が複数の場合は、いずれか１つを選択し、選択した装置のＩＰアドレスを返り値に設定する。ここではＭＦＰ４に割り当てられたＩＰアドレスを返り値に設定する。一方、ステップＳ９５においては、返り値に「送信先なし」を設定し、処理を依頼処理実行処理に戻す。
【０１２７】
なお、本実施の形態においては、ＭＦＰ３，４それぞれにおいて、代行機能を実行するための依頼装置としてサーバ３００を予め定めておくようにしたが、ワークフロー定義データを生成する段階で、処理を実行する装置を決定するようにしてもよい。この場合、ワークフロー定義データは、各手順で定義される処理ＩＤに対応して、その処理ＩＤで特定される処理を実行するための装置を識別するための装置識別情報を含めるようにすればよい。この場合、ＭＦＰ３，４は、ワークフロー定義データで定義されている装置識別情報で特定される装置に、処理の実行を依頼することになる。また、ワークフロー定義データにおいて、他の装置に実行を依頼する処理は、ワークフロー定義データを生成する装置、例えばＭＦＰ３が有する機能で実行される処理であってもよい。
【０１２８】
以上説明したように本実施の形態における処理実行システム１は、複数の処理実行装置としてＭＦＰ３，４およびＰＣ２００を含む。例えば、ＭＦＰ３において、複数の一連の処理を定義するワークフローが生成され、生成されたワークフローで定義される複数の一連の処理のうち少なくとも１つの依頼処理をサーバ３００に実行させるために、依頼処理を実行するための設定を含む処理依頼データと依頼処理より後の処理を実行するための後処理設定を含むワークフロー定義データとをサーバ３００に送信する。処理依頼データに加えて、ワークフロー定義データが送信されるので、処理依頼データを送信したＭＦＰ３が、電源がオフになる等した場合であっても、ＭＦＰ４が依頼処理より後の処理を実行することができる。
【０１２９】
また、ワークフロー定義データを暗号化して送信するので処理の内容が漏洩するのを防止することができる。
【０１３０】
さらに、ワークフロー定義データで定義される複数の一連の処理のすべてが実行された後に課金するので、複数の一連の処理のすべてが実行される前に処理が中止された場合に課金されないようにし、正確に課金することができる。
【０１３１】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【０１３２】
【図１】本発明の実施の形態の１つにおける処理実行システムの全体概要を示す図である。
【図２】ＭＦＰのハードウェア構成の一例を示すブロック図である。
【図３】サーバ３００のハードウェア構成の一例を示すブロック図である。
【図４】ＭＦＰが備える操作パネルの一例を示す平面図である。
【図５】ＭＦＰが備えるＣＰＵの機能の一例を示す機能ブロック図である。
【図６】ワークフロー定義データの一例を示す図である。
【図７】サーバが備えるＣＰＵが有する機能の一例を示す機能ブロック図である。
【図８】ワークフロー生成・実行処理の流れの一例を示すフローチャートである。
【図９】手順登録画面の一例を示す図である。
【図１０】サーバに送信するデータのフォーマットの一例を示す図である。
【図１１】サーバから受信するデータのフォーマットの一例を示す図である。
【図１２】ワークフロー受信時実行処理の流れの一例を示すフローチャートである。
【図１３】課金処理の流れの一例を示すフローチャートである。
【図１４】依頼処理実行処理の流れの一例を示すフローチャートである。
【図１５】送信先検索処理の流れの一例を示すフローチャートである。
【符号の説明】
【０１３３】
１  処理実行システム、２  ネットワーク、９  操作パネル、１０  ＡＤＦ、２０  画像読取部、３０  画像形成部、４０  給紙部、５０  ファクシミリ部、５１  処理指定受付部、５３  ワークフロー生成部、５５  設定値受付部、５７  処理実行部、５９  履歴設定部、６１  暗号化部、６３  依頼部、６５  ワークフロー受信部、６７  復号部、６９  課金部、１０１  メイン回路、１１１，３０１  ＣＰＵ、１１２，３０５  ＲＡＭ、１１３  ＥＥＰＲＯＭ、１１４  表示部、１１５  操作部、１１６，３０７  ＨＤＤ、１１７  データ通信制御部、１１９Ａ  メモリカード、３００  サーバ、３０３  ＲＯＭ、３０９  カードＩ／Ｆ、３０８  フラッシュメモリ、３１１  通信Ｉ／Ｆ、３１３  操作部、３１５  入力部、３１７  表示部、３２０  バス、３５１  処理依頼データ受信部、３５３  後処理設定受信部、３５５  処理実行部、３５７  処理結果送信部。
【図１】
2009048533.tif 000003
【図２】
2009048533.tif 000004
【図３】
2009048533.tif 000005
【図４】
2009048533.tif 000006
【図５】
2009048533.tif 000007
【図６】
2009048533.tif 000008
【図７】
2009048533.tif 000009
【図８】
2009048533.tif 000010
【図９】
2009048533.tif 000011
【図１０】
2009048533.tif 000012
【図１１】
2009048533.tif 000013
【図１２】
2009048533.tif 000014
【図１３】
2009048533.tif 000015
【図１４】
2009048533.tif 000016
【図１５】
2009048533.tif 000017