(57)【要約】【課題】アクティビティを実行するデバイスにエラーが生じてもワークフローをできるだけ続行する。【解決手段】デバイスＸで実行中のアクティビティにエラーが生じた場合、サーバはデバイスＸに対して代替デバイスを通知する（Ｓ９２）。代替デバイス名（デバイスＹ）はデバイスＸに表示されるので、オペレータはデバイスＹにおいてジョブ一覧をサーバに要求し（Ｓ９３）、それに応じて提供されるジョブ一覧から中断されたジョブを選択できる。選択したジョブはサーバに通知され（Ｓ９５）、それに対してパスワード認証が成功すれば、デバイスＹにアクティビティの続行が許可される（Ｓ９８）。【選択図】図９
2008276704.tif 000002
【特許請求の範囲】
【請求項１】
接続されたデバイスにより逐次実行される複数の処理工程によって構成されるワークフローを管理するワークフロー管理サーバであって、
処理工程を実行しているデバイスから受信した当該処理工程の終了種別および進捗状況に応じたメッセージを選択するメッセージ選択手段と、
前記メッセージ選択手段により選択されたメッセージを前記デバイスに送信する第１送信手段とを備え、
前記メッセージ選択手段は、前記終了種別が処理工程の中断を示す種別である場合、前記進捗状況に応じて、次の処理工程に進むことを示す第１メッセージと当該処理工程の処理が中断となった原因を解消するための第２メッセージとから送信すべきメッセージを選択することを特徴とするワークフロー管理サーバ。
【請求項２】
前記メッセージ選択手段は、前記受信した進捗状況が次の処理工程の一部を実行可能な状況である場合、前記第１メッセージを選択し、一方、前記受信した進捗状況が次の処理工程の一部を実行できない状況である場合、前記第２メッセージを選択することを特徴とする請求項１に記載のワークフロー管理サーバ。
【請求項３】
前記終了種別が処理工程の中断を示す種別である場合に送信される前記第１メッセージと前記第２メッセージと、前記終了種別が処理工程の完了を示す種別である場合に送信される第３メッセージとを格納する格納手段を更に備え、
前記第１メッセージは、当該中断となった処理工程において処理済み部分を次の工程に進めることを示すメッセージであり、前記第３メッセージは、当該完了となった処理工程の処理済み部分の取り扱いを説明するメッセージであることを特徴とする請求項１または２に記載のワークフロー管理サーバ。
【請求項４】
接続されたデバイスにより逐次実行される複数の処理工程によって構成されるワークフローを管理するワークフロー管理サーバであって、
処理工程を実行しているデバイスから受信した処理工程の終了種別および進捗状況に応じて、代替デバイスを選択する代替デバイス選択手段と、
前記代替デバイス選択手段により選択された代替デバイスから受信したジョブ要求に対して、前記代替デバイスで実行可能な処理工程を含むワークフローに対応するジョブを送信する第２送信手段と、
前記第２送信手段により送信されたジョブから、当該代替デバイスにより選択されたジョブを示すジョブ選択通知に対して、ジョブ選択許可通知を前記代替デバイスに送信する第３送信手段と
を備えることを特徴とするワークフロー管理サーバ。
【請求項５】
前記代替デバイス選択手段により選択された代替デバイスの識別子と前記代替デバイスで入力されるべきパスワードとを送信するとともに前記パスワードを記憶する第４送信手段とを備え、
前記第３送信手段は、前記代替デバイスから受信したジョブ選択通知に対して、前記代替デバイスにパスワード入力要求を送信し、前記代替デバイスから受信したパスワードと、前記第４送信手段により記憶されたパスワードとを照合して一致した場合に、前記ジョブ選択許可通知を前記代替デバイスに送信することを特徴とする請求項４に記載のワークフロー管理サーバ。
【請求項６】
処理工程を実行しているデバイスから受信した処理工程の終了種別および進捗状況に応じたメッセージを選択するメッセージ選択手段を更に備え、
前記第４送信手段は、前記メッセージ選択手段で選択されたメッセージを前記識別子とともに前記デバイスに送信することを特徴とする請求項５に記載のワークフロー管理サーバ。
【請求項７】
前記代替デバイス選択手段は、前記デバイスが実行していた処理工程に関連する処理工程情報に基づいて、当該処理工程を実行可能であり、かつ、処理を実行していないデバイスを、当該処理工程の終了種別および進捗状況を発行したデバイスとは異なるデバイスの中から代替デバイスとして選択することを特徴とする請求項４乃至６のいずれか１項に記載のワークフロー管理サーバ。
【請求項８】
接続されたデバイスにより逐次実行される複数の処理工程によって構成されるワークフローを管理するワークフロー管理方法であって、
メッセージ選択手段が、処理工程を実行しているデバイスから受信した当該処理工程の終了種別および進捗状況に応じたメッセージを選択するメッセージ選択工程と、
第１送信手段が、前記メッセージ選択工程により選択されたメッセージを前記デバイスに送信する第１送信工程とを有し、
前記メッセージ選択工程では、前記終了種別が処理工程の中断を示す種別である場合、前記進捗状況に応じて、次の処理工程に進むことを示す第１メッセージと当該処理工程の処理が中断となった原因を解消するための第２メッセージとから送信すべきメッセージを選択することを特徴とするワークフロー管理方法。
【請求項９】
接続されたデバイスにより逐次実行される複数の処理工程によって構成されるワークフローを管理するワークフロー管理サーバであって、
代替デバイス選択手段が、処理工程を実行しているデバイスから受信した処理工程の終了種別および進捗状況に応じて、代替デバイスを選択する代替デバイス選択工程と、
第２送信手段が、前記代替デバイス選択工程により選択された代替デバイスから受信したジョブ要求に対して、前記代替デバイスで実行可能な処理工程を含むワークフローに対応するジョブを送信する第２送信工程と、
第３送信手段が、前記第２送信工程により送信されたジョブから、当該代替デバイスにより選択されたジョブを示すジョブ選択通知に対して、ジョブ選択許可通知を前記代替デバイスに送信する第３送信工程と
を有することを特徴とするワークフロー管理方法。
【請求項１０】
請求項１乃至７のいずれか１項に記載のワークフロー管理サーバとしてコンピュータを機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えばサーバでワークフローを管理して製本印刷などを実施する際のワークフロー管理サーバ及び方法に関する。
【背景技術】
【０００２】
ワークフローに関してはＷｆＭＣ（Ｗｏｒｋｆｌｏｗ  Ｍａｎａｇｅｍｅｎｔ  Ｃｏａｌｉｔｉｏｎ）などでその規格が決められている。ワークフローとは、ビジネスプロセス全体またはその一部の自動化であり、ワークフローによって文書や情報、タスクが手続き規則に従って担当者から他の担当者へ引き継がれる。またワークフローは、一又は複数のワークフローエンジンの上で動作するソフトウェアにより実行され、ワークフロー管理システムにより定義され、生成され、処理される。ワークフロー管理システムは、ワークフローおよび処理工程を定義した定義データを解釈し、ワークフローの担当者と相互作用し、必要に応じてアプリケーションプログラムを起動する。
【０００３】
ワークフローは各種のソフトウェアに応用され、製本プリントオンデマンド（ＰＯＤ）システムなどでも使用されている。ＰＯＤワークフローのような仕組みでは、１台のパーソナルコンピュータ（ＰＣ）で構成されるワークフロー管理システムによりワークフローを管理し、一人の作業者の元、製本印刷などを実施している。近年では、オーダ管理マネージャからプリンタ等のデバイスがジョブリストを取得し、表示してジョブの選択及び実行指示を受け付けるシステムが提案されている（特許文献１等参照）。これによって、サーバでワークフローを管理させておき、空いている人が、空いているデバイスを使用し、実施可能な工程だけを実施する仕組みが提供される。
【特許文献１】特開２００４−２０８６３２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上記従来技術に係るワークフロー管理システムでは、処理工程を実行するデバイスに障害があると、障害の発生を通知するためのメッセージをデバイスの表示部により表示していた。このため、ジョブの担当者はその障害を解消すべく操作を行うが、障害が解消されるまでワークフローは中断される。
【０００５】
ところが、障害が生じたデバイスが実行していた処理工程が未完であっても、その次段の処理工程を実行できる場合がある。たとえば、デバイスがプリントデバイスであり、複数部数分の印刷物を印刷する処理工程を実行しており、次段の処理工程が部単位の製本であるとする。この場合、印刷途中でプリントデバイスに用紙切れやトナー切れ、故障等の障害が生じても、部単位で印刷が行われていれば、印刷が済んだ部数については、次段の製本処理工程に渡すことができる。
【０００６】
しかしながら、デバイスを用いて処理工程を実行させる担当者が必ずしもこのような判断を行えるとは限らない。特に作業者が初心者である場合、当該作業者は、障害時に表示された内容に従った作業を行うため、処理済み部分を次の工程に進めるといった応用技術を実行することは困難であった。このため、従来のワークフロー管理システムにより、中断している処理工程の次の処理工程を先行実施することは実現されず、ワークフローの処理が滞るおそれがあった。
【０００７】
本発明は上記従来例に鑑みて成されたもので、処理工程が中断されても、効率的にワークフロー処理を進めることのできるワークフロー管理サーバ及び方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するために本発明は以下の構成を備える。
【０００９】
接続されたデバイスにより逐次実行される複数の処理工程によって構成されるワークフローを管理するワークフロー管理サーバであって、
処理工程を実行しているデバイスから受信した当該処理工程の終了種別および進捗状況に応じたメッセージを選択するメッセージ選択手段と、
前記メッセージ選択手段により選択されたメッセージを前記デバイスに送信する第１送信手段と
を備え、
前記メッセージ選択手段は、前記終了種別が処理工程の中断を示す種別である場合、前記進捗状況に応じて、次の処理工程に進むことを示す第１メッセージと当該処理工程の処理が中断となった原因を解消するための第２メッセージとから送信すべきメッセージを選択することを特徴とする。
【００１０】
他の側面によれば本発明は以下の構成を備える。
【００１１】
接続されたデバイスにより逐次実行される複数の処理工程によって構成されるワークフローを管理するワークフロー管理サーバであって、
処理工程を実行しているデバイスから受信した処理工程の終了種別および進捗状況に応じて、代替デバイスを選択する代替デバイス選択手段と、
前記代替デバイス選択手段により選択された代替デバイスから受信したジョブ要求に対して、前記代替デバイスで実行可能な処理工程を含むワークフローに対応するジョブを送信する第２送信手段と、
前記第２送信手段により送信されたジョブから、当該代替デバイスにより選択されたジョブを示すジョブ選択通知に対して、ジョブ選択許可通知を前記代替デバイスに送信する第３送信手段とを備える。
【発明の効果】
【００１２】
本発明によれば、処理工程が中断されても、効率的にワークフロー処理を進めることができる。
【発明を実施するための最良の形態】
【００１３】
［第１実施形態］
＜ワークフローの概略＞
以下、添付図面に従って本発明に係る実施形態を詳細に説明する。図１は、標準的なワークフローの概念の示す模式図である。図１においてワークフロー１０は「社員の住所変更ワークフロー」というタイトル部１１を持つ。アクティビティ１２は申請という動作を社員が実施することを示している。なお、アクティビティとは、ワークフローを構成する処理工程を指す。アクティビティ１２の作業が終了するとアクティビティ１３が開始される。アクティビティ１３は中間承認という処理を課長が実施するものである。アクティビティ１３が終了するとアクティビティ１４が実施される。アクティビティ１４は最終承認であり、人事課長が実施する。アクティビティ１２、アクティビティ１３、アクティビティ１４は、ワークフロー１０に含まれる個々の処理工程を表す。アクティビティは実施する作業内容と担当者グループとを含む。アクティビティを実施することが可能であるものと定義された担当者グループのことを特にロールと呼んでいる。時系列に実施される１又は複数のアクティビティの集合をワークフローと呼ぶ。ただし複数のアクティビティが非同期に実施される場合もある。アクティビティは例えば識別子とロール等により定義されている。またワークフローは、たとえばその識別子（名称）と、ワークアイテムの識別子を時系列に並べたデータとで表すことができる。図１に例示した社員の住所変更のワークフロー１０では、社員による申請アクティビティ１２から始まり、課長の中間承認アクティビティ１３を得て、人事課長の最終承認アクティビティ１４が実施される。
【００１４】
図２はワークフロー動作時の概略図である。通常、ワークフローは、一つの定義を行うことでロールに該当する人であればだれでも実施できる。つまり図１のワークフローの定義において、アクティビティ１２のロールを社員と記載しておくことで、社員であれば誰でもこのフローに則って住所変更が実施できる。社員の「鈴木」が申請を行った際の動作例を図２に示す。図２においてアクティビティ１２−１４の状態は、対応するワークアイテム２１−２３それぞれにより示される。アクティビティの処理が開始されるとワークアイテムが作成され、ワークアイテムの実行者欄に実行者名が記載され、アクティビティが終了するとその状態欄に完了状態が記載される。ワークアイテムに含まれるロールや識別子は、アクティビティを定義したアクティビティ定義情報から得られる。ワークフローに沿ってアクティビティで処理されるものをジョブという。一般的にはジョブとワークフローとは一対一の関係が成り立つ。そのため、たとえばジョブの選択とはワークフローの選択を意味している。図２１にジョブ２１０４を示す。ジョブは、ワークフローの状態を示す情報であり、ワークフローと関連づけられて保存されている。ジョブには、固有の番号と、ワークフローが処理対象とするデータやパラメータへのポインタ、現在行われている処理工程、ワークフローの状態が含まれる。現在行われている処理工程は、実施中のアクティビティの内容である。アクティビティを完了して次のアクティビティの実施を待っている場合には、次のアクティビティが現在の処理工程として保存されている。ワークフローの状態は、エラーが生じていない場合あるいはエラーが解消されて復旧している場合には正常となる。
【００１５】
図２は、アクティビティ１２が終了し、アクティビティ１３が行われている状態を示している。ただしアクティビティ１３に対応するワークアイテム２２の状態欄が「ＩＮＩＴ」のため、その次のアクティビティ１４は実施されていない。すなわち、ワークアイテム２３は、図２の状態ではまだ作成されていない。ワークアイテムの状態は、通常「ＩＮＩＴ」、「ＯＰＥＮ」、「完了」のいずかである。「ＩＮＩＴ」は作業が発生したことを示し、「ＯＰＥＮ」は作業の実行権を獲得したことを示し、「完了」は作業が終了したことを示している。ワークアイテム２３は、ワークアイテム２２が完了状態となってアクティビティ１４が動作を開始した際に生成される。ワークアイテム２１は、ワークアイテム番号（識別子）が８００１０である。ロールは社員であり実行者は鈴木であり、状態は完了となっている。ワークアイテム２２は、番号が８００１１でロールは課長、実行者は吉田で、状態はＩＮＩＴである。ワークアイテム２２のように実際に作業を開始していないのに実行者が定義される場合がある。ワークアイテム２１の実行者が鈴木であることでその課長の吉田が次のアクティビティ１３の実行者として自動的に割り振られる場合があるからである。一般にロールに属するメンバが一人であれば実行者はアクティビティ開始前に割り振られる。これは、実行者が唯一つに決定されるからである。そのため、人事課長が１人である場合、ワークアイテム２３は、アクティビティ１４の実行が開始される際に、番号が８００１２、ロールは人事課長、実行者は柿本、状態は「ＩＮＩＴ」を持つワークアイテムとして生成される。ワークアイテム２３はまだ発生はしていないため、図２では破線で示している。
【００１６】
＜ＰＯＤワークフロー＞
図３は本発明の第１実施形態であるＰＯＤワークフロー処理システムのシステム概要図である。ＰＯＤワークフローでは、コンピュータやプリンタ等のハードウェア資源によりアクティビティが実行される。アクティビティを実施するデバイスがワークフロー管理サーバとネットワークで接続されている場合、ワークフローの各アクティビティは、ネットワークで接続されたデバイスにより逐次実行されるものといえる。ただし、ハードウェア資源の操作や、アクティビティによる成果物の運搬等については人手で行われる場合もある。
【００１７】
図３において、ワークフロー管理サーバ３１は、ＰＯＤワークフローの管理サーバとして機能し、ワークフローの生成やワークフローの実行の管理等を行う印刷ワークフロー管理サーバである。印刷ワークフロー管理サーバ３１には、担当者管理部３３，回線制御部３４，ワークフロー管理部３５，アクティビティ管理部３６，ワークアイテム管理部３７，デバイス管理部３８，ワークフロー生成部３１４等が含まれる。回線部３２は、インターネット、イントラネットなどであり、印刷ワークフロー管理サーバ３１とアクティビティを実行するデバイスとを接続する。
【００１８】
担当者管理部３３は、アクティビティのロール情報などを管理する。担当者管理部３３は、ロール情報としてたとえばロールの識別子とそのメンバとを関連づけたロール構成テーブルを保存している。回線制御部３４は、回線部３２を経由して他のデバイスやＰＣなどと通信を行う。ワークフロー管理部３５は、ワークフロー生成部３１４で生成された各種ワークフローを定義したワークフロー情報を管理する。ワークフロー情報には、たとえば当該ワークフローの名称、ワークフローを管理するアクティビティの識別子とその順序等を示す情報が含まれる。アクティビティ管理部３６は、ワークフロー中のアクティビティが個別に有する情報（アクティビティ情報と呼ぶ）を管理する。アクティビティ情報には、ワークフローを構成する静的な情報とワークフローが動作を開始した後で生成される動的な情報とが含まれる。静的なアクティビティ情報には、たとえばアクティビティの識別子に関連づけて、当該アクティビティを実施可能なロールや、アクティビティの処理内容、アクティビティが属するワークフローの名称などに関する情報が含まれる。アクティビティ管理部３６は、このほか後述するアクティビティエラー定義テーブルを保存し、管理している。
【００１９】
ワークアイテム管理部３７は、ワークフローが動作を開始して各アクティビティに対応したワークアイテムを生成し、管理する。ワークアイテム管理部３７は、たとえば生成されたワークアイテムそのものやワークアイテムに関連する作業内容などを管理している。なお、ワークフロー管理部３７は、後述するメッセージ、ジョブを送信する送信部としても機能する。送信に関する機能としては、後述する図７のＳ７６にて実行される選択されたメッセージを送信する第１送信機能を備える。また、送信機能は、代替デバイスで実行可能な処理工程を含むワークフローに対応するジョブを送信する第２送信機能（Ｓ９３）、ジョブ選択許可通知を代替デバイスに送信する第３送信機能（Ｓ９８）を含む。さらに、送信機能は、代替デバイスの識別子と代替デバイスで入力されるべきパスワードとを送信するとともにパスワードを記憶する第４送信機能（Ｓ９６）を含む。デバイス管理部３８は、ＰＯＤワークフロー処理システムが使用するデバイスを管理する。たとえば、ＰＯＤワークフロー処理システムが使用することが可能な印刷機や、ＰＣ、製本機などの使用状況や使用予定、さらに各デバイスの記録紙などの消耗品の残量などを示す情報を保存し、デバイスの状態に応じて更新する。ワークフロー生成部３１４は、通常クライアント３９からＨＴＴＰなどを通してアクセスされ、クライアント３９のウエブブラウザなどで動作するエディタ機能を提供する。このエディタ機能を使用するユーザの編集操作に応じて、図１で示したようなワークフローを生成する。生成されるワークフローは、名称とアクティビティとを含む情報であり、生成後はワークフロー管理部３５により保存され更新され、実行される。
【００２０】
クライアント３９は、印刷ワークフロー管理サーバ３１と通信するパーソナルコンピュータ（ＰＣ）などのクライアント装置である。クライアント３９は、ウエブブラウザなどで印刷ワークフロー管理サーバ３１の提供する情報を参照することができる。本実施形態では、クライアント３９を端末としてユーザがサーバへログインし、ログインユーザに対して印刷ワークフロー管理サーバ３１が提供するウエブ画面上のボタン操作などでユーザがワークフローを起動する。またログインユーザが処理できるワークアイテムを表示することもできる。
【００２１】
入稿アプリケーション３１０は、ＰＯＤワークフロー処理システムにおける入稿を実現するソフトウェアである。入稿アプリケーション３１０は、たとえば依頼者から電子ファイルや紙文書による出力依頼を受付け、出力対象の文書を必要に応じて電子化して保存する。また電子ファイルによる入稿を受け付けた場合には、必要に応じてファイルの形式を変換する機能を持っても良い。入稿アプリケーション３１０はクライアント３９上で動作していてもよく、あるいはクライアント３９とは別のＰＣ上で動作してもかまわない。本実施形態ではクライアント３９とは別のＰＣで実行されているものとする。
【００２２】
面付けアプリケーション３１１は、ＰＯＤワークフロー処理システムで印刷物の形状を指定するソフトウェアである。操作者は、面付けアプリケーション３１１を用いて、入稿された電子ファイルに対して両面や中綴じなどの出力形状を指定できる。本アプリケーションはクライアント３９で実行されてもよく、ネットワーク上の別のＰＣ上で実行されてもかまわない。また入稿アプリケーション３１０と一体化されたアプリケーションとして実現されてもよい。本実施形態では、面付けアプリケーション３１１は、クライアント３９とは別のＰＣで実行されているものとする。
【００２３】
プリンタ３１２は、ＰＯＤワークフロー処理システムにおいて印刷を行う。プリンタ３１２は、プリンタ単体のデバイスでもファクシミリなどの複数の機能を備えたマルテファンクション機（ＭＦＰ）でも構わない。製本機３１３は、プリンタ３１２から出力された記録紙に対して製本処理を行うためのデバイスである。製本には、たとえばくるみ製本などがある。製本器３１３には、プリンタ３１２と一体となり排出された記録紙を搬送して製本するインライン製本機と、配線部３２に接続されているがプリンタ３１２とは別体の装置であるニアライン製本機がある。さらに、プリンタ３１２とは接続されていないオフラインの装置であるオフライン製本機もある。本実施形態では、ニアライン製本機を製本機３１３として利用する。
【００２４】
図４はＰＯＤワークフローの定義例である。ワークフロー４０には、その名称がタイトル部４１に記述されている。本例では「ＰＯＤワークフロー」という名称である。アクティビティ４２は画像変換であり、ロールとしてＡソフト群が指定されている。すなわち、アクティビティ４２は、画像変換を行うアクティビティであり、その実行は、Ａソフトというグループに属しているＰＣやソフトウェア群に許可されている。アクティビティ４３は面付けであり、ロールとしてＢソフト群が指定されている。すなわち、アクティビティ４３は、面付けを実施するアクティビティであり、その実行はＢソフトというグループに属しているＰＣやソフトウェア群に許可されている。アクティビティ４４は印刷を実行するアクティビティであり、ロールとしてＸプリンタ群が指定されている。すなわち、アクティビティ４４は印刷を行うアクティビティであり、その実行はＸプリンタというグループに属しているプリンタに許可されている。このＸプリンタ群は、図５のロール構成テーブルに例示されているように、依頼された出力が可能な機能を持つプリンタが複数ある場合には、それら複数のプリンタを含む。アクティビティ４５は製本であり、そのロールとして製本マシンＸＸ群が指定されている。すなわち、アクティビティ４５は製本を行うアクティビティであり、その実行は製本マシンＸＸというグループに属している製本機に許可されている。ワークフロー４０はワークフロー作成部３１４部で作成され、ワークフロー管理部３５で管理されている。
【００２５】
図５はアクティビティ４４のロールとして定義されたＸプリンタ群の例を示す図である。「Ｘプリンタ群」はＸ１プリンタ５１からＸ３プリンタ５４の４台のデバイスの集合である。Ｘ１プリンタ５１は２１居室にあるＸ１プリンタデバイスであり、同様にＸ２プリンタ５２は３２居室にあるＸ２プリンタ、Ｘ２プリンタ５３は２１居室にあるＸ２プリンタデバイス、Ｘ３プリンタ５４は実験室３にあるＸ３プリンタデバイスである。いずれのデバイスも各居室、実験室で一意に決定される。もしも同一居室に２台以上同種のプリンタがある場合には、たとえば識別符号などが付与されて識別される。なお「Ｘプリンタ群」とは単なる名称であり、Ｘプリンタ以外のデバイスが登録されていても、それがアクティビティ４４を実施できるデバイスであれば構わない。
【００２６】
＜アクティビティエラー定義テーブル＞
図６は本発明に係るアクティビティエラー定義テーブルの一例を示す図である。アクティビティエラー定義テーブルは、ワークフロー作成時にアクティビティに関する情報として定義され、アクティビティ管理部３６で管理される。アクティビティエラー定義テーブルは、各ワークフローのアクティビティ１つにつき１つ定義されている。アクティビティエラー定義テーブル６０は、１部が１５枚の印刷物を１００部印刷するワークフローにおける「印刷」アクティビティに関するエラー時の対応を定義するテーブルである。終了種別６１は印刷アクティビティの終了種別を表す列、進行条件６２は次のアクティビティへ進むための条件が記載されている列、表示情報６３は、表示情報があるか否かを示す情報を含む列である。表示情報６３に「有」が含まれると、デバイスのパネルに表示するための情報があることをしめす。メッセージ６４は、デバイスに表示されるメッセージ列を示す情報である。メッセージ６５は、メッセージ６４に定義されたメッセージの次にデバイスに表示されるメッセージである。これら各欄は、終了種別毎に定義されている。なお終了種別が「正常終了」の場合は、次段のアクティビティが無条件で実行されることから、アクティビティエラー定義テーブルには登録されていない。
【００２７】
終了種別６１が正常終了６６の場合、進行条件６２は「常」であり、無条件に次のアクティビティへ進むことが示されている。またその際には、「印刷物は棚Ａに保留しておく」というメッセージ６４がデバイスに表示される。
【００２８】
終了種別６１が「紙なし」６７の場合は、進行条件６２として、「１５０枚以上の記録」が定義されている。このため、もし１５０枚以上記録紙が出力されていればワークフローは次のアクティビティへ進み、一方１５０枚以上の印刷が実施されていない場合には印刷アクティビティは中断される。次のアクティビティに進む場合、印刷ワークフロー管理サーバ３１は、「印刷物のうち１頁から１５ｘＮ頁までは棚Ａに保留し、のこりはトレイに残しておいてください。」という第１メッセージと、「契約書用紙Ａを補給してください」というメッセージ２とをデバイスに表示する。ここでメッセージの「１５ｘＮ」には、印刷が完了している部数に１部当たりのページ数を乗じた値が代入されて表示される。たとえば１８３枚出力されており、印刷が部単位で行われているとすれば、部数Ｎは１８３／１５＝１２部であり、１５ｘ１２＝１８０が「１５ｘＮ」に代えて表示される。これは、１８０ページまでは次段のアクティビティである製本を実施できるためである。また、２つのメッセージの切り替え方法は、デバイスに依存している。たとえば最初のメッセージの表示後１０秒後に次のメッセージが表示されるように構成したり、最初のメッセージが表示された後にボタンの押下により次のメッセージを表示することなどが考えられる。一方、１５０枚の印刷が実施されるまでに紙なしとなり、次段のアクティビティに進まない場合には、「契約書用紙Ａを補給してください」のメッセージが表示される。ただし、この例では、印刷はプレプリントの契約書用紙Ａを用いて行われているものとしている。
【００２９】
印刷種別６１がトナー無し６８の場合には、進行条件として「１５０枚以上の記録」が定義されている。このため、トナー無しが発生する前に１５０枚以上記録紙が出力されていれば、ワークフローは次のアクティビティへ進み、一方１５０枚以上の印刷が実施されていない場合には、印刷アクティビティは中断される。次のアクティビティに進む場合、「印刷物のうち１頁から１５ｘＮ頁までは棚Ａに保留し、のこりはトレイに残しておいてください。」というメッセージと、たとえば「トナーを補給してください」というメッセージとをデバイスに表示する。ここでメッセージの「１５ｘＮ」には、印刷が完了している部数に１部当たりのページ数を乗じた値が代入されて表示される。また、どのように２つのメッセージを切り替えるのはデバイスに依存している。一方、１５０枚の印刷が実施されるまでにトナーぎれとなり、次段のアクティビティに進まない場合には、「トナーを補給してください」などのデバイスに依存したメッセージが表示される。この例では電子写真方式のプリンタが利用されているものとしている。
【００３０】
終了種別６１がジャム６９の場合には、進行条件６２はなく、アクティビティはそのままの状態で中断される。また、２つのメッセージ出力指示が行われる。メッセージ１は「ジャムを解除してください」であり、メッセージ２は「先頭ページから印刷してください」である。本例では、ジャムが発生した場合には、先頭のページから出力し直させるようにワークフロー設計者が設計している。
【００３１】
終了種別６１がストップキー押下６１０の場合には、進行条件６２はなく、アクティビティはそのままの状態で中断される。また、２つのメッセージ出力指示が行われる。メッセージ１は「出力物は破棄してください」であり、メッセージ２は「再度ジョブを選択してください」である。本例では実行するジョブをプリンタデバイスのパネルで指定する構成をとっているため、ジョブを選択するようにユーザに促す画面を表示している。
【００３２】
終了種別６１がその他（上記以外）６１１の場合には、進行条件６２はなく、アクティビティはそのままの状態で中断される。また、「システム管理者を呼んでください」のメッセージ出力指示が行われる。
【００３３】
上記のようなアクティビティエラー定義テーブルをアクティビティ単位に持つことで、ワークフローごとにデバイスに表示させるメッセージを変更することが可能となる。さらにはエラーの状況に応じて、エラー発生時における適切なメッセージを表示することが可能になる。
【００３４】
なお本実施形態では印刷のアクティビティに関するエラーテーブルを示したが、どのようなアクティビティについてもアクティビティエラー定義テーブルを定義することが可能である。たとえば、製本アクティビティにエラー定義テーブルを設けることで、製本機の処理中に発生したエラーに応じた対応を定義することができる。また、ハードウェアの障害に限らず、たとえばソフトウェアで実行される入稿アクティビティや面付けアクティビティなどについても、発生したソフトウェア障害に対応した処理進行やメッセージを定義しておくことができる。このように、アクティビティエラー定義テーブルは、進捗状況に応じて送信すべき複数種類のメッセージを格納している。
【００３５】
＜デバイスによるアクティビティのプル実行手順＞
図７は本発明によるプリントデバイス３１２（デバイスと呼ぶ）と印刷ワークフロー管理サーバ３１（サーバと呼ぶ）との通信フロー図である。図７は、プリントデバイス３１２におけるユーザ操作に応じて、印刷ワークフロー管理サーバ３１からジョブを獲得して印刷を行うプル印刷の構成を説明する図である。また、印刷ワークフロー管理サーバ３１の詳細動作は図２４で示す。
【００３６】
Ｓ７１は、Ｓ７０１で入力されたジョブ一覧取得要求に応じて、デバイスが実行可能なジョブの一覧を要求するジョブ一覧要求をサーバに対して発行するステップである。Ｓ７１の要求を受けたサーバは、ワークフロー情報とロール情報、ワークアイテムとを参考に、当該デバイスが実施可能なジョブ一覧をＳ７２で送信する。当該デバイスが実施可能なアクティビティとは、当該デバイスをメンバとして含むグループがロールとして定義された未実施のアクティビティの内、前段のアクティビティが正常終了したアクティビティである。実施可能なアクティビティに関しては関連するワークアイテムも生成されている。そこで実施可能なアクティビティは、ワークアイテムに基づいて検索することができる。またデバイスに送信するジョブ一覧として、実施可能なアクティビティのワークアイテムを送信しても良い。なお正常終了以外であっても、アクティビティエラー定義テーブルで進行条件として定義された進捗状態を満たしていれば、その次段のアクティビティも実施可能であると判定される。サーバは、ジョブ一覧の要求元デバイスをメンバとして含むグループがロールとして定義された未実施のアクティビティをワークフロー管理部に保存されたワークフロー情報から検索する。未実施か否かはアクティビティに対応づけられたワークアイテムを参照することで判定できる。そしてサーバは未実施のアクティビティの前段のアクティビティのワークアイテムを参照して、状態が完了であれば当該アクティビティは実施可能と判定できる。あるいは、未実施のアクティビティの前段のアクティビティのワークアイテムの状態欄を参照し、完了でなければ、状態欄の値を用いてアクティビティエラー定義テーブルを検索する。ワークアイテムから得られた状態がアクティビティエラー定義テーブルに定義された進行条件を満たしていれば、エラー終了であっても、着目アクティビティは実施可能なアクティビティである。
【００３７】
Ｓ７２においてジョブ一覧を受信したデバイスは、パネル上に実行可能なジョブ一覧情報を表示してユーザに作業の選択を促す。ジョブ一覧には、各ジョブの識別子や状態、対応するワークフロー名、実施されているあるいは実施されようとしているアクティビティのロールとして割り当てられたグループの識別子、フローの開始日等が含まれる。デバイスは、ユーザからの指示を受けてジョブを選択すると（Ｓ７０２）、選択されたジョブを示す選択情報をサーバに送付する（Ｓ７３）。選択情報を受信したサーバは、各種のチェックとジョブのステータス変更を行い、アクティビティに関連するワークアイテムを生成して選択されたジョブの実行許可（または選択許可ともいう）を送付する（Ｓ７４）。ジョブのステータスは、図２１に示すジョブの状態欄２１０４２に記述されている。ステータスはたとえばアクティビティ管理部３６により保存と保守が行われる。実行許可を受けたデバイスは、許可されたジョブを実施する（Ｓ７０３）。すなわち選択されたワークフローのうち、実施対象となっているアクティビティを実施する。Ｓ７５は、デバイスが、アクティビティの終了通知を送信するステップである。終了通知には、アクティビティの終了種別やどのような状況で終了したのかを示す進捗状況情報などが含まれている。進捗状況情報には、たとえば印刷を完了した枚数などを示す情報が含まれる。アクティビティの終了通知を受信したサーバは、処理されたアクティビティ情報やそのアクティビティが含まれるワークフロー情報を検索し、該当するアクティビティエラー定義テーブルを求める。サーバは、デバイスから受信した終了種別に該当する進行条件をアクティビティエラー定義テーブルから検索し、該当する進行条件があればデバイスから受信した進捗状況と対比する。そして対比の結果、アクティビティエラー定義テーブルから取得した進行条件を、デバイスから受信した進捗状況が満たしていれば、進行条件に従って次アクティビティへと処理を進行させる。さらにデバイスに表示するメッセージがあれば、そのメッセージを選択し、選択したメッセージをエラー後処理通知情報に含めてデバイスに向けて送信する（Ｓ７６）。このメッセージの選択がメッセージ選択工程及びメッセージ選択手段に相当する。ただし終了種別が正常終了であれば、アクティビティエラー定義テーブルを参照せず、次段のアクティビティに進む。この際に選択されるメッセージは、完了となった処理工程の処理済み部分の取り扱いを説明する第３メッセージである。
【００３８】
以上のシーケンスを実施することで、サーバ側からデバイスに表示する表示情報の送信が行え、ワークフローの結果や進捗状況に応じた処理をデバイスに実施させることが可能になる。本例ではＳ７６中に複数のメッセージを入力できるように構成しているがメッセージ毎にメッセージ要求をデバイスから行い、サーバが次々に表示すべきメッセージを渡せるように構成しても良い。
【００３９】
図８は本発明に係るプリンタデバイスの表示部の表示遷移を示す図である。表示例８１はデバイスのＬＣＤなどで構成されているパネル上の表示であり、作業の一覧表示に移行する一覧表示ボタンを表示している。画面８１において一覧表示ボタンが押下されると、Ｓ７１の信号がサーバへ送信される。その結果、Ｓ７２によりジョブ一覧が受信されると表示例８２に移行する。表示例８２は「ＩＤ」「ステータス」「フロー名」「作業」「担当」「フロー開始日」などの項目名をもったジョブ一覧表示である。本画面上には４つのジョブが表示されている。ジョブ識別子（図ではＩＤ）が「１０」のジョブは「正常」のステータスを持ち、この工程まで正常に進んできていることがわかる。ステータスの詳細は図１１で説明する。このワークフロー名は「マニュアル」でこの作業を実施できるロール（担当）はＹプリンタ群である。アクティビティの内容は「印刷」である。画面８２から、フローの開始日は２００５年６月１０日であることがわかる。右端には選択ボタンが表示されている。ユーザによって本ボタンが選択されることで、このジョブの選択情報がＳ７３でサーバに送信される。これは他のジョブについても同様である。
【００４０】
デバイスは、ジョブの作業許可をサーバからＳ７４で受信すると表示例８３を表示する。本例ではＩＤ２３のジョブが選択されたものとして説明する。表示例８３では、ワークフロー名として「カタログ」が、作業名として「印刷」が表示されている。また、作業を実施中である旨のメッセージ「処理実施中です」が表示されている。さらに、作業を終了させる「キャンセル」ボタンが表示されており、ユーザによりキャンセルボタンが押下されると印刷作業が終了する。
【００４１】
表示例８４として、ジョブの実行中に、３０２ページ分出力した後に「紙無し」エラーが発生した場合の表示例を示す。正常終了を含む何らかの事態（イベント）が発生するとＳ７５で終了通知がサーバに送信される。Ｓ７５では、前述したように終了種別（少なくとも処理工程の完了、処理工程の中断を含む）、ジョブ種別、進捗情報が送信される。本例では、進捗情報には３０２頁まで印刷が終了したことを示す情報を含んでいる。サーバは、図６のアクティビティエラー定義テーブルに従い、「印刷物のうち１頁から３００頁までは棚Ａに保留し、のこりはトレイに残しておいてください」と「契約書用紙Ａを補給してください」というメッセージをＳ７６でデバイスに送信する。つまり、ワークフロー管理サーバは、終了種別が処理工程の中断を示す種別である場合、進捗状態に応じて、中断となった処理工程において処理済み部分を次の工程に進めることを示す第１メッセージを送信すべきメッセージとして選択する。Ｓ７６でエラー後処理通知を受信するとデバイスは表示例８４に移行する。表示例８４にて確認ボタンが押下されるとそれをトリガとして表示例８５に移行する。この確認ボタンの押下の繰り返しでＳ７６に含まれるすべてのメッセージを表示することが可能になる。メッセージの表示がすべて終わった際にはデバイスの待ちうけ画面の表示となる。なお、表示例８５は、進捗状態が、アクティビティエラー定義テーブルの次処理工程への進行条件に該当しない場合にも表示される。つまり、ワークフロー管理サーバ３１は、処理工程の処理が中断となった原因を解消するための第２メッセージを選択する。
【００４２】
ここで、図２４を用いてワークフロー管理サーバの処理について説明する。サーバ３１は、受信したコマンドが終了種別か否かを判定する（Ｓ２４０１）。Ｓ２４０１において、サーバ３１が、受信したコマンドに処理工程の終了種別として「完了」または「中断」が含まれているかを判定することにより、Ｓ２４０１の判定処理が実現される。
【００４３】
サーバ３１は、終了種別が「完了」であると判定した場合、アクティビティエラー定義テーブルを参照して「正常終了」時の対応を実行する（Ｓ２４０８）。
【００４４】
一方、サーバ３１は、終了種別が「中断」であると判定した場合、Ｓ２４０１にて受信したコマンドに含まれる進捗状況情報を確認し（Ｓ２４０２）、進捗状況がアクティビティエラー定義テーブルの進行条件を満たすか否かを判定する（Ｓ２４０３）。なお、具体的な判定方法は、図６において説明したので省略する。
【００４５】
Ｓ２４０３において、進捗状況が進行条件を満たさないと判定された場合、サーバ３１は、アクティビティエラー定義テーブルから進行条件を満たさない場合に送信すべき第２メッセージを選択して、Ｓ２４０１のコマンド送信元デバイスに送信する（Ｓ２４０４）。
【００４６】
Ｓ２４０３において、進捗状況が進行条件を満たすと判定された場合、サーバ３１は、アクティビティエラー定義テーブルから進行条件を満たす場合に送信すべき第１メッセージを選択して、Ｓ２４０１のコマンドの送信元デバイスに送信する（Ｓ２４０５）。その後、サーバ３１は、次に送信すべきメッセージの有無をアクティビティエラー定義テーブルから判定し（Ｓ２４０６）、Ｓ２４０６の判定結果に応じて、次のメッセージを送信する（Ｓ２４０７）。
【００４７】
通常のプリンタデバイスであると、記録紙がなくなった際には単に「記録紙を追加してください」のメッセージをデバイスの表示部に表示する。しかしこれは、ワークフローにおける作業にふさわしいメッセージではない。たとえば本例のようにあらかじめ罫線などが印刷されたプレプリント用紙を使用することもありえるし、作業に応じて変更したい内容が発生するためである。また、本願を用いることでアクティビティによる成果物の一部のみを次段のアクティビティにおける処理に進められる場合にも、操作者に適切な指示を与えることができる。
【００４８】
また本例では示さなかったが、表示例８３に示すワークフロー名、作業名、実施中を示す情報などもＳ７４でサーバからデバイスに送信してもよい。
【００４９】
＜代替デバイスによるアクティビティ再開手順＞
図９は本発明による中断再開時におけるデバイスとサーバとの通信フロー図である。図９は、図６、図７、図８に示した手順と異なる例を示している。すなわち、図９の手順は、アクティビティエラー定義テーブルとして、図１３が用いられている。
【００５０】
図１３は、アクティビティエラー定義テーブル中の可変プリンタ名および可変パスワードの指定例を示す図である。項目１３０１から１３０５は図６の項目６１から６５と同様である。欄１３０６は正常終了時におけるサーバの処理を示している。欄１３０７は紙無しエラー発生時の処理を記している。発生したエラーの終了種別１３０１が「紙なし」１３０７の場合、アクティビティが次段のアクティビティへと進むことはなく、中断ジョブとして印刷ワークフロー管理サーバ３１で管理される。また、エラーが発生したデバイスに、メッセージとして「デバイス％Ｄへ行き出力してください。」「パスワードは％Ｐです。」を表示するために、印刷ワークフロー管理サーバは、メッセージをテーブルに保存している。％Ｄおよび％Ｐは可変文字列となっておりサーバ部で適切な値が設定される。％Ｐに関してはサーバ部が適当な値を割り振り、％Ｐに文字列を設定しデバイスに送付するとともに動作中のアクティビティ情報中に記憶させておく。％Ｄに関してはサーバ部が図１５のフローに従い決定し、プリンタを決め、該当プリンタ名の文字列を％Ｄに代入しデバイスに送付する。印刷ワークフロー管理サーバ３１が、図１３のような構成を持つことで、ワークフローの設計時にプリンタ名を取得しておく必要が無く、汎用的なメッセージとして記憶でき、使用できるプリンタが変わった際にも自動的に対応が可能となる。
【００５１】
さて、図９のＳ９１では、デバイスＸで紙無しが発生した際にデバイスＸからエラー発生通知がサーバに通知される。これはＳ７５と同等のものである。Ｓ９１によるエラー発生通知を受け付けたサーバは、該当ワークフローが保持しているジョブのステータスを「中断」として、代替デバイス選択処理を行う。この処理は、図１５乃至図１８で説明する。そこで選択された代替デバイスの候補に基づいて、サーバはＳ９２でエラー後処理通知をデバイスに送信する。エラー後処理通知に含まれるメッセージは、図１３に示すとおりである。発生したエラー及びアクティビティエラー定義テーブルを除けば、Ｓ９１及びＳ９２は図７のＳ７５及びＳ７６とそれぞれ同様の処理である。なおＳ９２で送信される通知には「デバイス％Ｄへ行き出力してください。パスワードは％Ｐです。」のうち、％Ｄ、％Ｐ部をサーバで展開したメッセージに変換する。「％Ｄ」は、当該アクティビティのロールに含まれるデバイスＸ以外のデバイス名で置換される。Ｓ９０１では「％Ｄ」を置換する具体的なデバイス名が決定される。本例ではデバイスＹがそのロールに含まれているため、Ｓ９３以降は、「％Ｄ」としてデバイスＸに表示されたデバイスのうちのデバイスＹとサーバとの間で実行される。
【００５２】
Ｓ９３では、デバイスＹからサーバにジョブ一覧要求（またはジョブ要求）が送信される。この例では、デバイスＹにおいてデバイスＸで中断したジョブを続行する。Ｓ９４において、サーバは、デバイスＹで処理が可能なジョブ一覧を返却する。ジョブ一覧には、デバイスＸで中断し、デバイスＹで続行可能と判断されたアクティビティのワークアイテム及び付随するジョブ情報が含まれる。Ｓ９５は、一覧表示から中断ジョブが選択された場合に、そのジョブの作業をデバイスＹが実施可能かサーバに問い合わせる工程である。Ｓ９６は、サーバ内でデバイスＹの中断ジョブへの権限を確認後、パスワードの入力表示を指示する工程である。Ｓ９７は、デバイスＹが、ユーザにより入力されたパスワードをサーバに送信する工程である。Ｓ９７によりサーバはあらかじめ保存されているパスワードと一致していれば選択許可をＳ９８でデバイスに送付し、デバイスＹに作業許可を与える。図９には正常系のフローしか記載していないがエラー時には「パスワードが違います」と「ジョブへのアクセス権がありません」などのそれ相応のコマンドがサーバからデバイスへ通知されユーザが認識できる。
【００５３】
図１０は中断再開時の表示例を示している。表示例１００１及び１００２はデバイスＸでの表示であり、表示例１００３と１００４はデバイスＹでの表示である。表示１００１は表示８３と同等のデバイス表示であり、処理を実施中であるメッセージを含んでいる。障害が発生すると、デバイスＸはＳ９１におけるエラー発生通知の送信に対してＳ９２におけるエラー後処理通知を受信し、表示例１００１から表示例１００２に移行する。表示例１００２は「デバイス％Ｄへ行き出力してください。パスワードは％Ｐです。」のうち％Ｄ、％Ｐ部にサーバが適当に文字列を代入した文字列が表示される。本例ではデバイス％ＤがＹプリンタでありパスワード％Ｐが４５６７である。表示１００２で確認ボタンが押下されるとデバイスＸの表示がアイドル状態の表示となる。あるいは、エラーによりジョブが中断して、ジョブの一部が未処理のまま残っている場合には、エラー解除を要求するメッセージが表示された状態となる。
【００５４】
デバイスＹで中断ジョブを印刷する際の表示例を表示例１００３、１００４で示す。表示例１００３はリスト表示であり、現在は４つのジョブが表示されている。このうち、ユーザが、ＩＤが１０番のステータスが中断中となっているジョブを選択した場合を想定する。この選択ボタンが押下されるとＳ９５で中断ジョブを選択するジョブ選択通知（コマンド）が送信される。これに対してサーバがＳ９６で送信したパスワード入力要求をデバイスＹが受信すると、デバイスは表示例１００４のパスワード入力画面を表示する。ユーザがデバイスのキーで確認ボタンを押下すると、Ｓ９７でパスワード入力応答がサーバに対して発行される。その後サーバによる認証でパスワードが一致していれば、Ｓ９８でサーバからデバイスへジョブ選択許可通知が送信され、デバイスＹで中断ジョブが印刷される。
【００５５】
ここで表示例１００３のジョブ一覧で表示される項目のうち、「ステータス」項目について説明する。本例で表示されるステータスは４種類である。
【００５６】
図１１はデバイス上のパネルに表示されるステータスの説明図である。ステータス１１０２は「正常」ステータスである。「正常」ステータスは、該当するアクティビティ（すなわちジョブ）に到るまでワークフローに異常が発生していなかったか、発生していたとしても正常に再開された状態を示している。ステータス１１０３は「中断中」ステータスである。「中断中」ステータスは、該当するアクティビティは別のデバイスで実行されたが処理が中断していることを示している。ステータス１１０４は「印刷中」ステータスである。「印刷中」ステータスは、該当するアクティビティが現在他のデバイスで実施されていることを示している。ステータス１１０５は「処理中」ステータスである。「処理中」ステータスは、該当するアクティビティがまさに自デバイスで処理されていることを示している。本実施形態では正常ステータス１１０２及び中断中ステータス１１０３のジョブを選択処理することができる。図９のＳ９５で選択されたジョブは、この中断中ステータスのジョブである。
【００５７】
本実施形態では、「印刷中」、「処理中」ステータスのアクティビティも表示しているが、これは、選択が不能なのでサーバ側で処理可能リスト一覧に含めなかったり、クライアントで表示処理を行わないなどの対応も考えられる。
【００５８】
＜デバイス管理テーブル＞
図１４は、印刷ワークフロー管理サーバ３１のデバイス管理部３８が管理しているデバイス管理テーブル１４００の一例である。デバイス管理テーブル１４００は、後述の図１５のフローチャートに示す処理でも使用される。管理デバイス欄１４０１は、管理対象のデバイス名（識別子）を示す列である。ＩＰアドレス欄１４０２はデバイスのＩＰアドレスを保存する列である。残枚数欄１４０３は管理対象のデバイスにセットされている記録紙の残枚数を保存する列である。使用スケジュール欄１４０４は管理対象のデバイスの使用スケジュールを保存する列である。詳細欄１４０５は管理対象デバイスの説明書きが格納されている列である。本例ではデバイス欄１４０６とデバイス欄１４０７という２つの管理対象デバイス欄がデバイス管理テーブル１４００に登録されている。デバイス欄１４０６はＡプリンタデバイスの情報である。Ａプリンタデバイスは、ＩＰアドレスが１７２．２０．２０．２０であり、残枚数が５４０枚である。また使用スケジュールとして以下の予約が入っている。「９月２０日１３時から１６時」「９月２１日１５時から１７時」「９月２１日１８時から２２時」。詳細情報は「２Ｆ居室マシンです。」の説明書きがある。デバイス欄１４０７はＢプリンタデバイスの情報である。Ｂプリンタデバイスは、ＩＰアドレスが１７２．２０．２０．２１であり、残枚数が１００枚である。また使用スケジュールとして以下の予約が入っている。「９月２０日１３時から１６時」。詳細情報は「操作パネルなし」の説明書きがある。ワークフローのアクティビティを実施するデバイスはプリンタや複合機だけではなく、印刷ワークフロー管理サーバ３１が使用できるデバイスに関する情報がデバイス管理テーブルに登録される。印刷ワークフロー管理サーバ３１にネットワークで接続されているデバイスに限らず、オフラインのデバイス情報を登録しても良い。
【００５９】
このようなデバイス情報の管理を印刷ワークフロー管理サーバ３１で行うことで、アクティビティ中断時の代替えマシンを決定する際に有効な情報となる。代替え機の決定フローは図１５に示す。なお本例では残枚数を管理しているが、用紙サイズごとの残り枚数を管理してもよい。用紙サイズのごとの残枚数を管理することで、ワークフローが使用する用紙サイズを意識して代替機を決定することが可能になる。なお残枚数や使用スケジュールはデバイスの使用の都度変化する情報であるので、印刷ワークフロー管理サーバ３１は、デバイスにその状態を示す情報を要求し、受信したその状態情報によってデバイス管理テーブルを更新する。なお、オフラインデバイスをデバイス管理テーブルに登録する場合、頻繁に状態が変化するデバイスの状態を実時間で更新することは困難である。そこでデバイス管理テーブルに登録するオフラインデバイスは、たとえばスキャナや製本機等、消耗品を使用しないデバイスが望ましい。
【００６０】
＜サーバにおけるコマンド対応処理＞
図１６から図２０は本発明に係るサーバによるコマンド受信時の遷移フローである。Ｓ１６０１において、印刷ワークフロー管理サーバ３１はデバイスから受信したコマンドを解析する。Ｓ１６０１において、印刷ワークフロー管理サーバ３１が解析する対象は、Ｓ７１，Ｓ７３，Ｓ７５，Ｓ９１，Ｓ９３，Ｓ９５，Ｓ９７等で受信したメッセージが解析対象となるコマンドである。Ｓ１６０２において、印刷ワークフロー管理サーバ３１は、解析したコマンドがジョブ一覧要求であるかを判定する。ジョブ一覧要求であればＳ１６０３へ進み、異なる場合にはＳ１６０６へ進む。
【００６１】
Ｓ１６０３において、印刷ワークフロー管理サーバ３１は、ジョブ一覧要求元のデバイスの所属グループを検索する。Ｓ１６０４において、印刷ワークフロー管理サーバ３１は、Ｓ１６０３で検索された一つあるいは複数のグループが現在実施することができるアクティビティを検索する。現在実施することができるアクティビティとは、ワークフローが当該アクティビティの直前のアクティビティまで終了しており、当該アクティビティのワークアイテムが生成されていることである。かつ、検索されたグループがロールとして定義されているアクティビティである。したがってＳ１６０４において、印刷ワークフロー管理サーバ３１は、状態が「ＩＮＩＴ」のワークアイテムを検索する。Ｓ１６０５において、印刷ワークフロー管理サーバ３１は、該当するワークアイテムを、コマンドを送信してきたデバイスにジョブ一覧として返信する。
【００６２】
続いて図１７を用いてＳ１６０６以降のステップを説明する。コマンドがジョブ一覧要求でない場合、Ｓ１７０１において、印刷ワークフロー管理サーバ３１は、デバイスから受信したコマンドがジョブ選択要求か否かを判定する。ジョブ選択要求は、デバイスのパネルに表示されたジョブ一覧から特定のジョブがユーザにより選択されたことをサーバに通知するときに発行される。ジョブ選択要求コマンドであると判定されると、Ｓ１７０２へ進み、それ以外はＳ１７１０へ進む。
【００６３】
Ｓ１７０２において、印刷ワークフロー管理サーバ３１は、受信コマンドの送信元デバイスが所属するグループを検索する。複数のグループが該当することもある。Ｓ１７０３において、印刷ワークフロー管理サーバ３１は、Ｓ１７０２で検索されたグループが、受信したコマンド中で指定されているアクティビティ（すなわちジョブ）に対してアクセス権があるか否かを判定する。通常、Ｓ１７０２へは、Ｓ１６０３〜Ｓ１６０５を経て処理が進むので、選択されたジョブは、コマンド送信元のデバイスを含むグループがロールとして指定されたアクティビティに対応するジョブである。したがってコマンド送信元のデバイスは選択されたジョブへのアクセス権を持つ。しかし、悪意のあるユーザが表示もされていないジョブを選択したかのようなメッセージを送信した場合などに備えて、改めてアクセス権の有無を判定する。そこでＳ１７０３において、印刷ワークフロー管理サーバ３１は、コマンド送信元デバイスのアクセス権を確認する。アクセス権が無ければＳ１７０９へ進む。アクセス権があればＳ１７０５へ進む。
【００６４】
Ｓ１７０５において、印刷ワークフロー管理サーバ３１は選択されたジョブのステータスを確認し、正常であるかを判定する（Ｓ１７０６）。Ｓ１７０６の判定は、１つのジョブを複数のデバイスで実施可能であることから、ジョブを排他的に実行させるために行われる。既に実行されているジョブのステータスは、印刷中などになっている。Ｓ１７０５で選択されたジョブのステータスが「正常」でなければ（Ｓ１７０６−Ｎｏ）、既にそのジョブの処理はいずれかのデバイスで実行されていることから、処理されては不都合なのでＳ１７０９へ進む。正常であればＳ１７０７へ進む。Ｓ１７０７において、印刷ワークフロー管理サーバ３１は、ジョブのステータスを印刷中に変更する。Ｓ１７０８において、印刷ワークフロー管理サーバ３１は、ジョブの選択要求に対して選択許可のレスポンスを返却する。図７のＳ７４が、Ｓ１７０８に対応する。Ｓ１７０９において、印刷ワークフロー管理サーバ３１はジョブの選択不許可のレスポンスをデバイスに返却する。本例において「処理中」とは、デバイスが自分自信で処理しているジョブについて表示しているステータスであり、サーバが管理するジョブのステータスは「印刷中」である。
【００６５】
図１８を用いてＳ１７１０以降のステップを説明する。Ｓ１８０１において、印刷ワークフロー管理サーバ３１は、受信コマンドが、デバイスからのエラー発生通知か否かを判定する。エラー発生通知であればＳ１８０２へ進み、異なっていればＳ１８１０へ進む。本例では、アクティビティの正常終了もエラー発生通知コマンドで通知するものとしている。つまりエラー発生コマンドの終了種別に正常終了を含む。
【００６６】
Ｓ１８０２において、印刷ワークフロー管理サーバ３１は、受信コマンドに含まれるワークアイテム番号から対応アクティビティを検索する。Ｓ１８０３において、印刷ワークフロー管理サーバ３１は見つかったアクティビティから対応ジョブを求め、ジョブのステータスを確認（参照）する。Ｓ１８０４において、印刷ワークフロー管理サーバ３１は、ジョブのステータスが印刷中か否かを判定する。印刷中であればＳ１８０５へ進み、印刷中でなければＳ１８１４へ進む。Ｓ１８０５において、印刷ワークフロー管理サーバ３１は、エラー通知に係るアクティビティが中断されるべきか否かを判定する。印刷ワークフロー管理サーバ３１は、アクティビティエラー定義テーブルを参照し、受信したエラー通知に含まれる終了種別に対応する進行条件と、エラー通知に含まれる進捗状態とに基づいてＳ１８０５の判定処理を実行する。Ｓ１８０５において、進捗状態が進行条件を満たしていないか、あるいは進行条件が定義されていない場合、印刷ワークフロー管理サーバ３１は、アクティビティが中断されるべきと判定する。中断と判定された場合にはＳ１８０６へ進む。また中断と判定されなければＳ１８０９へ進み、ジョブのステータスには「正常」がセットされる。
【００６７】
Ｓ１８０６において、印刷ワークフロー管理サーバ３１は、中断後再開時の代替えプリンタを決定する。この詳細は図１５を参照して説明する。Ｓ１８０６が、代替デバイス選択工程および代替デバイス選択手段に相当する。Ｓ１８０７において、印刷ワークフロー管理サーバ３１は、中断時にパネルに表示され再開時にユーザに入力させるパスワードを決定する。パスワードはアクティビティの情報中に記憶される。Ｓ１８０８はジョブのステータスを「中断中」に設定するステップである。
【００６８】
Ｓ１８１１において、印刷ワークフロー管理サーバ３１は、メッセージを構築する。メッセージ中に％Ｄ、％Ｐなどが含まれていれば、％Ｄや、％Ｐが、Ｓ１８０６やＳ１８０７で決定した名称や値に変換され、通知パラメータとして格納される。Ｓ１８１２もＳ１８１１と同様にメッセージ２が通知パラメータとして格納される。Ｓ１８１３において、印刷ワークフロー管理サーバ３１は、Ｓ１８１１やＳ１８１２で格納されたメッセージをパラメータとして送付する。Ｓ１８１４において、印刷ワークフロー管理サーバ３１は、デバイスからのアクセスが正常ではないと判定し、不正アクセスである旨をデバイスへ返却する。不正アクセスレスポンスをサーバから受け取ったデバイスは、たとえば「ただ今、選択されたジョブを操作できません。」などのメッセージを出力する制御を行う。あるいは、サーバ側で不正アクセス時にデバイスに表示するメッセージをアクティビティエラーテーブルに記憶させておき、本メッセージをエラー発生通知コマンドの応答部に入れるなどすればよい。
【００６９】
＜代替デバイスの選択＞
図１５は中断時に代替デバイスを決定する際のサーバ内の制御フロー図である。図１５の手順は、図１８のＳ１８０６の詳細である。
【００７０】
Ｓ１５０１はサーバがデバイス管理部３８で管理しているデバイス管理テーブル１４００をメモリに読み込むステップである。Ｓ１５０２は、デバイス管理テーブル１４００で管理されている未処理のデバイス情報があるか判定するステップである。未処理のデバイス情報があれば、そのデバイス情報を着目デバイス情報として特定し、Ｓ１５０３へ進む。なお着目デバイス情報に係るデバイスを着目デバイスと呼ぶ。未処理のデバイス情報が無くなればＳ１５０８へ進む。
【００７１】
Ｓ１５０３は、着目デバイスが、中断したアクティビティのロールに含まれるデバイスであるか判定するステップである。たとえば図４の印刷アクティビティ４４で中断が発生したときに、着目デバイスが、アクティビティ４４のロールであるＸプリンタ群に含まれているか否かを判定する。すなわち着目デバイスが、図５のロール構成テーブルに含まれることが代替デバイスの条件となる。
【００７２】
Ｓ１５０４は着目デバイスが空いているか判定するステップである。現在使用されているデバイスは代替デバイスとして選択不可である。また、印刷工程の残り枚数を印刷完了するまでの時間と、可能であれば操作者がそのデバイスにおける操作を開始するまでの時間も考慮して、予約スケジュール１４０４と競合しないかを判定する。たとえば、残り枚数の印刷を着目デバイスで代替する場合、代替処理が開始される予想開始時刻と終了する予想終了時刻とを、ジョブの残り枚数、着目デバイスの能力、着目デバイスの設置個所等に基づいて求める。そして、デバイス管理テーブル１４００の使用スケジュールに記載された予約期間と、予想された使用期間とが重複していなければ、着目デバイスは代替デバイスの候補となる。その場合にはＳ１５０５へ進む。一方、着目デバイスが空いていなければＳ１５０３へ戻り、次のデバイスに着目する。
【００７３】
Ｓ１５０５は残枚数が足りているか否かを判定するステップである。着目デバイスの残枚数と、中断した印刷アクティビティの残枚数との比較を行い、前者の方が多ければ、残枚数は足りていると判定される。残枚数が足りていれば着目デバイスは代替デバイスの候補となるのでＳ１５０６へ進み、足りていなければＳ１５０２へ戻る。
【００７４】
Ｓ１５０６は、デバイスの構成を判定するステップである。着目デバイスにパスワードなどを入力する操作パネルがあればＳ１５０７へ進み、なければＳ１５０２へ戻る。Ｓ１５０７は、Ｓ１５０３からＳ１５０６までのすべての条件をクリアしたので、代替デバイスを着目デバイスに決定し、そのデバイスＩＤあるいはデバイス名を記憶するステップである。Ｓ１５０８は次に読み込むデバイスが存在しないため代替えデバイスが無い旨のメッセージを選択するステップである。こうして決定されたデバイス名（ＩＤ）が、図１０の表示例１００２に表示される。
【００７５】
代替デバイスを求める際に、アクティビティを実施していたデバイスに障害が発生したときの処理工程の処理工程情報と管理対象デバイスのデバイス情報を参照することで、代替に適したデバイスの選択が可能になる。なお、処理工程情報とは、当該処理工程の処理内容を指す。つまり、当該処理工程の処理内容を実行する機能を備えることが、代替デバイスに求められる１つの条件である。
【００７６】
また適当な代替プリンタが見つからない場合には、「デバイス％Ｄへ行き出力してください。」のメッセージの代わりに「代替えプリンタは存在しないためプリンタを復旧後再度ジョブを選択してください。」のようなメッセージをサーバからデバイスへと出力する。
【００７７】
続いて図１９を用いてＳ１８１０以降のステップを説明する。Ｓ１９０１はデバイスから送信されたコマンドが、中断ジョブの選択コマンドか否かを判定するステップである。デバイスのパネル上で選択可能ジョブ一覧が表示されている状態で、ステータスが中断中のジョブ（中断ジョブと呼ぶ）を選択すると中断ジョブ選択のコマンドが送信される。これはＳ９５に対応するものである。中断ジョブ選択コマンドと判定されると、Ｓ１９０２へ進み、異なっていればＳ１９０９へ進む。Ｓ１９０２はコマンドを送信したデバイスが所属するグループを検索するステップである。デバイスは１つあるいは複数のグループに所属することがありえる。Ｓ１９０３、Ｓ１９０４は、コマンドを送信したデバイスで選択されたジョブのアクセス権を有するかどうかの判定ステップである。アクセス権があると判定されるとＳ１９０５へ進み、無いと判定されるとＳ１９０８へ進む。
【００７８】
Ｓ１９０５は該当ジョブのステータスを確認するステップである。Ｓ１９０６でステータスが中断中か否かが判定される。中断中でなければ、選択されたジョブのステータスと中断ジョブ選択コマンドとが整合しないためＳ１９０８へ進む。選択されたジョブのステータスが中断中と判定されるとステータスとコマンドが整合するためにＳ１９０７へ進み、パスワード入力指示コマンドがデバイスへ発行される。これはＳ９６に対応する。Ｓ１９０８はアクセス不可であることをデバイスに通知する。不正アクセスレスポンスをサーバから受け取ったデバイスは、たとえば「ただ今、選択された中断ジョブを操作できません。」などのメッセージを出力する制御を行う。
【００７９】
続いて図２０を用いてＳ１９０９以降のステップを説明する。Ｓ２００１は受信したコマンドがパスワード入力応答コマンドか否かを判定するステップである。つまり、印刷ワークフロー管理サーバ３１は、デバイスの操作画面を介して入力されたパスワードを受信したか否かを判定する。パスワード応答コマンドではないと判定されるとサーバで扱えるコマンドではないためＳ２０１１へ進みアクセス不可をデバイスに通知して、終了となる。Ｓ２００１でパスワード入力応答コマンドと判定されるとＳ２００２へ進む。
【００８０】
Ｓ２００２ではコマンドを送信してきたデバイスが所属するグループを検索する。Ｓ２００３はパスワードを送信したデバイスが、中断ジョブへのアクセス権を有しているか否かを判定するステップである。Ｓ２００４でアクセス権があると判定されるとＳ２００５へ進み、アクセス権が無いと判定されるとＳ２０１０へ進む。
【００８１】
Ｓ２００５は当該ジョブのステータスを判定するステップである。Ｓ２００６は、当該ジョブのステータスが中断中であると判定されるとＳ２００７へ進む。中断中ではないと判定されるとＳ２０１０へ進み、アクセス不可の通知をデバイスへ発行する。Ｓ２００７ではパスワード入力応答コマンド中に含まれるパスワードと、Ｓ１８０７でアクティビティ情報に格納されたパスワードとを比較し、照合する。
【００８２】
比較の結果一致していればＳ２００９へ進み、一致していなければＳ２０１０へ進んでアクセス不可となる。Ｓ２００９では、パスワードが一致したため中断ジョブ選択許可Ｓ９８をデバイスに送信する。
【００８３】
以上の手順により、印刷ワークフロー管理サーバ３１は、印刷アクティビティを実施するプリンタデバイスにおいて障害が発生した場合に、オペレータに対して適切な指示をデバイスに表示させることができる。そのため、必ずしも復旧を待たずにワークフローを続行できる場合には、オペレータにその手順を指示してワークフローを続行できる。この結果ワークフローの生産性が向上する。
【００８４】
＜ＰＯＤワークフローとワークアイテム＞
図２１は、ＰＯＤワークフローにおけるワークアイテムの概略図を示している。以下図２１に従い説明する。ワークアイテム２１０１はアクティビティ４２が処理を終了したことを示すワークアイテムである。ワークアイテム番号は８０２１０であり、ロールはワークフローエディタで指定したところのＡソフト群、実行者は画像変換を実行したＰＣ名「Ｇｏｌｄ」が格納されている。ステータスは完了を示している。ワークアイテム２１０２はアクティビティ４３が処理を終了したことを示すワークアイテムである。ワークアイテム番号は８０２１２であり、ロールはワークフローエディタで指定したところのＢソフト群、実行者は面付けを実行したＰＣ名「Ｓｉｌｖｅｒ」が格納されている。ステータスは完了を示している。ワークアイテム２１０３はアクティビティ４４が起動され、作業が行われるのを待っている状態を示す。ワークアイテム番号は８０２１９でありロールはＸプリンタ群、実行者は未設定であり、状態がＩＮＩＴであることを示している。実行者は作業が実行されたときにセットされるためここでは未設定となっている。ワークフロー４１では４つのアクティビティのうちすでに前の２つが終了している状態で現在はアクティビティ４４の実行を待っている状態である。本状態のときにＸプリンタ群のどれかひとつのデバイスからジョブ一覧要求Ｓ７１があると、本ワークアイテムがジョブ一覧返却７２でデバイスに返される。ワークアイテムとは別にワークフロー全体の状態を示しているものがジョブである。ジョブの構造は符号２１０４に示している。ジョブ番号９００１０があり、印刷画像などがつながる頁ポインタがあり、現在ワークフロー中どのアクティビティを実行しているのかを示す処理工程部２１０４１がある。本例では印刷を示しており。工程４４が実行待ちである。また、状態２１０４２が正常となっている。本状態は図１１の１１０２から１１０５でしめす状態のいずれかであり現在は特にエラーは発生していない。
【００８５】
ＰＯＤワークフローにおいても図１、図２と同様にロールに関するワークアイテムが生成されるように構成される。
【００８６】
図２２はアクティビティエラー定義を行う際のユーザ設定画面例である。以下図２２に従い詳細に説明する。図６で示したようなアクティビティエラー定義テーブルはワークフローの設計者が容易に作成できるように構成されている。ワークフローエディタではアクティビティをトランジション（矢印）でつなぎかつアクティビティに作業とロールを結び付けて所望のフローを生成する。本例ではアクティビティのプロパティ設定中でエラー定義を設定することが可能となっている。画面２２０１はアクティビティ４４のプロパティ設定画面の一部である。エラー定義領域２２０２ではエラー定義の追加を行う。終了種別選択部２２０３は終了種別の選択であり、現在は紙無しが選択されている。コンボボックスで他の種別の選択が可能である。アクティビティ遷移選択欄２２０４はアクティビティの遷移に関する選択部である。アクティビティの遷移の選択では、アクティビティを中断するかそれとも次段のアクティビティに進めるかを選択できる。終了種別選択部２２０３で選択された終了種別に応じてアクティビティの遷移を行うか否かが選択可能となっている。次のアクティビティに進むのであれば「有」を選択し、中断ジョブとして扱うのであれば「中断」を選択し、アクティビティの遷移を行わないのであれば何も選択しない。条件設定部２２０５は、条件付でアクティビティの遷移や表示するメッセージを変更したい場合に設定する。条件を設定したい場合には「有」のラジオボタンをセットし、右のテキスト領域に数字を入力し、コンボボックスで「以上」、「以下」、「未満」などの式を入力する。指定部２２０６は表示メッセージ１の指定部である。指定部２２０７は表示メッセージ２の指定部である。マウスなどで場所を指定し、テキストを入力すればよい。ボタン２２０８は、上記設定を有効にしてサーバのアクティビティ管理部３６で管理させるためのボタンである。ボタン２２０９は上記登録をキャンセルするためのボタンである。本設定が各アクティビティ毎に設定可能となっており、ワークフロー管理者の思惑通りに表示などを行うことができる。
【００８７】
＜アクティビティエラー定義テーブルの他の例＞
図１２は、アクティビティエラー定義テーブルのその他の例である。本例では１０枚の製本印刷を５０部実施するワークフローの印刷アクティビティのエラー定義テーブルである。１２０１から１２０５は６１から６５と同様のものである。１２０６は正常終了時のサーバの処理を示している。正常終了時には次のアクティビティへ進み、表示情報としては「印刷物は棚Ｂに保留しておく」のメッセージをデバイスに送る。１２０７は紙無し時のサーバの動作である。紙無しが発生した際に１００枚以上印刷済みか否かで処理が分かれる。１００枚以上出力時には次の製本アクティビティなどへ処理を進めることが可能であると判断し、アクティビティを進めている。その際のメッセージは、「印刷物のうち１頁から１０ｘＮ頁までは棚Ｂに保留し、のこりはトレイに残しておいてください。」と「Ａ４用紙を補給してください。」の２つである。前記に関してはＮをサーバで値を代入し計算された結果の文字列が表示される。１００枚印刷に達しない場合にはアクティビティを進めずメッセージ「Ａ４用紙を補給してください。」を表示することになる。１２０８でトナー無しと判定されると紙なし時と同様に、１００枚以上印刷済みか否かで処理が分かれる。１００枚以上出力時には次の製本アクティビティなどへ処理を進めることが可能であると判断し、アクティビティを進めている。その際のメッセージは、「印刷物のうち１頁から１０ｘＮ頁までは棚Ｂに保留し、のこりはトレイに残しておいてください。」とデバイス依存のメッセージが表示される。前記に関してはＮをサーバで値を代入し計算された結果の文字列が表示される。１００枚印刷に達しない場合にはアクティビティを進めずデバイス依存のメッセージを表示することになる。本メッセージはデバイスで本来持っている機能で出力するものでたとえば「トナーを補給してください」のようなメッセージになることが考えられる。１２０９はジャム発生時のサーバ動作等が記載されている。本テーブルはジャムが発生した際にはアクティビティを進めないように構成されている。メッセージとして以下の２つを表示する。「ジャムを解除してください」と「先頭ページから印刷しなおしてください。」である。１２１０はストップキー押下時のサーバの処理を示している。デバイスに存在するストップキーを押下することで印刷処理、スキャナ処理その他の実行中の処理を中断できることを前提としている。ストップキー押下時に次のアクティビティへは進まず表示情報としては「再度、ジョブを選択してください」のメッセージをデバイスに送る。１２１１は上記種別には当てはまらない種別で終了されたときのサーバ処理を示している。アクティビティを次へは進めず「システム管理者を呼んでください。」のメッセージを表示している。図６の例では１５枚の製本を示しているが本例では１０枚の製本を実施するためデバイスに表示する内容も異なる。また、エラー種別としてストップキー押下の場合などを容易に追加できる。このようにワークフローに従ってデバイスに表示するメッセージを変更できることを特徴としている。
【００８８】
図２３は１ジョブで１万ページを印刷するワークフローの印刷アクティビティにおけるアクティビティエラー定義テーブルである。２３０１から２３０５は６１から６５と同様である。２３０６は正常終了時のサーバの動作を示している。メッセージとして「印刷物は棚ＹＹＹに保管しておく」が表示されるように構成されている。２３０７は紙無し時のサーバの動作である。アクティビティの遷移は行わず、メッセージとして、２３０６と同様なものが表示されている。通常紙無しなどの時にはデバイスのエラー表示として「記録紙を補給して下さい。」などのメッセージが表示されるように構成されるが、１万ページのジョブなどのようにデバイスにセットされている記録紙がなくなるのが正常動作などの場合がある。本発明を実施することで「記録紙をセットして下さい。」のような、ワークフローによっては無駄で意味のないメッセージを出力するのを止めれる効果もある。
【００８９】
以上説明した本実施形態によれば以下の効果がある。
（１）処理結果や進捗状況に適したエラーコードを出力することが可能となった。
（２）中断時に的確な指示をデバイスに表示させることが可能となった。中断再開が
実施でき記録紙の無駄や出力時間の浪費を省くことができるようになった。
（３）管理者以外でもジョブを監視できるようになり、空いているデバイスの有効活用が可能になった。
（４）ワークフローアクティビティの処理を実行できるデバイスの制限をかけることが可能になり、ワークフロー作成者の使い勝手が良くなった。
（５）現在実行しているアクティビティに関して他のデバイスでの操作がガードされて印刷を２重に実施するなどの障害を未然に防げる効果がある。
（６）処理を継続できるデバイスを検索する手間が省ける効果がある。
【００９０】
なお本発明は、複数の機器（例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置など）に適用してもよい。また本発明の目的は、前述の実施形態の機能を実現するプログラムコードを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータが記憶媒体に格納されたプログラムコードを読み出し実行することによっても達成される。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコード自体およびプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００９１】
また、本発明には、プログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた場合についても、本発明は適用される。その場合、書き込まれたプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される。
【図面の簡単な説明】
【００９２】
【図１】標準的なワークフローの概略図
【図２】ワークアイテム説明図
【図３】ＰＯＤワークフロー印刷システムのシステム概要図
【図４】ＰＯＤワークフローの定義例
【図５】本実施例におけるｉＲ５５００群のロールの説明図
【図６】本発明によるアクティビティエラー定義テーブルの図
【図７】本発明によるデバイスとサーバとの通信フロー図
【図８】本発明によるデバイスの表示部の表示遷移を示す図
【図９】中断再開時におけるデバイスとサーバとの通信フロー図
【図１０】中断再開時の表示例の図
【図１１】デバイス上のパネルに表示されるステータスの説明図
【図１２】アクティビティエラー定義テーブルのその他の例の図
【図１３】可変プリンタ名および可変パスワードの指定例を示す図
【図１４】サーバの管理しているデバイス管理テーブル図
【図１５】中断時に代替えデバイスを決定する際のサーバ内の制御フロー図
【図１６】本発明によるサーバのコマンド受信時の遷移フロー図
【図１７】本発明によるサーバのコマンド受信時の遷移フロー図
【図１８】本発明によるサーバのコマンド受信時の遷移フロー図
【図１９】本発明によるサーバのコマンド受信時の遷移フロー図
【図２０】本発明によるサーバのコマンド受信時の遷移フロー図
【図２１】ＰＯＤワークフローにおけるワークアイテムの概略図
【図２２】アクティビティエラー定義を行う際のユーザ設定画面例の図
【図２３】１万ページジョブ時におけるアクティビティエラー定義テーブル例の図
【図２４】本発明によるサーバのコマンド受信時のフロー図
【符号の説明】
【００９３】
３１は印刷システムサーバー部
３２は回線部
３３は担当者管理部
３４は回線制御部
３５はワークフロー管理部
３６はアクティビティ管理部
３７はワークアイテム管理部
３８はデバイス管理部
３９はクライアント部
３１０は入稿アプリケーション部
３１１は面付けアプリケーション部
３１２はプリンタ部
３１３は製本機
３１４はワークフロー生成部
【図１】
2008276704.tif 000003
【図２】
2008276704.tif 000004
【図３】
2008276704.tif 000005
【図４】
2008276704.tif 000006
【図５】
2008276704.tif 000007
【図６】
2008276704.tif 000008
【図７】
2008276704.tif 000009
【図８】
2008276704.tif 000010
【図９】
2008276704.tif 000011
【図１０】
2008276704.tif 000012
【図１１】
2008276704.tif 000013
【図１２】
2008276704.tif 000014
【図１３】
2008276704.tif 000015
【図１４】
2008276704.tif 000016
【図１５】
2008276704.tif 000017
【図１６】
2008276704.tif 000018
【図１７】
2008276704.tif 000019
【図１８】
2008276704.tif 000020
【図１９】
2008276704.tif 000021
【図２０】
2008276704.tif 000022
【図２１】
2008276704.tif 000023
【図２２】
2008276704.tif 000024
【図２３】
2008276704.tif 000025
【図２４】
2008276704.tif 000026