(57)【要約】【課題】  ワークフローを投入した順に印刷処理を実行させる。【解決手段】  サーバは、ユーザ識別情報とワークフローとを受け付け、それらが受け付けられた時刻と関連付けて記憶し、記憶されたワークフローを実行する。そして、ユーザ識別情報と関連付けられた複数のワークフローが並列して実行される場合、複数のワークフローのうち１つの印刷実行ワークフローにより定義される印刷処理が実行される前の段階で、印刷実行ワークフロー以外の印刷処理が未実行の未実行ワークフローを検出し（Ｓ１６でＹＥＳ）、かつ、印刷可能枚数に制限がある場合（Ｓ１８でＹＥＳ）、印刷実行ワークフローに関連付けられた時刻が未実行ワークフローに関連付けられた時刻より前であることを条件に（Ｓ２２でＹＥＳ）、印刷実行ワークフローにより定義される印刷処理の実行を許可する（Ｓ２４）。【選択図】        図７
2010191609.tif 000002
【特許請求の範囲】
【請求項１】
ユーザを識別するためのユーザ識別情報と、複数の一連の処理を定義するワークフローとを受け付けるワークフロー受付手段と、
前記受け付けられたユーザ識別情報およびワークフローを、それらが受け付けられた時刻と関連付けて記憶する記憶手段と、
前記記憶されたワークフローを実行するワークフロー実行手段と、
前記記憶手段により記憶され、同じユーザ識別情報と関連付けられた複数のワークフローが前記ワークフロー実行手段により並列して実行される場合、前記複数のワークフローのうち１つの印刷実行ワークフローにより定義される印刷処理が実行される前の段階で、前記複数のワークフローのうち前記印刷実行ワークフロー以外の他のワークフローのうちから印刷処理が未実行の未実行ワークフローを検出する検出手段と、
前記複数のワークフローに関連付けられたユーザ識別情報で特定されるユーザに対して印刷可能枚数に制限があるか否かを判断する第２判断手段と、
前記未実行ワークフローが検出され、かつ、前記印刷可能枚数に制限がある場合、前記印刷実行ワークフローに関連付けられた時刻が前記未実行ワークフローに関連付けられた時刻より前であることを条件に、前記ワークフロー実行手段による前記印刷実行ワークフローにより定義される印刷処理の実行を許可する実行制御手段と、を含むワークフロー実行装置。
【請求項２】
前記実行制御手段は、前記印刷可能枚数が所定の値より大きい場合は、前記印刷実行ワークフローに関連付けられた時刻が前記未実行ワークフローに関連付けられた時刻より後であっても前記ワークフロー実行手段による前記印刷実行ワークフローにより定義される印刷処理の実行を許可する、請求項１に記載のワークフロー実行装置。
【請求項３】
前記実行制御手段は、前記複数のワークフローそれぞれにより定義される印刷処理の印刷枚数の合計が、前記印刷可能枚数以下の場合は、前記印刷実行ワークフローに関連付けられた時刻が前記未実行ワークフローに関連付けられた時刻より後であっても前記ワークフロー実行手段による前記印刷実行ワークフローにより定義される印刷処理の実行を許可する請求項１に記載のワークフロー実行装置。
【請求項４】
前記実行制御手段は、前記ワークフロー実行手段による前記印刷実行ワークフローにより定義される印刷処理の実行を許可しない場合、前記未実行ワークフローにより定義される印刷処理が終了することを条件に、前記ワークフロー実行手段に前記印刷実行ワークフローにより定義される印刷処理の実行を許可する、請求項１〜３のいずれかに記載のワークフロー実行装置。
【請求項５】
ユーザを識別するためのユーザ識別情報と、複数の一連の処理を定義するワークフローとを受け付けるステップと、
前記受け付けられたユーザ識別情報およびワークフローを、それらが受け付けられた時刻と関連付けて記憶するステップと、
前記記憶されたワークフローを実行するステップと、
同じユーザ識別情報と関連付けられて記憶された複数のワークフローが並列して実行される場合、前記複数のワークフローのうち１つの印刷実行ワークフローにより定義される印刷処理が実行される前の段階で、前記複数のワークフローのうち前記印刷実行ワークフロー以外の他のワークフローのうちから印刷処理が未実行の未実行ワークフローを検出するステップと、
前記未実行ワークフローが検出され、かつ、前記印刷可能枚数に制限がある場合、前記印刷実行ワークフローに関連付けられた時刻が前記未実行ワークフローに関連付けられた時刻より前であることを条件に、前記実行するステップにおける前記印刷実行ワークフローにより定義される印刷処理の実行を許可するステップと、を含むワークフロー実行方法。
（１）  前記印刷処理の実行を許可するステップは、制限される前記印刷可能枚数を所定の値と比較するステップと、
前記比較するステップにおける比較結果が、制限される前記印刷可能枚数が所定の値より大きい場合は、前記未実行ワークフローが検出される場合であっても前記実行するステップにおける前記印刷実行ワークフローにより定義される印刷処理の実行を許可するステップと、を含む請求項５に記載のワークフロー実行方法。
（２）  前記印刷処理の実行を許可するステップは、前記複数のワークフローそれぞれにより定義される印刷処理の印刷枚数の合計が前記印刷可能枚数以下の場合は、前記未実行ワークフローが検出される場合であっても前記実行するステップにおける前記印刷実行ワークフローにより定義される印刷処理の実行を許可するステップを含む、請求項５に記載のワークフロー実行方法。
（３）  前記印刷処理の実行を許可するステップは、前記実行するステップにおける前記印刷実行ワークフローにより定義される印刷処理の実行を許可しない場合、前記未実行ワークフローにより定義される印刷処理が終了することを条件に、前記実行するステップにおける前記印刷実行ワークフローにより定義される印刷処理の実行を許可するステップを含む、請求項５、（１）および（２）のいずれかに記載のワークフロー実行装置。
【請求項６】
ユーザを識別するためのユーザ識別情報と、複数の一連の処理を定義するワークフローとを受け付けるステップと、
前記受け付けられたユーザ識別情報およびワークフローを、それらが受け付けられた時刻と関連付けて記憶するステップと、
前記記憶されたワークフローを実行するステップと、
同じユーザ識別情報と関連付けられて記憶された複数のワークフローが並列して実行される場合、前記複数のワークフローのうち１つの印刷実行ワークフローにより定義される印刷処理が実行される前の段階で、前記複数のワークフローのうち前記印刷実行ワークフロー以外の他のワークフローのうちから印刷処理が未実行の未実行ワークフローを検出するステップと、
前記未実行ワークフローが検出され、かつ、前記印刷可能枚数に制限がある場合、前記印刷実行ワークフローに関連付けられた時刻が前記未実行ワークフローに関連付けられた時刻より前であることを条件に、前記実行するステップにおける前記印刷実行ワークフローにより定義される印刷処理の実行を許可するステップと、をコンピュータに実行させるワークフロー実行プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明はワークフロー実行装置、ワークフロー実行方法およびワークフロー実行プログラムに関し、特に複数のワークフローを並列して実行することが可能なワークフロー実行装置、そのワークフロー実行装置で実行されるワークフロー実行方法およびそのワークフロー実行方法をコンピュータに実行させるためのワークフロー実行プログラムに関する。
【背景技術】
【０００２】
近年、ユーザ毎に印刷許可枚数の上限値を設定しておき、印刷枚数を制限する印刷枚数制限管理がなされている。例えば、特開２００８−７７４９３号公報には、ネットワーク接続されたユーザ端末、印刷装置、印刷管理サーバを備え、ユーザ毎に印刷許可枚数の上限値が設定されている印刷システムであって、前記印刷管理サーバは、ユーザの印刷許可枚数の残数と前記ユーザからの複数の印刷ジョブ要求における印刷必要枚数とにより、印刷可能枚数を算定する印刷枚数算定手段と、前記印刷可能枚数が不足する場合に優先させる印刷ジョブを自動的に判定する印刷ジョブ判定手段を備えていることを特徴とする印刷システムが記載されている。
【０００３】
一方、複数の処理を組み合わせたワークフローを定義し、ワークフローで定義された複数の処理を実行する技術が開発されている。上記印刷枚数制限管理によって印刷枚数が制限される場合、ワークフローで定義される複数の処理に印刷処理が含まれる場合でも管理対象となる。したがって、ワークフローで定義される印刷処理を実行することによって印刷枚数が上限値を超える場合は、ワークフローを実行することができない。
【０００４】
ワークフローは、複数の処理の組み合わせを定義するので、複数の処理の２番目以降に印刷処理が定義される場合は、それより前の処理が実行されるまで実行されないので、印刷処理が実行されるまでに時間がかかる。したがって、複数のワークフローが並列して実行される場合には、後に投入されたワークフローにより定義される印刷処理が、先に投入されたワークフローにより定義される印刷処理よりも先に実行される場合がある。この場合、後に投入されたワークフローにより定義される印刷処理が実行されることにより印刷枚数が上限値を越えると、先に投入されたワークフローにより定義される印刷処理が実行されない場合がある。このため、２つのワークフローを投入したユーザは、投入した順と異なる順で印刷処理が実行されるので、困惑してしまうといった問題がある。
【特許文献１】特開２００８−７７４９３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
この発明は上述した問題点を解決するためになされたもので、この発明の目的の１つは、ワークフローを投入した順に印刷処理を実行させることが可能なワークフロー実行装置、ワークフロー実行方法およびワークフロー実行プログラムを提供することである。
【課題を解決するための手段】
【０００６】
上述した目的を達成するために、本実施の形態におけるワークフロー実行装置は、ユーザを識別するためのユーザ識別情報と、複数の一連の処理を定義するワークフローとを受け付けるワークフロー受付手段と、前記受け付けられたユーザ識別情報およびワークフローを、それらが受け付けられた時刻と関連付けて記憶する記憶手段と、前記記憶されたワークフローを実行するワークフロー実行手段と、前記記憶手段により記憶され、同じユーザ識別情報と関連付けられた複数のワークフローが前記ワークフロー実行手段により並列して実行される場合、前記複数のワークフローのうち１つの印刷実行ワークフローにより定義される印刷処理が実行される前の段階で、前記複数のワークフローのうち前記印刷実行ワークフロー以外の他のワークフローのうちから印刷処理が未実行の未実行ワークフローを検出する検出手段と、前記複数のワークフローに関連付けられたユーザ識別情報で特定されるユーザに対して印刷可能枚数に制限があるか否かを判断する第２判断手段と、前記未実行ワークフローが検出され、かつ、前記印刷可能枚数に制限がある場合、前記印刷実行ワークフローに関連付けられた時刻が前記未実行ワークフローに関連付けられた時刻より前であることを条件に、前記ワークフロー実行手段による前記印刷実行ワークフローにより定義される印刷処理の実行を許可する実行制御手段と、を含む。
【０００７】
この局面によれば、同じユーザ識別情報と関連付けられた複数のワークフローが並列して実行される場合、複数のワークフローのうち１つの印刷実行ワークフローにより定義される印刷処理が実行される前の段階で、複数のワークフローのうち印刷実行ワークフロー以外の他のワークフローのうちから印刷処理が未実行の未実行ワークフローが検出され、未実行ワークフローが検出され、かつ、印刷可能枚数に制限がある場合、印刷実行ワークフローに関連付けられた時刻が未実行ワークフローに関連付けられた時刻より前であることを条件に、印刷実行ワークフローにより定義される印刷処理の実行が許可される。このため、先に実行が開始された未実行ワークフローで定義される印刷処理が後に実行が開始された印刷実行ワークフローより先に実行される。このため、複数のワークフローによりそれぞれ定義される複数の印刷処理をワークフローを投入した順に実行するので、後に実行が開始された印刷実行ワークフローで定義される印刷処理が実行されるが、先に投入された未実行ワークフローで定義される印刷処理が実行されなくなるのが防止される。その結果、ワークフローを投入した順に印刷処理を実行させることが可能なワークフロー実行装置を提供することができる。
【０００８】
好ましくは、前記実行制御手段は、前記印刷可能枚数が所定の値より大きい場合は、前記印刷実行ワークフローに関連付けられた時刻が前記未実行ワークフローに関連付けられた時刻より後であっても前記ワークフロー実行手段による前記印刷実行ワークフローにより定義される印刷処理の実行を許可する。
【０００９】
好ましくは、前記実行制御手段は、前記複数のワークフローそれぞれにより定義される印刷処理の印刷枚数の合計が、前記印刷可能枚数以下の場合は、前記印刷実行ワークフローに関連付けられた時刻が前記未実行ワークフローに関連付けられた時刻より後であっても前記ワークフロー実行手段による前記印刷実行ワークフローにより定義される印刷処理の実行を許可する。
【００１０】
好ましくは、前記実行制御手段は、前記ワークフロー実行手段による前記印刷実行ワークフローにより定義される印刷処理の実行を許可しない場合、前記未実行ワークフローにより定義される印刷処理が終了することを条件に、前記ワークフロー実行手段に前記印刷実行ワークフローにより定義される印刷処理の実行を許可する。
【００１１】
この発明の他の局面に従えば、ワークフロー実行方法は、ユーザを識別するためのユーザ識別情報と、複数の一連の処理を定義するワークフローとを受け付けるステップと、前記受け付けられたユーザ識別情報およびワークフローを、それらが受け付けられた時刻と関連付けて記憶するステップと、前記記憶されたワークフローを実行するステップと、同じユーザ識別情報と関連付けられて記憶された複数のワークフローが並列して実行される場合、前記複数のワークフローのうち１つの印刷実行ワークフローにより定義される印刷処理が実行される前の段階で、前記複数のワークフローのうち前記印刷実行ワークフロー以外の他のワークフローのうちから印刷処理が未実行の未実行ワークフローを検出するステップと、前記未実行ワークフローが検出され、かつ、前記印刷可能枚数に制限がある場合、前記印刷実行ワークフローに関連付けられた時刻が前記未実行ワークフローに関連付けられた時刻より前であることを条件に、前記実行するステップにおける前記印刷実行ワークフローにより定義される印刷処理の実行を許可するステップと、を含む。
【００１２】
この局面に従えば、ワークフローを投入した順に印刷処理を実行させることが可能なワークフロー実行方法を提供することができる。
【００１３】
この発明のさらに他の局面によれば、ワークフロー実行プログラムは、ユーザを識別するためのユーザ識別情報と、複数の一連の処理を定義するワークフローとを受け付けるステップと、前記受け付けられたユーザ識別情報およびワークフローを、それらが受け付けられた時刻と関連付けて記憶するステップと、前記記憶されたワークフローを実行するステップと、同じユーザ識別情報と関連付けられて記憶された複数のワークフローが並列して実行される場合、前記複数のワークフローのうち１つの印刷実行ワークフローにより定義される印刷処理が実行される前の段階で、前記複数のワークフローのうち前記印刷実行ワークフロー以外の他のワークフローのうちから印刷処理が未実行の未実行ワークフローを検出するステップと、前記未実行ワークフローが検出され、かつ、前記印刷可能枚数に制限がある場合、前記印刷実行ワークフローに関連付けられた時刻が前記未実行ワークフローに関連付けられた時刻より前であることを条件に、前記実行するステップにおける前記印刷実行ワークフローにより定義される印刷処理の実行を許可するステップと、をコンピュータに実行させる。
【００１４】
この局面に従えば、ワークフローを投入した順に印刷処理を実行させることが可能なワークフロー実行プログラムを提供することができる。
【発明を実施するための形態】
【００１５】
以下、本発明の実施の形態について図面を参照して説明する。以下の説明では同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがってそれらについての詳細な説明は繰返さない。
【００１６】
図１は、本発明の実施の形態の１つにおけるワークフロー実行システムの全体概要を示す図である。図１を参照して、ワークフロー実行システム１は、ネットワーク２にそれぞれ接続された複合機（以下、「ＭＦＰ」という）３，４と、パーソナルコンピュータ（以下「ＰＣ」いう）２００と、サーバ３００と、を含む。本実施の形態においては、ＰＣ２００で入力されたワークフローがサーバ３００により実行される場合を例に説明する。この場合、サーバ３００は、ワークフローにより定義される複数の処理を、ＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）３，４に実行させるために、ＭＦＰ３，４を制御する。ここでは、ワークフローを実行するサーバ３００をワークフロー実行装置といい、ワークフローにより定義される複数の処理を実行するＭＦＰ３，４を処理実行装置という。
【００１７】
なお、ＰＣ２００およびサーバ３００は、処理実行装置として機能することが可能である。また、サーバ３００をワークフロー実行装置として機能させる場合を例に説明するが、サーバ３００が有する機能を、ＭＦＰ３，４またはＰＣ２００に搭載するようにしてもよい。この場合は、ＭＦＰ３，４またはＰＣ２００がワークフロー実行装置として機能するので、サーバ３００は不要である。
【００１８】
さらに、２台のＭＦＰ３，４が処理実行装置として機能し、１台のサーバ３００がワークフロー実行装置として機能する場合を例に説明するが、台数を限定するものではなく、それぞれ１台以上あればよい。また、ユーザがワークフローをＰＣ２００に入力する場合を例に説明するが、ユーザがサーバ３００またはＭＦＰ３，４にワークフローを入力するようにしてもよい。すなわち、ＭＦＰ３，４のうちいずれか１つがスタンドアロンで、ワークフロー実行装置および処理実行装置として機能するようにしてもよい。
【００１９】
ＰＣ２００およびサーバ３００は、一般的なコンピュータである。ＭＦＰ３，４は、スキャナ機能、プリンタ機能、コピー機能、ファクシミリ機能、データ送信機能、画像処理等の複数の機能を備える。
【００２０】
ネットワーク２は、ローカルエリアネットワーク（ＬＡＮ）であり、接続形態は有線または無線を問わない。またネットワーク２は、ＬＡＮに限らず、ワイドエリアネットワーク（ＷＡＮ）、インターネットであってもよく、また、専用回線に限らず、公衆交換電話網（ＰＳＴＮ）等で接続されたネットワークであってもよい。
【００２１】
本実施の形態におけるワークフロー実行システム１は、ワークフロー実行装置として機能するサーバ３００は、処理実行装置として機能するＭＦＰ３，４それぞれが有する機能を予め記憶している。ＭＦＰ３，４それぞれが有する機能は、ＰＣ２００において、ワークフローの入力を受け付ける際に、ＰＣ２００により参照される。ＰＣ２００を操作するユーザは、サーバ３００に記憶されたＭＦＰ３，４それぞれが有する機能のうちから複数の機能を選択し、選択された複数の機能をそれぞれ実行する複数の一連の処理を含むワークフローを定義することが可能である。この場合、ユーザは、ＭＦＰ３，４のいずれかに処理を実行させるか否かを必ずしも決定する必要はないが、ＭＦＰ３，４のうち複数の処理の少なくとも１つを実行する装置を特定するワークフローを入力することができる。例えば、サーバ３００をＷｅｂサーバとして機能させ、ＰＣ３００にブラウザプログラムをインストールするようにすれば、ユーザがＰＣ２００にＭＦＰ３，４が実行可能な複数の機能の２以上を組み合わせた複数の処理を定義するワークフローを入力し、ＰＣ２００に入力されたワークフローをサーバ３００が受信することができる。
【００２２】
また、サーバ３００は、複数の一連の処理を定義したワークフローが入力されると、そのワークフローを実行する。ワークフローの実行は、ワークフローにより定義される処理対象となるデータに対して、ワークフローにより定義される複数の一連の処理を順に、処理実行装置であるＭＦＰ３，４に実行させることをいう。具体的には、ワークフローで定義される複数の一連の処理を、最初から順に１つ選択し、処理対象となるデータと、選択した処理を実行するためのコマンドとを、選択した処理を実行可能なＭＦＰ３，４のいずれかに送信する。コマンドは、例えば、印刷処理であれば用紙サイズ、拡大または縮小率、印刷枚数等の印刷条件等、処理を実行するための条件を含むようにしてもよい。これにより、ＭＦＰ３，４のうちコマンドとデータとを受信する装置は、コマンドに従ってデータを処理し、処理後のデータおよび処理結果、または処理後のデータが存在しない処理の場合には処理結果をサーバ３００に返信する。
【００２３】
また、ワークフローにより定義される処理は、データの送信処理と印刷処理との組み合わせ等、データの内容を変更しない複数の処理の組み合わせを含む場合があり、この場合には、データの内容を変更しない複数の処理を並列して実行することが可能である。サーバ３００は、ワークフローが並列して実行可能な複数の処理を定義する場合には、並列して実行可能な複数の処理を実行するためのコマンドと同一のデータとをＭＦＰ３，４にそれぞれ送信し、ＭＦＰ３，４に並列して異なる処理を実行させる。
【００２４】
サーバ３００において、ＭＦＰ３，４のうち選択した処理を実行させる装置の決定は、その装置がワークフローで指定されている場合には、指定されている装置に決定し、いずれか一方が実行可能な場合には実行可能な装置に決定し、ＭＦＰ３，４のいずれもが選択した処理を実行可能な場合には、任意の一方に決定する。なお、ＭＦＰ３，４のいずれもが選択した処理を実行可能な場合には、予め定めた基準に従って実行させる装置を決定するようにしてもよい。予め定めた基準とは、ＭＦＰ３，４の負荷を監視するようにし、負荷の低い装置に決定する基準、ＭＦＰ３，４の処理能力を予め記憶しておき、処理能力の高い装置に決定する基準、ＭＦＰ３，４で処理を実行するのに必要なコストを予め記憶しておき、コストの低い装置に決定する基準等である。
【００２５】
さらに、サーバ３００は、印刷枚数制限管理処理を実行する。サーバ３００は、印刷枚数制限管理処理を実行するに際して、予め上限管理テーブルを記憶する。上限管理テーブルは、ユーザ毎に、上限値と印刷枚数とを関連付ける上限管理レコードを含む。上限管理レコードは、ユーザを識別するためのユーザ識別情報が設定される項目と、そのユーザに割り当てられた上限値が設定される項目と、そのユーザの指示によりＭＦＰ３およびＭＦＰ４により印刷された枚数が設定される項目とを含み、ユーザ識別情報と、上限値と、印刷枚数とを関連付ける。
【００２６】
サーバ３００は、管理者によりユーザ識別情報と上限値とが入力されると、上限管理テーブルに含まれる上限管理レコードのうち、入力されたユーザ識別情報を含む上限管理レコードの上限値の項目に入力された上限値を設定する。また、ＭＦＰ３，４それぞれによりプリントまたはコピー処理が実行されると、そのプリントまたはコピー処理の実行を指示したユーザのユーザ識別情報と印刷枚数とを含む実績情報を受信する。サーバ３００は、ＭＦＰ３，４のいずれかから実績情報を受信すると、上限管理テーブルに含まれる上限管理レコードのうち、受信された実績情報に含まれるユーザ識別情報を含む上限管理レコードの印刷枚数の項目に設定されている印刷枚数を、それに実績情報に含まれる印刷枚数を加算した値に変更する。
【００２７】
一方、ＭＦＰ３，４は、プリントまたはコピー処理を実行する前の段階で、プリントまたはコピー処理の実行を指示したユーザのユーザ識別情報を含む上限枚数の問合せ情報を送信し、サーバ３００から、そのユーザ識別情報を含む上限管理レコードを受信する。ＭＦＰ３，４は、受信された上限管理レコードに設定されている上限値から印刷枚数を減算した印刷可能枚数と、プリントまたはコピー処理を実行することによる印刷予定枚数とを比較し、印刷予定枚数が印刷可能枚数以下であることを条件に、プリントまたはコピー処理を実行する。
【００２８】
なお、ＭＦＰ３，４が送信する問合せ情報に、印刷予定枚数を含めるようにし、サーバ３００が、印刷予定枚数が印刷可能枚数以下であるか否かを判断するようにしてもよい。この場合には、サーバ３００が、印刷予定枚数が印刷可能枚数以下であることを条件に許可信号をＭＦＰ３，４に送信し、ＭＦＰ３，４は、サーバ３００から許可信号を受信することを条件に、プリントまたはコピー処理を実行する。
【００２９】
次に処理実行装置であるＭＦＰ３，４について説明する。ここでは、ＭＦＰ３，４のハードウェア構成および機能を同じとし、以下の説明では特に言及しない限りＭＦＰ３を例に説明する。なお、ＭＦＰ３，４のハードウェア構成および機能を異なるようにしてもよい。
【００３０】
図２は、ＭＦＰのハードウェア構成の一例を示すブロック図である。図２を参照して、ＭＦＰ３は、メイン回路１０１を含み、メイン回路１０１は、ＡＤＦ１０と、画像読取部２０と、画像形成部３０と、給紙部４０と、ファクシミリ部５０と、接続される。メイン回路１０１は、中央演算装置（ＣＰＵ）１１１と、ＣＰＵ１１１の作業領域として使用されるＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１１２と、ＣＰＵ１１１が実行するプログラム等を記憶するためのＥＥＰＲＯＭ（Ｅｌｅｃｔｒｏｎｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１１３と、表示部１１４と、操作部１１５と、大容量記憶装置としてのハードディスクドライブ（ＨＤＤ）１１６と、データ通信制御部１１７と、を含む。
【００３１】
ＣＰＵ１１１は、表示部１１４、操作部１１５、ＨＤＤ１１６およびデータ通信制御部１１７とそれぞれ接続され、メイン回路１０１の全体を制御する。また、ＣＰＵ１１１は、ＡＤＦ１０、画像読取部２０、画像形成部３０、給紙部４０およびファクシミリ部５０とそれぞれ接続され、ＭＦＰ３の全体を制御する。
【００３２】
表示部１１４は、液晶表示装置（ＬＣＤ）、有機ＥＬＤ（Ｅｌｅｃｔｒｏ  Ｌｕｍｉｎｅｓｃｅｎｃｅ  Ｄｉｓｐｌａｙ）等のディスプレイであり、ユーザに対する指示メニューや取得した画像データに関する情報等を表示する。操作部１１５は、複数のキーを備え、キーに対応するユーザの操作による各種の指示、文字、数字などのデータの入力を受け付ける。操作部１１５は、表示部１１４上に設けられたタッチパネルを含む。表示部１１４と操作部１１５とで、ＭＦＰ３本体の上面に設けられる操作パネル９が構成される。
【００３３】
データ通信制御部１１７は、ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）またはＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）等の通信プロトコルで通信するためのインターフェースであるＬＡＮ端子１１８と、シリアル通信するためのシリアルインターフェース端子１１９とを有する。データ通信制御部１１７は、ＣＰＵ１１１からの指示に従って、ＬＡＮ端子１１８またはシリアルインターフェース端子１１９に接続された外部の機器との間でデータを送受信する。
【００３４】
ＬＡＮ端子１１８に、ネットワーク２に接続するためのＬＡＮケーブルが接続される場合、データ通信制御部１１７は、ＬＡＮ端子１１８を介して、ＭＦＰ４、ＰＣ２００またはサーバ３００と通信することが可能である。さらに、ＬＡＮケーブルがインターネットに接続される場合には、インターネットに接続された電子メールサーバと通信することにより、電子メールの送受信が可能である。
【００３５】
また、ＣＰＵ１１１は、データ通信制御部１１７を制御して、メモリカード１１９ＡからＣＰＵ１１１が実行するためのプログラムを読出し、読み出したプログラムをＲＡＭ１１２に記憶し、実行する。なお、ＣＰＵ１１１が実行するためのプログラムを記憶する記録媒体としては、メモリカード１１９Ａに限られず、フレキシブルディスク、カセットテープ、光ディスク（ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ−Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）／ＭＯ（Ｍａｇｎｅｔｉｃ  Ｏｐｔｉｃａｌ  Ｄｉｓｃ）／ＭＤ（Ｍｉｎｉ  Ｄｉｓｃ）／ＤＶＤ（Ｄｉｇｉｔａｌ  ＶｅｒＳａｔｉｌｅ  Ｄｉｓｃ））、ＩＣカード、光カード、マスクＲＯＭ、ＥＰＲＯＭ（ＥｒａＳａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｏｎｉｃａｌｌｙ  ＥＰＲＯＭ）などの半導体メモリ等の媒体でもよい。さらに、ＣＰＵ１１１がインターネットに接続されたコンピュータからプログラムをダウンロードしてＨＤＤ１１６に記憶する、または、インターネットに接続されたコンピュータがプログラムをＨＤＤ１１６に書込みするようにして、ＨＤＤ１１６に記憶されたプログラムをＲＡＭ１１２にロードしてＣＰＵ１１１で実行するようにしてもよい。ここでいうプログラムは、ＣＰＵ１１１により直接実行可能なプログラムだけでなく、ソースプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。
【００３６】
ファクシミリ部５０は、公衆交換電話網（ＰＳＴＮ）７に接続され、ＰＳＴＮ７にファクシミリデータを送信する、またはＰＳＴＮ７からファクシミリデータを受信する。ファクシミリ部５０は、受信したファクシミリデータをＨＤＤ１１６に記憶する、または画像形成部３０でファクシミリデータを用紙にプリントする。また、ファクシミリ部５０は、ＨＤＤ１１６に記憶されたデータをファクシミリデータに変換して、ＰＳＴＮ７に接続されたファクシミリ装置または他のＭＦＰに出力する。これにより、ＨＤＤ１１６に記憶されたデータをファクシミリ装置または他のＭＦＰ４に出力することができる。
【００３７】
図３は、サーバ３００のハードウェア構成の一例を示すブロック図である。図３を参照して、サーバ３００は、それぞれがバス３２０に接続されたＣＰＵ３０１と、ＣＰＵ３０１が実行するプログラム等を記憶するためのＲＯＭ３０３と、ＣＰＵ３０１の作業領域として用いられるＲＡＭ３０５と、大容量記憶装置としてのＨＤＤ３０７と、ＰＣ３００をネットワーク２に接続するための通信Ｉ／Ｆ３１１と、ユーザとのインターフェースとなる操作部３１３と、フラッシュメモリ３０８が装着されるカードＩ／Ｆ３０９と、を含む。
【００３８】
操作部３１３は、キーボードとマウスなどのポインティングデバイスとを含む入力部３１５と、データを表示する液晶表示装置等からなる表示部３１７とを含む。
【００３９】
なお、ここではＣＰＵ３０１がＲＯＭ３０３に記憶されたプログラムを実行する例を説明するが、フラッシュメモリ３０８に記憶されたプログラムをＲＡＭ３０５にロードし、実行するようにしてもよい。また、プログラムを記憶する記録媒体としては、フラッシュメモリ３０８に限られず、上述した他の媒体でもよい。
【００４０】
さらに、ＣＰＵ３０１がネットワーク２に接続されたコンピュータからプログラムをダウンロードしてＨＤＤ３０６に記憶する、または、ネットワーク２に接続されたコンピュータがプログラムをＨＤＤ３０６に書込みするようにして、ＨＤＤ３０６に記憶されたプログラムをＲＡＭ３１２にロードしてＣＰＵ３０１で実行するようにしてもよい。
【００４１】
図４は、サーバ３００が備えるＣＰＵが有する機能の一例を、ＨＤＤに記憶される情報とともに示す機能ブロック図である。図４を参照して、ＣＰＵ３０１は、ユーザ識別情報とワークフローとを受け付けるワークフロー受付部５１と、ユーザ識別情報およびワークフローをそれらが受け付けられた時刻と関連付けてＨＤＤ３０７記憶するワークフロー記憶部５３と、ワークフローを実行するワークフロー実行部５５と、ワークフロー実行部５５を制御するワークフロー制御部５７と、複数のユーザ毎に印刷枚数を制限する印刷枚数制限管理を実行する印刷枚数制限管理部５９と、を含む。
【００４２】
ワークフロー受付部５１は、通信Ｉ／Ｆ３１１がＰＣ３００からユーザ識別情報とワークフローと、処理対象データとの組を受信すると、受信された組を受け付け、ワークフロー記憶部５３に出力する。ユーザ識別情報は、ワークフローの実行を指示したユーザを識別するための識別情報である。処理対象データは、ワークフローが実行される際に、処理の対象となるデータをいう。ＰＣ３００から受信される処理対象データは、処理対象データそのものであってもよいし、サーバ３００、ＰＣ２００およびＭＦＰ３，４のいずれかに記憶されたデータであってもよい。処理対象データが、データそのものでない場合は、処理対象データを識別するためのデータ識別情報がＰＣ２００から受信される。データ識別情報は、それが記憶される装置を識別するための装置識別情報と、ファイル名とを含むネットワーク２におけるアドレスであり、例えば、ＵＲＬである。ワークフローは、ＭＦＰ３，４がそれぞれ実行可能な複数の処理のうちから選ばれた複数の処理と、それらを実行するための設定値と、実行順とを定義する。ここでは、ユーザがＰＣ２００にログインし、ＰＣ２００にワークフローを入力することにより、ＰＣ２００がサーバ３００にログインしたユーザのユーザ識別情報と、ワークフローと、処理対象データとの組をサーバ３００に送信する場合を例に説明する。
【００４３】
例えば、ワークフロー受付部５１は、Ｗｅｂサーバとして機能し、ＨＤＤ３０７に予め記憶されたＭＦＰ３，４それぞれが実行可能な処理を識別するための処理識別情報から複数を順番とともに、ユーザが指定可能なＷｅｂページをＰＣ３００に送信する。このＷｅｂページは、ユーザにより指定された複数の処理識別情報で特定される複数の処理それぞれを実行するための設定値を受け付けることが可能である。さらに、このＷｅｂページは、ワークフローの処理対象となるデータを指定可能である。ユーザが、ブラウザプログラムを実行するＰＣ２００のディスプレイに表示されるＷｅｂページに従って、処理識別情報と、その処理識別情報で特定される処理を実行するための設定値と、実行順と、処理対象データとを指定すれば、指定された複数の処理識別情報と、それらを実行するための設定値と、実行順とを定義するワークフローと、ＰＣ２００にログインしているユーザのユーザ識別情報と、処理対象データとが、サーバ３００に送信される。
【００４４】
ワークフロー記憶部５３は、ワークフロー受付部５１からユーザ識別情報とワークフローと処理対象データとの組が入力されると、ユーザ識別情報と、ワークフローと、処理対象データと、ワークフローが受け付けられた日時とを関連付けたワークフロー定義データを生成し、それをＨＤＤ３０７に記憶する。これにより、ワークフロー定義データ８１がＨＤＤ３０７に記憶される。
【００４５】
ここでワークフロー定義データについて説明する。図５は、ワークフロー定義データのフォーマットの一例を示す図である。図５を参照して、ワークフロー定義データは、ユーザ識別情報の項目と、登録時刻の項目と、ワークフローの項目と、処理対象の項目とを含む。ユーザ識別情報の項目は、ワークフローの実行を指示したユーザを識別するためのユーザ識別情報が設定される。登録時刻の項目は、ワークフローが受け付けられた日時が設定される。ワークフローの項目は、ワークフローが設定される。
【００４６】
処理対象の項目は、ワークフローにより定義される第１番目の処理の対象となるデータを識別するためのデータ識別情報が設定される。ワークフロー記憶部５３は、ＰＣ２００から受信される処理対象データがデータそのものである場合、処理対象データをＨＤＤ３０７に記憶し、記憶したデータを識別するためのデータ識別情報（例えば、ファイル名）を処理対の項目に設定する。また、ＰＣ２００から受信される処理対象データがデータ識別情報である場合、そのデータ識別情報で特定されるデータを取得し、取得されたデータをＨＤＤ３０７に記憶し、記憶したデータを識別するためのデータ識別情報を処理対の項目に設定する。なお、ワークフローで定義される処理、特に第１番目の処理が、例えば、原稿を読み取るスキャン処理の場合は、その処理が実行されることによりデータが生成されるので、処理対象の項目には何も設定されない。
【００４７】
図６は、ワークフローの一例を示す図である。図６を参照して、ワークフロー定義データは、手順の項目と、処理ＩＤの項目と、設定値の項目と、処理結果の項目と、を含む。手順の項目は、ワークフローにおける複数の処理それぞれの順番が設定される。処理ＩＤの項目は、処理を特定するための処理識別情報が設定される。処理ＩＤは、ＭＦＰ３，４が実行可能な処理を識別するための処理識別情報である。設定値の項目は、処理識別情報で特定される処理を実行するために用いられる設定値が設定される。ワークフロー定義データにおいて、手順の項目と、処理ＩＤの項目と、設定値の項目とは、ＰＣ２００においてワークフローが入力され、ワークフロー受付部５１により受け付けられる段階で、それぞれの値が設定される。処理結果の項目は、ワークフロー定義データが生成される段階では、処理ＩＤの項目に設定された処理識別情報で識別される処理が未だ実行されていないことを示す「未」の値が設定され、処理ＩＤの項目に設定された処理識別情報で識別される処理が実行され、その処理が終了した段階で、処理が実行されたことを示す「済」の値が設定される。
【００４８】
第１番目の手順としては、処理識別情報「スキャン」の処理が定義されている。設定値は「解像度」と、「色」と、「データ形式」とが設定される。１番目の手順で定義された処理が実行されると、設定値に設定された「解像度」および「色」で原稿が読み取られ、設定値に設定された「データ形式」のデータが生成される。例えば、ここでは、「データ形式」の設定値にビットマップ形式が設定された場合を例に説明する。
【００４９】
第２番目の手順としては、処理識別情報「データ変換」の処理が定義されている。設定値は、「データ形式」と、「Ｓｅａｒｃｈａｂｌｅ」が設定されている。「データ形式」の設定値は、データ形式を変換した後のデータ形式が設定される。「Ｓｅａｒｃｈａｂｌｅ」の設定値は、イメージデータを検索可能なデータへの変換を示す。検索可能なデータとは、例えば、イメージデータに含まれる文字を文字認識して得られるテキストデータを付加した検索可能なデータである。ここでは、「データ形式」の設定値にＰＤＦ（Ｐｏｒｔａｂｌｅ  Ｄｏｃｕｍｅｎｔ  Ｆｏｒｍａｔ）が設定され、「Ｓｅａｒｃｈａｂｌｅ」の設定値がオンに設定された場合を例に説明する。第２番目の手順で定義された処理が実行されると、手順１で定義された処理が実行されて生成されるビットマップ形式のデータが、ＰＤＦのデータに変換されるとともに文字認識され、テキストデータを付加したＳｅａｒｃｈａｂｌｅＰＤＦのデータに変換する処理が実行される。
【００５０】
第３番目の手順としては、処理識別情報「印刷」の処理が定義されている。設定値は、「印刷枚数」と、「印刷モード」とが設定されている。ここでは、「印刷枚数」の設定値に「３０」が設定され、「印刷モード」の設定値に「モノクロ」が設定される場合を例に説明する。第３番目の手順が実行されると、第２番目の手順で定義された処理が実行されて生成されるＳｅａｒｃｈａｂｌｅＰＤＦのデータの画像が、ＭＦＰ３、またはＭＦＰ４のいずれかによって、モノクロで３０枚印刷される。
【００５１】
なお、ここでは、手順１〜手順３の３つの処理を定義するワークフローを例に示したが、ワークフローは、２以上の複数の処理を定義するものであればよく、４以上の処理を定義してもよい。
【００５２】
図４に戻って、ワークフロー実行部５５は、ＨＤＤ３０７に記憶されたワークフロー定義データ８１に含まれるワークフローを実行する。ワークフロー実行部５５は、ＨＤＤ３０７に複数のワークフロー定義データ８１が記憶されている場合、登録されたものから順に１つのワークフロー定義データ８１を選択し、選択されたワークフロー定義データに含まれるワークフローを実行する。ワークフロー実行部５５は、ＨＤＤ３０７に記憶されている複数のワークフロー定義データ８１のうち登録時刻の項目に設定されている時刻が前のものから順に１つを選択し、ワークフローを実行する。具体的には、選択されたワークフロー定義データ８１の手順の項目に設定されている数字の小さいものから順に、対応する処理ＩＤの項目に設定されている処理識別情報と、設定値の項目に設定されている設定値と、処理対象の項目に設定されているデータ識別情報とを取得し、ＭＦＰ３またはＭＦＰ４のいずれかに取得された処理識別情報と、設定値と、データ識別情報との組を送信する。これにより、ＭＦＰ３またはＭＦＰ４のうち処理識別情報と設定値と、データ識別情報との組を受信したものは、データ識別情報で特定されるデータを取得し、取得されたデータに対して、処理識別情報で識別される処理を設定値に従って実行し、処理を実行した後のデータをサーバ３００に返信する。ワークフロー実行部５５は、ＭＦＰ３またはＭＦＰ４から処理結果を受信すると、ワークフロー定義データ８１を更新する。具体的には、ワークフロー定義データ８１に含まれるワークフローの実行された処理の処理識別情報に対応する処理結果を「済」に変更する。
【００５３】
なお、ワークフローで定義される処理が、例えばスキャン処理のようにその処理が実行されることによりデータを生成する処理の場合、ワークフロー実行部５５は、処理対象となるデータのデータ識別情報をＭＦＰ３，４に送信しない。
【００５４】
ワークフロー実行部５５は、複数のワークフローを並列で実行することが可能である。ここでは、ワークフロー実行部５５が、２つのワークフローを並列で実行する場合を例に説明する。なお、ワークフロー実行部５５が、並列で実行可能なワークフローは、２以上であれば、２つに限定されるものではない。
【００５５】
ワークフロー実行部５５は、それぞれが１つのワークフローを実行する第１実行部６１と、第２実行部６３とを含む。第１実行部６１および第２実行部６３は、ＨＤＤ３０７に記憶されている少なくとも１つのワークフロー定義データ８１のうちから、未だ実行されていないワークフローを含むワークフロー定義データを選択し、選択されたワークフロー定義データに含まれるワークフローを実行する。第１実行部６１および第２実行部６３がＨＤＤ３０７に記憶されている少なくとも１つのワークフロー定義データ８１のうちから選択するワークフロー定義データは、第１番目の処理（手順の項目が「１」の処理）未だ実行されていないワークフローを含むワークフロー定義データであれば、任意のものを選択することが可能である。例えば、ユーザ識別情報が同じワークフロー定義データを選択するようにしてもよい。ここでは、登録時刻の項目に設定された時刻が前のものから選択する場合を例に説明する。
【００５６】
第１実行部６１がワークフロー定義データに含まれるワークフローを実行している最中に、第１実行部６１が選択するワークフロー定義データの登録時刻の次ぎの登録時刻のワークフロー定義データに含まれるワークフローを第２実行部６３が実行する場合を例に説明する。換言すれば、第２実行部６３が、第１実行部６１の選択するワークフロー定義データよりも登録時刻が後のワークフロー定義データを選択する。
【００５７】
第１実行部６１および第２実行部６３それぞれは、ワークフロー定義データを選択すると、選択されたワークフロー定義データを、ワークフロー制御部５７に出力するとともに、ワークフロー制御部５７により制御されて、ワークフローを実行する。より具体的には、第１実行部６１および第２実行部６３それぞれは、ワークフロー定義データに含まれるワークフローにより定義される複数の処理それぞれを実行する前の段階で、処理識別情報をワークフロー制御部５７に出力し、ワークフロー制御部５７から許可信号が入力されることを条件に、処理識別情報で特定される処理を実行する。
【００５８】
ここでは、第１実行部６１がＨＤＤ３０７に記憶される複数のワークフロー定義データ８１のうち第１ワークフロー定義データに含まれる第１ワークフローを実行し、第２実行部６３がＨＤＤ３０７に記憶される複数のワークフロー定義データ８１のうち第２ワークフロー定義データに含まれる第２ワークフローを実行する場合について説明する。また、第１ワークフロー定義データと第２ワークフロー定義データは、同一のユーザが、ＰＣ２００に印刷処理を含む第１ワークフローを入力したのちに、印刷処理を含む第２ワークフローを入力したとする。このため、第１ワークフロー定義データおよび第２ワークフロー定義データは、同じユーザ識別情報を含む。また、第２ワークフロー定義データの登録時刻の項目に設定される時刻は、第１ワークフロー定義データの登録時刻の項目に設定される時刻よりも後である。
【００５９】
印刷枚数制限管理部５９は、上述した印刷枚数制限管理処理を実行する。具体的には、印刷枚数制限管理部５９は、入力部３１５に、管理者によりユーザ識別情報と上限値とが入力されると、ＨＤＤ３０７に記憶されている上限管理テーブル８３に含まれる上限管理レコードのうち、入力されたユーザ識別情報を含む上限管理レコードの上限値の項目に入力された上限値を設定する。また、ＭＦＰ３，４それぞれによりプリントまたはコピー処理が実行されると、そのプリントまたはコピー処理の実行を指示したユーザのユーザ識別情報と印刷枚数とを含む実績情報がＭＦＰ３，４より送信されるので、印刷枚数制限管理部５９は、通信Ｉ／Ｆ３１１がＭＦＰ３またはＭＦＰ４から実績情報を受信すると、その実績情報を取得する。そして、印刷枚数制限管理部５９は、上限管理テーブルに含まれる上限管理レコードのうち、取得された実績情報に含まれるユーザ識別情報を含む上限管理レコードの印刷枚数の項目に設定されている印刷枚数を、それに実績情報に含まれる印刷枚数を加算した値に変更する。また、印刷枚数制限管理部５９は、ＭＦＰ３，４のいずれかから上限枚数の問合せ情報を受信すると、上限枚数の問合せ情報に含まれるＨＤＤ３０７に記憶されている上限管理テーブル８３から問合せ信号に含まれるユーザ識別情報を含む上限管理レコードを抽出し、抽出された上限管理レコードを、ＭＦＰ３，４ののうち上限枚数の問合せ情報を送信してきたものに送信する。
【００６０】
さらに、印刷枚数制限管理部５９は、ワークフロー制御部５７からユーザ識別情報を含む問合せ信号が入力されると、ＨＤＤ３０７に記憶されている上限管理テーブル８３から問合せ信号に含まれるユーザ識別情報を含む上限管理レコードを抽出し、抽出された上限管理レコードに含まれる上限値と、印刷枚数とをワークフロー制御部５７に出力する。ユーザ識別情報で特定されるユーザが、印刷枚数制限管理の対象とされていない場合があり、その場合には、印刷枚数制限管理部５９は、上限値から印刷枚数に代えて制限無しを示す信号をワークフロー制御部５７に出力する。
【００６１】
ワークフロー制御部５７は、検出部７１と、判断部７３と、ワークフロー実行部５５を制御する実行制御部７５と、ワークフローの実行を指示したユーザに割り当てられた印刷可能な印刷可能枚数を取得する制限枚数取得部７７と、を含む。
【００６２】
検出部７１は、ワークフローを実行するワークフロー実行部５５からワークフロー定義データが入力され、ワークフロー実行部５５がワークフローにより定義された複数の処理それぞれを実行する前の段階で、その処理の処理識別情報が入力される。検出部７１は、同じユーザ識別情報と関連付けられた複数のワークフローがワークフロー実行部５５により並列して実行される場合、複数のワークフローのうち１つの印刷実行ワークフローにより定義される印刷処理が実行される前の段階で、複数のワークフローのうち印刷実行ワークフロー以外の他のワークフローのうちから印刷処理が未実行の未実行ワークフローを検出する。
【００６３】
具体的には、検出部７１は、第１実行部６１から第１ワークフロー定義データが入力され、第２実行部６３から第２ワークフロー定義データが入力される。検出部７１は、第１実行部６１および第２実行部６３のいずれかから印刷処理以外の処理の処理識別情報が入力される場合、実行制御部７５に何も出力しない。
【００６４】
検出部７１は、第１実行部６１から印刷処理の処理識別情報が入力される場合、第１ワークフロー定義データと第２ワークフロー定義データにそれぞれ含まれるユーザ識別情報が同一か否かを判断する。検出部７１は、同一と判断しない場合は、実行制御部７５に何も出力しないが、同一と判断する場合は、さらに、ＨＤＤ８１に記憶される第２ワークフロー定義データを参照して、それに含まれるワークフローにより定義される印刷処理が未実行か否かを判断する。検出部７１は、第２ワークフロー定義データに含まれる第２ワークフローにより定義される印刷処理が未実行と判断する場合、第２ワークフローを未実行ワークフローとして検出する。検出部７１は、未実行ワークフローとして第２ワークフローを検出する場合、第２ワークフローが未実行ワークフローであることを示す信号を実行制御部７５に出力するが、そうでなければ何も出力しない。
【００６５】
検出部７１は、第２実行部６３から印刷処理の処理識別情報が入力される場合、第２ワークフロー定義データと第１ワークフロー定義データにそれぞれ含まれるユーザ識別情報が同一か否かを判断する。検出部７１は、同一と判断しない場合は、実行制御部７５に何も出力しないが、同一と判断する場合は、さらに、ＨＤＤ８１に記憶される第１ワークフロー定義データを参照して、それに含まれるワークフローにより定義される印刷処理が未実行か否かを判断する。検出部７１は、第１ワークフロー定義データに含まれるワークフローにより定義される印刷処理が未実行と判断する場合、第１ワークフローを未実行ワークフローとして検出する。検出部７１は、未実行ワークフローとして第１ワークフローを検出する場合、第１ワークフローが未実行ワークフローであることを示す信号を実行制御部７５に出力するが、そうでなければ何も出力しない。
【００６６】
ここでは、第１ワークフロー定義データの登録時刻の項目に設定されている時刻は、第２ワークフロー定義データの登録時刻の項目に設定されている時刻よりも前なので、第１ワークフロー定義データに含まれる第１ワークフローが、第２ワークフロー定義データに含まれる第２ワークフローよりも先に実行が開始される。一方、第１ワークフローにより定義される印刷処理が、第２ワークフローにより定義される印刷処理よりも前に実行される場合と、後に実行される場合がある。このため、検出部７１は、第２ワークフローにより定義される印刷処理および第２ワークフローにより定義される印刷処理の一方が実行される前の段階で、他方が未実行か否かを判断し、未実行の場合に他方が未実行ワークフローであることを示す信号を出力する。
【００６７】
判断部７３は、ワークフロー実行部５５からワークフロー定義データが入力され、ワークフロー定義データが入力されると、そのユーザ定義データに含まれるユーザ識別情報のユーザが印刷可能な印刷可能枚数を要求するための要求依頼信号を制限枚数取得部７７に出力する。要求依頼信号は、ワークフロー実行部５５から入力されるワークフロー定義データに含まれるユーザ識別情報を含む。ここでは、判断部７３は、第１ワークフロー定義データと第２ワークフロー定義データとが入力されるが、第１ワークフロー定義データと第２ワークフロー定義データとにそれぞれ含まれるユーザ識別情報は同じなので、そのユーザ識別情報を含む要求依頼信号を制限枚数取得部７７に出力する。
【００６８】
制限枚数取得部７７は、判断部７３から要求依頼信号が入力されると、その要求依頼信号に含まれるユーザ識別情報を含む問合せ信号を印刷枚数制限管理部５９に出力する。印刷枚数制限管理部５９は、問合せ信号が入力されると、上限値と印刷枚数とを制限枚数取得部７７に出力するので、制限枚数取得部７７は、入力される上限値から印刷枚数を減算した印刷可能枚数を算出し、印刷可能枚数を判断部７３に出力する。ユーザ識別情報で特定されるユーザが、印刷枚数制限管理の対象とされていない場合があり、その場合には、制限枚数取得部７７は、印刷可能枚数に代えて制限無しを示す信号を判断部７３に出力する。
【００６９】
判断部７３は、制限枚数取得部７７が要求依頼信号の入力に応じて出力する印刷可能枚数が入力されると、ユーザ識別情報と印刷可能枚数との組を実行制御部７５に出力し、制限枚数取得部７７から制限無しを示す信号が入力されると、ユーザ識別情報と制限無しを示す信号との組を実行制御部７５に出力する。
【００７０】
実行制御部７５は、判断部７３から印刷可能枚数が入力され、かつ、検出部７１から未実行ワークフローとして第２ワークフローを識別するためのワークフロー識別情報が入力される場合、第１ワークフロー定義データに含まれる登録時刻が第２ワークフロー定義データに含まれる登録時刻より前であることを条件に、第１実行部６１から処理識別情報が入力されることに応じて、第１実行部６１に許可信号を出力する。ここでは、第１ワークフロー定義データに含まれる登録時刻が第２ワークフロー定義データに含まれる登録時刻より前なので、第１実行部６１に許可信号を出力する。一方、実行制御部７５は、判断部７３から制限無しを示す信号が入力される場合、または、検出部７１から未実行ワークフローとして第２ワークフローを識別するためのワークフロー識別情報が入力されない場合、第１実行部６１から処理識別情報が入力されることに応じて、第１実行部６１に許可信号を出力する。このため、第１ワークフローで定義される印刷処理が、第２ワークフローで定義される印刷処理が実行される前に実行される場合には、そのまま印刷処理を実行させることができる。その結果、先に投入された第１ワークフローにより定義される印刷処理が、後に投入された第２ワークフローにより定義される印刷処理よりも先に実行させることができる。
【００７１】
実行制御部７５は、判断部７３から印刷可能枚数が入力され、かつ、検出部７１から未実行ワークフローとして第１ワークフローを識別するためのワークフロー識別情報が入力される場合、第２ワークフロー定義データに含まれる登録時刻が第１ワークフロー定義データに含まれる登録時刻より前であることを条件に、第２実行部６３から処理識別情報が入力されることに応じて、第２実行部６３に許可信号を出力する。ここでは、第２ワークフロー定義データに含まれる登録時刻が第１ワークフロー定義データに含まれる登録時刻より後なので、第２実行部６３に許可信号を出力しない。この場合、実行制御部７５は、第１実行部６１により第１ワークフロー定義データに含まれる第１ワークフローにより定義される印刷処理が実行され、その印刷処理の実行が終了した時点で、第２実行部６３に許可信号を出力する。このため、第２実行部６３により第２ワークフローで定義される印刷処理が、第１実行部６１により第１ワークフローで定義される印刷処理が実行される前に実行される場合には、第２実行部６３による印刷処理を、第１実行部６１による印刷処理の実行が終了するまで、実行させないようにすることができる。その結果、先に投入された第１ワークフローにより定義される印刷処理が、後に投入された第２ワークフローにより定義される印刷処理よりも先に実行させることができる。
【００７２】
一方、実行制御部７５は、判断部７３から制限無しを示す信号が入力される場合は、検出部７１から未実行ワークフローとして第１ワークフローを識別するためのワークフロー識別情報が入力される場合、または検出部７１から未実行ワークフローとして第２ワークフローを識別するためのワークフロー識別情報が入力される場合であっても、第１実行部６１または第２実行部６３に許可信号を出力する。
【００７３】
なお、実行制御部７５は、第２ワークフローを投入したユーザが印刷することが可能な枚数を制限されており、かつ、そのユーザにより後に投入された第２ワークフローにより定義される印刷処理が実行される前の段階で、先に投入された第１ワークフローにより定義される印刷処理が未実行である場合に、第２ワークフローにより定義される印刷処理を、第１ワークフローにより定義される印刷処理が実行されるまで待機させるようにしたが、印刷処理が実行されるのを制限する条件として、次の条件を用いてもよい。
【００７４】
（１）実行制御部７５は、判断部７３から入力されるユーザに割り当てられた印刷可能枚数が予め定められたしきい値Ｔ以上であり、かつ、検出部７１から第１ワークフローが未実行ワークフローであることを示す信号が入力される場合は、第２ワークフロー定義データに含まれる登録時刻が第１ワークフロー定義データに含まれる登録時刻より後であっても第２実行部６３に許可信号を出力する。また、実行制御部７５は、判断部７３から入力されるユーザに割り当てられた印刷可能枚数が予め定められたしきい値Ｔ以上であり、かつ、検出部７１から第２ワークフローが未実行ワークローであることを示す信号が入力される場合、第１ワークフロー定義データに含まれる登録時刻が第２ワークフロー定義データに含まれる登録時刻より後であっても第１実行部６１に許可信号を出力する。
【００７５】
第１および第２ワークフローを投入したユーザに割り当てられた印刷可能枚数が予め定められたしきい値Ｔ以上の場合には、第１ワークフローにより定義される印刷処理と、第２ワークフローにより定義される印刷処理とを実行したとしても印刷可能枚数を超えて印刷できなくなる確率が低いためである。
【００７６】
（２）実行制御部７５は、第１ワークフローにより定義される印刷処理の印刷枚数と、第２ワークフローにより定義される印刷処理の印刷枚数との合計が、印刷可能枚数以下で、かつ、検出部７１から第１ワークフローが未実行ワークフローであることを示す信号が入力される場合は、第２ワークフロー定義データに含まれる登録時刻が第１ワークフロー定義データに含まれる登録時刻より後であっても第２実行部６３に許可信号を出力する。また、実行制御部７５は、第１ワークフローにより定義される印刷処理の印刷枚数と、第２ワークフローにより定義される印刷処理の印刷枚数との合計が、印刷可能枚数以下で、かつ、検出部７１から第２ワークフローが未実行ワークフローであることを示す信号が入力される場合は、第１ワークフロー定義データに含まれる登録時刻が第２ワークフロー定義データに含まれる登録時刻より後であっても第１実行部６１に許可信号を出力する。
【００７７】
第１ワークフローにより定義される印刷処理の印刷枚数と、第２ワークフローにより定義される印刷処理の印刷枚数との合計が、第１および第２ワークフローを投入したユーザに割り当てられた印刷可能枚数以下の場合には、第１ワークフローにより定義される印刷処理と、第２ワークフローにより定義される印刷処理とが実行される順番に係わらず、上限管理処理により印刷枚数が制限されることなく実行されるからである。
【００７８】
図７は、ワークフロー制御処理の流れの一例を示すフローチャートである。ワークフロー制御を処理は、サーバ３００が備える。ＣＰＵ３０１が、ワークフロー実行プログラムを実行することによりＣＰＵ３０１により実行される処理である。
【００７９】
図７を参照して、ＣＰＵ３０１は、ＰＣ２００から、ユーザ識別情報とワークフローとの組を受信したか否かを判断する。ユーザ識別情報とワークフローとの組を受信したならば処理をステップＳ０２に進めるが、そうでなければ処理をステップＳ０６に進める。ステップＳ０２においては、現在時刻を取得する。次のステップＳ０３においては、処理対象データを受信したか否かを判断する。処理対象データを受信したならば処理をステップＳ０４に進めるが、そうでなければステップＳ０４をスキップして処理をステップＳ０５に進める。ステップＳ０４においては、受信された処理対象データをＨＤＤ３０７に記憶し、処理をステップＳ０５に進める。ステップＳ０５においては、ステップＳ０１において受信されたユーザ識別情報およびワークフローと、ステップＳ０２において取得された。現在時刻と関連付けたワークフロー定義データを生成し、ＨＤＤ３０７に記憶する。これにより、ＨＤＤ３０７にワークフロー定義データ８１が記憶される。ステップＳ０６においては、新たなワークフロー定義データが記憶されたか否かを判断する。新たなワークフロー定義データが記憶されたならば処理をステップＳ０７に進めるが、そうでなければ処理をステップＳ０１に戻す。ステップＳ０７においては、新たに記憶されたワークフロー定義データに含まれるワークフローを実行するためのワークフロー実行処理を実行する。
【００８０】
なお、ここでは、処理対象のデータを受信する場合を例に説明するが、処理対象のデータを識別するためのデータ識別情報を受信するようにしてもよい。また、ワークフローで定義される第１番目の処理が処理対象データが必要のない処理である場合には、処理対象のデータは受信されない。
【００８１】
次に、ワークフロー実行処理について説明する。ここでは、ユーザがＰＣ２００にログインし、印刷処理を含む第１ワークフローを入力した後に、印刷処理を含む第２ワークフローを入力した場合を例に説明する。この場合、サーバ３００により上述のワークフロー制御処理が実行されて、ＨＤＤ３０７に第１ワークフローを含む第１ワークフロー定義データと、第２ワークフローを含む第２ワークフロー定義データとが記憶される。第１ワークフローは第２ワークフローよりも前にＰＣ２００に入力されるので、第１ワークフロー定義データに含まれる登録時刻は、第２ワークフローに含まれる登録時刻よりも前であり、第１ワークフロー定義データが第２ワークフロー定義データよりも先にＨＤＤ３０７に記憶されるので、第１ワークフローが第２ワークフローよりも先に実行される。ここでは、第１ワークフロー定義データに含まれる第１ワークフローが先に実行されている状態で、第２ワークフロー定義データに含まれる第２ワークフローが実行される場合におけるワークフロー実行処理について説明する。
【００８２】
図８は、ワークフロー実行処理の流れの一例を示すフローチャートである。ワークフロー実行処理は、図７におけるステップＳ０７において実行される処理である。図８を参照して、ＣＰＵ３０１は、ＨＤＤ３０７に記憶されている第２ワークフロー定義データに含まれる第２ワークフローを読み出す（ステップＳ１１）。そして、第２ワークフロー定義データにより第２ワークフローと関連付けられている時刻を第２時刻として取得する（ステップＳ１２）。ステップＳ１３においては、ステップＳ１１において呼び出された第２ワークフローに含まれる第１番目の処理を選択する。そして、選択された処理が印刷処理か否かを判断する（ステップＳ１４）。選択された処理が印刷処理ならば処理をステップＳ１５に進めるが、そうでなければ処理をステップＳ２９に進める。
【００８３】
ステップＳ１５においては、ステップＳ１１において読み出された第２ワークフローと関連付けられたユーザ識別情報と同じユーザ識別情報と関連付けられた第１ワークフローが存在するか否かを判断する。そのような第１ワークフローが存在するならば処理をステップＳ１６に進めるが、そうでなければ処理をステップＳ２４に進める。ここでは、第１ワークフローが既に実行されているので、処理をステップＳ１６に進める。
【００８４】
ステップＳ１６においては、第１ワークフローが未実行の印刷処理を含むか否かを判断する。第１ワークフローが未実行の印刷処理を含むならば処理をステップＳ１７に進めるが、そうでなければ処理をステップＳ２４に進める。ＣＰＵ３０１は、第１ワークフローが未実行の印刷処理を含むか否かを、ＨＤＤ３０７に記憶された第１ワークフロー定義データ８１を参照することにより判断する。
【００８５】
ステップＳ１７においては、第１および第２ワークフローと、第１ワークフロー定義データまたは第２ワークフロー定義データにより関連付けされたユーザ識別情報のユーザに割り当てられた印刷可能枚数を取得する。具体的には、ＨＤＤ３０７に記憶されている上限管理テーブル８３を参照し、第１ワークフロー定義データまたは第２ワークフロー定義データに含まれるユーザ識別情報含む上限管理レコードを抽出し、抽出された上限管理レコードに含まれる上限値から印刷枚数を減算することにより印刷可能枚数を算出する。
【００８６】
次のステップＳ１８においては、印刷枚数が制限されているか否かを判断する。印刷可能枚数を算出できたならば印刷枚数が制限されていると判断し、上限管理テーブル８３に第１ワークフロー定義データまたは第２ワークフロー定義データに含まれるユーザ識別情報含む上限管理レコードが記憶されていなければ印刷枚数が制限されていないと判断する。印刷枚数が制限されているならば処理のステップＳ１９に進めるが、そうでなければ処理のステップＳ２４に進める。ステップＳ１９においては、ステップＳ１７において取得された印刷可能枚数が予め定められたしきい値Ｔ以上か否かを判断する。印刷可能枚数がしきい値Ｔ以上ならば処理のステップＳ２４に進めるが、そうでなければ処理のステップＳ２０に進める。しきい値Ｔは、管理者により予め定められて登録された数である。
【００８７】
ステップＳ２０においては、第１ワークフロー定義データにより第１ワークフローと関連付けられた時刻を第１時刻として取得する。次のステップＳ２１においては、第２ワークフロー定義データにより第２ワークフローと関連付けられた時刻を第２時刻として取得する。次のステップＳ２２においては、第１時刻が第２時刻よりも前か否かを判断する。第１時刻が第２時刻よりも前であれば処理をステップＳ２４に進めるが、そうでなければ処理をステップＳ２３に進める。ステップＳ２３においては、第１ワークフローの印刷処理が終了するまで待機状態となり（ステップＳ２３でＮＯ）、第１ワークフローにより定義される印刷処理が終了すると処理をステップＳ２４に進める。すなわち、第１ワークフローにより定義される印刷処理が終了することを条件に処理をステップＳ２４に進める。ステップＳ２４においては、第２ワークフローにより定義される印刷処理を実行し、処理をステップＳ２５に進める。ステップＳ２５においては、印刷処理が終了するまで待機状態となり（ステップＳ２５でＮＯ）、処理が終了をしたならば（ステップＳ２５でＹＥＳ）、処理をステップＳ２６に進める。ステップＳ２６においては、ＨＤＤ３０７に記憶されているワークフロー定義データ８１の処理結果を更新する。
【００８８】
次のステップＳ２７においては、ステップＳ１１において読み出された第２ワークフローが次の順番の処理を定義するか否かを判断する。次の順番の処理を定義するならば処理をステップＳ２８に進めるが、そうでなければ処理を終了する。ステップＳ２８においては、次の順番の処理を選択し、処理をステップＳ１４に戻す。
【００８９】
一方、ステップＳ２９においては、処理対象に選択されている。処理を実行し、処理をステップＳ３０に進める。ステップＳ３０においては、ステップＳ２９において実行を開始した処理が終了するまで待機状態となり（ステップＳ３０でＮＯ）、処理が終了すると（ステップＳ３０でＹＥＳ）、処理をステップＳ３１に進める。ステップＳ３１においては、ＨＤＤ３０７に記憶されているワークフロー定義データ８１の処理結果を更新し、処理をステップＳ２７に進める。
【００９０】
＜変形例＞
図９は、変形例におけるワークフロー実行処理の流れの一例を示すフローチャートである。図８に示したワークフロー実行処理と異なる点は、ステップＳ１９の代わりに、ステップＳ１９ＡおよびステップＳ１９Ｂが実行される点である。その他の処理は、図８に示したワークフロー実行処理と同じなので、ここでは異なる点を主に説明する。ステップＳ１８において印刷枚数が制限されていると判断する場合、ステップＳ１９Ａにおいて、第１ワークフローにより定義される印刷処理で印刷される印刷枚数と、第２ワークフローにより定義される印刷処理で印刷される印刷枚数との合計を算出する。そして次のステップＳ１９Ｂにおいて、ステップＳ１９Ａにおいて算出された合計が印刷可能枚数以下か否かを判断する。算出された合計が印刷可能枚数以下ならば処理をステップＳ２４に進めるが、そうでなければ、処理をステップＳ２０に進める。第１ワークフローにより定義される印刷処理で印刷される印刷枚数と、第２ワークフローにより定義される印刷処理で印刷される印刷枚数との合計が、印刷可能枚数以下ならば、第１ワークフローにより定義される印刷処理で印刷される印刷枚数と、第２ワークフローにより定義される印刷処理とを、実行することができるからである。
【００９１】
以上説明したように本実施の形態におけるサーバ３００は、同じユーザがそれぞれが印刷処理を含む第１および第２ワークフローを投入した場合、複数のワークフローを並列して実行するが、第１および第２ワークフローのうち後に投入された第２ワークフロー（印刷実行ワークフロー）により定義される印刷処理が実行される前の段階で、第１ワークフロー以外のワークフローのうちから印刷処理が未実行の第１ワークフロー（未実行ワークフロー）を検出し、第１ワークフローが検出され、かつ、印刷可能枚数に制限がある場合、第２ワークフローに関連付けられた第２時刻が第１ワークフローに関連付けられた第１時刻より前であることを条件に、第２ワークフローにより定義される印刷処理の実行を許可する。このため、先に実行が開始された第１ワークフローで定義される印刷処理が後に実行が開始された第２ワークフローより先に実行される。このため、複数のワークフローによりそれぞれ定義される複数の印刷処理をワークフローを投入した順に実行することができる。したがって、後に実行が開始された第２ワークフローで定義される印刷処理が実行されるが、先に投入された第１ワークフローで定義される印刷処理が、印刷可能枚数を超えることにより実行されなくなるのを防止することができる。このため、ユーザは、後に投入したワークフローの出力結果である印刷物を手にするが、先に投入したワークフローの出力結果である印刷物を入手できなくなることがなく、ユーザが困惑するのを防止することができる。
【００９２】
また、印刷可能枚数が所定の値より大きい場合は、第２ワークフローに関連付けられた時刻が未第１ワークフローに関連付けられた時刻より後であっても第２ワークフローにより定義される印刷処理の実行を許可する。印刷可能枚数が所定の値より大きい場合は、先に投入したワークフローおよび後に投入したワークフローによりそれぞれ定義される２つの印刷処理により印刷される枚数が印刷可能枚数を越える確率が低い。このため、先に投入されたワークフローにより定義される印刷処理が、後に投入されるワークフローにより定義される印刷処理より後に実行される場合であっても、後に投入されたワークフローで定義される印刷処理を先に実行するようにして、ワークフロー全体としての処理速度を速くすることができる。
【００９３】
また、第１および第２ワークフローそれぞれにより定義される印刷処理の印刷枚数の合計が、印刷可能枚数以下の場合は、第２ワークフローに関連付けられた時刻が第１ワークフローに関連付けられた時刻より後であっても第２ワークフローにより定義される印刷処理の実行を許可する。印刷枚数の合計が印刷可能枚数以下の場合は、先に投入した第１ワークフローおよび後に投入した第２ワークフローによりそれぞれ定義される２つの印刷処理により印刷される枚数が印刷可能枚数を越えない。このため、先に投入された第１ワークフローにより定義される印刷処理が、後に投入される第２ワークフローにより定義される印刷処理より後に実行される場合であっても、後に投入された第２ワークフローで定義される印刷処理を先に実行するようにして、ワークフロー全体としての処理速度を速くすることができる。
【００９４】
また、第２ワークフローにより定義される印刷処理の実行を許可しない場合、第１ワークフローにより定義される印刷処理が終了することを条件に、第２ワークフローにより定義される印刷処理の実行を許可する。先に投入された第１ワークフローにより定義される印刷処理を後に投入された第２ワークフローにより定義される印刷処理より前に実行するので、後に投入された第２ワークフローにより定義される印刷処理が実行されて、先に投入された第１ワークフローにより定義される印刷処理が実行されなくなるのを防止することができる。
【００９５】
なお、上述した実施の形態においては、ワークフロー実行装置の一例としてサーバ３００を例に説明したが、図７および図８または図９に示した処理を実行するためのワークフロー実行方法およびそのワークフロー実行方法をコンピュータに実行させるためのワークフロー実行プログラムとして発明を捉えることができるのは言うまでもない。
【００９６】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【００９７】
＜付記＞
（１）  前記印刷処理の実行を許可するステップは、制限される前記印刷可能枚数を所定の値と比較するステップと、
前記比較するステップにおける比較結果が、制限される前記印刷可能枚数が所定の値より大きい場合は、前記未実行ワークフローが検出される場合であっても前記実行するステップにおける前記印刷実行ワークフローにより定義される印刷処理の実行を許可するステップと、を含む請求項５に記載のワークフロー実行方法。
（２）  前記印刷処理の実行を許可するステップは、前記複数のワークフローそれぞれにより定義される印刷処理の印刷枚数の合計が前記印刷可能枚数以下の場合は、前記未実行ワークフローが検出される場合であっても前記実行するステップにおける前記印刷実行ワークフローにより定義される印刷処理の実行を許可するステップを含む、請求項５に記載のワークフロー実行方法。
（３）  前記印刷処理の実行を許可するステップは、前記実行するステップにおける前記印刷実行ワークフローにより定義される印刷処理の実行を許可しない場合、前記未実行ワークフローにより定義される印刷処理が終了することを条件に、前記実行するステップにおける前記印刷実行ワークフローにより定義される印刷処理の実行を許可するステップを含む、請求項５、（１）および（２）のいずれかに記載のワークフロー実行方法。
【図面の簡単な説明】
【００９８】
【図１】本発明の実施の形態の１つにおけるワークフロー実行システムの全体概要を示す図である。
【図２】ＭＦＰのハードウェア構成の一例を示すブロック図である。
【図３】サーバのハードウェア構成の一例を示すブロック図である。
【図４】サーバが備えるＣＰＵが有する機能の一例を、ＨＤＤに記憶される情報とともに示す機能ブロック図である。
【図５】ワークフロー定義データのフォーマットの一例を示す図である。
【図６】ワークフローの一例を示す図である。
【図７】ワークフロー制御処理の流れの一例を示すフローチャートである。
【図８】ワークフロー実行処理の流れの一例を示すフローチャートである。
【図９】変形例におけるワークフロー実行処理の流れの一例を示すフローチャートである。
【符号の説明】
【００９９】
１  ワークフロー実行システム、２  ネットワーク、１０  ＡＤＦ、２０  画像読取部、３０  画像形成部、４０  給紙部、５０  ファクシミリ部、５１  ワークフロー受付部、５３  ワークフロー記憶部、５５  ワークフロー実行部、５７  ワークフロー制御部、５９  印刷枚数制限管理部、６１  実行部、６３  実行部、７１  検出部、７３  判断部、７５  実行制御部、７７  制限枚数取得部、８１  ワークフロー定義データ、８３  上限管理テーブル、１０１  メイン回路、１１１  ＣＰＵ、１１４  表示部、１１５  操作部、１１６  ＨＤＤ、１１７  データ通信制御部、１１９  シリアルインターフェース端子、１１９Ａ  メモリカード、３００  サーバ、３０１  ＣＰＵ、３０３  ＲＯＭ、３０５  ＲＡＭ、３０７  ＨＤＤ、３０８  フラッシュメモリ、３０９  カードＩ／Ｆ、３１１  通信Ｉ／Ｆ、３１３  操作部、３１５  入力部、３１７  表示部、３２０  バス。
【図１】
2010191609.tif 000003
【図２】
2010191609.tif 000004
【図３】
2010191609.tif 000005
【図４】
2010191609.tif 000006
【図５】
2010191609.tif 000007
【図６】
2010191609.tif 000008
【図７】
2010191609.tif 000009
【図８】
2010191609.tif 000010
【図９】
2010191609.tif 000011