(57)【要約】【課題】  特に文書データに対するジョブフロー処理装置、ジョブフロー処理方法及びプログラムに関し、ジョブフローを実行時に発生するデータ転送回数を軽減する。【解決手段】  ジョブフロー内の個々のジョブを実行するジョブ処理手段を動的に決定し、各ジョブを実行するジョブ処理手段と、ジョブフローにおけるジョブの処理順に応じて、ジョブ処理手段が切り換る箇所を少なくするようにジョブの処理順を変更する。【選択図】  図１
2009129340.tif 000002
【特許請求の範囲】
【請求項１】
処理対象の文書データに施すべき複数のジョブの内容を処理順と共に記述したジョブフロー記述データを解釈する解釈手段と、前記解釈手段の解釈結果に基づいて、ネットワークに接続された１つ以上のジョブ処理手段に、前記文書データに対して順次ジョブを実行させるジョブフロー実行制御手段と、ジョブフロー内の個々のジョブの内容に応じてジョブを実行させるジョブ処理手段を決定する実行場所決定手段と、該実行場所決定手段により決定されたジョブを実行するジョブ処理手段に応じて、ジョブフローの処理順を変更するジョブフロー実行順序変更手段とを備えたジョブフロー処理装置。
【請求項２】
前記文書データに施すべき複数のジョブの内容と処理順を設定するジョブフロー設定手段と、前記ジョブフロー設定手段によって設定された内容に基づいて、前記ジョブフロー記述データを生成するジョブフロー記述データ生成手段とをさらに備えたことを特徴とする請求項１に記載のジョブフロー処理装置。
【請求項３】
前記ジョブフロー実行順序変更手段において、前記ジョブフロー内のジョブの処理順についての実行順序についての制約条件を記述した制約条件記述データに基づいてジョブフローの処理順を変更することを特徴とする請求項１に記載のジョブフロー処理装置。
【請求項４】
前記実行順序制約条件を設定する制約条件設定手段と、前記制約条件設定手段により設定された制約条件に基づいて制約条件記述データを生成する制約条件記述データ生成手段とをさらに備えたことを特徴とする請求項３に記載のジョブフロー処理装置。
【請求項５】
前記ジョブフロー実行順序変更手段において、同じジョブ処理手段が連続してジョブを実行するようにジョブの処理順を変更することを特徴とする請求項１に記載のジョブフロー処理装置。
【請求項６】
前記実行場所決定手段において、前記ジョブ処理手段で実行可能なジョブ内容に基づいて、ジョブを実行するジョブ処理装置を決定することを特徴とする請求項１に記載のジョブフロー処理装置。
【請求項７】
前記ジョブ処理手段で実行可能なジョブ内容を保持するジョブ処理手段能力管理手段をさらに備えたことを特徴とする請求項６に記載のジョブフロー処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ジョブフロー処理装置、ジョブフロー処理方法及びプログラムに係り、特に文書データに対する処理を連続もしくは並列して行うジョブフローを構築するジョブフロー処理システムに関する。
【背景技術】
【０００２】
従来、複写機にプリンタ、スキャナ、FAX機能を搭載した複合機が提案されており、紙文書と電子化された文書データを連携することができる。複合機において、スキャンの設定、スキャン画像の送信先設定などを予め設定し、定型業務として登録しておき、その定型業務を指定することにより、登録されている設定に従って自動的に処理を行う技術は提案されている。
【０００３】
また、ネットワークに接続された各機器やサービス処理装置に対して文書データに施すべき複数の処理を連携させて処理させるサービス処理システムが提案されている（例えば、特許文献１参照）。
【特許文献１】特開2004-289500号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、例えば特許文献１に記載されたサービス処理システムでは、文書データに対するサービス処理を実行するサービス処理装置や、実行順序はジョブフロー毎に固定であり、状況に応じてジョブフロー内のサービス処理を実行するサービス処理装置を切替えることができなかったり、それに応じてサービス処理の実行順序を処理効率の良い順序に書き換えたりすることはできなかった。
【課題を解決するための手段】
【０００５】
上記課題を解決するために、請求項１のジョブフロー処理装置の発明は、処理対象の文書データに施すべき複数のジョブの内容を処理順と共に記述したジョブフロー記述データを解釈する解釈手段と、前記解釈手段の解釈結果に基づいて、ネットワークに接続された１つ以上のジョブ処理手段に、前記文書データに対して順次ジョブを実行させるジョブフロー実行制御手段と、ジョブフロー内の個々のジョブの内容に応じてジョブを実行させるジョブ処理手段を決定する実行場所決定手段と、該実行場所決定手段により決定されたジョブを実行するジョブ処理手段に応じて、ジョブフローの処理順を変更するジョブフロー実行順序変更手段とを備えたことを特徴とする。
【発明の効果】
【０００６】
本発明によれば、ジョブフロー内の個々のジョブを実行するジョブ処理手段を動的に決定することができ、また、ジョブ処理手段とジョブの処理順に応じて、ジョブの処理順を変更することが可能となる。
【発明を実施するための最良の形態】
【０００７】
次に、本発明の詳細を実施例の記述に従って説明する。
【実施例１】
【０００８】
本発明の好ましい実施の形態について説明する。
【０００９】
＜システム構成＞
図１は本発明の実施に係るジョブフロー処理システムの全体構成を図示している。
【００１０】
ジョブフロー処理システムは、スキャナ、プリンタ、FAXなどの機能をもつ複合機からさまざまなジョブフロー実行可能なシステムである。
【００１１】
本発明におけるジョブとは、文書データに対して実行可能な処理のことを示しており、ジョブとは、文書データをコピー、紙原稿のスキャン、Ｆａｘ送信／受信、印刷、のハードディスクへの保存、メール送信、ファイル形式変換、署名付加、暗号化等を指すが、特に限定されるものではない。また、前記ジョブのような処理のうち１つ以上実行可能な装置をジョブ処理装置と呼ぶ。また、本ジョブフロー処理システムでは、前記ジョブ処理装置として、画像形成装置やスキャナ、FAXだけでなく、サーバ、アプリケーションなどを含むことを考慮するが、これらに限定されるものではない。
【００１２】
本ジョブ連携処理システムは、ジョブ処理装置管理サーバ１１、ジョブフロー管理サーバ１２、クライアントＰＣ１３、ジョブ処理サーバＡ１４、ジョブ処理サーバＢ１５、複合機Ａ１６及び複合機Ｂ１７から構成され、それぞれネットワーク１８で接続されている。なお、ジョブ処理サーバ及び複合機は前記ジョブ処理装置であり、その数や種類は限定されるものではない。また、ジョブ処理装置管理サーバ１１、ジョブフロー管理サーバ１２、ジョブ処理装置の役割を１つや複数のサーバもしくは１つや複数の複合機で兼ねることも可能である。
【００１３】
ジョブ処理サーバＡ１４、ジョブ処理サーバＢ１５、複合機Ａ１６・複合機Ｂ１７などのジョブ処理装置は、それらの起動時に、ジョブ処理装置のＩＰアドレスなどのアクセス情報と共に、自身で実行可能なジョブをジョブ処理装置管理サーバ１１へ登録する。
【００１４】
ジョブ処理装置管理サーバ１１はジョブ処理サーバＡ１４、ジョブ処理サーバＢ１５、複合機Ａ１６、複合機Ｂ１７などのジョブ処理装置の管理を行い、各ジョブ処理装置の実行可能なジョブの一覧も管理する。
【００１５】
また、クライアントＰＣ１３はジョブ処理装置管理サーバ１１からシステムで実行可能なジョブを取得し、ジョブを組み合わせて、ジョブフローを作成し、ジョブフロー管理サーバ１２に登録する。ジョブフローとは複数のジョブを組み合わせたものであり、複数ジョブを連続実行可能な処理の単位を示している。作成されたジョブフローはジョブフロー管理サーバ１２上で管理され、ジョブフローの処理内容、処理順を記述したジョブフロー記述データ、ジョブの処理順の制約条件を記述したジョブ制約条件記述データと共に保持される。また、ジョブフロー管理サーバ１２から、登録されているジョブフローの一覧取得及び、個々のジョブフローのジョブフロー記述データ、ジョブ制約条件記述データを取得することができる。複合機１６・１７、クライアントＰＣ１３は、ジョブフロー管理サーバからジョブフローの一覧を取得し、所望するジョブフローのジョブフロー記述データを取得してジョブフローの実行開始を指示することができる。
【００１６】
＜ジョブ処理装置の登録フロー＞
図２は新規ジョブ処理装置の追加時の本ジョブフロー処理システムの動作を図示している。
【００１７】
新規追加するジョブ処理装置１９は、その起動時に、ジョブ処理装置１９で実行可能なジョブの情報、ジョブ処理装置へアクセスするためのロケーション情報などを含むジョブＩ／Ｆ情報をジョブ処理装置管理サーバ１１へ登録する（２−１）。
【００１８】
ジョブ処理装置１９が実行可能なジョブの登録完了後、ジョブ処理装置１９が実行可能なジョブを含むジョブフローを作成、実行することができる。
【００１９】
また、ジョブＩ／Ｆ情報、ジョブ処理装置情報を、ジョブ処理装置からジョブ処理装置管理サーバ１１に直接登録するのではなく、クライアントＰＣ１３がジョブ処理装置よりジョブＩ／Ｆ情報取得して（２−２）、ジョブ処理装置管理サーバ１１に登録する（２−３）ようにしてもよい。
【００２０】
＜ジョブＩ／Ｆ情報＞
図３は本発明におけるジョブ一覧をジョブ処理装置管理サーバ１１へ登録する際のジョブＩ／Ｆ情報を図示している。
【００２１】
ジョブＩ／Ｆ情報内には、ジョブ名、ジョブの種別、ジョブを実行可能なジョブ処理装置のロケーション、ジョブを実行する際に必要となる属性情報、ジョブを実行する場合に必要となる入力データ、ジョブ実行後に出力される出力データ情報を保持している。
【００２２】
ジョブＩ／Ｆ情報の記述形式に関しては特に限定しない。
【００２３】
＜ジョブフローの作成＞
図４は、本発明におけるジョブフローの作成フローを図示している。
【００２４】
ジョブフローの作成はクライアントＰＣ１３からの指示で行い、ジョブ処理装置管理サーバ１１に登録されているジョブ一覧を参照（４−１）し、所望のジョブを組み合わせてジョブフローの作成及び登録（４−２）を行う。登録されたジョブフローはジョブフロー管理サーバ１２上で管理される。ジョブフローの登録完了後、ジョブ処理装置管理サーバ１１の管理するジョブ処理装置からジョブフローを実行することができる。
【００２５】
＜ジョブフロー定義情報＞
図５は本発明におけるジョブフロー記述データ、ジョブ制約条件記述データの例を図示している。図６は、本発明におけるジョブフロー記述データを説明するための、ジョブフローの一例を示すものである。図７は、ジョブ制約条件記述データを説明するための、ジョブ制約条件の一例を示すものである。
【００２６】
図６では、矩形がジョブを示し、矢印はジョブフロー内でのジョブの実行順序を示している。本例では、「スキャン」を実行後、「ＯＣＲ」を行い、スキャン画像データを「ＰＤＦ化」によりＰＤＦデータに変換し、「署名」によりＰＤＦデータに署名を付加し、「Ｆｉｌｅ保存」により指定されたファイルサーバにＰＤＦファイルを保存するというジョブフローを示している。
【００２７】
図７では、矩形がジョブを示し、破線の矢印はジョブフロー内でのジョブの実行順序の制約を示している。本例では、「スキャン」を実行後に、「ＯＣＲ」と「ＰＤＦ化」が可能であり、「ＰＤＦ化」の実行後に「署名」が実行可能であり、「ＯＣＲ」と「署名」の実行後に「Ｆｉｌｅ保存」が実行可能であるという、ジョブの実行順制約を示している。
【００２８】
図５は、図６、図７を例にしたジョブフローをＸＭＬ形式で記述したジョブフロー記述データを示すものである。
【００２９】
本発明では、JobFlow要素の子要素としてジョブフローに含まれるジョブを現すjob要素をその実行順に記述する。job要素のname属性に、job要素が示すジョブのジョブ名を記述する。また、job要素の子要素としてproperties要素とさらにその子要素としてproperty要素を１つ以上記述し、job要素が示すジョブの実行に必要な属性情報を記述することができる。さらに、job要素の子要素として、in要素、out要素を記述し、ジョブで使用する入力データと、出力データをid属性を使用して指定する。例えば、ジョブ名が“ocr”であるジョブ（「ＯＣＲ」ジョブを示す）の入力データはidが"doc"であるデータであり、出力データは、type（形式）がtext（テキスト形式）であるidが"key"というデータである。この出力データは、ジョブ名が“export”であるジョブ（「ファイル保存」ジョブを示す）の入力データ“filename”として使用されることを示しており、具体的には、OCRで抽出したテキスト情報をファイル保存時のファイル名として使用することを示している。
【００３０】
また、job要素の子要素であるafter要素には、そのjobを実行する前に処理されなければならないジョブのジョブ名をjob属性に指定する。例えば、ジョブ名が“ocr”であるジョブ（「ＯＣＲ」ジョブを示す）を実行する前に、ジョブ名が"scan"であるジョブを実行しなければならない。
【００３１】
なお、ジョブフロー記述データ、ジョブ制約条件記述データの記述形式は、ＸＭＬ形式に限定するものではない。また、ジョブフロー記述データ、ジョブ制約条件記述データを併せて１つのデータとして記述しているが、それぞれ別個のデータとして記述しても構わない。
【００３２】
＜ジョブフローの実行フロー＞
ジョブフローの実行ユーザ２０は、ジョブ処理装置またはクライアントＰＣ１３からジョブフローの実行を指示する。図８では、複合機Ａ１６からジョブフローの実行を指示する例をしめしている。ジョブ処理装置またはクライアントＰＣ１３は、ジョブフロー管理サーバ１２で管理されているジョブフロー一覧を取得（Ｓ１）し、表示する。ジョブフローの実行ユーザ２０は、ジョブ処理装置またはクライアントＰＣ１３に表示されたジョブフロー一覧から所望のジョブフローを選択し、実行を依頼する（Ｓ２）。ジョブフローの実行依頼は、ジョブ処理装置またはクライアントＰＣ１３を経由してジョブフロー管理サーバ１２に送られる（Ｓ３）。
【００３３】
＜ジョブの実行場所決定＞
ジョブフロー管理サーバ１２は、ジョブフロー実行依頼を受け付けると、ジョブフロー内の各ジョブのジョブ名（job要素のname属性）を取得し、そのジョブを実行可能なジョブ処理装置を、ジョブ処理装置管理サーバ１１で管理するジョブＩ／Ｆ情報のジョブ名を基準に検索し（Ｓ４）、どのジョブ処理装置で実行するかを決定する。図９に図６で示したジョブフローを複合機Ａ１６から実行指示した場合の、各ジョブを実行するジョブ処理装置の例を示す。この例では、「スキャン」と「ＰＤＦ化」、「署名」を複合機Ａ１６で実行し、「ＯＣＲ」「署名」「Ｆｉｌｅ保存」をジョブ処理サーバＡ１４で実行する。
【００３４】
＜ジョブフローの書換＞
次に、ジョブフロー管理サーバ１２は、ジョブフロー内で各ジョブを実行するジョブ処理装置が切り換る箇所の個数を調査する。図９の例では、「スキャン」→「ＯＣＲ」、「ＯＣＲ」→「ＰＤＦ化」、「署名」→「Ｆｉｌｅ保存」の３箇所である。このジョブ処理装置切換箇所の個数が１でない場合、以下の処理を行い、ジョブフローの書換を試行する。
【００３５】
まず、ジョブ制約条件記述データ（after要素）を参照し、ジョブの実行順を入れ換えられるジョブの組み合せを調査する。図５，図７の例では、「ＯＣＲ」と「ＰＤＦ化」、「ＯＣＲ」と「署名」である。「ＯＣＲ」は、「スキャン」の後、「Ｆｉｌｅ保存」の前に実行されなければならないが、「ＰＤＦ化」、「署名」とは順序制約がない。
【００３６】
次に、前記で調査した順序入れ換え可能ジョブの組みのジョブの順序を入れ換えて、ジョブフローのジョブ処理装置切換箇所が最小となるジョブ実行順序を調査する。ジョブの順序を入れ換え、ジョブ制約条件に違反しないジョブの実行順序は、以下が考えられる。
【００３７】
（１）スキャン→ＰＤＦ化→ＯＣＲ→署名→Ｆｉｌｅ保存（図１０  １０−１）
（２）スキャン→ＰＤＦ化→署名→ＯＣＲ→Ｆｉｌｅ保存（図１０  １０−２）
これらのジョブ処理装置切換箇所はそれぞれ、（１）が３、（２）が１となり、ジョブ処理装置切換箇所が最小となるジョブフローは（２）であることが分る。このため、ジョブフロー管理サーバ１２は、ジョブフローを書換え、（２）の順でジョブを実行することに決定する。
【００３８】
続いて、ジョブフロー管理サーバ１２は、順序入れ換え処理の結果に従い、ジョブフロー記述データのジョブ処理順序を書き換え、さらに、各ジョブを実行するジョブ処理装置の名前とジョブ処理装置ロケーションを追記する。この結果得られるジョブフロー記述データを図１１に示す。図１１では、ジョブの処理順序が、スキャン→ＰＤＦ化→署名→ＯＣＲ→Ｆｉｌｅ保存  に書き換えられており、さらに、各job要素にat属性とlocation属性が追加されており、at属性には該当ジョブを実行するジョブ処理装置名、location属性には、ジョブ処理装置ロケーションが記載する。
【００３９】
＜ジョブフローの実行＞
ジョブフロー管理サーバ１２は、ジョブフローの始めのジョブを実行するジョブ処理装置（前記例では、複合機Ａ１６）に書換後のジョブフロー記述データを送信し、ジョブフロー実行を指示する（Ｓ５）。始めのジョブ処理装置（複合機Ａ１６）は、ジョブフロー記述データからジョブフローの始めジョブ（スキャン）を解釈し、記述内容に従ってジョブを実行する。ジョブが終わると、ジョブフロー記述データの該当するジョブ要素のresult属性に処理結果を記載する。続いて、ジョブフロー記述データから次のジョブ（ＰＤＦ化）を読込み、そのジョブを実行すべきジョブ処理装置の名前を取得し、それが自身であるかを判定する。次のジョブを自身（複合機Ａ１６）で処理すべきと判定すれば、続けてジョブを実行し、他のジョブ処理装置であれば、処理結果として作成されたデータと、ジョブフロー記述データと共に、次のジョブ処理装置（ジョブ処理サーバＡ１４）に転送し、続きの処理の実行を依頼する（Ｓ６）。次のジョブ処理装置でも同様にジョブの実行を行い、ジョブフローのジョブを全て終了すると、ジョブフロー管理サーバ１２へ全てのジョブ処理の結果が記載されたジョブフロー記述データを転送し（Ｓ７）、ジョブフローの実行を終了する。
【００４０】
ジョブフロー管理サーバ１２は、処理結果として受け取ったジョブフロー記述データを実行履歴として保存し、ジョブフローの実行結果をジョブフローの実行を指示したジョブ処理装置またはクライアントＰＣ１３に送信し、ジョブフロー実行ユーザ２０に通知する（Ｓ８）。
【図面の簡単な説明】
【００４１】
【図１】本発明のサービス連携処理システムのシステム構成図を示している。
【図２】本発明におけるジョブ処理装置追加時の動作フローを示している。
【図３】本発明におけるジョブＩ／Ｆ情報を示している。
【図４】本発明におけるジョブフロー定義時の動作フローを示している。
【図５】本発明における図６、図７を例にしたジョブフロー記述データの記述例を示している。
【図６】本発明におけるジョブフローの例を示している。
【図７】本発明におけるジョブ制約条件の例を示している。
【図８】本発明におけるジョブフロー実行時の動作フローを示している。
【図９】本発明におけるジョブフローのジョブ実行ロケーションの例を示している。
【図１０】本発明におけるジョブフローのジョブ実行順序入れ換え処理における書き換え候補と、それぞれのジョブフローでのジョブ実行ロケーションの例を示している。
【図１１】本発明におけるジョブフロー書き換え処理後のジョブフロー記述データの例を示している。
【図１】
2009129340.tif 000003
【図２】
2009129340.tif 000004
【図３】
2009129340.tif 000005
【図４】
2009129340.tif 000006
【図５】
2009129340.tif 000007
【図６】
2009129340.tif 000008
【図７】
2009129340.tif 000009
【図８】
2009129340.tif 000010
【図９】
2009129340.tif 000011
【図１０】
2009129340.tif 000012
【図１１】
2009129340.tif 000013