JP4761533B2 - 情報処理装置及びワークフロー生成方法とプログラム - Google Patents

情報処理装置及びワークフロー生成方法とプログラム Download PDF

Info

Publication number
JP4761533B2
JP4761533B2 JP2005359533A JP2005359533A JP4761533B2 JP 4761533 B2 JP4761533 B2 JP 4761533B2 JP 2005359533 A JP2005359533 A JP 2005359533A JP 2005359533 A JP2005359533 A JP 2005359533A JP 4761533 B2 JP4761533 B2 JP 4761533B2
Authority
JP
Japan
Prior art keywords
workflow
processing
job
activity
job ticket
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2005359533A
Other languages
English (en)
Other versions
JP2007164455A5 (ja
JP2007164455A (ja
Inventor
一孝 松枝
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2005359533A priority Critical patent/JP4761533B2/ja
Priority to US11/637,078 priority patent/US7876465B2/en
Publication of JP2007164455A publication Critical patent/JP2007164455A/ja
Publication of JP2007164455A5 publication Critical patent/JP2007164455A5/ja
Application granted granted Critical
Publication of JP4761533B2 publication Critical patent/JP4761533B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Educational Administration (AREA)
  • Game Theory and Decision Science (AREA)
  • Development Economics (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

本発明は、あらかじめ定義されたワークフローに従ってデータを処理するための情報処理装置及びワークフロー実行方法とプログラムに関する。詳しくは、たとえば処理途中で障害等が生じても、その障害によって印刷処理全体を中断することを防止できる情報処理装置及びワークフロー生成方法とプログラムに関する。
第三者(顧客、クライアント)から印刷物の作成依頼を受注し、注文に応じて印刷物を作成してそれをクライアントに納品することで報酬を得る商業的印刷業界では、オフセット製版印刷機などの大規模な印刷装置等を用いた印刷が主流である。印刷業界では、入稿、デザインやレイアウト、カンプ(プリンタ出力によるプレゼンテーション)、校正(レイアウト修正や色修正)、校正刷り(プルーフプリント)、版下作成、印刷、後処理加工、発送といった具合に様々な工程を踏んで作業を進めてきた。
一方で、最近、電子写真方式の印刷装置やインクジェット方式の印刷装置の高速化、高画質化に伴い、プリント・オン・ディマンド(Print On Demand:以下、PODと表記する。)と呼ばれる印刷装置で扱うジョブより比較的小ロットのジョブを大掛かりな装置やシステムを用いずに短納期で取り扱う市場がある。
POD市場では従来の大規模な印刷機またはシステムに代わって、例えば、ディジタル複写機やディジタル複合機等のディジタル画像処理装置を最大限に活用して、電子データを用いたディジタルプリントを採用している。このようなPOD市場では、従来の印刷業界に比べてディジタル化が進み、コンピュータを利用した管理、制御が浸透してきている。
例えば、POD市場では、納期までに処理を終了させるためスケジュールを生成している。さらに、POD市場では効率的に処理を進めるために複数の処理工程を組み合わせたPODワークフローを生成し、ジョブチケットを使用して印刷を実施している。ジョブチケットとは、印刷されるデータの作業工程を電子的に示しているものである。PODを請け負う印刷ショップ等では、ジョブチケットに記載されているように印刷を行えばよく、処理の自動化を行う上で欠くことのできない技術である。ジョブチケットの詳細な説明については後述する。
ジョブチケットを用いてワークフロー処理を進める方法が特許文献1に記載されている。特許文献1では、生成されたワークフローに対応するジョブチケットを生成し、ワークフロー生成装置から発行されたジョブチケットに従って必要な処理が行われることが記載されている。
また、印刷物の後処理(フィニッシング処理)を行う装置(フィニッシャ)として、印刷装置やその制御装置であるコンピュータと通信を介して接続されたニアラインフィニッシャが実用化されている。ニアラインフィニッシャは印刷装置と独立した装置であるために、機能の拡張性や代替性に優れている。また、電子化されたジョブチケットを通信を介して受信し、そのジョブチケットに記述された処理を実行できるために、処理の自動化にも貢献している。
さらに、ワークフローの処理を進める上でエラーを想定したワークフローを生成することが特許文献2に記載されている。特許文献2には、指定された出力結果を得るために生成された一貫性制約ルールに基づいて、一貫性ルールが破られた場合の異常系の作業処理を予め生成しておくことが記載されている。
特開2004−164570号公報 特開2001−195470号公報
特許文献2に記載の技術では、エラーが発生した場合の処理(異常系の作業処理という)をあらかじめ定めているため、エラーの発生タイミングに応じた動的な異常系の作業処理を行うことができない。例えば、10ページ分の印刷物を製本して2冊の本を作成するためのワークフローにおいて、2冊目の本の5ページ目の印刷中にエラーが発生した場合を考える。この場合には、1冊目の本の10ページ分の印刷処理は終了している。そのため、1冊目の本については次の工程、たとえば製本工程に進めても構わない。このように次の工程へ進めることが可能なデータやものに関しては、できるだけ次の工程に進めることで、効率的にワークフローの処理を行うことができる。しかしながら、特許文献2に記載の技術では、エラーが発生した場合の処理を予め登録しているため、エラーが発生した時点での処理状況を判定してワークフローを生成することはできない。
また、特許文献1に記載の技術を用いても、予め異常系の作業処理を定めておくため、定められていないタイミングでエラーが発生しても、異常系の作業処理が行えない。逆にあらゆるタイミングで生じるエラーに対応するために異常系の作業処理を定めておくと、定義のためのデータ量が膨大なものとなる。
このように、従来の技術では、ワークフローの処理状態に応じて適切な処理内容の変更あるいは処理対象の変更を行えないため、処理状況に基づいて効率的にワークフローの処理を進めることはできなかった。
本発明は上記従来例に鑑みてなされたもので、ワークフローの実行中に所定の条件に一致する事象が発生した場合に、ワークフローを動的に生成することで、効率的に処理を進めることを目的とする。
上記目的を達成するために本発明は以下の構成を備える。
印刷装置によって実行される印刷工程に続いて印刷物に対する、記述されたページ数の後処理を実行するための後処理工程が実行されるワークフローを生成し、新たなワークフローを生成するための判定基準を記憶するメモリを備えた情報処理装置において実行可能なプログラムであって、前記ワークフローに定義されている前記印刷工程の処理状況を前記印刷装置から受信する受信手段と、前記受信手段によって受信された前記印刷工程の処理状況がエラーであり、かつ、前記エラーが発生するまでに前記印刷装置により印刷されたページ数が、前記判定基準である、前記後処理を実行することで1部分の印刷物を生成できるページ数に達しているか否かを判定する判定手段と、前記判定手段によって前記印刷装置により印刷されたページ数が、前記メモリから読みだされた前記判定基準である前記後処理を実行することで1部分の印刷物を生成できるページ数に達していると判定された場合、前記エラーが発生するまでに印刷されたページ数が前記後処理されるページ数として記述された新たなワークフローを生成するワークフロー生成手段として前記情報処理装置を機能させることを特徴とする。
本発明により、ワークフローの実行中に、所定の条件に一致する事象が発生した場合に、ワークフローを動的に生成することで、効率的に処理を進めることができる。
[第1実施形態]
以下、添付図面に従って本発明に係る実施形態を詳細に説明する。
<定義>
ここで本実施形態で用いられるいくつかの用語について説明し、定義する。まずニアラインフィニッシャとは、ホストコンピュータ等の外部装置と通信する手段を備えている。ニアラインフィニッシャは、フィニッシャにおいて行う処理内容を、通信を介して外部装置からジョブチケットを入力することで設定できる。また、フィニッシャの操作部からユーザによる手入力でも入力可能である。
ワークフローとは、後処理まで含めた印刷処理の流れである。本実施形態では、ワークフローをコンピュータにより処理可能な形式で記述された情報を、ワークフロー(あるいはワークフロー情報)と呼ぶ。なお、本実施例では,ワークフローを印刷処理の流れと記述したが、印刷処理に限定される必要はない。ワークフローは、ワークフローを構成するアクティビティ(処理工程とも呼ぶ。)を、処理の順序に従って記述した情報である。各アクティビティは、処理の実行主体と、実行される処理の内容とが記述されている。実行主体はデバイス等でなくとも良く、たとえば担当者の氏名や役職等であってもよい。また、処理内容も、動作の一般的な記述であってよく、処理の客体の具体的な記述などはなくともよい。ただし、各アクティビティに記述された実行主体や動作を基にジョブチケットが生成されることから、自然言語による記述ではなく、あらかじめ定めた形式(文法)と単語(予約語)で記述しておくのが望ましい。
ワークフローにしたがって実行されるデータおよびパラメータの集まりの一単位をジョブ(本例では印刷ジョブ)と呼ぶ。ワークフローはジョブ単位で実行される。例えば、ワークフローは、原稿データを入力する入稿処理工程、入稿処理工程により入力された原稿データを紙面に割り付ける面付け工程、面付け工程により面付けされた原稿データを印刷する印刷工程、印刷工程により印刷された用紙を後処理する工程を含む。
ワークフロー情報は、各工程を実行するデバイス情報、各工程の処理順序を示す情報、面付け工程における原稿のレイアウトを特定するレイアウト情報、印刷工程における印刷方法を特定する印刷設定情報、後処理工程の処理の内容を特定する後処理設定情報を含む。
ジョブチケットとは、ジョブ毎に印刷処理の各工程における処理内容を記述したデータのまとまりであり、ジョブ制御情報とも呼ぶ。つまりジョブチケットとは、作業指示内容を示す情報が記述された作業指示書の電子データである。ジョブチケットは、たとえばXML(eXtensive Markup Language)を用いて定義されたJDF(Job Definition Format)形式で記述されたデータである。しかし、規格化されていない形式で記述されたジョブチケットであっても、本発明のために用いることはできる。ジョブチケットには、ワークフローを構成する各アクティビティを実現するデバイス等において実行される処理のパラメータ等が記述されている。なおデバイス等とは、プリンタやニアラインフィニッシャ、画像スキャナといった個々のデバイスに加えて、汎用コンピュータで実行される原稿の入稿処理アプリケーションや面付けアプリケーションなども含む。デバイス等を、ハードウエア上独立したデバイスとソフトウエアにより実現されるデバイスとを含めて、本実施形態では論理デバイスと称する場合もある。
各デバイス等では、ジョブチケットに記述されたパラメータにしたがって処理を遂行する。また、本実施形態では、これから実行しようとする処理内容に加えて、終了した処理(未完の処理も含む)の状態も、その処理を実行したデバイス等により記述されている。これらは、各デバイス等による処理終了後にジョブチケットに書き込まれる。ジョブチケットの具体的な構成例は図3等を参照して後で説明する。
まず、図25に、本実施形態の情報処理装置を説明するブロック図を示す。なお特に断りがない限り、本発明の機能が実行されるのであれば、単体の機器であっても、複数の機器からなるシステムであっても、LANやWAN等のネットワークを介して接続が為され処理が行われるシステムであっても本発明を適用できる。また、クライアントコンピュータと記載したがこれに限る必要はなく、情報処理装置であれば基本的に図25と同じ構成となる。よって、例えば後述するMISサーバも図25と同じ構成となる。
図25において、2500はホストコンピュータで、ROM2503のプログラム用ROMあるいは文書処理プログラム等に基づいて図形、イメージ、文字、表(表計算等を含む)等が混在した文書処理を実行するCPU2501を備えている。CPU2501は、システムバス2504に接続される各デバイスを総括的に制御する。
また、このROM2503のプログラム用ROMあるいは外部メモリ2511には、CPU2501の制御プログラムであるオペレーティングシステムプログラム(以下OS)等を記憶する。また、ROM2503のフォント用ROMあるいは外部メモリ2511には上記文書処理の際に使用するフォントデータ等を記憶し、ROM2503のデータ用ROMあるいは外部メモリ2511には上記文書処理等を行う際に使用する各種データを記憶する。
2502はRAMで、CPU2501の主メモリ、ワークエリア等として機能する。2505はキーボードコントローラ(KBC)で、キーボード2509や不図示のポインティングデバイスからのキー入力を制御する。2506はCRTコントローラ(CRTC)で、CRTディスプレイ(CRT)2510の表示を制御する。
2507はディスクコントローラ(DKC)で、ブートプログラム、アプリケーション、フォントデータ、プリンタ制御コマンド生成プログラム(以下プリンタドライバ)等を記憶するハードディスク(HD)等の外部メモリ2511とのアクセスを制御する。また、DKC2507は、フロッピー(登録商標)ディスクとのアクセスも制御可能である。
2508はプリンタコントローラ(PRTC)で、所定の双方向性インターフェース2521を介して外部デバイスに接続されて、外部デバイスとの通信制御処理を実行する。なお、CPU2501は、例えばRAM2502上に設定された表示情報RAMへのアウトラインフォントの展開(ラスタライズ)処理を実行し、CRT2510上でのWYSIWYGを可能としている。
また、CPU2501は、CRT2510上の不図示のマウスカーソル等で指示されたコマンドに基づいて登録された種々のウインドウを開き、種々のデータ処理を実行する。ユーザは印刷を実行する際、印刷の設定に関するウインドウを開き、プリンタの設定や、印刷モードの選択を含むプリンタドライバに対する印刷処理方法の設定を行える。なお、図25に記載の情報処理装置は、本願に記載のMISも基本的に同様の構成となる。
<システム構成>
図1は、本発明の第1実施形態を示す印刷システムのシステム概要図である。図1において、印刷システムは、印刷システムサーバ100、インターネットあるいは企業内のイントラネットであるネットワーク101、パーソナルコンピュータとソフトウエアなどからなるクライアント部102を備える。さらに、ワークフローのアクティビティを実現するデバイス等として、入稿アプリケーションがインストールされたパーソナルコンピュータ109(これを入稿アプリケーション109と呼ぶ)を備える。また面付けアプリケーションがインストールされたパーソナルコンピュータ110(これを面付けアプリケーション109と呼ぶ)を備える。さらに、記録紙に印刷を行う印刷機(印刷エンジン)111、製本やトリミング等の後処理を行うニアラインフィニッシャ112も備えている。
入稿アプリケーションは、入稿を行うためのアプリケーションソフトウエアである。入稿アプリケーション109は、入力されたイメージデータやテキストデータ等のデータを、所定形式(たとえばPDF(Portable Document Format))に変換する。入稿アプリケーション109は、クライアント102へインストールされてもよく、ネットワーク101上の別のコンピュータに存在していても良い。面付けアプリケーション110は、版下である電子データを印刷物として出力結果を指定するためのプログラムである。面付けアプリケーション110により、たとえば「2in1で両面印刷を行う」であるとか、「1in1でくるみ製本印刷を行う」などの面付け指定が、見やすいUI上で指定できる。面付け指定にしたがって、入稿アプリケーション109から出力された原稿の電子データが面付けアプリケーション110によって変換される。変換後の電子データは、印刷エンジン111に入力される電子データである。この電子データには、たとえばPDFで記述された各ページが、面付け指定やあるいはPDFで記述された各ページの配置にしたがって、所定のPDL(ページ記述言語)により記述されている。いずれにしても、印刷エンジン111により解釈実行可能な形式の電子データである。入稿アプリケーション109や割り付けアプリケーション110等、ワークフローで使用されるデバイス等は、ジョブチケットに対応している。コンピュータにおいては、たとえばジョブチケットを受信し、それを表示し、ユーザによる入力を受け付け、受け付けた入力と共にジョブチケットをサーバ100に送信するためのプログラム(ジョブチケット処理プログラムと呼ぶ。)が実行される。このプログラムは、必要に応じてジョブチケットに記述されたアクティビティのパラメータを、そのアクティビティを実行するデバイスにセットアップできる。
印刷機111は、入力された電子データ(これを印刷データとも呼ぶ。)に基づいて、記録紙上への印刷を実行する。ニアラインフィニッシャ112は、印刷装置に付属のインラインフィニッシャとは異なり、人手で持参された印刷物を、ネットワーク経由で指定されたジョブチケットなどのジョブ制御情報に従ってフィニッシング処理する。これに似たものとしてオフラインフィニッシャがあるが、これはネットワーク接続されておらず、ジョブチケットなどのジョブ制御情報はフレキシブルディスクなどの電子媒体によって提供される。ニアラインフィニッシャは、処理対象の印刷物が手作業で所定の位置に載置されてから処理を始める。そのため、処理開始のきっかけはオペレータにより入力される。その際に、図10に示すようにジョブの結合等の指示を行うことができる。
サーバ100には、ジョブチケット(JT)発生部103、ワークフロー実行部104、ジョブチケット(JT)管理部105、ユーザ管理部106、アクティビティ管理部107、ワークフロー管理部108、ワークフロー生成部120を含む。ジョブチケット管理部105、ユーザ管理部106、アクティビティ管理部107、ワークフロー管理部108は、メモリや外部メモリ等により実現される記憶領域を持つ管理プログラムか、あるいは記憶領域そのものである。ジョブチケット発生部103、ワークフロー実行部104、ワークフロー生成部120はサーバコンピュータ100がプログラムを実行することで実現される。もちろんそのプログラムと等価な回路を持つハードウエアで実現することもできる。
ワークフロー生成部120は、ユーザが、アクティビティ管理部107に保存された定義済みのアクティビティを用いてワークフローを定義するためのモジュールであり、定義されたワークフローはワークフロー管理部108に保存される。その際、ログインしたユーザがワークフローを定義する権限を持つか否かを、担当者管理部106に保存された該当ユーザの権限と照合してチェックしてもよい。またワークフロー生成部120は、実行中のワークフローのアクティビティで、エラー等、処理の中断が必要なイベントが発生した場合に、実行中のワークフローのワークフロー情報を、そのイベントが生じたアクティビティを含めて複製する。望ましくはそのイベントが生じたアクティビティを先頭としてワークフローを複製するが、それ以前のアクティビティを含めても良い。複製されたワークフロー情報に基づくワークフローは、元のワークフローと並列に実行される。その際、一方のワークフローはそのまま処理を継続できるデータを対象として実行される。他方のワークフローは、エラー等のイベントによりいったん処理を中断する必要のあるデータを対象として実行される。そのため、ワークフロー生成部120は、ワークフロー情報を生成した後、各ワークフロー情報のパラメータを変更する。もちろんここでいう並列とはワークフロー処理全体として並列ということである。並列とは、複数のワークフローにおいて、共通のアクティビティがある瞬間に同時に実行されていることを意味しない。
なお、本実施形態では、あるワークフローから新たに生成される、元のワークフローの全部または一部を複製したワークフローを、派生ワークフローと呼ぶ。また、派生ワークフローを新たに生成することを、ワークフローの派生と呼ぶ。
ジョブチケット発生部103は、ワークフロー実行部が実行しようとするワークフローに対応するジョブチケットを生成し、ジョブチケット管理部105に保存する。ジョブチケットの生成はワークフロー実行部が行っても良い。ワークフローが派生された場合には、派生ワークフローに対応するジョブチケットが生成され、実行される。
ワークフロー実行部104は、ワークフロー管理部108に保存された一つ以上のワークフローを同時動作させる。ワークフロー実行部104は、ワークフローを動作させるために、ジョブチケットを各アクティビティの実行前に動的に更新し、ワークフローの柔軟な実行を実現している。ジョブチケット管理部105は、生成されたジョブチケットをワークフロー終了まで保持する。ジョブチケットは、アクティビティを実行するデバイスからアクティビティ実行後にワークフロー実行部104に対して送信されるので、それを受信してジョブチケット管理部105で保持する。また、受信したジョブチケットは、次のアクティビティのために更新される。担当者(ユーザ)管理部106は、ログインしたユーザの権限などを保持する。アクティビティ管理部107は、ワークフローで実行される作業工程を意味するアクティビティを保存管理する。たとえば「主任が入稿を行う」、「派遣社員が面付けを行う」、「部長が承認を行う」、「印刷作業者がくるみ印刷を行う」などの定義をアクティビティとして登録できる。通常、アクティビティは担当者と作業の組み合わせからなる。ユーザは、アクティビティ管理部107に保存されたアクティビティをつなぎ合わせてワークフローを定義できる。ワークフロー管理部108は、ユーザや管理者があらかじめ定義するワークフローを保存管理する。「課長承認付くるみ印刷」、「部長100部印刷」などのユーザに定義されたワークフローを複数管理している。ワークフローはこのような名称が付され、アクティビティ管理部107で定義済みのアクティビティのシーケンスとして定義されている。たとえば、「課長承認付くるみ印刷」という名称のワークフローは、「担当者Aが入稿」、「担当者Bが面付け」、「管理者Cが承認」、「両面印刷」、「くるみ製本」という順序で配置された一連の定義済みアクティビティから構成される。アクティビティの指定はそのIDを用いて行われる。アクティビティ管理部107は、たとえばアクティビティの実行主体となるデバイスやプログラムのIDおよびそれらの所在(アドレス)等のアクティビティ情報と、アクティビティIDとを関連づけた表なども保持する。そしてワークフローが実行され、アクティビティIDがワークフロー実行部によりワークフロー情報から読まれると、ワークフロー実行部104によりアクティビティ情報が参照される。参照されたアクティビティ情報はワークフロー実行部104に渡され、その情報に基づいてジョブチケットが生成される。ジョブチケットには、たとえばアクティビティ情報に含まれるIDを持つデバイス名等が記載され、処理主体が特定される。
<ワークフロー>
ワークフローの定義例を図2に示す。図2において、ワークフロー200は、直列に配置されたアクティビティ201から205を含む。アクティビティ(処理工程)201は入稿アプリを起動するアクティビティである。ワークフロー情報においては、アクティビティはたとえば「担当者Aが入稿」などと定義されている。この定義は、この例のように自然言語で記述されても良いが、特別に定めた一定の規則で記述されても良い。たとえば、「主体名」+「が」+「動作名」といったように記述される。印刷システムが適切な実行主体を選択できる場合には、主体の記述は省略しても良い。いずれにしても、コンピュータにより実行されるワークフロー実行部104により解析可能であり、アクティビティの実体(実行主体)を特定可能な形式で記述される。アクティビティ201が終了するとアクティビティ202へすすむ。アクティビティ202は面付けアプリを起動するアクティビティである。たとえば「担当者Bが面付け」のように記述されている。同様にアクティビティ203は記録紙を印刷するアクティビティである。たとえば「両面印刷」のように記述される。本例では、両面印刷機能を持つ印刷機は、印刷システム(たとえばワークフロー実行部)が適当に選択できるために、主体の記述はない。ワークフロー情報からジョブチケットを生成する際に主体たる装置が選択される。アクティビティ204はニアラインフィニッシャでフィニッシングを実行するアクティビティである。たとえば「くるみ製本」のように記述される。アクティビティ205は管理者などが出力結果内容を確認するアクティビティである。たとえば「管理者Cが承認」などと記述される。
このように、アクティビティ201からアクティビティ205までをつなげて1つのワークフローを構築している。ワークフロー情報は、たとえばアクティビティの名称(あるいはID、図2ではA1,...,A5である)を実行順に並べたデータファイルなどとして実現できる。アクティビティの実体を定義する定義情報は、アクティビティ管理部107に保存されている。ジョブチケット206は、図3で詳細が説明されるような構成を有する。例えば、ジョブチケット206はワークフロー200に基づいて生成される。また、ジョブチケットは、顧客から注文された情報に基づいて生成されても良い。そして、ジョブチケットは、各処理工程の実行主体に対して、処理工程毎にMIS(管理サーバ)210から送信される。また、処理工程終了毎に各デバイスからMIS210に対して返信される。ワークフローの途中、たとえば図2のアクティビティ203で記録紙無しなどの異常が発生すると、印刷ジョブデータはそのアクティビティにより処理された部分と処理できなかった部分とに別れ、ジョブチケットも分割された各印刷ジョブに合わせて分割される。ワークフローは分割された各部分毎に進行し、また結合される。次にジョブチケットの内容について説明する。
<ジョブチケット>
図3はジョブチケットの構成例である。図3はワークフロー実行前のジョブチケットの例を示す。符号301はジョブチケットの開始記号、符号302は元ジョブ名を示す。ジョブ名は、たとえば基になるワークフロー名と関連付けられているのが望ましい。本例では「361212」となる。符号303はジョブ名である。依頼者情報304は「kazuta」、支払者情報305は「matsueda」、届け先306は「xxxxxx-yyyyyy」、サーバ名307は「stargate」である。たとえばワークフロー作成時にこれらの値をユーザに入力させれば、ジョブチケット作成時には、ワークフロー情報に含まれる値を用いることができる。サーバ名はサーバ部100の名称である。開始日時308は本ジョブチケットが生成された時間を示す。符号309から符号313には、アクティビティに対応して実行される作業工程が示されている。符号309はアクティビティ201の内容である。以下同様に、符号310はアクティビティ202、符号311はアクティビティ203、符号312はアクティビティ204、符号313はアクティビティ205の作業内容が示される。符号314はジョブチケットの終了マークである。
アクティビティの内容は、アクティビティ管理部107に保存されている。そこで、ジョブチケットを生成する際には、アクティビティ管理部107を参照して、アクティビティに対応する内容にしたがって処理内容をジョブチケットに記述する。たとえば本例ではアクティビティA1〜A5に対応して、それぞれ「担当者Aが入稿」、「担当者Bが、両面くるみ製本で面付け」、「管理者Cが承認」、「両面印刷」、「くるみ製本」といったアクティビティがアクティビティ管理部107に記述されている。そこで、ワークフロー実行部104あるいはジョブチケット発生部103により、各アクティビティの内容が、それを実行するためのパラメータに変換されてジョブチケットに記述される。パラメータは、たとえばデバイスの識別子やアドレス、処理の種類、その処理のために必要とされるパラメータ等を含む。たとえば「担当者Aが入稿」というアクティビティに対しては、入稿アプリケーションが実行されるコンピュータの識別名やアドレスと、オペレータに対して表示されるアクティビティの内容などが、ジョブチケットの工程1に記述される。また、「くるみ製本」というアクティビティに対しては、それが実行されるフィニッシャの識別子やアドレスと、フィニッシング処理の種類や処理に応じて必要とされるパラメータがジョブチケットの工程4に記述される。
<ワークフロー実行の概要>
図4は本実施形態におけるワークフロー実行手順の一例を示す図である。まず、通常のワークフロー実行手順の例を説明する。ワークフロー実行部104は(あるいはジョブチケット発生部103)、指定されたワークフローをワークフロー管理部108から読み、ワークフローに対応するジョブチケットを生成する。その際、ジョブチケットに含まれる、アクティビティに相当する工程には必要な情報が付加される。そのジョブチケットが、当該工程を実行するデバイス等に送付される。ジョブチケットには、当該工程を実行するために必要な情報(パラメータ)が記述されているので、各デバイス等は、そのジョブチケットの該当個所を読み、記述されたパラメータにしたがってその工程を実行する。該当個所は、たとえなジョブチケットを受信したデバイスの保持するデバイス識別子と、ジョブチケットの各工程に記載されたデバイスのIDとを照合して検出できる。すなわち、ワークフロー実行部104は、ワークフローの各アクティビティを実行するデバイス等に対して、ワークフローに定義された順序でジョブチケットを送る。これにより、各アクティビティをワークフローに定義された順序で実行させている。すなわち、ワークフロー実行部104あるいはジョブチケット発生部103は、各アクティビティの内容を、それを実行するためのパラメータ(デバイス識別子、処理種類、処理パラメータ等)に変換してジョブチケットに記述する。なお用紙サイズなど、処理のためのパラメータは、前段階のアクティビティたとえば面付けアプリケーション110における処理結果に基づいて決定される場合もある。もちろんワークフローにおいてあらかじめ定めておくこともできる。
たとえば、ワークフロー実行部104は、着目アクティビティが入稿であれば、入稿の工程を記述したジョブチケットを、その工程の実行デバイスである、入稿アプリケーションがインストールされたコンピュータに送信する。入稿処理がオペレータによる操作に応じて実行される場合、ジョブチケットの記述内容はその処理を実行するデバイスの識別子や、オペレータに対する指示の記述となる。それを受信したコンピュータのジョブチケット処理プログラム(前述)は、当該工程に対応して記述された情報を読み、たとえばオペレータ名と処理内容(たとえば「担当者Aが入稿」)、記述された情報を表示する。そして、担当者がログインしたならその認証を行い、指定した入稿担当者に対して入稿操作を許す。この認証は、たとえばジョブチケットに記載された担当者識別名を、不図示のディレクトリサーバ等で検索し、照合することで実行できる。その後担当者が入稿するデータを指定し、入稿アプリケーションによる所定の形式への変換等の処理が完了したなら、変換後のデータをあらかじめ指定されたフォルダ(例えば、ホットフォルダ)へ格納する。最後に、入稿アプリケーションがインストールされたコンピュータは、入稿したファイル名やホットフォルダの名称(必要に応じて所在も含む)、サイズ、処理開始時刻、完了時刻等の処理後に確定したジョブチケットに書き加える。オペレータにより指定された情報があれば、それも書き加える。たとえば、印刷部数などがこの段階で指定されることもあり得るので、それをジョブチケットに書き込む。最後に、入稿アプリケーションがインストールされたコンピュータは、更新したジョブチケットをワークフロー実行部104に送信する。
以上は、オペレータが介入する処理について同様に行われる。一方、オペレータの介入なしに行える処理については、アクティビティを実行するデバイスに適合したパラメータがジョブチケットには記載される。たとえば、「両面印刷」というアクティビティがあれば、ワークフロー実行部104はそれを実行するデバイスを決定し、用紙サイズや両面印刷という印刷設定をジョブチケットに書き込んでそれを印刷エンジン111に送信する。この形式は、たとえばJDF(ジョブ定義形式)などの規格に従えばよい。その他の点は、オペレータが介入する処理と同様である。なお、サーバ100に接続されているデバイスの情報は、サーバ100が管理している。例えば「両面印刷」というアクティビティを処理するデバイスについては、ワークフロー実行部104が、サーバ100に管理されているデバイス情報から両面印刷を実行できるデバイスを特定する。そして、ワークフロー実行部104が、そのデバイスにて処理すべきとの内容を記述したジョブチケットを生成する。
ただし、処理によっては、その後の処理に応じてパラメータが与えられる場合がある。たとえば、面付けアプリケーションにおける面付けは、印刷順序やフィニッシング処理の種類(特に製本処理)に応じて行われる。たとえば製本処理では、一定枚数の印刷済み用紙を2つ折りし、それをステープルして束ね、その束を重ねて背表紙を付けるなどの処理が行われる。そのため、2つ折りする枚数や、折りの方向などによって、面付け処理によるページの配置が決定される。また処理の仕方には、装置の機能による制約もある。そこでワークフロー実行部104あるいはジョブチケット発生部103は、着目するアクティビティ実行のためのジョブチケットを、ワークフロー全体および使用するデバイスの機能に基づいて決定している。
<ワークフローの派生>
図5は本発明に係るワークフロー自動生成(すなわち派生)を示す概要図である。図5において、アクティビティ203〜205は図2のそれに等しい。ワークフロー520は、ワークフロー510を元ワークフローとして派生された派生ワークフローである。アクティビティ501から504は、派生ワークフローの自動生成処理により生成された派生ワークフロー520に属するアクティビティである。本例では元ワークフロー510のアクティビティ203にて異常が発生した際に派生ワークフロー520が生成されている。ワークフロー520は、アクティビティ203の処理中に中断されたジョブの一部(アクティビティ203で未処理のデータ)を対象として、異常解除後に実行される。また、アクティビティ(印刷エンジンによる印刷処理)203による処理が行われた部分的なジョブ(印刷物)は、アクティビティ203における異常解除を待たずアクティビティ204へ進められる。
派生ワークフロー520のアクティビティ501は結合のアクティビティである。これは、アクティビティ203からの異常解除後のジョブと、アクティビティ204で処理できなかったジョブの一部との結合のアクティビティである。結合のアクティビティは、派生ワークフローの生成に際して、必要に応じて発生させることが可能である。アクティビティ502はアクティビティ204の複製アクティビティで501において処理済のジョブを扱うことができる。アクティビティ503はアクティビティ205の複製アクティビティであり、アクティビティ502の処理を終えたジョブを扱うことが可能である。
なお確認アクティビティとは、出力物の確認をユーザに行わせる処理である。たとえば確認アクティビティはソフトウエアであり、処理が完了した出力物の詳細(部数や一部あたりのページ数、サイズなど)をコンピュータ端末に表示する。ユーザは、表示されたデータと実際の印刷物を調べてから得られる情報とを照合して、一致する旨や、相違する旨の入力をその端末で行う。その結果一致が確認されれば、その旨がワークフロー実行部に通知されて、次のアクティビティに進む。
アクティビティ504は最終結合アクティビティである。つまり、ワークフロー実行部104は、記憶手段に記憶されているワークフロー(ワークフロー510)の最終工程からの出力データと、生成された新たなワークフロー520の最終工程からの出力データとを結合させる結合工程を生成することができる。よって、ワークフロー実行部104は、ワークフロー510の最終工程からの出力データと、新たなワークフロー520の最終工程からの出力データとは結合されるようなワークフローを生成することができる。本例ではアクティビティ205の出力と、アクティビティ503の出力とを結合する。
結合アクティビティは、たとえば対象がデータであれば、そのデータを結合してひとつのまとまったデータを再構成する。一方、対象が物であり、結合がユーザのマニュアル処理で行われる場合には、たとえば次段のアクティビティに渡すパラメータの結合を行う。アクティビティ504は最終段のアクティビティであるから、結合後の出力物の詳細をユーザに確認させる確認アクティビティと同様の処理であっても良い。しかし、アクティビティ501では、アクティビティ203からワークフロー520に分岐する部分ジョブの出力パラメータと、アクティビティ204からワークフロー520に分岐する部分ジョブの出力パラメータとを結合する。結合されたパラメータが次段のアクティビティ502の入力となる。
たとえば、20ページの印刷物を10部印刷して製本する場合を考える。アクティビティ203でエラーのために印刷できない印刷物が50ページであるとする。印刷を部単位で行っているとすれば、エラーが生じたときに印刷中であった部は、その半分の10ページの印刷を終えており、残りの半分は印刷されていない。そのためアクティビティ204が製本処理であれば、アクティビティ204では10ページの印刷物が半端となって製本処理の対象とはできない。そこで、アクティティ204にて余った印刷物は、アクティビティ203でエラーのために印刷できず、エラー解除後印刷された印刷物(50ページ)と結合される。アクティビティ501ではその結合が行われる。印刷物自体を重ね合わせてフィニッシャにセットする処理はマニュアル操作で行われる場合がある。この場合でも、フィニッシャに与えるパラメータは結合される必要がある。
すなわち、アクティビティ203および204ではそれぞれジョブが分割され、一方は次段のアクティビティに進められる。各アクティビティにおいて分割後の他方のジョブはいずれもアクティビティ501に入力される。その際に、アクティビティ203からのジョブのパラメータはたとえば処理すべきページ数が50であり、1部あたりのページ数は20である。一方アクティビティ204からのパラメータは、処理すべきページ数が10であり、1部あたりのページ数は20である。このため、結合アクティビティにより、ページ数は加算されて60となる。これが、後処理のアクティビティ502へ入力されるパラメータとなる。アクティビティ502では、入力されたパラメータに従い、60ページの印刷物を、20ページずつ製本する。
なお、図5において派生ワークフロー520には結合アクティビティを含めず、結合処理を施したデータやパラメータを派生アクティビティに入力すると考えても良い。
本例では、結合アクティビティの実体は、たとえば直前の2つ(またはそれ以上)のアクティビティからワークフロー実行部104に出力されるパラメータをひとつにまとめる処理が定義されたプログラムである。一つにまとめるとは、具体的には加算演算等である。ワークフロー実行部104は、加算されるべきパラメータをワークフローの先頭に挿入された結合アクティビティに渡す。それにより、指定されたパラメータが加算され、結合アクティビティから出力される。加算されるべきパラメータは、たとえばページ数であったり、あるいは部数等である。ワークフロー実行部104は、たとえば、あらかじめ結合アクティビティで加算すべきパラメータを、その直前のアクティビティに応じて定義した結合テーブルを保持している。そして、付加された結合アクティビティに対して、直前のアクティビティおよび結合テーブルを参照して決定されるパラメータを、加算すべきパラメータとして指定する。たとえば、印刷アクティビティに対応付けて「ページ数」が結合テーブルに登録されているとする。この場合、結合アクティビティの直前のアクティビティが「印刷」であれば、結合テーブルからは、「ページ数」が加算対象のパラメータとして特定できる。これを、結合アクティビティに対して指定する。パラメータを指定された結合アクティビティは、複数のアクティビティからの入力パラメータのうち、指定された「ページ数」パラメータに該当する値を加算する。もちろん指定されるパラメータは一つとは限らない。「ページ数」と「部数」など複数のパラメータを指定しても良い。
確認アクティビティも同様にあらかじめ定義されている。ただし確認アクティビティの実体は、入力されたパラメータを端末に表示し、オペレータに確認した旨の入力を促すプログラムである。
<アクティビティのプロパティの設定>
図6はアクティビティのプロパティの設定表示例である。一般的にワークフローシステムにおいては各アクティビティに関してプロパティを設定することが可能である。たとえば、図2のアクティビティ201から205のそれぞれのアクティビティに別々のプロパティを設定することが可能である。プロパティでは各種パラメータの設定を行うことが可能であるが、本例はその一部分のみを表示している。アクティビティのプロパティの設定は、アクティビティ管理部107により実行される。プロパティ設定のためには、アクティビティ管理部107により提供されるユーザインターフェース画面においてアクティビティのIDを入力し、現在のプロパティを読み取る。当該IDが存在しなければ、新たに作成しても良い。プロパティは、アクティビティとして保存されたその内容(たとえば「プリンタAで10部両面印刷する」といった記述)に関連づけて、ハードディスク等の記憶部に保存されている。読み出されたプロパティが、図6のように表示される。図6の各チェックボックスのチェックの有無は、たとえばフラグとしてプロパティに保存される。以下の説明ではチェックボックスのチェックの有無を判定するように記述しているが、実際にはプロパティに属するフラグが判定の対象となる。
図6において表示枠601はダイアログ設定部である。チェックボックス602は障害が発生した際に作業の並行処理を行うか否かの処理選択チェックボックスである。現在はチェックが入っており作業の並行処理を行う設定となっている。並行処理を行う設定になっていると、障害発生時に、当該障害が発生したアクティビティ以下のワークフローを含む新たな派生ワークフローが生成される。つまり、ワークフロー実行部104は、受信した処理状況がワークフロー生成条件に一致すると判定された場合、処理状況の送信元のデバイスが担当する着目処理工程および該着目処理工程から後の工程を含んだワークフローを生成する。そのために、ワークフロー実行部104は、記憶されている元々のワークフロー情報(図5では、ワークフロー510に相当)において着目処理工程および該着目処理工程から後の工程に該当する情報を用いて、新たなワークフローを生成する。そしてジョブは、元ワークフローにしたがってそのまま処理される部分と、派生ワークフローにしたがって処理される部分とに分割される。一方チェックボックス602においてチェックがされていないと、障害時には、障害が解除されるまでそのアクティビティでジョブ全体が停止する。
チェックボックス603は並行処理移行値であり、当該アクティビティにおいて障害発生時に、派生ワークフローを生成するか否かを決定するための閾値である。この閾値は、ジョブの処理対象であるデータ全体のうち、処理が済んだ割合を意味している。図6では現在の設定は1/2となっている。図6のプロパティがアクティビティ203の設定であると仮定すると、アクティビティ203のエンジン部でジョブ全体の2分の1以上の出力が行われた後にエンジンの異常が発生した場合に、設定値604〜606の設定が有効であることを示している。本チェックボックス(スイッチとも呼ぶ)603には、ワークフローとして意味のある値を設定すればよい。
チェックボックス604は結合アクティビティの作成の有無を示す。チェックボックス604がチェックされていると、派生ワークフローの先頭に結合アクティビティが生成される。図5の例ではアクティティ501が該当する。チェックボックス605は確認アクティビティの作成処理である。確認アクティビティは、そのアクティビティで処理されるジョブのパラメータ等をユーザに確認させるためのアクティビティである。チェックボックス605がチェックされていると、チェックボックス604にしたがって作成された結合アクティビティの直後に、確認アクティビティが挿入される。画面上で確認した旨を入力することで、確認アクティビティは終了する。これにより、ジョブが結合されたことをコンピュータ端末の画面で確認できる。確認を権限があるものが行えるようにするために、画面上でまず認証情報の要求を行っても良い。
チェックボックス606は、最終結合アクティビティを作成するためのチェックボックスである。このチェックボックス606がチェックされていると、元ワークフロー及び派生ワークフローを一つに纏め上げる結合アクティビティが生成される。図5では、本チェックボックス606がオンであるため、結合アクティビティ504が付加されている。
ここで、アクティビティの付加はたとえば以下のような方法で行われる。派生ワークフローの生成処理において付加される結合アクティビティおよび確認アクティビティは、あらかじめ定義され、実行可能な形式でサーバ100(あるいは他のコンピュータ)の記憶部に記憶されている。元ワークフローのワークフロー情報から複製された派生ワークフローのワークフロー情報には、その適切な位置に、挿入されるアクティビティのIDなどの情報が挿入される。IDはアクティビティの実体と関連づけられている。ークフロー実行部は、そのIDを呼んで、IDと関連づけられているアクティビティの実体であるプログラムを実行する。
つまり、ワークフロー実行部104は、図6を介して設定された値を用いてワークフローを生成する条件を設定する。そして、ワークフロー実行部104は、後述する判定処理により、着目処理工程から受信した処理状況が、設定された条件に一致するか否かを判定する。ここで、処理状況と図6にて設定された値が一致する場合、新たなワークフローが生成される。
<本発明を使用しない場合のフロー例>
図7に本発明を使用しない場合すなわちジョブの分岐を予め静的に定義しておく場合のフロー例を示した。ワークフローがアクティビティにおけるエラー等で停止した場合に、処理時間の短縮を図って可能な部分だけを先に進めるフローを構築しようとすると図7のような複雑なフローとなる。たとえば、アクティビティ703(エンジンによる印刷)でワークフローが中断した場合、中断前後で処理済みと未処理とに分かれたデータを処理するために、アクティビティA8から始まる一連の分岐したフローも定義しておく必要がある。これは他のアクティビティについても同様である。図7にはすべての分岐が描き尽くされているわけではなく、分岐した先でさらに分岐する場合もあり得るために、全ての分岐をカバーしようとすると一層複雑なフローとなる。つまり、予め各アクティビティで発生するエラーを想定して、全てのエラーをカバーするワークフローを用意すると膨大なワークフローを保持しておかなければならない。さらに、用意し忘れていた場合は、エラーが発生した時に、処理をカバーすることができなくなる。このように、予め各アクティビティで発生するエラーを想定して、全てのエラーをカバーするワークフローを用意することは非常に困難な作業である。
<本実施形態におけるワークフローの派生処理>
これに対して本実施形態では、元ワークフローは二重丸で記載されたアクティビティだけである。つまり、分岐は、新たなワークフローとして必要に応じて動的に派生するので、元ワークフローの定義は本来のフローの定義のみで良く、ワークフロー作成の作業効率が高くなる。
図8はワークフロー実行部104において、1つのアクティビティを実行する際の制御フローを示している。以下図8に従って説明する。S801は、アクティビティの処理を実行するステップである。アクティビティの実行は、後述するジョブチケットをアクティビティの実行主体たるデバイスやプログラムに送信することで遂行される。なお、本願のワークフローは情報処理装置のCPUによって実行される。また、本願の処理を実行する情報処理装置は、複数工程の処理順序を定義したワークフローを生成し、ワークフローおよび該ワークフローに含まれる各工程における処理を定義したワークフロー情報を記憶する記憶部を有しているとする。
S802は、ワークフロー実行部104が、各アクティビティにおける処理中に異常があったか否かを判定するステップである。異常の発生は、アクティビティの実行主体であるデバイスやプログラムから、異常発生のメッセージを受信した場合に検知される。つまり、ワークフロー実行部104は、ワークフローに定義されている複数工程におけるいずれかの着目処理工程の処理状況を該着目処理工程の処理を実行するデバイスから受信する。異常が発生していないとS803へ進む。S803は、ワークフロー実行部104が、アクティビティ処理が終了したか否かを判定するステップである。アクティビティの終了もまたデバイスやプログラムからの終了通知で判定できる。処理が終了と判定されると本フローは終了し次のアクティビティが存在すればそちらへ遷移する。S803で処理が終了していないと判定されるとS801へ戻る。
一方S802で、ワークフロー実行部104が、異常が発生したと判定するとS804へ進む。S804において、ワークフロー実行部104は、派生ワークフローの生成すなわちジョブチケットの分割の判定を行う。具体的には図6のダイアログ601で設定した内容を判定し、派生ワークフローおよびその派生ワークフローに含まれる新規アクティビティを作成するか否かが判定される。すなわち「作業の並行処理フラグ」がセットされており、しかも行うべき処理の量に対する処理済みの処理量の比率が「並行処理移行値」であれば、派生ワークフローを生成する。処理量とは、たとえば出力ページ数で表される。 つまり、S804において、ワークフロー実行部104は、受信された着目処理工程の処理状況がワークフロー生成条件に一致するか否かを判定する。S804において、ワークフロー実行部104は、S804の判定によって着目処理工程の処理状況がワークフロー生成条件に一致すると判定された場合、記憶されているワークフロー情報および着目処理工程の処理状況に基づいてワークフローを生成する。
ワークフロー実行部104は、派生ワークフローを生成べきであると判定するとステップS805へ進む。S805はワークフロー実行部104は、異常が発生したアクティビティにおいて処理を実行するデバイス等から中断情報を受信して、ジョブの分割すべき位置を認識する。
ステップS806では、ワークフロー実行部104は、図6のようなアクティビティのプロパティに従って派生ワークフローを生成する。すなわち、ワークフロー実行部104は、たとえば元ワークフローのワークフロー情報を、エラー中断したアクティビティを含めて複製する。そして、中断したアクティビティのプロパティを参照して、設定に応じて先頭および末尾に結合アクティビティを追加し、また確認アクティビティを付加する。図5でいえば、アクティビティ501から504を含むワークフロー情報が生成される。ステップS807は、ワークフロー実行部104が、S805において取得した情報をもとに中断したジョブを、既に処理が済んだ既処理部分と済んでいない未処理部分と分割する。そして、既処理部分(既処理ジョブという)を、本ワークフローのワークフロー情報にしたがって、次のアクティビティにすすめる。具体的には、中断したアクティビティに入力したジョブチケットを未処理部分と既処理部分とに分割する。そして、既処理部分のジョブチケットを、元ワークフローの次段のアクティビティの実行主体であるプログラムあるいはデバイスに送信する。
ステップS808では、ワークフロー実行部104は、未処理部分に関する情報を、派生アークフローの先頭のアクティビティの実行主体に対して入力する。すなわち、図5の例では、先頭は結合アクティビティであるので、ワークフロー実行部104は、結合アクティビティを実行するプログラムに対して、未処理部分のジョブチケットを入力する。このプログラムの詳細は図9で説明する。
ステップS804で分岐判定が否と判定されると派生ワークフローの生成は行われず、ジョブ全体がS809へ進み、ワークフロー実行部104は、異常が生じたアクティビティで復帰待ちする。
<ワークフロー実行部104の処理の例>
次に図9で、ワークフロー実行部104の処理フローに関して、印刷工程を例にとってさらに詳しく説明する。図9のフローは処理工程203の開始時点から始まる。もちろん他の処理工程についても同様である。ただし、図9中、ステップS1313やステップS1309の「全印刷?」という工程は、各処理工程における処理を完了したか否かの判定に置換されるべきである。また、ステップS1302、ステップS1303の判定も処理工程毎に異なる基準で行われる。
図9において、ステップS1301は、ワークフロー実行部104が、エンジン部111へ出力を依頼する処理である。具体的には、図10のジョブチケット401のうち、工程A3における処理結果504〜506の記述を除いたものが、ステップS1301で生成されてエンジン部111へ送信される。もちろんエンジン部111への指示は、その前の処理工程A2における処理結果に基づいて記述されている。たとえば、処理工程A2における出力サイズはA3であり、枚数は120枚であり、両面に面付けされている。そこで、ワークフロー実行部では、印刷に必要なパラメータのうち、処理工程A2の処理結果に含まれる項目を読み、それを処理工程A3のパラメータとしてジョブチケットに書き込む。なお、印刷データは、MIS210から渡しても良いし、図5には図示していないが、その在処とファイル名とを工程A2の処理結果として記載し、それを参照してジョブチケットにデータの所在を記載しても良い。
エンジン部111で印刷が終了すると、そこから返信されるジョブチケットを受信する。そしてステップS1302において、ワークフロー実行部104は、ジョブを分割する原因(すなわち派生ワークフローを生成する原因)が生じたか否かをジョブチケットを参照して判定する。分割の原因は、処理中の工程(着目処理工程)ごとに判定される。一般化すると、ジョブ(ワークフロー)を処理途中で停止させる事態が生じると、ジョブを分割する原因すなわち派生ワークフローを生成する原因があると判定できる。たとえば印刷処理工程の場合、エンジン111で障害等の問題が発生したかが判定される。なお、新たな派生ワークフローを生成する条件に一致する着目処理工程の処理状況は、デバイスの処理を中断させる事象であっても良い。その際、ワークフロー実行部104は、エラーが発生した着目処理工程を先頭として着目処理工程と着目処理工程より後の工程を含む新たな派生ワークフローを生成する。また、例えば、後処理工程の場合、後処理の単位(たとえば1部)となるページがすべて揃っているかが判定される。後処理の単位に満たない部分(ページ)がある場合には、その部分を独立したジョブとして分割する原因があると判断される。分割の原因がある(たとえばエンジン部111で問題あり)と判定されると、ステップS1303へ進みジョブの分割を行うか否かが判定される。分割の原因がなければステップS1314へ進む。
ステップS1303の判定は、ワークフロー実行部104が、分割の原因がある場合に、着目ジョブが分割に適するか判定する処理である。つまり、ワークフロー実行部104は、受信された着目処理工程の処理状況がワークフロー生成条件に一致するか否かを判定する。たとえば図6のプロパティの値と着目ジョブの処理結果に基づき判定される。さらに、アクティビティ固有の属性も判定される。またたとえば図8では省いたが、分割の原因がエンジンの障害である場合、「印刷済みページ数」、「印刷済みページが全体に占める割合」、「後工程の種類」、「エンジンの障害の種類」等によって分割の適否が判定される。たとえば12枚のくるみ製本を10部製本する例において、印刷から製本へ渡す際に、正常に工程A3が完了すれば、120枚の印刷物を出力することになる。ところが印刷が最初の15枚だけで終了した際には、その15枚だけ製本工程に渡せば1部の製本を作り上げることはできる。すなわち、ジョブを分割することができる。一方、たとえば最初の9枚しか出力されなかった場合には、その9枚では製本はできない。すなわちジョブを分割することはできない。このように、現在の処理結果とジョブ内容またはワークフロー内容等を鑑みて、ワークフロー実行部104は、分割を行う必要があるか否かをステップS1303で判断する。
ステップS1303における判定の基準の例には以下のようなものがある。
(1)印刷済みページ数:後工程(たとえばフィニッシング工程)の処理単位(上の例では12枚)が少なくとも1組揃っているか否か。揃っていなければ分割はしない。これは単にページ数だけではなく、先頭ページと末尾ページとを含むことも条件となる。
(2)印刷済みページ数の割合:出力ページ数が、出力すべきページ数のうち一定率以上であるか。なければ分割しない。たとえば全体の10%以上の出力があれば次の工程の作業が始められる場合などのように、割合で指定ができるとき、その割合分の出力が終わっているか否かを判定する。
(3)後工程の種類:たとえば、次の後処理工程が全頁の一括箱づめ作業であれば全頁が揃わないと渡しても意味がない。このように後工程の種類が、分割しても意味があるものなのかどうかが判定される。
(4)エンジン障害:たとえば次の工程が製本であるがその製本機がトラブル中であり、他に代替機も存在しないときには、ジョブを分割しても処理は進まないので分割の意味がない。このように分割後の代替機が存在するか否かを判定する。
以上の基準は、印刷処理における判定基準の例である。この判定基準は、たとえば表化されてメモリ等に保存され参照されて判定基準とされる。
さて、ジョブの分割を行うと判定されるとステップS1304へ進む。ステップS1304では、ワークフロー実行部104が、元ジョブのジョブチケットを、図10および図11で示した2つのジョブチケット(後述)に分割する。ステップS1305では、未出力部のジョブを保留状態にして、エンジンの復旧とともに印刷を開始できる状態としておく。すなわち、ワークフロー実行部104は、未出力部分に相当する分割後のジョブチケットを、ジョブチケット管理部105に保存し、エンジンの復旧を待つ。ステップS1306では、分割されたジョブのうち、印刷処理済み部分に対応するジョブの処理完了後に、印刷エンジン111からジョブチケットを受信し、次の処理工程A4のためのジョブチケット403を生成する。そしてワークフロー実行部104は、次の処理工程A4用のジョブチケット403を工程A4の実行主体たとえばフィニッシャ112へ送信する。これによって、処理をフィニッシング処理工程へ移行させる。このジョブチケットを受信したフィニッシャ112は、工程A4のために記載されたパラメータにしたがって、後処理を実行する。つまり、ワークフロー実行部104は、受信された処理状況に基づいて各処理工程の処理内容を記述したジョブチケットを生成することができる。ワークフロー実行部104は、処理状況に基づいて、着目処理工程において処理済み部分に対するジョブチケットおよび着目処理工程において未処理済み部分に対するジョブチケットを生成する。なお、図4の例では、着目処理工程において処理済み部分に対するジョブチケットは、ジョブチケット403であり、未処理済み部分に対するジョブチケットは、ジョブチケット402である。なお、ワークフロー実行部104は、処理状況に基づいて着目処理工程の処理済み部分については着目処理工程の次工程の処理内容を含んだジョブチケット403を生成する。さらに、ワークフロー実行部104は、着目処理工程の未処理部分については、未処理部分について着目処理工程にて処理すべき内容を含んだジョブチケットを生成する。なお、本願では、処理工程にて処理すべき内容を記述したジョブチケットを作業指示データと記載することもある。
ステップS1307は、ワークフロー実行部は、エンジン部111から復旧の知らせが来るのを待つステップである。エンジンが復旧するとステップS1308へ進み、ワークフロー実行部104は、ステップS1305で保留したジョブチケット402を印刷エンジン111に送信する。なお、エンジンの状態情報は、ワークフロー実行部104に送信されている。これにより保留されていた印刷ジョブが開始される。なお、ステップS1307、ステップS1308は、説明の便宜上ステップS1306の直後に位置しているが、それらステップとは非同期に実行しても良い。ステップS1309は全ての印刷が終了したか判定するステップである。
ステップS1310は、ステップS1308で処理が完了したジョブを後処理(A4)工程へ進めるステップである。すなわち、ワークフロー実行部104は、ステップS1308による印刷が完了した際に、印刷エンジンから処理結果を記載したジョブチケットを受信する。そしてワークフローおよび受信したジョブチケットを基に、後処理(A4)工程のためのジョブチケット(図4には不図示)を生成する。そのジョブチケットを、後処理工程を行うフィニッシャ112に送信する。
一方ステップS1311は、ジョブ分割しないと判定された際に、元ジョブ全体について、ジョブを停止させている原因の解除、たとえばエンジンの復旧を待つステップである。エンジンが復旧するとステップS1312へ進み、未出力部を印刷する。印刷エンジン111は、ジョブチケットをワークフロー実行部104に返信せずに復旧を待っても良い。あるいは、印刷エンジン111は、障害が発生したなら、処理を停止させて処理済み部分と未処理部分とを処理結果として記載したジョブチケットをワークフロー実行部104に送信してもよい。この場合ワークフロー実行部104は、障害から復旧した印刷エンジン部111に対して、あらためて印刷処理工程を指示するジョブチケットを送信する。送信されるジョブチケットは、印刷エンジン部111から受信したジョブチケットと同じ内容を持つ。印刷エンジン部111は、受信したジョブチケットに記載された処理工程A3のパラメータを参照し、<出力ページ>に該当するページをスキップし、<未出力ジョブ>に該当する部分を印刷処理する。
ステップS1313は全ての印刷が終了したかを判定する。印刷が終了するとステップS1314へ進み、ジョブをまとめてA4ステップへ進める。ここでも、ワークフロー実行部は、ジョブ全体についての後処理工程A4のためのパラメータを記述したジョブチケットを作成し、それをフィニッシャ112に送信する。
<ジョブ分割処理>
次に図4に即して、派生ワークフローの生成、すなわちジョブ分割の実行手順の例を説明する。この手順はワークフロー実行部104により実行される。図4では、ワークフロー実行時にエンジン部111で記録紙無しなどの障害が発生した際に、派生アークフロー情報が生成される。そしてジョブチケット206がジョブチケット401とジョブチケット402とに分割され、ジョブが元ワークフローと派生ワークフローに割り振られる。つまり、元々のジョブを、中断前に印刷済みの部分に関するジョブと、中断により未印刷の部分に関するジョブとに分割する。ジョブチケットも、ジョブの分割に応じて、印刷済みの部分に関するジョブがジョブチケット401に割り振られ、未印刷部に関してはジョブチケット402に割り振られる。このようにひとつのジョブを、進行状況の相異なる複数のジョブに分割して対応するワークフローにより処理させることで、ワークフローの中断を防止し、処理済み部分に関しては部分的に先のアクティビティに進めることが可能になる。すなわち本例であるとジョブチケット401から、次段の処理工程のためのジョブチケット403を生成し、次段の処理に工程を進めることが可能になる。
また、ジョブチケット402は、分割によりジョブチケット403から独立したものとなっている。そのため、障害復旧後にジョブチケット403の進み具合に関係なく処理を開始できる。ジョブチケット404は、ジョブチケット403の実行後のジョブチケットである。図13等で説明するように、あるアクティビティを実行するためのジョブチケットは、その終了後に情報の追加が行われるため、処理の前後で相異なる内容を持つ。
<ジョブチケットの分割>
さて、分割後のジョブチケット401の構成の一例を図10に示す。また、分割後のジョブチケット402の構成の一例を図11に示す。なお、分割前のジョブチケットすなわち印刷エンジン部111からワークフロー実行部に送信されるジョブチケットは、図5とほぼ同じ内容を持つ。ただし、ジョブは元ジョブそのものなので、ジョブ名は「361212」である。
図10はジョブチケット401の構成例を示す図である。ジョブ名501は、「361212−1−2−3−1/2」となっている。このジョブ名は、元ジョブ名「361212」に含まれる工程1、2は成功したこと、工程3で2分割されたこと、本ジョブはそのうちの前半のジョブであることを示している。なお、工程1、2、3はそれぞれアクティビティA1,A2,A3に対応する。また、工程1,2が成功したことは「−2−1」で示され、工程3で2分割され、本ジョブはそのうちの前半のジョブであることは、「−3−2/1」で示される。すなわち、ジョブチケット分割後のジョブ名は、「元ジョブ名+成功した工程(アクティビティ)の識別番号(繰り返し)+分割実行される工程の識別番号+分割された部分の、ジョブ全体に対する位置を示す識別子」で与えられる。「分割された部分の、ジョブ全体に対する位置を示す識別子」は、図10では、分割数を分母に、分割部分の順番を示す番号を分子にした分数形式で示される。
作業結果502には工程1の作業指示および作業結果が記載されている。作業指示はワークフロー実行部104により記載される。作業結果は、処理を行ったデバイスにより記載される。作業結果について説明する。<入稿ファイル>欄は「aaabbbccc.pdf」であり、<開始時間>欄には「2005/04/14 19:00:01」に入稿を受付けたことが記述されている。さらに、<終了時間>欄には、「2005/04/14 19:00:03」に入稿を終了したことが記述されている。また、<部数>は10部である。部数は、たとえばジョブチケットで指定された部数であってもよいし、入稿時にオペレータにより指定された部数であっても良い。また、入稿されたデータが保存されている<ホットフォルダ>欄は「folder1」となっている。ホットフォルダとは、所定の目的のためにあらかじめ指定されているフォルダであり、本例では入稿データを保存するためにあらかじめ指定されたフォルダである。図10では入稿したPC上のホットフォルダ名が示されている。<処理の実行者>欄は、「System」が主体であることが記述されている。このように工程1ではその処理結果として、少なくとも、入稿ファイルの名称およびそれが保存されている場所を示す情報がジョブチケットに追加される。なお工程1は図10では問題(障害)なく終了している。
領域503には工程2(A2:面付けアプリ)の作業指示および作業結果が記載されている。作業指示はワークフロー実行部104により記載されるが、図では詳細は省略しA2と示した。作業指示は、ワークフローおよび、ジョブチケットに記載された前の工程の作業結果を基に記載される。作業指示の内容としては、「両面くるみ製本」であることおよびその詳細を示すパラメータが記述されている。これはたとえば、ワークフロー実行部104が、印刷およびフィニッシングのアクティビティを読み、面付けのパラメータとして、それをジョブチケットに記載することで実現される。面付けでは、その後の印刷やフィニッシング処理のためにページ順の調整も行う。たとえば、印刷エンジン110は入力される面付け後のページ順序で印刷済み用紙を出力する。フィニッシャは、給紙台に載置された印刷済み出力用紙を、その装置に固有の順序で取り込みフィニッシング処理する。そこで、フィニッシャが正しく1部ずつ製本できるように、印刷出力されるページ順序は決定されるべきであり、面付け処理後のページ配置もそれに合わせて決められる。このようなページ順序の決定は、たとえば面付けアプリケーションが、ジョブチケットに記載されたパラメータとして、両面くるみ製本が行われること、および製本の単位となる枚数等をワークフロー実行部から受け取ることで実現される。
また作業結果は、処理を行ったデバイスにより図10のようにジョブチケットに記載される。工程2の作業結果について説明する。工程2は工程1と同じく本例では問題(障害)なく終了している。面付けの結果としてA3用紙を使用したくるみ製本のための面付けが1アップ(シート1ページにつき入稿された1ページが配置される)で行われている。また工程2の処理は担当者「yamanaka」が行ったことが記述されている。また、くるみ製本の表紙カバーには厚紙1の用紙を使用するという記載もある。これはたとえば、面付け処理時にカバーまで含めた面付けが行われた場合などに記載される。また出力部数は10部、印刷枚数は120枚である。これはたとえば、印刷エンジンにより印刷させた場合の出力順序をフィニッシャによる処理順序に整合させるために、面付けアプリケーションが全出力ページを生成する必要がある場合等に、処理結果として記載される。図10の例では、12枚のくるみ印刷を10部出力し、総計120枚印刷することを示している。なお、総ページ数の代わりに、部数と共に1部あたりのページ数を記述しても良い。また、<開始時間>および<終了時間>欄は工程2には記されていないが必要に応じてセットされる。このように工程2ではその処理結果として、少なくとも、面付け後のページ数がジョブチケットに追加される。もちろん図10のようにそのほかの情報が追加される場合もある。
領域504は工程3の処理結果を示している。デバイス名欄504にはデバイス名「ABCD」が記載されている。また出力ページ欄505には、分割が工程3で行われたことを示す工程の識別番号「3」と、出力が完了した部分が前半部分であることを示す「1/2」という識別子とをつなげた「3−1/2」と、印刷済みページ数「50」が記載されている。割符パスワード506は、ジョブチケットを分割した際に各々のジョブチケットに同一のパスワードが挿入される。本例では工程3で分割が発生したため割符パスワードが工程3の要素として記載されている。その値は「a3$DtGh)」であるが、固有性があればどのようなものであってもよい。未出力ジョブ情報欄506には、分割が工程3で行われたことを示す工程の識別番号「3」と、出力が完了した部分が後半部分であることを示す「2/2」という識別子とをつなげた「3−2/2」と、未印刷済みページ数「70」が記載されている。これにより70枚が未出力であることが示されている。未処理の工程を示す欄507及び欄508には処理結果の記録が何も残されていない。欄509はジョブの終了を示すマークであり、分割後のジョブ名も記載されている。このように工程3ではその処理結果として、少なくとも、デバイス名と、出力ページ数とがジョブチケットに追加される。もちろん、未処理部分が残れば、出力ページ数に加えて未処理ページ数も追加される。
また図10のジョブチケット401は、工程3の処理済み部分に関するジョブチケットである。ワークフロー実行部104は、エンジン部111から工程A3の途中まで処理が終わったことを記したジョブチケットを受信すると、工程4用のフィニッシング処理のための記述をしたジョブチケット403を生成する。例えば、ジョブチケット403は、フィニッシャに送られるものであるので、フィニッシャにより実行される処理のパラメータが記載されている。
図11はジョブチケット402の構成例の図である。ジョブ名601からは工程3で分割された後方のジョブであることが分かる。割り符パスワード602は、図10のパスワード505と同様の割符パスワード、符号603はジョブの終了マークである。ジョブ名以外は、図10と同様の内容を有している。ジョブ名601は、上述した規則に従って、「361212−1−2−3−2/2」となっている。このジョブ名は、元ジョブ名「361212」に含まれる工程1、2は成功したこと、工程3で2分割されたこと、本ジョブはそのうちの後半のジョブであることを示している。なお、工程1、2、3はそれぞれアクティビティA1,A2,A3に対応する。また、工程1,2が成功したことは「−2−1」で示され、工程3で2分割され、本ジョブはそのうちの後半のジョブであることは、「−3−2/2」で示される。また図11のジョブチケット402は、工程3の印刷処理のため印刷エンジン111に送られるものであるので、フィニッシャにより実行される処理のパラメータは記載されている必要はない。
図12にジョブチケット分割処理の一例を示す。まず、ワークフロー実行部104は、元ジョブのジョブチケットを分割する数だけ複製する(S1801)。そして、それぞれのジョブチケットの元ジョブ名称の欄に元ジョブの名称を複製し、ジョブ名として、図5等で説明した規則に従い、各ジョブチケットに固有の名称を記述する(S1802)。さらにその後、各ジョブチケットが送信されるデバイスのために、該当する工程の欄に指示(処理パラメータ)が記述される。なお、ここで記述されるパラメータは前工程の処理結果を反映したパラメータが記述される。
<ジョブチケットの結合>
次にジョブチケットを結合する結合アクティビティの処理に関して説明する。分割されたジョブは、分割された各ジョブチケットに係る処理が同じ工程まで進んだ際に、結合することができる。また、結合しなければ次の工程が行えない場合もある。
図13は本発明によるジョブチケットの結合を説明するためのシステム概要図である。図13において、ジョブチケット701は、エンジン復旧後に印刷が終了したジョブおよびジョブチケットである。ジョブチケット702は、次の処理工程(フィニッシング)に進んだジョブのジョブチケットであり、まだ次の処理が開始されていない。本例では、フィニッシング処理では、12枚を1部とするくるみ製本を10部分実行する。
一方ジョブチケット401は、次のフィニッシング工程においてさらに2分割されている。工程4のフィニッシング処理は、本例では製本処理を含んでおり、1部単位でしか実行できないためである。1部に満たない半端な部分は、残りの部分の印刷が完了し、そこと合わせて初めて製本され得る。そのため、ジョブチケット401は、製本された部分に対応するジョブチケット703と、製本されていない部分に対応するジョブチケット704とに分割されている。たとえば図10の記述によれば、ジョブチケット401により、印刷済みの50ページがフィニッシャの処理に渡される。フィニッシャでは12枚ごとのフィニッシング(製本)が行われるので、4部製本を作成すると2枚のあまりが発生する。そこで、フィニッシングが完了した48ページと、未完了の2ページとにジョブが分割される。ジョブチケット401は、ジョブの分割のために、フィニッシングの工程が完了したジョブチケット703と、フィニッシングの工程が未完了のジョブチケット704とに分割される。そして、ジョブチケット704は、印刷エンジンの復旧後に印刷が完了したジョブのジョブチケット702と結合され、結合後のジョブチケットがフィニッシング処理のためにフィニッシャ1112に対して発行される。結合はワークフロー制御部104で行われる。これにより、この後の工程作業の自動化が図れ、データが扱いやすくなる。
図14はジョブチケット704と、ジョブチケット702の構成例の図である。また工程A2以前は省略されている(これは図15,図16も同様)。ジョブチケット801はジョブチケット704の内容の例を示す図である。作業工程A4で分割されたジョブチケットは、元ジョブ名が「361212-1-2-3-1/2」である。したがって前述の名前付けルールに従い、元ジョブ名に「-4/2/2」が付加された「361212-1-2-3-1/2-4/2/2」がジョブチケット704のジョブ名となる。これにより工程A3による分割ジョブの前半のジョブを、さらに工程A4で分割したその後半に相当することが示されている。また、工程A4の<未出力ジョブ>の値が「4-2/2 2枚」となっていることから、本ジョブチケットが指し示すジョブの工程A4は、2枚の未処理ジョブを対象とすることがわかる。
ジョブチケット802はジョブチケット702の構成例の図である。ジョブ名「361212-1-2-3-2/2」から作業工程A3で分割が行われた後半のジョブであることを示している。また、工程A4の<処理ページ>の値が「70枚」となっていることから、本ジョブチケットが指し示すジョブの工程A4における70枚を対象とすることがわかる。これらは、フィニッシャ111によりジョブチケットの該当箇所(すなわちデバイス名としてフィニッシャ名が記述された工程の領域)が読み取られ、「未処理ジョブ」欄の値から判断される。
<結合後のジョブチケット>
図15は、ジョブチケット901はジョブチケット702とジョブチケット704とが結合された後のジョブチケットの構成図を示している。図14に記載のジョブチケット801とジョブチケット802がワークフロー実行部104に送信される。ジョブチケット901ではジョブ名「361212-1-2-3-1/2-4/2/2」の次にSubJobName「361212-1-2-3-2/2」が追加され、ジョブ結合されたことがわかる。作業工程A4の処理ページが加算の結果72枚となっている。結合後にニアラインフィニッシャの処理に進むことができる。加算の対象は、結合されるジョブチケットそれぞれの工程A4において処理すべきページ数である。すなわちジョブチケット「361212-1-2-3-2/2」の工程A4の<処理ページ>の値70と、ジョブチケット「361212-1-2-3-1/2-4/2/2」の工程A4の<未出力ジョブ>の値2とが加算される。結合の条件は後で説明する。
図16に、結合されたジョブチケット901をフィニッシャが受信してフィニッシング処理を実行した後のジョブチケットの例を示す。このジョブチケット1701が、ワークフロー実行部104に送信される。工程A4の処理の処理結果がジョブチケットの欄1702に示されている。処理前のジョブチケット(図15)に比べて、処理済みページ数や部数、作業者、作業内容といった結果が、フィニッシャ112によって表示欄1702に記述されている。
<本実施形態における結合アクティビティ処理>
図17は、ワークフロー実行部104部で実行される結合アクティビティの処理のフロー図である。この手順でたとえばジョブチケット801とジョブチケット802とが結合される。図5に記載の結合アクティビティ501を例として説明する。
図17において、ステップS1701では、ワークフロー実行部104が、分割されたジョブチケットのデータ受信を待つ処理である。なお、受信したジョブチケットが分割されたジョブチケットであるか否かは、上述した通り、ジョブチケットの名称を用いて判定することができる。本例では、ジョブチケットはワークフロー実行部104部を介してアクティビティに入力される。しかし、アクティビティから次のアクティビティに直接渡されても良い。この場合には、各アクティビティの実行主体が、次段のアクティビティの実行主体がなにであるか決定し、そこに宛ててジョブチケットを送信する機能を持つ。
ステップS1702は、ワークフロー実行部104が、分割ジョブチケットデータの受信を判定する。ステップS1703は、データを受信した場合に、どのアクティビティのデバイスからの受信であるかを判定する。この判定処理も受信したジョブチケットの名称から判定できる。例えば、図14のジョブチケット801を受信した場合、ジョブチケット名称は、「361212−1−2−3−1−1/2−4−2/2」となっている。ここで、ジョブチケット名称から、4つ目の工程まで進んで分割されたジョブであると判定できるため、ワークフロー実行部は、ジョブチケット801を4つ目のアクティビティのデバイスから取得したと判定できる。なお、図17では、図5の結合アクティビティを例にして、説明しているため、S1703の処理はアクティビティ203からの受信か否かを判定するステップとしている。もしYesであればステップS1704へ進む。アクティビティ203からのデータでなければアクティビティ204からの受信であるため、ワークフロー実行部104は、ステップS1708へ進み内部で保持するA4フラグをセットする。ステップS1704は同様に内部で保持するA3フラグをセットする処理である。ステップS1705において、ワークフロー実行部104は、A3フラグとA4フラグがともにONとなったのか判定する。ともに揃ったらステップS1706へ進む。なお、ステップS1703〜S1705の処理をより一般的にすることもできる。たとえば、入力データとはジョブチケットであるから、ジョブチケットを受信した場合、そのジョブチケットに示されているジョブチケットの分割に係る情報を参照する。たとえば分割後のジョブチケットのIDは、元のジョブチケットのIDに、分割が生じたアクティビティのID(あるいは順序番号)と、既処理部分か未処理部分かを示す情報とが示される。このため以下の条件(1)が満たされた上で、条件(2)または(3)が満たされればジョブチケットは結合可能と判定できる。すなわち、(1)同じジョブチケットのIDを含むこと。(2)同じアクティビティで分割された部分ジョブ同士であること。(3)あるアクティビティで分割された未処理ジョブと、その直後のアクティビティで分割された未処理部分と同士であること。ただし「あるアクティビティで分割された未処理ジョブ」とは分割時点でのジョブチケットIDの意味である。結合アクティビティに入力される際には、そのジョブチケットに対応するジョブの当該アクティビティにおける処理は済んでいるはずである。例えば、図14のジョブチケット801とジョブチケット802を用いて具体的に説明する。両者のジョブチケット名称には「361212」と同じジョブチケットIDが含まれているため、(1)を満たしている。また、ジョブチケット801には工程3で分割されたことを示す「―3―1/2」の記述があり、ジョブチケット802にも工程3で分割されたことを示す「―3−2/2」と記述されている。つまり、ジョブチケット801および802ともに、3つ目の工程で分割されているため(2)の条件を満たしている。さらに、ジョブチケット801には「未処理ジョブ 4−2/2」との記述がある。また、ジョブチケット802には「3−2/2」との記述がある。つまり、ジョブチケット802は3つ目の工程で分割された未処理ジョブであり、ジョブチケット801は、ジョブチケット802の直後の工程で分割され、未処理ジョブである。よって、ジョブチケット801およびジョブチケット802は(1)、(2)、(3)の全ての条件を満たしているため、当然結合可能と判定される。
さて、ステップS1706は結合可能か判定するステップである。A3およびA4から受け取ったジョブを可能であればページの連続性などをチェックして結合可能かを判定する。これは、上記条件(1)(2)(3)によって一般的な判定をした場合にも行われる。ステップS1706で結合可能と判定されるとステップS1707へ進む。ステップS1707は結合の実施処理である。結合は、たとえば結合されるジョブのジョブチケットを合成して単一のジョブチケットを生成する処理である。結合が不能であればステップS1709へ進む。ステップS1709は結合不能のためエラー終了するステップである。以上が結合アクティビティの処理例である。
結合処理がおわると、ワークフロー実行部104は、結合済みであるジョブチケットを実行中のワークフロー(着目ワークフロート呼ぶ。)のワークフロー情報に従い、次のアクティビティの処理主体にそのジョブチケットを送信する。図5の例では、アクティビティ502を実行するフィニッシャに、結合されたジョブチケット901が送信される。
<ジョブチケット結合のユーザインターフェース>
図18は、ジョブチケットの結合を行う際のパネル表示例図である。ジョブチケットの結合は、条件に適合すればそのまま行っても良いが、図18に示すユーザインターフェースを通してユーザに結合対象のジョブチケットを指定させても良い。結合アクティビティを実行するプログラムにより行われる。たとえば、オペレータが、ジョブの結合を指示する入力を行うと、それに応じて図18のウインドウ1001が表示される。表示されるデバイスはクライアントコンピュータ102である。もちろん、ジョブの結合が行われるデバイスであれば、他のデバイスであっても同様に表示される。
ウインドウ1001はジョブチケット入力指示画面の例である。表示領域1005はシステムからのメッセージを表示するための領域である。領域1006はユーザが結合したいジョブチケットを入力するテキスト入力領域である。ボタン1007はジョブチケットを参照検索する際に使用する参照ボタンである。ボタン1008はジョブチケットの結合を実行する実行ボタンである。ボタン1009は結合する2個目以上のジョブチケットを指定するための結合ボタンである。ボタン1010は本ジョブチケットの結合表示から抜けるためのキャンセルボタンである。
ウインドウ1002は、第1のジョブチケット名をユーザが指定した状態の表示である。この状態でユーザは結合ボタンを押下できる。結合ボタンを押すと、第2のジョブチケット名を入力できる。ウインドウ1003は第2のジョブチケット名を指定した状態の画面である。ユーザはこの状態で実行ボタンを押下できる。実行ボタンが押されると、パスワードが入力できる。ウインドウ1004は、結合用のパスワード(割り符パスワード)をユーザが入力して実行ボタンを押下する際の表示である。ウインドウ1004において実行ボタンを押下することで、図18の要領で入力された、結合しようとするジョブチケットの名称等の情報がワークフロー実行部104に送信される。図18のユーザインターフェースを利用する場合には、ワークフロー実行部104は指定されたジョブチケットについて図9の手順で結合する。
図19は、各処理工程のために生成されるジョブチケットの例を示した図である。ジョブチケット1201は本例の作業工程A1を実行する際のジョブチケット、ジョブチケット1202は工程A2でのジョブチケットである。特に分割も発生していないためジョブチケットは1つである。その後工程A3へ進み、そこで分割が発生する。これはジョブチケット206からジョブチケット401、ジョブチケット402へ分割されたことを示している。図19では、ジョブチケット1203がジョブチケット1204とジョブチケット1207とに分割されている。その後ジョブチケット1204は、さらにジョブチケット1205とジョブチケット1206とに分割されている。ジョブチケット1206はジョブチケット704を示している。図19において、ジョブチケット1206とジョブチケット1207に対応するジョブにはページの連続性がある。よって結合が可能である。以上のような判定が、図17のステップS1706で行われる。
<結合判定(ステップS906)>
図21は、ジョブチケットの結合可能判定(S1706)のフローチャートである。図21は、図17のステップS1701で受信したデータを基に、ワークフロー実行部104により実行される。なおパラメータがユーザインターフェースから入力される場合には、図18のユーザインターフェースから入力されたパラメータに基づいて実行される。図21は、ジョブAとジョブBの2つのジョブのジョブチケットが結合可能か否かを判定するフローとしている。
ステップS2101において、ワークフロー実行部104はジョブAの分割工程を検索する。分割工程とは図11でいうところの工程3および工程4がそれにあたる。この分割工程は入力されたジョブ名から探索できる。ジョブ名のうち、「1/2」といった分数形式の識別子に先立つ工程が、分割工程と判定できる。例えば、ジョブチケットの名称が「―3−1/2」であれば、3つ目の工程が分割工程であると認識される。ステップS2102において、ワークフロー実行部104は、ジョブBの分割工程を検索する。なお、検索方法は、S2101と同様である。ステップS2103では、ワークフロー実行部104が、前頁を含むジョブを決定する。例えば、S2101およびS2102にて検索された同じ分割工程の後に記述された分数形式の識別子の分子に記述された値を用いて実行する。つまり、3つ目の工程の後に記述された分数形式の識別子を判定する。たとえば、2分割されていれば、前側のページが含まれているジョブと、後側のページが含まれているジョブとを決定する。この決定は、分割工程の後に続く分数形式の識別子の分子が「1」となっているジョブ名が先頁を含むジョブであると決定される。つまり、分数形式における分子の値がジョブチケット順序を示す。たとえば図19でのジョブチケット1206とジョブチケット1207では、ジョブチケット1206が前のページを含んでいる。工程A3で分割したほうの前方を含んでいるのがジョブ名から判断できる。
ステップS2104は、ステップS2103で前方のページを含むジョブと判定されたジョブが、分割された時点における最終ページを含んでいるか否かの判定ステップである。ジョブチケット1206とジョブチケット1207の例では、ワークフロー実行部が、第3工程の分割における前方側の最終ページ(処理済みとなっているページ群の最終ページ)がジョブチケット1206に含まれているかをステップ1206から判定する。ステップS2105は、ステップS2103で後方のページを含むジョブと判定されたジョブが、分割時点での先頭ページを含んでいるか否かの判定ステップである。ジョブチケット1206とジョブチケット1207では、ワークフロー実行部が、第3工程の分割における後方側の先頭ページ(つまり、未処理となっているページ群の先頭ページ)がジョブチケット1207に含まれるかをジョブチケット1207から判定する。
ステップS2106は結合可能と判定するステップ、S2107は結合不能と判定するステップである。ステップS2104およびステップS2105の両者においてYesと判定された場合、前ページを含むジョブと後ページを含むジョブは、ページの連続性があると判定される。そのため、ワークフロー実行部は、例えば図18のUIにて指定された複数のジョブチケットの結合が可能であると判定する(S2106)。つまり、ワークフロー実行部104は、ジョブチケットを結合する際に、ジョブチケットが分割された着目処理工程の次工程以降において結合しようとする各ジョブチケットによる処理部分が、連続した部分であるか否かを判定する。そして、ワークフロー実行部104は、連続した部分であればジョブチケットを結合する。たとえば、結合可能をしめすフラグ等が、ステップS2106でセットされ、ステップS2107でリセットされる。これが図17のステップS1706での判定基準となる。
上記手順でページの連続性による結合判定のフローを示したが、必ずしもページの連続だけが結合条件になるとは限らない。ページの連続性がなくても結合を行っても次の作業に影響がでないこともありえる。
以上のように本実施形態によれば、ワークフロー実行中に新たなワークフローを生成できる。そして各ワークフローの処理を互いに独立して進めることができる。そして分割したジョブチケットを用いて、各ワークフローのアクティビティを実行できる。これにより、ひとつのジョブの実行中に、それを中断する事由が生じても、継続可能な部分を分割して、その部分については処理を進行させることができる。このため、ジョブ全体を完了させるための時間が短縮できる。
また、ジョブチケットをワークフロー実行中に動的に結合することができる。そして結合したジョブチケットを用いて、アクティビティを実行できる。このため、分割されたジョブの各部分を結合したアクティビティを、マニュアルで行わずに済みワークフローの生産性が向上する。
なお、分割されたジョブに係る出力物を、オペレータが手作業で結合した場合には、その後の工程の処理は、結合されたジョブとして処理される必要がある。しかし、特に通知がない限り、サーバは、出力物に対する結合処理が行われていることを認識できない。そこで、手作業である工程の出力物の結合を行った作業者は、パーソナルコンピュータ等を通して、結合した出力物を出力した工程の名称(ジョブチケットの名称)および結合した旨をワークフロー実行部に入力する。その通知を受けたワークフロー実行部は、結合された出力物に相当するジョブチケットを結合し、次の工程のジョブチケットを生成する。この様にすることで、手作業による結合を、ワークフローに反映させ、作業の簡略化を図ることができる。
[第2実施形態]
以下、別の実施例として承認系のワークフローシステムに関して説明する。承認系のワークフローの定義例を図22に示す。図22において2201から2204はそれぞれアクティビティである。2201は申請を行うアクティビティである。住所変更、外出交通費申請、など企業内の業務に多数存在するものである。本作業は通常一般者により執り行われる。終了すると2202へすすむ。2202は課長による承認アクティビティである。非図示であるが2202では2201の申請処理を承認するのであれば承認ボタンなどを押下し、否認するのであれば、「否認ボタン」、「差し戻しボタン」等を押下すればよい。同様に2203は部長による承認アクティビティ、2204は社長による承認処理である。
フローによっては、一括系の承認依頼が行われる。例えば申請書10部を1つのアクティビティで処理させ、承認依頼を求めるものである。この場合、1部だけ承認を差し戻しするようなケースが多々発生する。差し戻しとは、下位の者へ申請を戻す処理のことである。この一部差し戻しの処理をワークフローエディタ上で表現すると複数のアクティビティで処理が考えられるためフローが煩雑で理解困難なものとなってしまう。
図23は本発明のワークフロー自動生成を示す概要図である。図23において2202〜2204は図22のそれに等しい。2301から2304は、本発明によるワークフローの自動生成により生成されたアクティビティである。本例では2203のアクティビティにて一部差し戻し発生した際に新規アクティビティが生成されている。2301は2203で差し戻された部分的なジョブが進むアクティビティである。2301で承認処理が行われると2302へ進む。2302は2203の複製アクティビティ2301の処理済のジョブを扱うことができる。2303は2204の複製アクティビティである。2302の終了ジョブを扱うことが可能である。2304は最終結合アクティビティである。ジョブとして完全系にするもので、承認確認を行えるものである。
図24はアクティビティのプロパティの設定表示例である。図24において2401はダイアログ設定部である。たとえば、2201から2204の各アクティビティに別々のプロパティを設定することが可能である。プロパティでは各種パラメータの設定を行うことが可能であるが、本例はその一部分のみを表示している。2402は一部差し戻しを不可とするラジオボタン、2403は一部差し戻しを可とするラジオボタン、現設定は可となっている。2404は作業の並行処理を行うスイッチであり、本スイッチがチェックされていることで2301から2304が生成されている。2405は最終結合アクティビティを生成するスイッチである。現設定は生成するように設定されているので2304が生成されている。
本実施形態は、第1の実施形態と異なり、派生ワークフローは、中断したアクティビティではなく、それ以前のアクティビティまで含めて生成される。この点を除けば第1実施形態と同じ要領で処理は行われる。ただしどこまで戻すか、という点は、機械的に判断できない場合もある。その場合には、派生ワークフローを生成する際に、ユーザインターフェースを介して戻すアクティビティを指定させ、そのアクティビティを先頭にして元ワークフローのワークフロー情報を複製する。こうして派生ワークフローを生成して実行する。
以上のように本実施形態によれば、中断するアクティビティよりも前のアクティビティに戻る新たなワークフローを生成するために、差し戻しの処理を、あらかじめワークフローを定義することなく行うことができる。
[その他の実施形態]
なお本発明は、複数の機器(例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど)から構成されるシステムに適用しても、一つの機器からなる装置(例えば、複写機、ファクシミリ装置など)に適用してもよい。また本発明の目的は、前述の実施形態の機能を実現するプログラムコードを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータが記憶媒体に格納されたプログラムコードを読み出し実行することによっても達成される。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコード自体およびプログラムコードを記憶した記憶媒体は本発明を構成することになる。
また、本発明には、プログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた場合についても、本発明は適用される。その場合、書き込まれたプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される。
本発明の第1実施形態を示す印刷システムのシステム概要図 ワークフローの定義例を示す図 ジョブチケットの構成例を示す図 本発明を用いた際のシステム概要図 本発明のワークフロー自動生成を示す概要図 アクティビティのプロパティの設定表示例の図 本発明を使用しない場合のフロー例の図 アクティビティを実行する際の制御フロー図 ワークフロー実行部の処理例のフロー図 ジョブチケットの構成例図 ジョブチケットの構成図 ジョブ分割手順の処理フロー図 ジョブチケットの結合を説明するためのシステム概要図 704のジョブチケットと、702のジョブチケットの構成例図 結合された後のジョブチケットの構成図 結合されたジョブチケットに係るアクティビティ実行後のジョブチケットの例を示した図 結合アクティビティの処理のフロー図 ジョブチケットの結合を行う際のパネル表示例図 ジョブチケットの遷移を示した図 ジョブ名の詳細を示した図 ジョブチケットの結合可能判例フロー図 承認系のワークフローの定義例 ワークフロー自動生成を示す概要図 アクティビティのプロパティの設定表示例 コンピュータのブロック図
符号の説明
100は印刷システムサーバー部
101はインターネットあるいはイントラネットであるネットワーク部
102はパソコンとソフトウエアなどからなるクライアント部
103はジョブチケット発生部
104はワークフロー実行部
105はジョブチケット管理部
106はログインしたユーザの権限などを保持するユーザ管理部
107はアクティビティ管理部
108はワークフロー管理部
109は「入稿アプリ」が存在するPC
110は「面付けアプリ」が存在するPC
111は印刷エンジン
112はニアラインフィニッシャ部

Claims (7)

  1. 印刷装置によって実行される印刷工程に続いて、記述されたページ数の印刷物に対する後処理を実行するための後処理工程が実行されるワークフローを生成し、新たなワークフローを生成するための判定基準を記憶するメモリを備えた情報処理装置において実行可能なプログラムであって、
    前記ワークフローに定義されている前記印刷工程の処理状況を前記印刷装置から受信する受信手段と、
    前記受信手段によって受信された前記印刷工程の処理状況がエラーであり、かつ、前記エラーが発生するまでに前記印刷装置により印刷されたページ数が、前記判定基準である、前記後処理を実行することで1部分の印刷物を生成できるページ数に達しているか否かを判定する判定手段と、
    前記判定手段によって前記印刷装置により印刷されたページ数が、前記メモリから読みだされた前記判定基準である、前記後処理を実行することで1部分の印刷物を生成できるページ数に達していると判定された場合、前記エラーが発生するまでに印刷されたページ数が前記後処理されるページ数として記述された新たなワークフローを生成するワークフロー生成手段として前記情報処理装置を機能させることを特徴とするプログラム。
  2. 前記受信手段によって受信された処理状況に基づいて各処理工程の処理内容を記述した作業指示データを生成する作業指示データ生成手段として前記情報処理装置を機能させ、前記作業指示データ生成手段は、前記処理状況に基づいて、前記印刷工程において処理済み部分に対する第1作業指示データおよび前記印刷工程において未処理済み部分に対する第2作業指示データを生成することを特徴とする請求項1に記載のプログラム。
  3. 前記第1作業指示データに含まれる識別情報が前記第2作業指示データに含まれる作業指示情報と一致し、かつ、前記第1作業指示データに含まれる前記新たなワークフローが生成された処理工程が前記第2作業指示データに含まれる前記新たなワークフローが生成された処理工程と一致する場合、前記第1作業指示データと前記第2作業指示データとを結合する結合手段を更に備えることを特徴とする請求項2に記載のプログラム
  4. 印刷装置によって実行される印刷工程に続いて印刷物に対する、記述されたページ数の後処理を実行するための後処理工程が実行されるワークフローを生成し、新たなワークフローを生成するための判定基準を記憶するメモリを備えた情報処理装置であって、
    前記ワークフローに定義されている前記印刷工程の処理状況を前記印刷装置から受信する受信手段と、
    前記受信手段によって受信された前記印刷工程の処理状況がエラーであり、かつ、前記エラーが発生するまでに前記印刷装置により印刷されたページ数が、前記判定基準である、前記後処理を実行することで1部分の印刷物を生成できるページ数に達しているか否かを判定する判定手段と、
    前記判定手段によって前記印刷装置により印刷されたページ数が、前記メモリから読みだされた前記判定基準である、前記後処理を実行することで1部分の印刷物を生成できるページ数に達していると判定された場合、前記エラーが発生するまでに印刷されたページ数が前記後処理されるページ数として記述された新たなワークフローを生成するワークフロー生成手段と
    を備えることを特徴とする情報処理装置。
  5. 前記受信手段によって受信された処理状況に基づいて各処理工程の処理内容を記述した作業指示データを生成する作業指示データ生成手段を更に備え、
    前記作業指示データ生成手段は、前記処理状況に基づいて、前記印刷工程において処理済み部分に対する第1作業指示データおよび前記印刷工程において未処理済み部分に対する第2作業指示データを生成することを特徴とする請求項に記載の情報処理装置。
  6. 前記第1作業指示データに含まれる識別情報が前記第2作業指示データに含まれる作業指示情報と一致し、かつ、前記第1作業指示データに含まれる前記新たなワークフローが生成された処理工程が前記第2作業指示データに含まれる前記新たなワークフローが生成された処理工程と一致する場合、前記第1作業指示データと前記第2作業指示データとを結合する結合手段を更に備えることを特徴とする請求項に記載の情報処理装置。
  7. 印刷装置によって実行される印刷工程に続いて印刷物に対する、記述されたページ数の後処理を実行するための後処理工程が実行されるワークフローを生成し、新たなワークフローを生成するための判定基準を記憶するメモリと、受信手段と、判定手段と、ワークフロー生成手段とを備えた情報処理装置におけるワークフロー生成方法であって、
    前記受信手段が、前記ワークフローに定義されている前記印刷工程の処理状況を前記印刷装置から受信する受信ステップと、
    前記判定手段が、前記受信ステップによって受信された前記印刷工程の処理状況がエラーであり、かつ、前記エラーが発生するまでに前記印刷装置により印刷されたページ数が、前記判定基準である、前記後処理を実行することで1部分の印刷物を生成できるページ数に達しているか否かを判定する判定ステップと、
    前記ワークフロー生成手段が、前記判定ステップによって前記印刷装置により印刷されたページ数が、前記メモリから読みだされた前記判定基準である、前記後処理を実行することで1部分の印刷物を生成できるページ数に達していると判定された場合、前記エラーが発生するまでに印刷されたページ数が前記後処理されるページ数として記述された新たなワークフローを生成するワークフロー生成ステップと
    を有することを特徴とするワークフロー生成方法。
JP2005359533A 2005-12-13 2005-12-13 情報処理装置及びワークフロー生成方法とプログラム Expired - Fee Related JP4761533B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005359533A JP4761533B2 (ja) 2005-12-13 2005-12-13 情報処理装置及びワークフロー生成方法とプログラム
US11/637,078 US7876465B2 (en) 2005-12-13 2006-12-12 Information processing apparatus and workflow generation method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005359533A JP4761533B2 (ja) 2005-12-13 2005-12-13 情報処理装置及びワークフロー生成方法とプログラム

Publications (3)

Publication Number Publication Date
JP2007164455A JP2007164455A (ja) 2007-06-28
JP2007164455A5 JP2007164455A5 (ja) 2009-01-29
JP4761533B2 true JP4761533B2 (ja) 2011-08-31

Family

ID=38140573

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005359533A Expired - Fee Related JP4761533B2 (ja) 2005-12-13 2005-12-13 情報処理装置及びワークフロー生成方法とプログラム

Country Status (2)

Country Link
US (1) US7876465B2 (ja)
JP (1) JP4761533B2 (ja)

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4646792B2 (ja) * 2005-12-13 2011-03-09 キヤノン株式会社 情報処理装置およびジョブ処理装置と情報処理方法およびジョブ処理方法
JP4761533B2 (ja) 2005-12-13 2011-08-31 キヤノン株式会社 情報処理装置及びワークフロー生成方法とプログラム
US8023134B2 (en) 2006-06-30 2011-09-20 Xerox Corporation System, method and production tickets for print management
US8370434B2 (en) * 2007-01-03 2013-02-05 Samsung Electronics Co., Ltd. Workflow system and method of controlling the same
JP4513840B2 (ja) * 2007-08-09 2010-07-28 コニカミノルタビジネステクノロジーズ株式会社 画像処理装置、ヘルプ文書生成方法およびヘルプ文書生成プログラム
US20090055825A1 (en) * 2007-08-20 2009-02-26 Smith Gary S Workflow engine system and method
EP2079020B1 (en) * 2008-01-03 2013-03-20 Accenture Global Services Limited System amd method for automating ETL applications
JP4944812B2 (ja) * 2008-02-20 2012-06-06 株式会社リコー 情報処理システムと情報処理方法とプログラム
KR101390177B1 (ko) * 2008-04-01 2014-05-26 삼성전자주식회사 워크폼 관리 방법, 워크폼 관리를 위한 호스트 장치,화상형성장치의 워크폼 관리방법 및 워크폼 관리 시스템
JP5473267B2 (ja) * 2008-07-14 2014-04-16 キヤノン株式会社 ワークフロー実行システム及びワークフロー実行方法
JP5159484B2 (ja) * 2008-07-15 2013-03-06 キヤノン株式会社 情報処理装置、画像形成装置と後処理装置の制御方法、コンピュータプログラム
JP2010033432A (ja) * 2008-07-30 2010-02-12 Fujifilm Corp オブジェクト処理装置、方法およびプログラム
US8681355B2 (en) * 2008-10-18 2014-03-25 Xerox Corporation Printer driver with context based restrictions
JP4669895B2 (ja) 2008-11-20 2011-04-13 キヤノン株式会社 印刷制御装置、印刷制御方法、及びプログラム
JP2010250373A (ja) * 2009-04-10 2010-11-04 Canon Inc 情報処理装置、制御方法及びプログラム
US20100299631A1 (en) * 2009-05-22 2010-11-25 Weihsiung William Chow Prompt for User Input on All Workflow Activities Before Workflow Execution
JP2011034418A (ja) * 2009-08-04 2011-02-17 Canon Inc 情報処理装置、情報処理装置の制御方法、及びコンピュータプログラム
JP5057481B2 (ja) * 2009-08-07 2012-10-24 キヤノンマーケティングジャパン株式会社 ワークフローシステム、制御方法、およびプログラム
JP5012934B2 (ja) * 2010-03-04 2012-08-29 コニカミノルタビジネステクノロジーズ株式会社 画像形成システム、画像形成装置、情報変換装置、サーバおよびプログラム
JP5056881B2 (ja) * 2010-03-25 2012-10-24 横河電機株式会社 フィールド機器管理装置およびコンピュータプログラム
JP5623139B2 (ja) * 2010-06-02 2014-11-12 キヤノン株式会社 クラウドコンピューティングシステム、文書処理方法、及びコンピュータプログラム
JP5541001B2 (ja) 2010-08-26 2014-07-09 ブラザー工業株式会社 立案デバイス
JP5701085B2 (ja) * 2011-02-03 2015-04-15 キヤノン株式会社 情報処理装置、情報処理方法及びプログラム
JP5729118B2 (ja) * 2011-05-10 2015-06-03 コニカミノルタ株式会社 画像形成システムおよび画像形成装置
JP5942614B2 (ja) * 2012-06-05 2016-06-29 株式会社リコー 情報処理装置、システム及びプログラム
US10764151B1 (en) * 2012-12-20 2020-09-01 Allscripts Software, Llc Methodologies for workflow transitioning
JP6146132B2 (ja) * 2013-05-23 2017-06-14 株式会社リコー 情報処理装置、情報処理方法およびコンピュータプログラム
JP6378474B2 (ja) * 2013-09-13 2018-08-22 キヤノン株式会社 生産管理システム、生産管理方法、及びプログラム
US9311134B1 (en) * 2014-09-29 2016-04-12 International Business Machines Corporation Automated creation of executable workflow
GB2538091B (en) * 2015-05-07 2018-03-14 Advanced Risc Mach Ltd Verifying correct code execution context
US9871940B2 (en) 2015-08-19 2018-01-16 Ricoh Company, Ltd. Information processing system, information processing apparatus, and method for processing information
KR20170069755A (ko) * 2015-12-11 2017-06-21 에스프린팅솔루션 주식회사 워크플로우 서비스를 제공하는 화상형성장치 및 방법
DE102017108710A1 (de) * 2016-04-26 2017-10-26 Jtekt Corporation Arbeitsanweisungssystem
US10367968B2 (en) 2017-05-17 2019-07-30 Xerox Corporation Methods and systems for automatically detecting and validating end-user print-related processing using print device information
WO2019207790A1 (ja) * 2018-04-27 2019-10-31 三菱電機株式会社 データ処理装置、タスク制御方法及びプログラム
JP7176235B2 (ja) * 2018-06-06 2022-11-22 富士フイルムビジネスイノベーション株式会社 情報処理装置、ワークフローシステム及びプログラム
EP3591892B1 (en) * 2018-07-04 2021-03-03 Panasonic Intellectual Property Corporation of America Management system, server, management method, and program for management of access rights to a delivery locker using blockchain
US11087259B2 (en) * 2018-07-12 2021-08-10 Nintex UK Ltd. Business designer
US11282011B2 (en) * 2020-04-01 2022-03-22 Chevron U.S.A. Inc. Task management interface for well operations

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11219393A (ja) * 1998-02-02 1999-08-10 Ricoh Co Ltd ワークフロー支援システムにおける電子文書の処理管理システムおよびその方法,並びにその方法の各工程をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体
JP4124937B2 (ja) * 1999-02-25 2008-07-23 キヤノン株式会社 プリントサーバ装置、クライアントとしての情報処理装置、これら装置の印刷管理方法および記憶媒体
JP2000082103A (ja) * 1999-09-14 2000-03-21 Hitachi Ltd 電子書類差戻し装置
JP2001195470A (ja) 2000-01-12 2001-07-19 Nippon Telegr & Teleph Corp <Ntt> ワークフロー生成方法、ワークフローシステムおよびワークフロー生成プログラムを記録した記録媒体
JP4109821B2 (ja) * 2000-09-13 2008-07-02 キヤノン株式会社 情報処理装置及びジョブの処理結果確認方法
JP2002268850A (ja) * 2001-03-07 2002-09-20 Canon Inc サーバ装置およびサーバ装置のジョブ処理方法および記憶媒体
JP4408590B2 (ja) * 2001-06-06 2010-02-03 キヤノン株式会社 印刷システム及び印刷制御装置及び方法
JP3937842B2 (ja) * 2002-01-11 2007-06-27 キヤノン株式会社 サーバ装置およびジョブ管理方法およびコンピュータが読み取り可能な記憶媒体およびプログラム
JP3962596B2 (ja) * 2002-01-30 2007-08-22 キヤノン株式会社 印刷システム及びその印刷資源の利用方法
JP3919570B2 (ja) * 2002-03-22 2007-05-30 キヤノン株式会社 印刷システム、情報処理装置及び印刷方法
JP4289934B2 (ja) 2002-09-26 2009-07-01 大日本スクリーン製造株式会社 印刷製版のためのワークフローを生成する装置および方法
US7299244B2 (en) * 2002-12-10 2007-11-20 Hewlett-Packard Development Company, L.P. System and method for dynamic sequencing of a requirements-based workflow
JP2004234256A (ja) * 2003-01-29 2004-08-19 Hitachi Ltd 電子申請に伴う申請データ管理方法およびシステム
JP2004280665A (ja) * 2003-03-18 2004-10-07 Fuji Xerox Co Ltd サービス処理システム、サービス処理方法及びサービス処理プログラム
US8738415B2 (en) * 2003-03-24 2014-05-27 Hewlett-Packard Development Company, L.P. Automated workflow assignment to print jobs
US20040196470A1 (en) * 2003-04-01 2004-10-07 Christiansen Robert D. Raster image processing (RIP) manager for enhanced print shop operation
JP4714483B2 (ja) * 2004-03-08 2011-06-29 株式会社リコー 電子機器、ジョブ表示方法、ジョブ表示プログラム
US20050206913A1 (en) * 2004-03-08 2005-09-22 Toru Matsuda Image forming apparatus, job managing method, electronic device, job displaying method, and job displaying program
JP2005352694A (ja) * 2004-06-09 2005-12-22 Canon Inc 印刷装置およびその方法、並びに、情報処理装置およびその制御方法
JP2006065803A (ja) * 2004-08-30 2006-03-09 Canon Inc 情報処理装置及びその制御方法、プログラム
JP4055013B2 (ja) * 2004-11-10 2008-03-05 富士ゼロックス株式会社 ワークフローシステムおよびワークフローシステムにおける作業分割方法
US7528978B2 (en) * 2005-05-20 2009-05-05 Xerox Corporation Systems and method for controlling hide and hold jobs in a network
JP4761533B2 (ja) 2005-12-13 2011-08-31 キヤノン株式会社 情報処理装置及びワークフロー生成方法とプログラム
JP4646792B2 (ja) * 2005-12-13 2011-03-09 キヤノン株式会社 情報処理装置およびジョブ処理装置と情報処理方法およびジョブ処理方法

Also Published As

Publication number Publication date
US20070136117A1 (en) 2007-06-14
US7876465B2 (en) 2011-01-25
JP2007164455A (ja) 2007-06-28

Similar Documents

Publication Publication Date Title
JP4761533B2 (ja) 情報処理装置及びワークフロー生成方法とプログラム
JP4646792B2 (ja) 情報処理装置およびジョブ処理装置と情報処理方法およびジョブ処理方法
KR100817667B1 (ko) 온디맨드 퍼블리싱 시스템
JP5164663B2 (ja) 印刷ジョブ管理装置、印刷ジョブ管理方法、及びコンピュータプログラム
EP2495651B1 (en) Computer readable information recording medium storing print job editing program, print job editing apparatus, print job editing method and printing system
JP4759464B2 (ja) 文書処理装置および文書処理方法
US8139258B2 (en) Information processing apparatus, control method and program for laying out a plurality of jobs on one sheet
JP5188333B2 (ja) 入稿管理システム、その方法、及びプログラム
US8988711B2 (en) Non-transitory computer readable recording medium storing print job generating program, print job generating device, and print system for performing post-processing in accordance with selected post-processing functions
US20050157315A1 (en) Print control apparatus, control method therefor, and program for implementing the method
US20060232818A1 (en) Information processing apparatus, control method therefor, and program
JP2009271793A (ja) 印刷制御装置及び印刷制御方法及びプログラム
US11726733B2 (en) Information processing apparatus and method of controlling the same
US10353647B2 (en) Printing control apparatus, printing control method, and storage medium
JP4764061B2 (ja) 画像形成装置および画像形成方法および画像形成プログラムおよび印刷システム
US8711387B2 (en) Non-transitory computer readable recording medium storing print management program, print management device, print management method, and print system
US8836979B2 (en) Printing management program, printing management apparatus, printing management method, and printing system
CN111124320B (zh) 信息处理装置、其控制方法和非暂时性计算机可读介质
JP2008015917A (ja) 情報処理装置、ジョブ処理方法、記憶媒体、プログラム
US8526043B2 (en) Printing system, printing method, and printing control apparatus for splitting document
JP2018028901A (ja) 印刷制御装置、印刷制御方法、及びプログラム
JP2020205466A (ja) 商業印刷ワークフロー設定システム及びプログラム
JP2010117780A (ja) 情報処理装置、ならびに情報処理プログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081210

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081210

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110310

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110318

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110517

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110603

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110606

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140617

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4761533

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees