(57)【特許請求の範囲】
【請求項１】
操作部から入力される、業務に関する実行条件を受け付ける要求受付手段と、
前記要求受付手段で受け付けた実行条件を実現するための機能の組み合わせを決定し、決定した機能の組み合わせが妥当か否かを判断し、機能の組み合わせが妥当と判断した場合には、前記実行条件を実現するための、設定内容を決定すると共に、機能の入力と出力の組み合わせに基づいて、機能の入力と出力が逆にならないように機能の実行順を決定して実行フローを作成し、当該作成した実行フローが、実現可能であるかを判定する実行フロー作成手段と、
前記実行フロー作成手段によって作成され、実現可能であると判定された実行フローを記憶する実行フロー記憶手段と、
前記実行フロー記憶手段に記憶された実行フローの実行を制御するフロー制御手段と、
入力手段、加工手段、および出力手段等のリソースを制御し、前記フロー制御手段の制御に従って前記実行フローの各機能を実行する機能制御手段と、
を備えたことを特徴とするワークフロー処理装置。 
【請求項２】
前記実行フロー作成手段は、
前記入力手段、加工手段、および出力手段等のリソースに、前記作成した実行フローの機能があるか否かを判定する機能管理手段と、  
前記入力手段、加工手段、および出力手段等のリソースの状態に基づいて、前記作成した実行フローが実現可能であるか否かを判定する判定手段と、
を含むことを特徴とする請求項１に記載のワークフロー処理装置。 
【請求項３】
前記入力手段、加工手段、および出力手段等のリソースは、画像データを扱うことを特徴とする請求項１または請求項２に記載のワークフロー処理装置。 
【請求項４】
操作部から入力される、業務に関する実行条件を受け付ける要求受付工程と、
前記要求受付工程で受け付けた実行条件を実現するための機能の組み合わせを決定し、決定した機能の組み合わせが妥当か否かを判断し、機能の組み合わせが妥当と判断した場合には、前記実行条件を実現するための、設定内容を決定すると共に、機能の入力と出力の組み合わせに基づいて、機能の入力と出力が逆にならないように機能の実行順を決定して実行フローを作成し、当該作成した実行フローが、実現可能であるかを判定する実行フロー作成工程と、
前記実行フロー作成工程によって作成され、実現可能であると判定された実行フローを記憶装置に記憶する実行フロー記憶工程と、
前記記憶装置に記憶された実行フローの実行を制御するフロー制御工程と、
入力手段、加工手段、および出力手段等のリソースを制御し、前記フロー制御工程の制御に従って前記実行フローの各機能を実行する機能制御工程と、
を含むことを特徴とするワークフロー処理方法。 
【請求項５】
前記実行フロー作成工程は、
前記入力手段、加工手段、および出力手段等のリソースに、前記作成した実行フローの機能があるか否かを判定する機能管理工程と、
前記入力手段、加工手段、および出力手段等のリソースの状態に基づいて、前記作成した実行フローが実現可能であるか否かを判定する判定工程と、
を含むことを特徴とする請求項４に記載のワークフロー処理方法。 
【請求項６】
前記入力手段、加工手段、および出力手段等のリソースは、画像データを扱うことを特徴とする請求項４または請求項５に記載のワークフロー処理方法。 
【請求項７】
請求項４〜請求項６のいずれか１つに記載のワークフロー処理方法の各工程をコンピュータに実行させることを特徴とするコンピュータが実行するためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ワークフロー処理装置、ワークフロー処理方法、およびコンピュータが実行するためのプログラムに関し、詳細には、簡単な操作で定型業務を実行することが可能なワークフロー処理装置、ワークフロー処理方法、およびコンピュータが実行するためのプログラムに関する。
【背景技術】
【０００２】
近年、複数の担当者がネットワークを経由して仕事をする際に、該仕事を円滑に進めるため、担当者間で受け渡すドキュメントや情報の流れを管理し、自動化するワークフローシステムが知られている（非特許文献１〜非特許文献３）。
【０００３】
ワークフローシステムは、ある目的を実現するために必要な作業とその作業の順番を規定したものであり、複数の部署や人員がうまく連携するためのものである。上記非特許文献２では、ワークフローを管理するための仕組みを提供している。しかしながら、ワークフローとして登録する際に、通常の利用と違った特別な操作や、手順を理解する必要があるため、使用しにくいという問題がある。
【０００４】
また、ＭＦＰ（複合機）では、利用者が入力したコピーの拡大・縮小率・用紙サイズやコピーの仕上がりを決定する実行条件を記憶しておくことにより、再び同じ作業をする場合に実行条件を再度設定する手間を省くプログラム機能が知られている。しかしながら、ＭＦＰでは、ある１つの機能に対する実行条件を記憶しておくだけであるので、ワークフローのように複数の作業からなる場合には対応できないという問題がある。また、かかるプログラム機能では、実行できる機能と実行できない機能があるため、利用者がプログラム機能を学習して使用する必要があるため、使い勝手が悪いという問題がある。
【０００５】
【非特許文献１】http://www.atmarkit.co.jp/aig/04biz/workflow.html
【非特許文献２】http://www.atmarkit.co.jp/aig/04biz/erppackage.html
【非特許文献３】http://www.atmarkit.co.jp/aig/04biz/groupware.html
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明は、上記に鑑みてなされたものであり、簡単な操作で定型業務を実行することが可能なワークフロー処理装置、ワークフロー処理方法、およびコンピュータが実行するためのプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するために、本発明は、操作部から入力される、業務に関する実行条件を受け付ける要求受付手段と、前記要求受付手段で受け付けた実行条件を実現するために、機能の組み合わせ、機能の実行順序、および各機能を実行する上での詳細設定を記述した実行フローを作成し、作成した実行フローが、実現可能であるかを判定する実行フロー作成手段と、前記実行フロー作成手段によって作成され、実現可能であると判定された実行フローを記憶する実行フロー記憶手段と、前記実行フロー記憶手段に記憶された実行フローの実行を制御するフロー制御手段と、入力手段、加工手段、および出力手段等のリソースを制御し、前記フロー制御手段の制御に従って前記実行フローの各機能を実行する機能制御手段と、を備えたことを特徴とする。
【０００８】
また、本発明の好ましい態様によれば、前記実行フロー作成手段は、前記入力手段、加工手段、および出力手段等のリソースに、前記作成した実行フローの機能があるか否かを判定する機能管理手段と、前記入力手段、加工手段、および出力手段等のリソースの状態に基づいて、前記作成した実行フローが実現可能であるか否かを判定する判定手段と、を含むことが望ましい。
【０００９】
また、本発明の好ましい態様によれば、前記入力手段、加工手段、および出力手段等のリソースは、画像データを扱うことが望ましい。
【００１０】
上記した課題を解決して、本発明の目的を達成するために、本発明は、操作部から入力される、業務に関する実行条件を受け付ける要求受付工程と、前記要求受付工程で受け付けた実行条件を実現するために、機能の組み合わせ、機能の実行順序、および各機能を実行する上での詳細設定を記述した実行フローを作成し、作成した実行フローが、実現可能であるかを判定する実行フロー作成工程と、前記実行フロー作成手段によって作成され、実現可能であると判定された実行フローを記憶装置に記憶する実行フロー記憶工程と、前記記憶装置に記憶された実行フローの実行を制御するフロー制御工程と、入力手段、加工手段、および出力手段等のリソースを制御し、前記フロー制御工程の制御に従って前記実行フローの各機能を実行する機能制御工程と、を含むことが望ましい。
【００１１】
また、本発明の好ましい態様によれば、前記実行フロー作成工程は、前記入力手段、加工手段、および出力手段等のリソースに、前記作成した実行フローの機能があるか否かを判定する機能管理工程と、前記入力手段、加工手段、および出力手段等のリソースの状態に基づいて、前記作成した実行フローが実現可能であるか否かを判定する判定工程と、を含むことが望ましい。
【００１２】
また、本発明の好ましい態様によれば、前記入力手段、加工手段、および出力手段等のリソースは、画像データを扱うことが望ましい。
【００１３】
また、本発明の好ましい態様によれば、コンピュータがプログラムを実行することにより、本発明のワークフロー処理方法の各工程を実現することが望ましい。
【発明の効果】
【００１４】
本発明によれば、操作部から入力される、業務に関する実行条件を受け付ける要求受付手段と、前記要求受付手段で受け付けた実行条件を実現するために、機能の組み合わせ、機能の実行順序、および各機能を実行する上での詳細設定を記述した実行フローを作成し、当該作成した実行フローが、実現可能であるかを判定する実行フロー作成手段と、前記実行フロー作成手段によって作成され、実現可能であると判定された実行フローを記憶する実行フロー記憶手段と、前記実行フロー記憶手段に記憶された実行フローの実行を制御するフロー制御手段と、入力手段、加工手段、および出力手段等のリソースを制御し、前記フロー制御手段の制御に従って前記実行フローの各機能を実行する機能制御手段と、を備えているので、簡単な操作で定型業務を実行することが可能なワークフロー処理装置を提供することが可能になるという効果を奏する。
【発明を実施するための最良の形態】
【００１５】
以下に、この発明に係るワークフロー処理装置、ワークフロー処理方法、およびコンピュータが実行するためのプログラムにつき図面を参照しつつ詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。また、下記実施の形態における構成要素には、当業者が容易に想定できるものまたは実質的に同一のものが含まれる。また、本実施の形態では、この発明を画像形成装置に適用した場合について説明するが、本発明はこれに限らず、ドキュメント管理をおこなう各種装置に適用することができる。
【００１６】
（実施の形態）
図１は、本実施の形態に係るワークフローシステムの概略構成を示す図である。ワークフローシステムは、図１に示すように、参加者端末のユーザからシステムの利用を受け付けるシステム利用受付部１と、システム利用受付部１で受け付けたユーザの要求を解釈して、ワークフローを実現するための実行フローを作成するワークフロー処理部２と、ワークフロー処理部２で作成した実行フローのサービスの組み合わせが実行可能か否かを判断するサービス組み合わせ管理部３と、ワークフロー処理部２で作成した実行フローの各サービスの実行を制御するサービス処理部４と、ユーザの権限を認証する権限認証部５と、
ユーザ情報を管理するユーザ情報管理部６と、文書の入力・出力のサービスを実行する文書入出力処理部７と、他のサービスを実行するその他のサービス８とを備えている。
【００１７】
図２は、図１のワークフローシステムの処理の概略を説明するためのフローチャートである。図２において、システム利用受付部１は、ユーザが入力した業務の実行条件（要求
）を受け付ける（ステップＳ１）。ワークフロー処理部２は、ユーザが入力した業務の実行条件（要求）を解釈して、ワークフローを実現するための必要なサービスを選定し（ステップＳ２）、サービスの実行手順を決定し（ステップＳ３）、さらに、サービスを実行するための必要な実行パラメータを作成して（ステップＳ４）、実行フローを作成する。サービス処理部４は、ワークフロー処理部２で作成した実行フローのサービスを実行する（ステップＳ５，Ｓ６）。
【００１８】
以下、本発明に係るワークフロー処理装置を画像形成装置（以下「複合機」と称する）に適用した場合について説明する。まず、本実施の形態に係る複合機９の概念について図３、図４、図５を用いて説明する。図３は、本実施の形態に係る複合機９を取り巻くネットワーク環境を説明するためのネットワーク図であり、図４は、図３に示した複合機９のハードウェア構成を示すブロック図であり、図５は、図３に示した複合機９のソフトウェアとハードウェアの関係を説明するための説明図である。
【００１９】
図３に示すように、近年のネットワーク化の進展により、オフィスなどに設けられたパーソナルコンピュータ（ＰＣ）などの機器は、ＬＡＮ（Local Area Network）などのネットワークに接続され、相互に通信することができる。たとえば、同図に示したように、ＬＡＮなどのネットワークには、クライアントＰＣ、ＳＭＴＰ（Simple Mail Transfer Protocol）サーバ、ＦＴＰ（File Transfer Protocol）サーバ、サーバＰＣなどが接続され、電子メールの送受信やファイル転送をすることができ、モデム接続された配信サーバは、オフィス外のファックス装置と通信することができる。
【００２０】
このようなネットワーク化の進展に伴い、複合機９についてもネットワークに接続され、ＰＣ等の機器と相互に通信することが可能となり、ハードディスク等の記憶装置を内蔵することで、いわゆるネットワーク複合機へと進化し、ユーザの様々なニーズに応えることができるようになった。
【００２１】
具体的には、複合機９は、通常のコピー機能に加えて、クライアントＰＣからの印刷要求により文書データ等を印刷するプリンタ機能、クライアントＰＣからのファックス要求により文書データ等をサーバＰＣに接続されたモデムを経由して他のオフィスのファックス機器に送信するファックス機能、受信したファックス文書やコピー文書を内蔵したハードディスクに蓄積する蓄積機能などを有するようになった。このような多くの機能を実現するために、複合機９に搭載されるソフトウェアは規模が大きくなり、また、複雑なものとなってきた。
【００２２】
図４は、かかる複合機９のハードウェア構成を示すブロック図である。同図に示すように、この複合機９は、コントローラ１０とエンジン部（Engine）６０とをＰＣＩ（Peripheral Component Interconnect）バスで接続した構成となる。コントローラ１０は、複合機９全体の制御と描画、通信、図示しない、キー入力部およびタッチパネル表示部からなる操作部からの入力を制御するコントローラである。エンジン部６０は、ＰＣＩバスに接続可能なプリンタエンジンなどであり、たとえば白黒プロッタ、１ドラムカラープロッタ、４ドラムカラープロッタ、スキャナまたはファックスユニットなどである。なお、このエンジン部６０には、プロッタなどのいわゆるエンジン部分に加えて、誤差拡散やガンマ変換などの画像処理部分が含まれる。
【００２３】
コントローラ１０は、ＣＰＵ１１と、ノースブリッジ（ＮＢ）１３と、システムメモリ（ＭＥＭ−Ｐ）１２と、サウスブリッジ（ＳＢ）１４と、ローカルメモリ（ＭＥＭ−Ｃ）１７と、ＡＳＩＣ（Application Specific Integrated Circuit）１６と、ハードディスクドライブ（ＨＤＤ）１８とを有し、ノースブリッジ（ＮＢ）１３とＡＳＩＣ１６との間をＡＧＰ（Accelerated Graphics Port）バス１５で接続した構成となる。また、ＭＥＭ−Ｐ１２は、ＲＯＭ（Read Only Memory）１２ａと、ＲＡＭ(Random Access Memory)とをさらに有する。
【００２４】
ＣＰＵ１１は、複合機９の全体制御をおこなうものであり、ＮＢ１３、ＭＥＭ−Ｐ１２およびＳＢ１４からなるチップセットを有し、このチップセットを介して他の機器と接続される。
【００２５】
ＮＢ１３は、ＣＰＵ１１とＭＥＭ−Ｐ１２、ＳＢ１４、ＡＧＰ１５とを接続するためのブリッジであり、ＭＥＭ−Ｐ１２に対する読み書きなどを制御するメモリコントローラと、ＰＣＩマスタおよびＡＧＰターゲットとを有する。
【００２６】
ＭＥＭ−Ｐ１２は、プログラムやデータの格納用メモリ、プログラムやデータの展開用メモリ、プリンタの描画用メモリなどとして用いるシステムメモリであり、ＲＯＭ１２ａとＲＡＭ１２ｂとからなる。ＲＯＭ１２ａは、プログラムやデータの格納用メモリとして用いる読み出し専用のメモリであり、ＲＡＭ１２ｂは、プログラムやデータの展開用メモリ、プリンタの描画用メモリなどとして用いる書き込みおよび読み出し可能なメモリである。
【００２７】
ＳＢ１４は、ＮＢ１３とＰＣＩデバイス、周辺デバイスとを接続するためのブリッジである。このＳＢ１４は、ＰＣＩバスを介してＮＢ１３と接続されており、このＰＣＩバスには、ネットワークインターフェース（Ｉ／Ｆ）部なども接続される。
【００２８】
ＡＳＩＣ１６は、画像処理用のハードウェア要素を有する画像処理用途向けのＩＣ（Integrated Circuit）であり、ＡＧＰ１５、ＰＣＩバス、ＨＤＤ１８およびＭＥＭ−Ｃ１７をそれぞれ接続するブリッジの役割を有する。このＡＳＩＣ１６は、ＰＣＩターゲットおよびＡＧＰマスタと、ＡＳＩＣ１６の中核をなすアービタ（ＡＲＢ）と、ＭＥＭ−Ｃ１７を制御するメモリコントローラと、ハードウェアロジックなどにより画像データの回転などをおこなう複数のＤＭＡＣ（Direct Memory Access Controller）と、エンジン部６０との間でＰＣＩバスを介したデータ転送をおこなうＰＣＩユニットとからなる。このＡＳＩＣ１６には、ＰＣＩバスを介してＦＣＵ（Fax Control Unit）３０、ＵＳＢ（Universal Serial Bus）４０、ＩＥＥＥ１３９４（the Institute of Electrical and Electronics Engineers 1394）インターフェース５０が接続される。
【００２９】
ＭＥＭ−Ｃ１７は、コピー用画像バッファ、符号バッファとして用いるローカルメモリであり、ＨＤＤ（Hard Disk Drive）１８は、画像データの蓄積、プログラムの蓄積、フォントデータの蓄積、フォームの蓄積を行うためのストレージである。
【００３０】
ＡＧＰ１５は、グラフィック処理を高速化するために提案されたグラフィックスアクセラレーターカード用のバスインターフェースであり、ＭＥＭ−Ｐ１２に高スループットで直接アクセスすることにより、グラフィックスアクセラレーターカードを高速にするものである。
【００３１】
図５は、かかる複合機９のハードウェアおよびソフトウェアの構成を示した概念図であり、具体的には、リクエスト管理部１１３ａを含む統合アプリケーション１１０と、ソフトウェア１００およびハードウェア２００の階層関係を示している。同図に示すように、ハードウェア２００は、ハードウェアリソース２０１を有し、このハードウェアリソース２０１は、スキャナ２０１ａ、プロッタ２０１ｂ、ＨＤＤ（Hard Disk Drive）２０１ｃ、ネットワーク２０１ｄおよびその他のリソース２０１ｅを有する。なお、その他のリソース２０１ｅは、２０１ａ〜２０１ｄ以外のハードウェアリソース２０１のことであり、たとえば、操作パネルなどの入出力デバイスを示す。
【００３２】
また、かかるハードウェア２００に搭載されるソフトウェア１００は階層化されており、オペレーティングシステム１０３の上層にはサービス層１０２が構築され、このサービス層１０２の上層にはアプリケーション層１０３が構築されている。そして、サービス層１０２は、各ハードウェアリソース（２０１ａ〜２０１ｅ）を制御するドライバーに相当する、スキャナ制御１０２部ａ、プロッタ制御部１０２ｂ、蓄積制御部１０２ｃ、配信／メール送受信制御部１０２ｄ、ＦＡＸ送受信制御部１０２ｅ、ネットワーク通信制御部１０２ｆおよびその他の制御部１０２ｇを有する。
【００３３】
図６は、複合機９がワークフロー処理装置として機能する場合のコントローラ１０のソフトウェア機能ブロックを示す図である。コントローラ１０は、要求受付部３０１、実行フロー記憶部３０２、フロー制御部３０３、機能制御部３０４、実行フロー作成部３０５、機能管理部３０６、および実行判定部３０７として機能する。
【００３４】
要求受付部３０１は、操作部を通じてユーザとの対話を行い、業務に関する実行条件（処理内容）の設定を受け付け、実行フロー作成部３０５に対して、業務に関する実行条件を渡して実行フローの作成を要求する。また、要求受付部３０１は、フロー制御部３０３に対して、実行フローの実行とその制御を要求する。また、要求受付部３０１は、実行フロー記憶部３０２に対して、実行フロー作成部３０５で作成された実行フローの保管を要求する。
【００３５】
実行フロー作成部３０５は、要求受付部３０１からの要求に従って、業務内容の実行条件を解読して、必要な機能と、その実行順序、各機能を実行する上での詳細設定やその他の実行条件を記述した実行フローを作成する。実行フロー作成部３０５は、機能管理部３０６に、機能の組み合わせが実行可能か否かの判定を要求する。また、実行フロー作成部３０５は、実行判定部３０７に、機能の設定内容が実行可能か否かの判定を要求する。
【００３６】
機能管理部３０６は、実行フロー作成部３０５から判定要求があると、システム内で機器が備える入力手段、加工手段、および出力手段等（リソース）に、要求される機能があるかを確認して、その判定結果を実行フロー作成部３０５に出力する。
【００３７】
実行判定部３０７は、実行フロー作成部３０５から判定要求があると、機器の状態、設定内容に基づいて、機能の設定内容が実現可能か否かを判定し、判定結果を実行フロー作成部３０５に出力する。
【００３８】
フロー制御部３０３は、機能制御部３０４に対して、実行フロー作成部３０５で作成された実行フロー記載されている順番と設定内容のとおりに、各機能の実行を１つずつ機能制御部１０４に要求し、その進捗を管理する。
【００３９】
機能制御部３０４は、機器が備える入力手段、加工手段、出力手段等のリソースを制御し、フロー制御部３０３から実行する機能の種類とその実行条件を受け取り、実行条件の内容通りに実行する。各機能を実行する際のスケジューリングは機能制御部３０４で行なう。
【００４０】
実行フロー記憶部３０２は、実行フロー作成部３０５によって作成された実行フローを再度利用者が利用できるように、機器の記憶装置（ＨＤＤ２０１ｃ）に保存しこれを管理する。
【００４１】
本実施の形態に係るワークフロー処理装置によれば、定型業務を簡単に実行することができる。従来技術では、上述したように、業務の一部をプログラム機能を利用して実行したり、業務を行う都度、業務内容を入力して実行していた。これに対して、本実施の形態に係るワークフロー処理装置は、事前に設定した／実際に設定した内容をマクロのような形で登録しておくことができ、また、自動的（定期的）に実行するための設定をしておくことができる。このため、何度も行なうような定型業務を簡単な操作で実行することができる。また、これによって本来の作業（資料作成）に集中することができるので、定型業務に要していた時間を有効利用することが可能となる。
【００４２】
以下の説明では、Ｂさんの業務Ａ：「毎週月曜ＡＭに行なう定例会議のために、事前にグループＡのメンバーに会議の通知（メール）を行ない、当日人数分（１０人）の会議資料を用意しておく（コピー）」を実行する場合を例示して説明する。
【００４３】
図６に示すワークフロー処理装置のマクロ登録処理を説明する。図７は、図６に示すワークフロー処理装置のマクロ登録処理を説明するためのフローチャートである。図８は、マクロ設定のイメージを示す図、図９は、マクロ自動実行設定のイメージを示す図、図１０は、図８のマクロ２の実行フローのイメージを示す図、図１１は、図９のマクロ９の実行フローのイメージを示す図である。
【００４４】
以下では、「Ｂさんの業務Ａ」を、図８のマクロ設定のイメージに示すような操作でマクロを作成する場合を例にして説明する。ただし、図９のマクロ自動実行設定のイメージのような形でマクロを作成／登録することにしてもよい。
【００４５】
図７において、操作部で利用者が自己の業務内容（実行条件）を入力する（ステップＳ１０１）。具体的には、利用者は、自己の業務で行なわなければいけない処理の内容（実行条件）を、操作部を通じて入力する。利用者は、どこまでの処理をひとつのマクロとするのかマクロ化の範囲を決定する。
【００４６】
ここで、上記図８のマクロ設定のイメージに示すように、それぞれをマクロにする場合と、上記図９に示すように、マクロ自動実行設定のイメージに示すように、一つに纏めてマクロにする場合がある。図８のマクロ設定のイメージの場合はそれぞれの処理のタイミングを利用者がコントロールしたい場合に有効である。図９のマクロ自動実行設定のイメージの場合は、全てを自動で行いたい場合に有効である。
【００４７】
「Ｂさんの業務Ａ」では、メール送信とコピーの２つの業務内容があるので、ここでは、図８のマクロ設定のイメージに示すように、「メール送信」と「コピー」のそれぞれをマクロとして２つのマクロを作成する場合を考える。
【００４８】
「メール送信」を行うためのマクロ１の設定を説明する。この作業はＢさんの業務であるので、ログインユーザをユーザＢと設定する（実行条件）。つぎに、開催通知メールを作成し、宛先としてグループＡを入力し、メール送信を設定する（実行条件）。そして、ログアウトユーザをユーザＢと設定して（実行条件）、このマクロ１の処理は終了であることを設定する。
【００４９】
「コピー」を行うためのマクロ２の設定を説明する。まず、この作業もＢさんの業務であるので、ログインユーザをユーザＢと設定する（実行条件）。つぎに、作成した資料のコピー、Ａ４で１０部を設定する（実行条件）。そして、ログアウトユーザをユーザＢと設定して（実行条件）、このマクロ２の処理は終了であることを設定する。
【００５０】
つづいて、要求受付部３０１は、利用者が入力した実行条件を受け付ける（ステップＳ１０２）。具体的には、利用者は、実行条件の入力を終了し、要求受付部３０１に対してその旨を通知する。なお、上記ステップＳ１０１で入力した実行条件は、利用者が入力を行なう毎に、その実行条件を要求受付部３０１で一時的に記憶している。要求受付部３０１は、利用者から実行条件の入力終了を受けると、実行条件を実行フロー作成部３０５に渡し、実行フロー作成を依頼する。
【００５１】
実行フロー作成部３０５は、機能の組み合わせを判断する（ステップＳ１０３）。具体的には、実行フロー作成部３０５は、機能の入出力組み合わせテーブルを参照して、利用者が入力した実行条件をどんな機能の組み合わせで実現できるかを判断して、機能の組み合わせを決定する。図１２は、機能の入出力組み合わせテーブルの一例を示す図である。機能の入出力組み合わせテーブルは、図１２に示すように、入力形態、出力形態、および機能を関連づけて格納している。
【００５２】
たとえば、「Ｂさんの業務Ａ」では、メール送信の設定を行っているので実行機能としては、紙文書の入力を行なって画像データを作成する機能と画像データをメール文書として外部へ送信する機能が必要になる（入力形態：紙、出力形態：メール、機能：スキャナ送信）。また、コピーの設定を行なっているので、紙文書の入力を行なって画像データを作成する機能と画像データから紙文書を作成するために印刷を行なう機能が必要になる（入力形態：紙、出力形態：紙、機能：コピー）。
【００５３】
つぎに、実行フロー作成部３０５は、機能の組み合わせが妥当か否かを判断する（ステップＳ１０４）。ここでは、判別した複数の機能を組み合わせて実行可能かを判別する。入出力組み合わせテーブルに存在しない組み合わせや、システムが機能を備えていない場合には、設定された実行条件は実行できないため、実行できない設定を防止するためである。
【００５４】
具体的には、実行フロー作成部３０５は、決定した機能の組み合わせが実行可能か否かを機能管理部３０６に問い合わせる。機能管理部３０６は、システム内に機能が搭載されているかを確認することにより、機能の組み合わせが実行可能か否かを判定して、判定結果を実行フロー作成部３０５に通知する。実行フロー作成部３０５は、機能管理部３０６から機能の組み合わせが実行可能という判定結果を受け取った場合には（ステップＳ１０４の「Ｙｅｓ」）、ステップＳ１０５に移行する一方、機能管理部３０６から機能の組み合わせが実行不可能という判定結果を受け取った場合には（ステップＳ１０４の「Ｎｏ」）、ステップＳ１０１に戻り、その旨を利用者に通知し、入力した内容の訂正を促す。
【００５５】
たとえば、「Ｂさんの業務Ａ」では、メール送信とコピーを行なうために、紙文書の入力を行なって画像データを作成する機能と、画像データをメール文書として外部へ送信する機能、そして、画像データから紙文書を作成するために印刷を行なう機能が必要となるが、画像データから紙文書を作成するために印刷を行なう機能が機器に存在しない場合、この組み合わせは実行不可になる。
【００５６】
つぎに、実行フロー作成部３０５は、機能間の実行順序を決定して、実行フローを作成する（ステップＳ１０５）。具体的には、実行フロー作成部３０５は、実行条件の設定内容や、入力と出力の組み合わせに基づいて、各機能の実行順を決定し、実行フローを作成する。ここでは、入力・出力が逆転しないように実行順を決定し、また、複数の入出力が必要になっている場合の入力・出力の実行タイミングを決定する。
【００５７】
実行フロー作成部１０５は、実行条件から各機能の実行順番を組み立てられない場合は、入力内容が妥当でないと判断する。例えば、業務Ａの場合、紙文書の入力を行なわないと送信するためのデータがないので、メールの送信をすることができない。入力→出力の順番など、利用者の設定内容から実行順序の組み立てを行なう。業務Ａでも、メール送信とコピーの複数の処理を行なうが、処理間の実行順序も考慮し、リソースを最も有効活用できるように順序を組み立てる。利用者の設定内容を実現するために、実行順序が組み立てられない場合は、設定内容は妥当でないと判断する。
【００５８】
そして、実行フロー作成部３０５は、機能の設定内容の妥当性を判断する（ステップＳ１０６）。ここでは、実行フローの機能の設定内容に、実行不可能な設定がないかを確認する。実行フロー作成部３０５は、機能の実行順を決定すると、実行フローを実行判定部３０７に渡し、設定内容の妥当性の判定を要求する。
【００５９】
実行判定部３０７は、受け取った実行フローの機能の設定内容で、実行不可能な設定がされていないか等を判定して、判定結果を実行フロー作成部３０５に通知する。実行フロー作成部３０５は、実行判定部３０７から機能の設定内容が実行可能という判定結果を受け取った場合には（ステップＳ１０６の「Ｙｅｓ」）、ステップＳ１０７に移行する一方、機能の設定内容が実行不可能という判定結果を受け取った場合には（ステップＳ１０６の「Ｎｏ」）、ステップＳ１０１に戻り、その旨を利用者に通知し、入力した内容の訂正を促す。
【００６０】
たとえば、ソートとスタックのように相反するような機能は、組み合わせて設定することはできない。また、その時点で行なわれている処理の実行状態や、機器の状態などから、設定された実行条件ではできないこともあるので、現地点で実行可能のチエックも行なう。たとえば、ＨＤＤなど、機器内の記憶装置が故障している場合、文書を蓄積するような実行条件の設定はできない。
【００６１】
この後、作成したマクロを登録する（ステップＳ１０７）。具体的には、実行フロー作成部３０５は、実行フローの作成が完了すると、作成した実行フローを実行フロー記憶部３０２に渡し、実行フローの登録を要求する。実行フロー記憶部３０２は、実行フロー作成部３０５から受け取った実行フローを記憶装置（ＨＤＤ）に保存する。
【００６２】
なお、マクロ自動実行設定の場合は、図９に示すように、実行条件として、実行日時を設定する。図９においては、例えば、メール送信：毎週金曜１０：００（休日の場合前日）、コピー：毎週月曜１０：００（休日の場合は不実施）を実行条件として設定する。
【００６３】
つぎに、図６に示すワークフロー処理装置の基本実行処理を説明する。図１３は、図６のワークフロー処理装置の基本実行処理を説明するためのフローチャートである。図１３において、図７と同様な処理を行うステップについては同一のステップ番号を付し、ここでは異なる点についてのみ説明する。
【００６４】
図１３において、ステップＳ２０１では、作成した実行フローを実行する。具体的には、実行フロー作成部３０５は、実行フローの作成が完了すると、作成した実行フローをフロー制御部３０３に渡して実行を要求をする。フロー制御部３０３は、実行要求を受けると、渡された実行フローに記載されている順番と設定内容のとおりに、各機能の実行を１つずつ機能制御部３０４に要求する。機能制御部３０４は、実行する機能の種類とその実行条件を受け取り、実行条件の内容通りに実行する。なお、各機能を実行する際のスケジューリングは機能制御部１０４で行なう。実行フロー内の各機能を全て実行した場合（ステップＳ２０２の「Ｙｅｓ」、処理を終了する。
【００６５】
図６に示すワークフロー処理装置において、登録されているマクロを利用して業務を実行する場合の処理を説明する。図１４は、ワークフロー処理装置の登録されているマクロを利用して業務を実行する場合の処理を説明するためのフローチャートである。図１４において、図１０と同様な処理を行うステップについては同一のステップ番号を付し、ここでは異なる点についてのみ説明する。
【００６６】
図１４において、まず、要求受付部３０１は、利用可能なマクロの一覧を表示する（ステップＳ３０１）。具体的には、要求受付部３０１は、利用者から一覧表示の要求を受けると、実行フロー記憶部３０２に、既に登録されているマクロ一覧を要求する。実行フロー記憶部３０２は、登録されている実行フローを記憶装置（ＨＤＤ）から読み出し、登録マクロの一覧表を作成して要求受付部３０１に渡す。要求受付部３０１は、実行フロー記憶部３０２からマクロ一覧表を受け取って、これをマクロの一覧として操作部に表示する。なお、登録されている実行フローのデータの全てをマクロ一覧として表示する必要はなく、マクロ名だけでもよい。
【００６７】
つぎに、利用者は、操作部で、マクロの一覧の中から実行するマクロを選択して指定する（ステップＳ３０２）。具体的には、利用者は、操作部で、マクロ一覧の中から実行したいマクロを選択して、選択したマクロの実行を要求受付部３０１に要求する。
【００６８】
要求受付部３０１は、利用者が指定したマクロの実行を要求する（ステップＳ３０３）。具体的には、要求受付部３０１は、実行フロー記憶部３０２に対して利用者が指定したマクロに対応する実行フローの取得を要求する。実行フロー記憶部３０２は、対応する実行フローを記憶装置（ＨＤＤ）から読み出して、要求受付部３０２に渡す。そして、上記図１３と同様に、実行フローの機能の組み合わせの妥当性および機能の設定内容の妥当性が判断された後（ステップＳ１０４，Ｓ１０６）、実行フローの各機能を実行する（ステップＳ２０１，Ｓ２０２）。
【００６９】
上記図１４では、利用者が登録されているマクロを指定して、マクロを実行する場合の処理を説明したが、マクロの自動実行が設定されている場合には、フロー制御部３０３が自動実行が設定されているマクロを設定内容に基づいて自動的に実行する。ここでは、「Ｂさんの業務Ａを、図９のマクロ実行設定のイメージのように自動実行設定した場合について説明する。
【００７０】
メール自動実行設定：毎週金曜１０：００（休日の場合前日）、印刷自動実行設定：毎週月曜１０：００（休日の場合は不実施）となっているので、フロー制御部３０３は、まずメール送信処理が実行済みか否かを確認する。実行済み場合は、印刷処理の起動確認処理に移る。実行済み出ない場合、機器内の日付時刻データから曜日データを取り出し、設定内容の金曜であるかを確認する。金曜でなかった場合は、日付が変わるまで確認処理を行なわない。金曜であった場合、機器内の日付時刻データから時刻データを取り出し、設定内容の午前１０：００を経過しているかを確認する。
【００７１】
午前１０：００に達していなかった場合は、一定時刻待機して再び確認処理を継続する。継続する場合は、時刻の確認処理から実施する。フロー制御部３０３は、午前１０：００に達していた場合、機能制御部３０４に実行要求を行ない、メール送信処理を実行する。メール実行処理が終了した場合、メール送信処理が実行済みであることを記録する。印刷処理の起動確認については、基本的に、メール送信処理と同様の手順で行なう。起動確認を行ない、印刷処理を行なった場合、メール送信処理が実行済みでないことを記録して終了する。
【００７２】
以上説明したように、本実施の形態のワークフロー処理装置によれば、操作部から入力される、業務に関する実行条件を受け付ける要求受付部３０１と、要求受付部３０１で受け付けた実行条件を実現するために、機能の組み合わせ、機能の実行順序、および各機能を実行する上での詳細設定を記述した実行フローを作成し、当該作成した実行フローが、実現可能であるかを判定する実行フロー作成部３０５と、実行フロー作成部３０５によって作成され、実現可能であると判定された実行フローを記憶する実行フロー記憶部３０２と、実行フロー記憶部３０２に記憶された実行フローの実行を制御するフロー制御部３０３と、入力手段、加工手段、および出力手段等のリソースを制御し、フロー制御部３０３の制御に従って前記実行フローの各機能を実行する機能制御部３０４とを備えているので、定型業務を実行フローの形態で記憶しておき、この実行フローを実行することにより、定型業務を実行することができ、簡単な操作で定型業務を実行することが可能となる。これにより、本来の作業（資料作成）に集中できるため、定型業務に要していた時間を有効利用することが可能となる。
【産業上の利用可能性】
【００７３】
本発明に係るワークフロー処理装置、ワークフロー処理方法、およびコンピュータが実行するためのプログラムは、定型業務を実行するシステム等に広く有用である。
【図面の簡単な説明】
【００７４】
【図１】本実施の形態に係るワークフローシステムの概略構成を示す図である。
【図２】図１のワークフローシステムの処理を説明するためのフローチャートである。
【図３】本実施の形態に係る複合機を取り巻くネットワーク環境を説明するためのネットワーク図である。
【図４】図３に示した複合機のハードウェア構成を示すブロック図である。
【図５】図３に示した複合機のソフトウェアとハードウェアの関係を説明するための説明図である。
【図６】複合機がワークフロー処理装置として機能する場合のコントローラのソフトウエア機能ブロックを示す図である。
【図７】図６のドキュメント処理装置のマクロ登録処理を説明するためのフローチャートである。
【図８】マクロ設定のイメージを示す図である。
【図９】マクロ自動実行設定のイメージを示す図である。
【図１０】図８のマクロ２の実行フローのイメージを示す図である。
【図１１】図９のマクロ９の実行フローのイメージを示す図である。
【図１２】機能の入出力組み合わせテーブルの一例を示す図である。
【図１３】図６のワークフロー処理装置の基本実行処理を説明するためのフローチャートである。
【図１４】ワークフロー処理装置に登録されているマクロを利用して業務を実行する場合の処理を説明するためのフローチャートである。
【符号の説明】
【００７５】
１  システム利用受付部
２  ワークフロー処理部
３  サービス組み合わせ管理部
４  サービス処理部
５  権限認証部
６  ユーザ情報管理部
７  文書入出力処理部
８  その他のサービス
９  画像形成装置（複合機）
１０  コントローラ
１１  ＣＰＵ
１２  ＭＥＭ−Ｐ
１２ａ  ＲＯＭ
１２ｂ  ＲＡＭ
１３  ＮＢ
１４  ＳＢ
１５  ＡＧＰ
１６  ＡＳＩＣ
１７  ＭＥＭ−Ｃ
１８  ＨＤＤ
２０  キーボード（オペレーションパネル）
３０  ＦＣＵ
４０  ＵＳＢ
５０  ＩＥＥＥ１３９４
６０  エンジン部（Engine）
１００  ソフトウェア
１０１  アプリケーション層
１０２  サービス層
１０２ａ  スキャナ制御部
１０２ｂ  プロッタ制御部
１０２ｃ  蓄積制御部
１０２ｄ  配信／メール送受信制御部
１０２ｅ  ＦＡＸ送受信制御部
１０２ｆ  ネットワーク通信制御部
１０２ｇ  その他の制御部
１０３  オペレーティングシステム
１１０  統合アプリケーション
１１１  操作系サブシステム
１１２  管理系サブシステム
１１３  実行系サブシステム
１１３ａ  リクエスト管理部
１１３ｂ  実行制御部
１２０  コピーアプリケーション
１３０  スキャナアプリケーション
１４０  ファックスアプリケーション
１５０  プリンタアプリケーション
２００  ハードウェア
２０１  ハードウェアリソース
２０１ａ  スキャナ
２０１ｂ  プロッタ
２０１ｃ  ＨＤＤ
２０１ｄ  ネットワーク
２０１ｅ  その他のリソース
３０１  要求受付部
３０２  実行フロー記憶部
３０３  フロー制御部
３０４  機能制御部
３０５  実行フロー作成部
３０６  機能管理部
３０７  実行判定部
【図１】
0004838608.tif 000002
【図２】
0004838608.tif 000003
【図３】
0004838608.tif 000004
【図４】
0004838608.tif 000005
【図５】
0004838608.tif 000006
【図６】
0004838608.tif 000007
【図７】
0004838608.tif 000008
【図８】
0004838608.tif 000009
【図９】
0004838608.tif 000010
【図１０】
0004838608.tif 000011
【図１１】
0004838608.tif 000012
【図１２】
0004838608.tif 000013
【図１３】
0004838608.tif 000014
【図１４】
0004838608.tif 000015