JP2009532791A - 顧客が設定可能なワークフローシステム - Google Patents
顧客が設定可能なワークフローシステム Download PDFInfo
- Publication number
- JP2009532791A JP2009532791A JP2009503531A JP2009503531A JP2009532791A JP 2009532791 A JP2009532791 A JP 2009532791A JP 2009503531 A JP2009503531 A JP 2009503531A JP 2009503531 A JP2009503531 A JP 2009503531A JP 2009532791 A JP2009532791 A JP 2009532791A
- Authority
- JP
- Japan
- Prior art keywords
- workflow
- job
- database
- steps
- stage
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
Abstract
【課題】自由度があり、設定可能なジョブワークフロー処理用の方法、システム、および装置。
【解決手段】本発明の特徴および態様は、設定可能なテンプレートからワークフローモデルを作成することを可能にする。ワークフローモデルは、それぞれが1つまたは複数のプロセスを含む1つまたは複数の段階を含むことができ、各プロセスは、1つまたは複数のステップを含む。段階、プロセス、およびステップは、対応するテンプレートの設定パラメータによって完全に定義され得る。ワークフローモデルを定義する情報と、実行されるジョブについてのジョブ情報とは、統合したデータベース内のエントリとされるので、ワークフローモデル情報およびジョブ情報の作成および更新は、単なるデータベースへの問い合わせおよびデータベースの更新として実行される。
【選択図】図6
【解決手段】本発明の特徴および態様は、設定可能なテンプレートからワークフローモデルを作成することを可能にする。ワークフローモデルは、それぞれが1つまたは複数のプロセスを含む1つまたは複数の段階を含むことができ、各プロセスは、1つまたは複数のステップを含む。段階、プロセス、およびステップは、対応するテンプレートの設定パラメータによって完全に定義され得る。ワークフローモデルを定義する情報と、実行されるジョブについてのジョブ情報とは、統合したデータベース内のエントリとされるので、ワークフローモデル情報およびジョブ情報の作成および更新は、単なるデータベースへの問い合わせおよびデータベースの更新として実行される。
【選択図】図6
Description
本発明は、ワークフローシステムの分野に関し、特に、大半を顧客が設定できるようにし、それと同時に、機能豊富で複雑なワークフロープロセスを定義できるようにするワークフローシステム用設計ツールに関する。
各種のシステムでは、一続きのステップを通じて情報を処理するプロセスが必要である。
一般的に、そのようなシステムの多くは、ワークフローシステムとしてモデル化、および管理され、各ステップは、入力を受け取り、何らかの態様でその入力を処理し、生成した出力をプロセス内の1つまたは複数の次のステップに送る。
そのようなステップからなる全プロセスは、プロセスまたはジョブといわれることがある。
ワークフローシステムは、ワークフロープロセス全体を通じて、代替のパスまたはオプションに対する条件付き評価を含む、一続きの複雑なステップのモデル化を可能にすることが多い。
一般的に、そのようなシステムの多くは、ワークフローシステムとしてモデル化、および管理され、各ステップは、入力を受け取り、何らかの態様でその入力を処理し、生成した出力をプロセス内の1つまたは複数の次のステップに送る。
そのようなステップからなる全プロセスは、プロセスまたはジョブといわれることがある。
ワークフローシステムは、ワークフロープロセス全体を通じて、代替のパスまたはオプションに対する条件付き評価を含む、一続きの複雑なステップのモデル化を可能にすることが多い。
そのようなワークフローシステムは、特定の応用分野に係わるプロセスをモデル化するために、幅広い種類のワークフローに頻繁に利用される。
特に、ワークフローシステムを利用して、データ処理システムのワークフローをモデル化することが多く、その場合に、プロセスのステップで入力データを受け取り、これを様々な態様で処理し、生成したデータをプロセスの次のステップに適用する。
ワークフローシステムはまた、例えば、製造環境でよく見られる工程管理システムを含む、他の様々な応用分野の他の多数のシステムをモデル化するのに適用することができる。
特に、ワークフローシステムを利用して、データ処理システムのワークフローをモデル化することが多く、その場合に、プロセスのステップで入力データを受け取り、これを様々な態様で処理し、生成したデータをプロセスの次のステップに適用する。
ワークフローシステムはまた、例えば、製造環境でよく見られる工程管理システムを含む、他の様々な応用分野の他の多数のシステムをモデル化するのに適用することができる。
ワークフローシステムは、特定のワークフロー処理用途向けにカスタマイズしたコンピュータプログラムを設計し、コーディングするシステムアナリストおよびプログラマによって設計され、コーディングされた専用プログラムとして開発されることもある。
そのようなカスタマイズされたコンピュータプログラムは、基礎をなすプロセスをきわめて綿密にモデル化することができるが、ほとんどの環境では、法外な開発および保守費用がかかる。
その他、より一般的なユーザが、例えば、カスタムコンピュータプログラムを作るのに熟練したスタッフを必要とすることなく、新たなプロセスモデルを作成するためのツールを提供するワークフローモデル化システムもある。
これらのプロセスモデル化用設計ツールは、新たなプロセス用のモデルを作る際と、作成したプロセスモデルを保守する際にエンドユーザの助けとなり、それによって、熟練したコンピュータプログラマおよびシステムアナリストの必要性を低めるか、またはなくす。
技術を持ったエンドユーザによるある程度のカスタム化を可能にする市販製品として、いくつものワークフローシステムを入手することができる。
例えば、IBMは、印刷システムの管理に関するワークフロープロセスをモデル化するインフォプリントワークフロー(「IPW」)と称する製品を提供している。
IPWは当業者に広く知られており、IPWに関する情報は、WWW.ibm.comから容易に入手することができる。
そのようなカスタマイズされたコンピュータプログラムは、基礎をなすプロセスをきわめて綿密にモデル化することができるが、ほとんどの環境では、法外な開発および保守費用がかかる。
その他、より一般的なユーザが、例えば、カスタムコンピュータプログラムを作るのに熟練したスタッフを必要とすることなく、新たなプロセスモデルを作成するためのツールを提供するワークフローモデル化システムもある。
これらのプロセスモデル化用設計ツールは、新たなプロセス用のモデルを作る際と、作成したプロセスモデルを保守する際にエンドユーザの助けとなり、それによって、熟練したコンピュータプログラマおよびシステムアナリストの必要性を低めるか、またはなくす。
技術を持ったエンドユーザによるある程度のカスタム化を可能にする市販製品として、いくつものワークフローシステムを入手することができる。
例えば、IBMは、印刷システムの管理に関するワークフロープロセスをモデル化するインフォプリントワークフロー(「IPW」)と称する製品を提供している。
IPWは当業者に広く知られており、IPWに関する情報は、WWW.ibm.comから容易に入手することができる。
今日ある市販のワークフローモデル化用設計ツール製品には、簡単に使用でき、そのため、コストをかけて訓練されたコンピュータプログラミングの専門家を置く必要がないものもある。
しかし、そのようなシステムのほとんどは過度に単純化されていて、複雑なプロセスをモデル化することができない。
他の市販されているワークフローモデル化設計ツールは複雑であり、そのため、ほとんどのユーザが、必要な設置、設定、およびカスタマイズを行うのに、今まで通り、高度に訓練された専門家の助けを必要とするような設計の複雑さを伴う。
さらに、そのようなシステムは非常に複雑であるので、ワークフロー定義に対するあらゆる保守にも、コストをかけて高度に訓練したコンピュータ専門家の助けが必要なことがある。
しかし、そのようなシステムのほとんどは過度に単純化されていて、複雑なプロセスをモデル化することができない。
他の市販されているワークフローモデル化設計ツールは複雑であり、そのため、ほとんどのユーザが、必要な設置、設定、およびカスタマイズを行うのに、今まで通り、高度に訓練された専門家の助けを必要とするような設計の複雑さを伴う。
さらに、そのようなシステムは非常に複雑であるので、ワークフロー定義に対するあらゆる保守にも、コストをかけて高度に訓練したコンピュータ専門家の助けが必要なことがある。
複雑なワークフローシステムをモデル化する場合でさえも高い自由度をもたらし、さらに、あまり技術を持たないエンドユーザがワークフローシステム設計ツールを利用して、ワークフローシステムを容易に定義し、維持することを可能にする、単純で使いやすいアーキテクチャをもたらす改良したワークフローシステムが必要であるのは上記の説明から明らかである。
上記に鑑み、本発明は、第1の態様において、ワークフロー処理システムの管理方法を提示し、その方法は、ジョブ情報をデータベースに保存し、そのジョブ情報は、ワークフロー処理システムによって処理される1つまたは複数のジョブに関することと、データベース内のジョブ情報に関連する1つまたは複数のジョブを処理するワークフローモデルを作成し、そのワークフローモデルはデータベースに保存され、設定可能なテンプレートから作成されることと、データベース内のワークフローモデルを使用し、かつデータベース内のジョブ情報を使用して、1つまたは複数のジョブを処理することを含む。
好ましくは、作成ステップはさらに、ワークフロー処理システムの1つまたは複数の段階をデータベースのエントリとして設定し、各段階は1つまたは複数のプロセスを含み、各プロセスは1つまたは複数のステップを含み、段階、プロセス、およびステップは、対応するテンプレートから完全に設定されることと、1つまたは複数のステップの間の1つまたは複数の移行処理をデータベースシステムのエントリとして設定することとを含む。
好ましくは、作成ステップはさらに、ワークフローモデルの1つまたは複数のステップに関連する制限を定義し、定義した制限を適用することによって、設定したすべての段階、プロセス、またはステップを検証することを含む。
好ましくは、実行ステップはさらに、1つまたは複数の段階に関するデータベースから段階情報を取り出し、かつデータベースから1つまたは複数の移行処理を取り出すことと、データベース内のジョブ情報を使用して、取り出した1つまたは複数の移行処理に従って、取り出した1つまたは複数の段階を実行することとを含む。
方法はさらに、作成したワークフローモデルの実行経過をワークフロー処理システムのユーザに示すことを含むことができる。
方法はさらに、実行中の特定した箇所で作成したワークフロープロセスのこれ以上の実行を中止することを含むことができる。
好ましくは、作成したワークフローモデルは、それぞれが1つまたは複数のステップを含む1つまたは複数の段階を含み、中止ステップはさらに、1つの段階から他の段階への移行処理部で、作成したワークフロープロセスのこれ以上の実行を中止することを含む。
方法はさらに、作成したワークフロープロセスのさらなる実行を再開することを含むことができる。
好ましくは、作成したワークフローモデルは、それぞれが1つまたは複数のステップを含む1つまたは複数の段階を含み、ワークフロー処理システムは、1つまたは複数のワークフローモデルにある1つまたは複数の段階を構成する1つまたは複数のステップを実行するのを可能にするようにそれぞれが構成された複数のサーバを有し、1つまたは複数の段階の1つまたは複数のステップはそれぞれ、負荷属性情報を含み、方法はさらに、負荷属性情報を使用して、複数のサーバノードの作業負荷をバランスさせることを含む。
好ましくは、複数のサーバはそれぞれ、前記各サーバで現在実行しているすべてのステップの負荷を表す現作業負荷レベルを含み、バランスステップはさらに、複数のサーバのうちの、現作業負荷レベルが最も低いサーバ上で、作業負荷モデルにある段階の次のステップを開始することを含む。
第2の態様では、ワークフロー処理用のシステムが提示され、そのシステムは、1つまたは複数のワークフローモデルを保存し、対応するワークフローモデルに従って処理されるジョブに関するジョブ情報を保存するデータベースと、データベースに接続され、データベース内のジョブ情報およびワークフローモデルを使用してジョブを実行するように構成され、さらに、データベースに保存されるワークフローモデルを作成し、修正するように構成された計算ノードとを有し、計算ノードは、テンプレートからワークフローモデルを作成するように構成される。
好ましくは、この計算ノードは主計算ノードとされ、システムはさらに、それぞれがデータベース内のジョブ情報およびワークフローモデルにアクセスするように構成された1つまたは複数の補助計算ノードを有する。
好ましくは、1つまたは複数の補助計算ノードは主計算ノードに接続されて、主計算ノードを介して間接的にデータベースにアクセスする。
好ましくは、ワークフローモデルは、1つまたは複数の段階を含んでいて、各段階は1つまたは複数のステップを含み、ワークフローモデルはさらに、1つまたは複数の段階のそれぞれを構成する1つまたは複数のステップの間の移行処理を有し、テンプレートはさらに、ワークフローモデルの新たな段階を定義する段階テンプレートと、ワークフローモデルにある段階の新たなプロセスを定義するプロセステンプレートと、ワークフローモデルにある段階のプロセスを構成する新たなステップを定義するステップテンプレートとを有し、段階テンプレートおよびステップテンプレートはそれぞれ、計算ノードが新たな段階および新たなステップを設定するのを可能にする属性を含む。
設定可能なテンプレートに基づいてワークフローモデルを設定することと、設定したワークフローモデルをデータベースに保存することと、作成したワークフローモデルに関連するジョブについてのジョブ情報を作成することと、ジョブ情報をデータベースに保存することと、データベース内のジョブ情報を使用し、かつデータベース内のワークフローモデルを使用して、ジョブを実行することとを含むワークフロー処理方法を提示することもできる。
好ましくは、テンプレートには、段階テンプレートとステップテンプレートがあり、設定ステップはさらに、1つまたは複数の設定可能な段階テンプレートを使用して、ワークフローモデル内に1つまたは複数の段階を設定することと、1つまたは複数の設定可能なプロセステンプレートを使用して、ワークフローモデル内に設定した各段階に係わる1つまたは複数のプロセスを設定することと、1つまたは複数の設定可能なステップテンプレートを使用して、ワークフローモデル内に設定した各段階にある各設定したプロセスに係わる1つまたは複数のステップを設定することとを含む。
好ましくは、ジョブは印刷業務の印刷ジョブであり、ワークフローモデルは印刷モデルであり、設定可能な段階テンプレートは、印刷ジョブを印刷する段階に相当し、設定可能なプロセステンプレートは、印刷ジョブを印刷する1つまたは複数の段階のプロセスに相当し、設定可能なステップテンプレートは、印刷ジョブを印刷する1つまたは複数の段階の1つまたは複数のプロセスを構成するステップに相当し、方法はさらに、データベース内のジョブ情報を使用して、1つまたは複数の印刷ジョブの現在の状態を表示することを含み、現在の状態は、印刷ジョブの現在の段階および各印刷ジョブの現在のステップとして示される。
好ましくは、設定可能な段階テンプレートから作成した各段階は、受け取り段階、作成段階、拡張段階、印刷段階、挿入段階、調停段階、および完了段階で構成されるグループから選択された段階とされる。
好ましくは、印刷業務部門は1つまたは複数のプリンタと、1つまたは複数の印刷ジョブ源とを有し、方法はさらに、1つまたは複数のプリンタおよび1つまたは複数の印刷ジョブ源の現在の状態を表示することを含む。
方法はさらに、実行中の任意の箇所でジョブのチェックポイントを設定することを含むことができ、チェックポイントを設定するステップは、チェックポイントを設定したジョブに関連するデータベース内のすべての修正ジョブ情報を保存し、チェックポイントを設定したジョブで使用されるすべての修正データファイルを保存することと、チェックポイントを設定したジョブを復旧させて実行を再開することとを含み、復旧ステップは、保存したジョブ情報をデータベースに戻し、保存したデータファイルを復旧させることを含む。
本発明は、ジョブを実行するために、ワークフローシステムを自由度をもって設定できる方法と、関連するシステムおよび装置とを用いて、上記のおよび他の関連する課題に対処する。
本発明の特徴および態様によって、設定可能なテンプレートからワークフローモデルを作成することが可能になる。
ワークフローモデルは、それぞれが1つまたは複数のプロセスを含む1つまたは複数の段階を含むことができ、各プロセスは、1つまたは複数のステップを含む。
段階、プロセス、およびステップは、対応するテンプレートのパラメータを設定することにより、完全に定義することができる。
ワークフローモデルを定義する情報と、実行すべきジョブ用のすべてのジョブ情報とは、統合したデータベース内のエントリとされるので、ワークフローモデル情報およびジョブ情報の作成および更新は、単にデータベースの問い合わせおよび更新として行われる。
本発明の特徴および態様によって、設定可能なテンプレートからワークフローモデルを作成することが可能になる。
ワークフローモデルは、それぞれが1つまたは複数のプロセスを含む1つまたは複数の段階を含むことができ、各プロセスは、1つまたは複数のステップを含む。
段階、プロセス、およびステップは、対応するテンプレートのパラメータを設定することにより、完全に定義することができる。
ワークフローモデルを定義する情報と、実行すべきジョブ用のすべてのジョブ情報とは、統合したデータベース内のエントリとされるので、ワークフローモデル情報およびジョブ情報の作成および更新は、単にデータベースの問い合わせおよび更新として行われる。
本発明の1つの特徴として、ワークフロー処理システムを管理する方法が提示される。
その方法は、ジョブ情報をデータベースに保存することを含む。
ジョブ情報は、ワークフロー処理システムによって処理される1つまたは複数のジョブと関連する。
方法はまた、データベース内のジョブ情報に関連する1つまたは複数のジョブを処理するワークフローモデルを作成することを含む。
作成したワークフローモデルはデータベースに保存され、ワークフローモデルは、設定可能なテンプレートから作成される。
方法はまた、データベース内のワークフローモデルを使用し、かつデータベース内のジョブ情報を使用して、1つまたは複数のジョブを処理することを含む。
その方法は、ジョブ情報をデータベースに保存することを含む。
ジョブ情報は、ワークフロー処理システムによって処理される1つまたは複数のジョブと関連する。
方法はまた、データベース内のジョブ情報に関連する1つまたは複数のジョブを処理するワークフローモデルを作成することを含む。
作成したワークフローモデルはデータベースに保存され、ワークフローモデルは、設定可能なテンプレートから作成される。
方法はまた、データベース内のワークフローモデルを使用し、かつデータベース内のジョブ情報を使用して、1つまたは複数のジョブを処理することを含む。
本発明の他の特徴として、ワークフロー処理用のシステムが提示される。
そのシステムは、1つまたは複数のワークフローモデルを保存し、対応するワークフローモデルに従って処理されるジョブに関するジョブ情報を保存するデータベースを有する。
システムはまた、データベースに接続され、データベース内のジョブ情報およびワークフローモデルを使用して、ジョブを実行するように構成された計算ノードを有する。
計算ノードはさらに、データベースに保存されるワークフローモデルを作成し、修正するように構成される。
計算ノードはまた、テンプレートからワークフローモデルを作成するように構成される。
そのシステムは、1つまたは複数のワークフローモデルを保存し、対応するワークフローモデルに従って処理されるジョブに関するジョブ情報を保存するデータベースを有する。
システムはまた、データベースに接続され、データベース内のジョブ情報およびワークフローモデルを使用して、ジョブを実行するように構成された計算ノードを有する。
計算ノードはさらに、データベースに保存されるワークフローモデルを作成し、修正するように構成される。
計算ノードはまた、テンプレートからワークフローモデルを作成するように構成される。
本発明の他の特徴として、ワークフロー処理方法が提示される。
その方法は、設定可能なテンプレートに基づいてワークフローモデルを設定することを含む。
方法はまた、設定したワークフローモデルをデータベースに保存することを含む。
さらに、方法は、作成したワークフローモデルに関連するジョブについてのジョブ情報を作成し、ジョブ情報をデータベースに保存することを含む。
方法は、次にデータベース内のジョブ情報を使用し、かつデータベース内のワークフローモデルを使用して、ジョブを実行することを含む。
その方法は、設定可能なテンプレートに基づいてワークフローモデルを設定することを含む。
方法はまた、設定したワークフローモデルをデータベースに保存することを含む。
さらに、方法は、作成したワークフローモデルに関連するジョブについてのジョブ情報を作成し、ジョブ情報をデータベースに保存することを含む。
方法は、次にデータベース内のジョブ情報を使用し、かつデータベース内のワークフローモデルを使用して、ジョブを実行することを含む。
本発明は、以下に説明する他の例示的な実施形態を含むことができる。
添付の図面を参照して、以下に本発明の好ましい実施形態を単なる実施例として説明する。
図1乃至図7および以下の説明は、本発明をいかに作り出し、使用するかを当業者に教示するために、本発明の特定の実施形態について例示的に記載している。
この教示を行うために、本発明の中の従来どおりの態様のものの幾つかは、簡略化されるかまたは省略されている。
当業者ならば、これらの実施形態から本発明の範囲に入る変形形態を考えつくであろう。
当業者ならば、以下に説明する特徴をさまざまな方法で組み合わせて、本発明の多数の変形形態を形成できると分かるであろう。
図1乃至図7および以下の説明は、本発明をいかに作り出し、使用するかを当業者に教示するために、本発明の特定の実施形態について例示的に記載している。
この教示を行うために、本発明の中の従来どおりの態様のものの幾つかは、簡略化されるかまたは省略されている。
当業者ならば、これらの実施形態から本発明の範囲に入る変形形態を考えつくであろう。
当業者ならば、以下に説明する特徴をさまざまな方法で組み合わせて、本発明の多数の変形形態を形成できると分かるであろう。
図1は、本発明の特徴および形態に従って、ワークフロー処理システムを自由度をもって作成し、設定するシステム100のブロック図である。
特に、システム100は、とりわけ、システム100の要素によって定義されるワークフローモデルに従って、様々な印刷システムオブジェクト100を利用して印刷ジョブを行う、または実行する印刷環境に適用されるようなワークフロー処理システムを示している。
主ワークフローサーバ102は、ユーザ入力に基づいてワークフローモデルを作成するのに使用される計算ノードである。
ユーザは通常、1つまたは複数の段階を含むようなワークフローモデルを定義することができ、各段階は、1つまたは複数のプロセスを含み、各プロセスは、条件付きプール論理を含むことができる1つまたは複数のステップを含む。
主ワークフローサーバ102は、標準化されたテンプレート104の属性を設定することで、新たなワークフロープロセスを自由度をもって設定できるようにするテンプレート104を使用する。
特に、テンプレート104は、新たに定義したワークフローモデルの新たな段階を定義するのに有用な段階テンプレートと、新たに設定した段階内の1つまたは複数のプロセスをそれぞれ定義するのに有用なプロセステンプレートと、新たに定義した各段階の新たに定義した各プロセス内の1つまたは複数のステップを設定するのに有用なステップテンプレートとを含むことができる。
特に、システム100は、とりわけ、システム100の要素によって定義されるワークフローモデルに従って、様々な印刷システムオブジェクト100を利用して印刷ジョブを行う、または実行する印刷環境に適用されるようなワークフロー処理システムを示している。
主ワークフローサーバ102は、ユーザ入力に基づいてワークフローモデルを作成するのに使用される計算ノードである。
ユーザは通常、1つまたは複数の段階を含むようなワークフローモデルを定義することができ、各段階は、1つまたは複数のプロセスを含み、各プロセスは、条件付きプール論理を含むことができる1つまたは複数のステップを含む。
主ワークフローサーバ102は、標準化されたテンプレート104の属性を設定することで、新たなワークフロープロセスを自由度をもって設定できるようにするテンプレート104を使用する。
特に、テンプレート104は、新たに定義したワークフローモデルの新たな段階を定義するのに有用な段階テンプレートと、新たに設定した段階内の1つまたは複数のプロセスをそれぞれ定義するのに有用なプロセステンプレートと、新たに定義した各段階の新たに定義した各プロセス内の1つまたは複数のステップを設定するのに有用なステップテンプレートとを含むことができる。
フローは、「受け取り」や「作成」などの段階と、これらの段階内のプロセスに分割される。
プロセスとは、処理するジョブに関する一連の論理活動を行う一続きのステップをいう。
特定のジョブは、各段階で単一のプロセスセットを選択しながら、特定の段階セットを流れる。
プロセスと、プロセスを含む段階とによってグループ分けされたステップの順序集合により、ジョブ用のワークフロー処理が定まる。
プロセスとは、処理するジョブに関する一連の論理活動を行う一続きのステップをいう。
特定のジョブは、各段階で単一のプロセスセットを選択しながら、特定の段階セットを流れる。
プロセスと、プロセスを含む段階とによってグループ分けされたステップの順序集合により、ジョブ用のワークフロー処理が定まる。
本発明の特徴および態様は、段階、プロセス、および状態がシステム内でどのように表されるか、そしてそれらの連結がどのように定義されるかを規定する。
ワークフローシステムのユーザは、幾つかのオファリング(offering)に適用できる再利用可能なひとそろいの段階およびプロセスを長期にわたって構築している。
例えば、「受け取り」段階とそのプロセスは、おそらく、処理する入力ジョブを受け取るほとんどすべての用途に使用される。
本明細書で下記に記載した例示的な実施形態は、印刷業務用途に必要とされる段階、プロセス、およびステップについて説明する。
下記の実施例は、機能一式を全部説明することを意図されるのではなく、具体的な事例、すなわち印刷業務での印刷ジョブワークフローにアーキテクチャをいかに適用できるかについての1つの具体例を示している。
ワークフローシステムのユーザは、幾つかのオファリング(offering)に適用できる再利用可能なひとそろいの段階およびプロセスを長期にわたって構築している。
例えば、「受け取り」段階とそのプロセスは、おそらく、処理する入力ジョブを受け取るほとんどすべての用途に使用される。
本明細書で下記に記載した例示的な実施形態は、印刷業務用途に必要とされる段階、プロセス、およびステップについて説明する。
下記の実施例は、機能一式を全部説明することを意図されるのではなく、具体的な事例、すなわち印刷業務での印刷ジョブワークフローにアーキテクチャをいかに適用できるかについての1つの具体例を示している。
主ワークフローサーバ102は、新たに定義し、設定したワークフローモデルを情報としてワークフローデータベース108に保存する。
特に、ワークフローモデルは、ワークフローモデル内のステップからステップに、プロセスからプロセスに、および段階から段階に移動する移行条件だけでなく、設定した段階と、設定したプロセスと、設定したステップとの間の関係も定義するテーブルに保存される。
設定した段階、プロセス、およびステップは、データベース108内に新たに作成したエントリに関連する属性値およびパラメータ値を適切に決めることによって設定することができる。
したがって、テンプレート104は、そのような設定の開始点となり、様々な属性およびパラメータは、行われるべき特定のタイプのジョブ用の最終的なワークフローモデルを定義する際に、大きな自由度をもたらす。
特に、ワークフローモデルは、ワークフローモデル内のステップからステップに、プロセスからプロセスに、および段階から段階に移動する移行条件だけでなく、設定した段階と、設定したプロセスと、設定したステップとの間の関係も定義するテーブルに保存される。
設定した段階、プロセス、およびステップは、データベース108内に新たに作成したエントリに関連する属性値およびパラメータ値を適切に決めることによって設定することができる。
したがって、テンプレート104は、そのような設定の開始点となり、様々な属性およびパラメータは、行われるべき特定のタイプのジョブ用の最終的なワークフローモデルを定義する際に、大きな自由度をもたらす。
主ワークフローサーバ102は、設定したワークフローモデル情報に加えて、システム100によって処理されるべき現在のジョブに関する情報も管理する。
現在のジョブは、ジョブの処理を指揮する特定の設定済みワークフローモデルに対応している。
ジョブタイプ属性を使用して、特定のジョブを特定のワークフローモデルに関連付けることができ、ジョブタイプ属性およびワークフローモデルはともに、ワークフローデータベース108に保存されている。
主ワークフローサーバ102は、実行されるべき特定のジョブについての現在ジョブ情報を取り出し、関連するワークフローモデル情報についての情報を取り出し、関連するジョブ用のワークフローモデル内に設定された段階、プロセス、およびステップを実行するワークフローエンジン処理要素(図示せず)を有するのが好ましい。
現在のジョブは、ジョブの処理を指揮する特定の設定済みワークフローモデルに対応している。
ジョブタイプ属性を使用して、特定のジョブを特定のワークフローモデルに関連付けることができ、ジョブタイプ属性およびワークフローモデルはともに、ワークフローデータベース108に保存されている。
主ワークフローサーバ102は、実行されるべき特定のジョブについての現在ジョブ情報を取り出し、関連するワークフローモデル情報についての情報を取り出し、関連するジョブ用のワークフローモデル内に設定された段階、プロセス、およびステップを実行するワークフローエンジン処理要素(図示せず)を有するのが好ましい。
ワークフロー処理システム100の性能を高めるために、1つまたは複数の補助ワークフローサーバ106を設けることができる。
各補助ワークフローサーバ106はまた、他のジョブに対応する他のワークフローや、特定のジョブ用の特定のワークフローの一部を実行するための計算能力を付加するワークフロー処理エンジン(図示せず)を有することができる。
そのような分散処理には、実行されるべき様々なジョブを様々なサーバ(およびそれらに付属するワークフロー処理エンジン)に分散させるものや、複数のサーバ102、106にわたって、単一のワークフローから個々のステップ、プロセス、または段階を分散させるものがあり得る。
各補助ワークフローサーバ106はまた、他のジョブに対応する他のワークフローや、特定のジョブ用の特定のワークフローの一部を実行するための計算能力を付加するワークフロー処理エンジン(図示せず)を有することができる。
そのような分散処理には、実行されるべき様々なジョブを様々なサーバ(およびそれらに付属するワークフロー処理エンジン)に分散させるものや、複数のサーバ102、106にわたって、単一のワークフローから個々のステップ、プロセス、または段階を分散させるものがあり得る。
共通の共有されるワークフローデータベース108にアクセスするそうした複数のサーバの連係を単純化するために、補助ワークフローサーバ106は、主ワークフローサーバ102との連係処理を通じてのみワークフローデータベース108にアクセスすることができる。
当業者ならば、ワークフローデータベース108に同時にアクセスする際に、1つまたは複数の補助ワークフローサーバ106と主ワークフローサーバ102との連係処理を確実にするのに役立つ他の相互排除技術および処理連係手法を容易に思いつくであろう。
さらに、ネットワーク記憶装置アーキテクチャおよび他の分散した記憶装置と、処理パラダイムとを使用して、ワークフローデータベース108自体を分散させることができる。
分散化技術か集中化技術かといったそのようなことは、当業者にとって公知の設計選択事項である。
当業者ならば、ワークフローデータベース108に同時にアクセスする際に、1つまたは複数の補助ワークフローサーバ106と主ワークフローサーバ102との連係処理を確実にするのに役立つ他の相互排除技術および処理連係手法を容易に思いつくであろう。
さらに、ネットワーク記憶装置アーキテクチャおよび他の分散した記憶装置と、処理パラダイムとを使用して、ワークフローデータベース108自体を分散させることができる。
分散化技術か集中化技術かといったそのようなことは、当業者にとって公知の設計選択事項である。
これまで説明したように、1つまたは複数の段階を含んでいて、各段階が1つまたは複数のプロセスを含み、各プロセスが1つまたは複数のステップを含むワークフローモデルで記述できる任意のジョブの処理にワークフローシステム100を適用することができる。
例として、システム100は、印刷ジョブ用のワークフロージョブを処理するために、主ワークフローサーバ102と、オプションとして追加される補助ワークフローサーバ106とからアクセスを受ける印刷システムオブジェクト110を有する。
ワークフローサーバ(102、106)は、対応するワークフローモデルに従って特定の印刷ジョブを実行するのに、必要に応じて、様々な印刷システムオブジェクト110のいずれかにアクセスすることができる。
印刷システムオブジェクト110には、例えば、印刷エンジン112、印刷サーバ114、後処理要素116、ソフトウェアまたは自動ステップ118、および手動ステップ122を含む、印刷ジョブを実行するのに有用な任意の数量の印刷オブジェクトが含まれ得る。
さらに、印刷システムオブジェクト110には、ワークフロージョブ処理を通じて処理され、変換される実印刷ジョブデータを含めることができる。
したがって、印刷ジョブデータ120には、未処理の形態の、1つまたは複数の印刷ジョブに関連するデータのほかに、そのデータを各種翻訳したものおよび変換したものがある。
例えば、印刷ジョブデータ120は、当業者にとって周知のように、未処理印刷データ、およびラスタ化またはリッピングしたデータをスプールするための印刷スプール機能部として実装することができる。
他の印刷関連データは、印刷スプールデータとともに保存することができる。
例えば、後処理装置の設定および動作を記述する制御ファイルを印刷データ120に付属するファイルとして指定することができる。
例として、システム100は、印刷ジョブ用のワークフロージョブを処理するために、主ワークフローサーバ102と、オプションとして追加される補助ワークフローサーバ106とからアクセスを受ける印刷システムオブジェクト110を有する。
ワークフローサーバ(102、106)は、対応するワークフローモデルに従って特定の印刷ジョブを実行するのに、必要に応じて、様々な印刷システムオブジェクト110のいずれかにアクセスすることができる。
印刷システムオブジェクト110には、例えば、印刷エンジン112、印刷サーバ114、後処理要素116、ソフトウェアまたは自動ステップ118、および手動ステップ122を含む、印刷ジョブを実行するのに有用な任意の数量の印刷オブジェクトが含まれ得る。
さらに、印刷システムオブジェクト110には、ワークフロージョブ処理を通じて処理され、変換される実印刷ジョブデータを含めることができる。
したがって、印刷ジョブデータ120には、未処理の形態の、1つまたは複数の印刷ジョブに関連するデータのほかに、そのデータを各種翻訳したものおよび変換したものがある。
例えば、印刷ジョブデータ120は、当業者にとって周知のように、未処理印刷データ、およびラスタ化またはリッピングしたデータをスプールするための印刷スプール機能部として実装することができる。
他の印刷関連データは、印刷スプールデータとともに保存することができる。
例えば、後処理装置の設定および動作を記述する制御ファイルを印刷データ120に付属するファイルとして指定することができる。
そのような印刷ジョブワークフロー管理に適用されるようなシステム100は、印刷ジョブデータ120を処理して、最終的に、適切な印刷可能媒体にデータを印刷するために、対応するワークフローモデルの段階、プロセス、およびステップに従って、印刷エンジン、印刷サーバ、後処理要素、ソフトウェア/自動および手動ステップにアクセスすることができる。
当業者ならば、ワークフロー処理システム100が、関連するジョブのワークフロー処理に係わるあらゆる特定用途オブジェクトにつながるように構成され得ると容易に分かるであろう。
したがって、印刷システム用印刷システムオブジェクト110は、単に、システム100の構造および方法の1つの例示的な応用例にすぎないものである。
図1に示すような印刷環境へのシステム100の例示的な応用例のさらなる詳細については、本明細書で下記にさらに説明される。
したがって、印刷システム用印刷システムオブジェクト110は、単に、システム100の構造および方法の1つの例示的な応用例にすぎないものである。
図1に示すような印刷環境へのシステム100の例示的な応用例のさらなる詳細については、本明細書で下記にさらに説明される。
図2は、設定したワークフローモデルに従ってジョブを処理するために、ワークフローモデルを作成、実行する、本発明の特徴および態様に基づいた方法を大まかに説明したフローチャートである。
要素200では、第1に、設定可能なテンプレートからワークフローモデルを作成することができる。
上記のように、設定可能なテンプレートには、特定の用途向けに特定のワークフローモデルをカスタマイズし、設定するのに全く有用な段階テンプレート、プロセステンプレート、およびステップテンプレートがあり得る。
先行技術とは異なり、自由度のある設定可能なテンプレートからワークフローモデルを作成する場合、ジョブを処理する特定のワークフローモデルを実行する、完全にカスタマイズしたプログラム命令を作成するのに必要とされるような専門技術はあまり必要でない。
さらに、他の先行技術と対照してみると、本発明の特徴および態様に基づいて付与された設定可能なテンプレートは、特定のワークフロー処理用途用の特定の段階、プロセス、およびステップをカスタマイズまたは設定する際に高い自由度をもたらす。
従来からの単純な方のワークフロー処理システムは、設定可能性がほとんどないか、または全くなく、したがって、ワークフロー処理システムによってすでに定義された特定の静的モデルにワークフロー処理用途を合わせるようユーザに強いた。
ユーザは、特定のジョブ用途に対して所望する特定のワークフロー処理を行うために、ワークフローシステムを容易にカスタマイズ、または再設定することがほとんどできないか、または全くできない。
要素200では、第1に、設定可能なテンプレートからワークフローモデルを作成することができる。
上記のように、設定可能なテンプレートには、特定の用途向けに特定のワークフローモデルをカスタマイズし、設定するのに全く有用な段階テンプレート、プロセステンプレート、およびステップテンプレートがあり得る。
先行技術とは異なり、自由度のある設定可能なテンプレートからワークフローモデルを作成する場合、ジョブを処理する特定のワークフローモデルを実行する、完全にカスタマイズしたプログラム命令を作成するのに必要とされるような専門技術はあまり必要でない。
さらに、他の先行技術と対照してみると、本発明の特徴および態様に基づいて付与された設定可能なテンプレートは、特定のワークフロー処理用途用の特定の段階、プロセス、およびステップをカスタマイズまたは設定する際に高い自由度をもたらす。
従来からの単純な方のワークフロー処理システムは、設定可能性がほとんどないか、または全くなく、したがって、ワークフロー処理システムによってすでに定義された特定の静的モデルにワークフロー処理用途を合わせるようユーザに強いた。
ユーザは、特定のジョブ用途に対して所望する特定のワークフロー処理を行うために、ワークフローシステムを容易にカスタマイズ、または再設定することがほとんどできないか、または全くできない。
上記のように、ワークフローデータベースに保存された設定済みワークフローモデルは、次いで、ワークフロー処理エンジンを用いて実行することができる。
ワークフローエンジン(図示せず)は、各ワークフローサーバと統合することができ、ワークフローデータベース内の情報を使用して、所望の印刷物を作成するのに必要な処理ステップを管理する。
これらのステップは自動または手動とすることができる。
ステップと、ステップの間の移行処理部とのリストは、データベース内に保持されるので、プロセスを変更するかまたは新たなプロセスを作成する場合、単に、適切なデータベーステーブルを設定すればよい。
ステップはモジュール式であり、連結部を明瞭に定義した作業の実行単位である。
ステップは、ポストスクリプト変換プリンタドライバやIBM PSFプリンタドライバなどのシステムリソースと連動することができる。
ステップは、アドレスクレンジングや在庫管理などのサードパーティ製のソフトウェアと連動することができる。
ステップは、ジョブに関連するデータベースまたはファイルに対して直接に作業を行うことができる。
ワークフローエンジン(図示せず)は、各ワークフローサーバと統合することができ、ワークフローデータベース内の情報を使用して、所望の印刷物を作成するのに必要な処理ステップを管理する。
これらのステップは自動または手動とすることができる。
ステップと、ステップの間の移行処理部とのリストは、データベース内に保持されるので、プロセスを変更するかまたは新たなプロセスを作成する場合、単に、適切なデータベーステーブルを設定すればよい。
ステップはモジュール式であり、連結部を明瞭に定義した作業の実行単位である。
ステップは、ポストスクリプト変換プリンタドライバやIBM PSFプリンタドライバなどのシステムリソースと連動することができる。
ステップは、アドレスクレンジングや在庫管理などのサードパーティ製のソフトウェアと連動することができる。
ステップは、ジョブに関連するデータベースまたはファイルに対して直接に作業を行うことができる。
次いで、要素202では、作成したワークフローモデルをワークフローシステムのワークフローデータベースに情報として保存することができる。
ジョブタイプ属性または他の適切な特徴を使用して、新たに設定したモデルを適用することができる特定のタイプのジョブを識別することができる。
ワークフローモデル情報を示すデータベースエントリは、本発明の特徴および態様に基づいて設けられた設定可能なテンプレートを再度利用して、(SQLクエリ言語などで)データベースへの問い合わせおよび更新作業を行うことにより、容易に再設定することができる。
上記のように、テンプレートから作成されたモデルの各データベースエントリには、各段階、各プロセス、または各ステップを特定の新たなジョブまたは用途用に再設定するのを可能にする、幅広い種類の設定可能な属性およびパラメータ値が含まれ得る。
ジョブタイプ属性または他の適切な特徴を使用して、新たに設定したモデルを適用することができる特定のタイプのジョブを識別することができる。
ワークフローモデル情報を示すデータベースエントリは、本発明の特徴および態様に基づいて設けられた設定可能なテンプレートを再度利用して、(SQLクエリ言語などで)データベースへの問い合わせおよび更新作業を行うことにより、容易に再設定することができる。
上記のように、テンプレートから作成されたモデルの各データベースエントリには、各段階、各プロセス、または各ステップを特定の新たなジョブまたは用途用に再設定するのを可能にする、幅広い種類の設定可能な属性およびパラメータ値が含まれ得る。
要素204は、新たなジョブを作成し、ジョブ関連情報をワークフローデータベースに保存するさらなる処理を示している。
上記のように、統合したデータベースは、ワークフローモデル情報と個々のジョブに対するジョブ情報の両方を含む。
このため、ワークフローデータベースは、処理されるジョブについてのすべてのデータと、処理される複数のタイプのジョブのそれぞれに対して実行されるワークフロー処理を記述したワークフローモデル情報とを統合する。
データベーステーブルには、ジョブ発行者、現在の処理ステップ、ページ数、コピー数、所望する用紙、仕上げ要求などのすべてのジョブメタデータを含む、システム内の各ジョブに対するエントリが含まれる。
データベースはまた、印刷作業現場を監視するリアルタイムデータの貯蔵庫でもある。
印刷したページ、現在の印刷ジョブ、トナー状態などのプリンタ特性を(プリンタがこれらの項目を通知することができる場合に)データベース内に保持することができる。
インサータやフィニッシャなどを含む任意の印刷所機器に関する同様の情報を保持することもできる。
データベースはまた、各ジョブおよび/または装置の状態が変化した場合に、ジョブおよび装置の履歴を保持する。
これは、整備や普段より有能な作業者を必要とする装置を特定できる関連統計データを、システムが通知できるようにする。
上記のように、統合したデータベースは、ワークフローモデル情報と個々のジョブに対するジョブ情報の両方を含む。
このため、ワークフローデータベースは、処理されるジョブについてのすべてのデータと、処理される複数のタイプのジョブのそれぞれに対して実行されるワークフロー処理を記述したワークフローモデル情報とを統合する。
データベーステーブルには、ジョブ発行者、現在の処理ステップ、ページ数、コピー数、所望する用紙、仕上げ要求などのすべてのジョブメタデータを含む、システム内の各ジョブに対するエントリが含まれる。
データベースはまた、印刷作業現場を監視するリアルタイムデータの貯蔵庫でもある。
印刷したページ、現在の印刷ジョブ、トナー状態などのプリンタ特性を(プリンタがこれらの項目を通知することができる場合に)データベース内に保持することができる。
インサータやフィニッシャなどを含む任意の印刷所機器に関する同様の情報を保持することもできる。
データベースはまた、各ジョブおよび/または装置の状態が変化した場合に、ジョブおよび装置の履歴を保持する。
これは、整備や普段より有能な作業者を必要とする装置を特定できる関連統計データを、システムが通知できるようにする。
ジョブメタデータは、例えば、課金情報や入金取り消し情報、所望の納期、およびジョブを作成するのに必要な他の情報を含む、ジョブに関連する任意の情報とすることができる。
この情報はジョブチケットに記載されることが多い。
ジョブチケットはデータベース内にあるので、チケット情報にアクセスする必要があるステップは、容易にアクセスすることができる。
メタデータ項目が新規の場合、単に、新たなエントリがデータベースに追加され、新たなメタデータ項目は、システム変更を必要とすることなくシステムを流れる。
この情報はジョブチケットに記載されることが多い。
ジョブチケットはデータベース内にあるので、チケット情報にアクセスする必要があるステップは、容易にアクセスすることができる。
メタデータ項目が新規の場合、単に、新たなエントリがデータベースに追加され、新たなメタデータ項目は、システム変更を必要とすることなくシステムを流れる。
実行されるべき1つまたは複数のジョブに関する情報と、1つまたは複数の対応するワークフローモデルとをそのように作成し、保存してしまうと、次いで、要素206、208を実質的に同時に実行することができる。
要素206では通常、ワークフローデータベース内のジョブ情報と、作成したワークフローモデル情報とを使用して、ジョブを実行することができる。
ジョブを実行するには通常、処理されるべき次の段階と、その段階にある次のプロセスおよびステップ用のデータベースから、情報を取り出すことが必要となる。
その場合、実行エンジンが関連するジョブ情報を取り出して、カスタマイズし、設定したワークフローモデルに従って、適切な次のステップを実行する。
最終的に、ジョブを処理するすべてのステップ、プロセス、および段階が完了すると、それとともにジョブの実行が完了し、所望の結果が得られる。
要素206では通常、ワークフローデータベース内のジョブ情報と、作成したワークフローモデル情報とを使用して、ジョブを実行することができる。
ジョブを実行するには通常、処理されるべき次の段階と、その段階にある次のプロセスおよびステップ用のデータベースから、情報を取り出すことが必要となる。
その場合、実行エンジンが関連するジョブ情報を取り出して、カスタマイズし、設定したワークフローモデルに従って、適切な次のステップを実行する。
最終的に、ジョブを処理するすべてのステップ、プロセス、および段階が完了すると、それとともにジョブの実行が完了し、所望の結果が得られる。
要素208では、ジョブを実行する要素206の作業と実質的に平行して、ジョブと、様々なジョブに対応する様々なワークフローモデルとに関する状態情報を監視することができる。
ワークフローシステム内で実行される1つまたは複数の各ジョブのそれぞれの処理の進行に従って、そのように監視される状態情報をほぼリアルタイムでフィードバックして、ユーザに提示することができる。
様々なジョブと、現在実行中のワークフローモデルとに関する状態情報をデータベースに保存することもできる。
したがって、要素208では通常、ワークフローシステム内にある1つまたは複数のジョブのそれぞれの実行に関する現在の状態情報を取り出し、その取り出した状態情報をほぼリアルタイムでユーザに提示することができる。
ワークフローシステム内で実行される1つまたは複数の各ジョブのそれぞれの処理の進行に従って、そのように監視される状態情報をほぼリアルタイムでフィードバックして、ユーザに提示することができる。
様々なジョブと、現在実行中のワークフローモデルとに関する状態情報をデータベースに保存することもできる。
したがって、要素208では通常、ワークフローシステム内にある1つまたは複数のジョブのそれぞれの実行に関する現在の状態情報を取り出し、その取り出した状態情報をほぼリアルタイムでユーザに提示することができる。
当業者ならば、そのような状態情報を提示する各種のグラフィカルユーザインターフェイス技術を容易に思いつくであろう。
さらに、状態情報には、ワークフローシステム内で現在実行中か、または実行待ち行列に入った各ジョブに関する情報のほかに、システムにとって既知の各ジョブを実行するために、ワークフローシステムによって使用される様々な装置、部品、モジュール、および他の要素に関する状態情報も含めることができる。
例えば、上記の印刷システムに適用される状態情報には、システムにとって既知の各印刷エンジンの状態、システムにとって既知の各印刷サーバの状態、システムにとって既知の各後処理要素の状態などを含めることができる。
したがって、単一の統合したデータベース内にワークフローシステムの動作に関するすべての状態情報を保存することができ、要素208の作業のとおりに、その状態情報を取り出してユーザに示すことができる。
さらに、状態情報には、ワークフローシステム内で現在実行中か、または実行待ち行列に入った各ジョブに関する情報のほかに、システムにとって既知の各ジョブを実行するために、ワークフローシステムによって使用される様々な装置、部品、モジュール、および他の要素に関する状態情報も含めることができる。
例えば、上記の印刷システムに適用される状態情報には、システムにとって既知の各印刷エンジンの状態、システムにとって既知の各印刷サーバの状態、システムにとって既知の各後処理要素の状態などを含めることができる。
したがって、単一の統合したデータベース内にワークフローシステムの動作に関するすべての状態情報を保存することができ、要素208の作業のとおりに、その状態情報を取り出してユーザに示すことができる。
図7は、そのような状態情報を表示し、装置および/または印刷ジョブの状態を管理するためにユーザとの対話処理をするのに役立つ例示的な表示画面を示している。
表示画面の「システムの概要」部分は、(例えば、「受け取り」、「作成」、「印刷」、「完了」など)各処理段階にある印刷ジョブ数の計数値と、(例えば、「前処理」、「アクティブ」、「手動」、「エラー」などの)各段階の各状態にある印刷ジョブの計数値とを集計している。
例示的な表示画面の「プリンタ」部分は、既知のプリンタおよび各既知のプリンタの状態をユーザに示す。
さらに、画面のこの部分は、選択したプリンタを「有効」または「無効」にするなど、(例えば、画面上の「クリック」ボタンを通じて)ユーザとの対話処理を可能にする。
表示画面のさらに別の部分は、「印刷段階にある実行中のジョブ」に関する状態を詳細に示しており、言い換えると、それぞれのワークフローモデルの「印刷」段階にある、現在印刷中のすべての印刷ジョブに関する詳細を示している。
上記のように、画面のこの部分は、印刷を「中止する」かまたは「継続する」、あるいはジョブを再印刷する必要がある場合に「再処理する」など、選択した印刷ジョブの状態を変えるのに、ユーザとの対話処理を行うための「クリック」ボタンを設けることができる。
当業者ならば、プリンタおよび印刷ジョブに関する、あるいは、より一般的には、本発明の特徴および態様に従ったワークフローシステムの任意のジョブおよび装置に関する状態情報を示すために利用できる様々な等価の表示および対話技術を容易に思いつくであろう。
特に、ワークフローデータベースから対応する情報を取り出すことによって、任意のジョブの現在の、段階、プロセス、ステップ、および状態と、システム内の任意の装置の現在の状態とに関する情報を提示することができる。
表示画面の「システムの概要」部分は、(例えば、「受け取り」、「作成」、「印刷」、「完了」など)各処理段階にある印刷ジョブ数の計数値と、(例えば、「前処理」、「アクティブ」、「手動」、「エラー」などの)各段階の各状態にある印刷ジョブの計数値とを集計している。
例示的な表示画面の「プリンタ」部分は、既知のプリンタおよび各既知のプリンタの状態をユーザに示す。
さらに、画面のこの部分は、選択したプリンタを「有効」または「無効」にするなど、(例えば、画面上の「クリック」ボタンを通じて)ユーザとの対話処理を可能にする。
表示画面のさらに別の部分は、「印刷段階にある実行中のジョブ」に関する状態を詳細に示しており、言い換えると、それぞれのワークフローモデルの「印刷」段階にある、現在印刷中のすべての印刷ジョブに関する詳細を示している。
上記のように、画面のこの部分は、印刷を「中止する」かまたは「継続する」、あるいはジョブを再印刷する必要がある場合に「再処理する」など、選択した印刷ジョブの状態を変えるのに、ユーザとの対話処理を行うための「クリック」ボタンを設けることができる。
当業者ならば、プリンタおよび印刷ジョブに関する、あるいは、より一般的には、本発明の特徴および態様に従ったワークフローシステムの任意のジョブおよび装置に関する状態情報を示すために利用できる様々な等価の表示および対話技術を容易に思いつくであろう。
特に、ワークフローデータベースから対応する情報を取り出すことによって、任意のジョブの現在の、段階、プロセス、ステップ、および状態と、システム内の任意の装置の現在の状態とに関する情報を提示することができる。
図3は、図2の要素200の作業をさらに詳細に例示したフローチャートである。
上記のように、図2の要素200では通常、本発明の特徴および態様に従って設けられた設定可能なテンプレートに基づいて新たなワークフローモデルを作成することができる。
したがって、図3の要素300では、第1に、関連するジョブタイプを処理するのに有用な新たなワークフローモデルを記述するために、ワークフローデータベースに新たなエントリを追加することができる。
次いで、要素302では、選択した段階テンプレートを利用して設定される第1の、または次の新たに作成する段階用に、ワークフローデータベースにエントリを追加する。
上記のように、ユーザは、特に所望するワークフロー処理用途やジョブタイプに適合するように容易に設定できる有用な段階テンプレートからなる豊富な集合体を与えられる。
したがって、要素302は、対応するテンプレートを選択することによって、ワークフローモデルに追加するのに好ましい段階をユーザが特定する処理を示している。
次いで、選択した段階テンプレートに関連する属性やパラメータ値を設定して、または決めて、要素304の作業を行うことで、段階用の新たに作成したデータベースエントリをカスタマイズまたは設定する。
上記のように、図2の要素200では通常、本発明の特徴および態様に従って設けられた設定可能なテンプレートに基づいて新たなワークフローモデルを作成することができる。
したがって、図3の要素300では、第1に、関連するジョブタイプを処理するのに有用な新たなワークフローモデルを記述するために、ワークフローデータベースに新たなエントリを追加することができる。
次いで、要素302では、選択した段階テンプレートを利用して設定される第1の、または次の新たに作成する段階用に、ワークフローデータベースにエントリを追加する。
上記のように、ユーザは、特に所望するワークフロー処理用途やジョブタイプに適合するように容易に設定できる有用な段階テンプレートからなる豊富な集合体を与えられる。
したがって、要素302は、対応するテンプレートを選択することによって、ワークフローモデルに追加するのに好ましい段階をユーザが特定する処理を示している。
次いで、選択した段階テンプレートに関連する属性やパラメータ値を設定して、または決めて、要素304の作業を行うことで、段階用の新たに作成したデータベースエントリをカスタマイズまたは設定する。
次いで、要素306では、新たに作成し、設定した段階に係わる制限規則を定義し、実施することができる。
そのような制限は、目的とする用途に対してユーザ自身が定めた規則に反して、ユーザが新たな段階やステップを誤って設定することがないことを保証する助けとするのに有用である。
そのような規則は、例えば、特定の段階を最初に行ってもよいかまたは最後に行わなければならないかなどを検証する単純な論理断定として定義することができる。
新たに定義した段階に対するデータベースエントリには、新たなワークフローモデルの新たに設定した段階に対して定義されたさらなる制限または検証規則を反映するために、適切に注釈が付けられる。
さらに、定義した規則は、ユーザが継続して新たなワークフローモデルを設定するときに適用される。
したがって、要素306は、規則を定義する処理だけでなく、現在の設計を検証するために規則を適用する処理でもある。
他の例示的な制限は、本明細書で下記にさらに詳細に説明される。
そのような制限は、目的とする用途に対してユーザ自身が定めた規則に反して、ユーザが新たな段階やステップを誤って設定することがないことを保証する助けとするのに有用である。
そのような規則は、例えば、特定の段階を最初に行ってもよいかまたは最後に行わなければならないかなどを検証する単純な論理断定として定義することができる。
新たに定義した段階に対するデータベースエントリには、新たなワークフローモデルの新たに設定した段階に対して定義されたさらなる制限または検証規則を反映するために、適切に注釈が付けられる。
さらに、定義した規則は、ユーザが継続して新たなワークフローモデルを設定するときに適用される。
したがって、要素306は、規則を定義する処理だけでなく、現在の設計を検証するために規則を適用する処理でもある。
他の例示的な制限は、本明細書で下記にさらに詳細に説明される。
要素308から要素312では、新たに定義し、設定した段階に対応する新たなステップ用の、1つまたは複数の新たなデータベースエントリを同様に追加することができる。
新たに設定した段階に加えられる各ステップは、ワークフローシステムによって提供されたステップテンプレートから所望のステップテンプレートを選択することによって設定される。
次いで、選択したテンプレートを使用して、新たなステップ用の新たなデータベースエントリを作成し、その新たなステップデータベースエントリは、現在定義された新たな段階に対応する。
さらに、要素310は、新たに定義した1つのステップから(もしあるならば)この現在定義した段階内のすでに定義した他のステップへの適切な移行処理を定義するさらなる処理を示している。
ステップからステップまたは段階から段階への移行処理は、各種エントリへの注釈として定義され、用意されるか、またはワークフローデータベース内の別のテーブルとして定義されてもよい。
したがって、ユーザは、それぞれが任意の数量のステップを含む任意の数量の段階を設定し、かつステップからステップおよび段階から段階への望ましい移行条件を具体的に定義することによって、複雑なワークフロープロセスを設定することができる。
新たに設定した段階に加えられる各ステップは、ワークフローシステムによって提供されたステップテンプレートから所望のステップテンプレートを選択することによって設定される。
次いで、選択したテンプレートを使用して、新たなステップ用の新たなデータベースエントリを作成し、その新たなステップデータベースエントリは、現在定義された新たな段階に対応する。
さらに、要素310は、新たに定義した1つのステップから(もしあるならば)この現在定義した段階内のすでに定義した他のステップへの適切な移行処理を定義するさらなる処理を示している。
ステップからステップまたは段階から段階への移行処理は、各種エントリへの注釈として定義され、用意されるか、またはワークフローデータベース内の別のテーブルとして定義されてもよい。
したがって、ユーザは、それぞれが任意の数量のステップを含む任意の数量の段階を設定し、かつステップからステップおよび段階から段階への望ましい移行条件を具体的に定義することによって、複雑なワークフロープロセスを設定することができる。
要素314では、現在設定された新たな段階にさらなるステップを定義するのが望ましいかどうかを判断することができる。
要望がある場合、処理は、現在定義された新たな段階にこれ以上ステップを設定する必要がなくなるまで、要素308を通り、要素314を通って繰り返され続ける。
次いで、処理を要素316に留めて、定義された新たなワークフローモデルにさらなる新たな段階を設定することをユーザが望んでいるかどうかを判断する。
要望がある場合、所望する段階がすべて新たなワークフローモデル内に定義されるまで、折り返して要素302に戻ることを続ける。
要望がある場合、処理は、現在定義された新たな段階にこれ以上ステップを設定する必要がなくなるまで、要素308を通り、要素314を通って繰り返され続ける。
次いで、処理を要素316に留めて、定義された新たなワークフローモデルにさらなる新たな段階を設定することをユーザが望んでいるかどうかを判断する。
要望がある場合、所望する段階がすべて新たなワークフローモデル内に定義されるまで、折り返して要素302に戻ることを続ける。
上記のように、本発明の特徴および態様によれば、段階はまた、複数のプロセスを含むことができて、段階内の各プロセスは、1つまたは複数のステップを含むことができる。
図3には示していないが、方法を簡単に修正して、それぞれが1つまたは複数のステップを含む段階内にプロセス定義を追加して組み込むことができると、当業者ならば容易に分かるであろう。
図3には示していないが、方法を簡単に修正して、それぞれが1つまたは複数のステップを含む段階内にプロセス定義を追加して組み込むことができると、当業者ならば容易に分かるであろう。
図4は、上記の図2の要素206による処理をさらに詳細に例示するフローチャートである。
図2を参照して上記に説明したように、要素206では通常、ワークフローデータベースに保存されたジョブ情報を使用し、かつワークフローデータベースに保存された、作成済みのワークフローモデル情報を使用してジョブを実行することができる。
図4の要素400では、選択したワークフローモデルに関するワークフローデータベースから情報を取り出すことができる。
選択したワークフローモデルは、実行される特定のジョブのタイプと合致するタイプのジョブを処理するようにカスタマイズされ、設定されたワークフローモデルである。
図2を参照して上記に説明したように、要素206では通常、ワークフローデータベースに保存されたジョブ情報を使用し、かつワークフローデータベースに保存された、作成済みのワークフローモデル情報を使用してジョブを実行することができる。
図4の要素400では、選択したワークフローモデルに関するワークフローデータベースから情報を取り出すことができる。
選択したワークフローモデルは、実行される特定のジョブのタイプと合致するタイプのジョブを処理するようにカスタマイズされ、設定されたワークフローモデルである。
上記のように、ワークフローモデルは、1つまたは複数の作業段階を含む。
次いで、要素402では、現在のワークフローモデルに従って現在実行中のジョブに対して、実行すべき段階がさらに残っているかどうかを判断する。
残っていない場合、要素206による処理は完了する。
残っている場合、次に要素404で、中止処理イベントまたはアクションが発生したかどうかを判断する。
オペレータとの対話処理や他の適切なメカニズムになどから、特定のイベントを検出することによって、ジョブ処理の中止または一時停止を要求することができる。
一般的に、段階の完了時や、次の段階用の処理の開始時に処理を中止することができる。
次いで、要素402では、現在のワークフローモデルに従って現在実行中のジョブに対して、実行すべき段階がさらに残っているかどうかを判断する。
残っていない場合、要素206による処理は完了する。
残っている場合、次に要素404で、中止処理イベントまたはアクションが発生したかどうかを判断する。
オペレータとの対話処理や他の適切なメカニズムになどから、特定のイベントを検出することによって、ジョブ処理の中止または一時停止を要求することができる。
一般的に、段階の完了時や、次の段階用の処理の開始時に処理を中止することができる。
適切なイベントの検出により処理が中止された場合、要素406で、処理の再開を待つことができる。
オペレータの入力や他の適切なメカニズムなどによる別のイベントの検出を受けて、再開を要求することができる。
処理が再開すると、要素408では、データベースから取り出した現在のモデル情報から次の段階を取り出すことができる。
次いで要素410で、ワークフローモデルの現在実行中の段階に実行すべきステップが残っているかどうかを判断する。
残っていない場合、処理は、(もしあるならば)ワークフローモデルのさらなる段階の処理を続けるために、折り返して要素402に戻ることを続ける。
現在の段階に、実行すべきステップがさらに残っている場合、次に要素412で、ワークフローデータベース内のモデル情報から次のステップを取り出すことができる。
次いで要素414では、現在の段階用のすべてのステップを取り出し、実行してしまうまで、取り出した次のステップを実行し、折り返して要素410に戻る。
オペレータの入力や他の適切なメカニズムなどによる別のイベントの検出を受けて、再開を要求することができる。
処理が再開すると、要素408では、データベースから取り出した現在のモデル情報から次の段階を取り出すことができる。
次いで要素410で、ワークフローモデルの現在実行中の段階に実行すべきステップが残っているかどうかを判断する。
残っていない場合、処理は、(もしあるならば)ワークフローモデルのさらなる段階の処理を続けるために、折り返して要素402に戻ることを続ける。
現在の段階に、実行すべきステップがさらに残っている場合、次に要素412で、ワークフローデータベース内のモデル情報から次のステップを取り出すことができる。
次いで要素414では、現在の段階用のすべてのステップを取り出し、実行してしまうまで、取り出した次のステップを実行し、折り返して要素410に戻る。
ワークフローモデルの作成および設定に関して上記に説明したように、各段階は、それぞれが1つまたは複数のステップを含む1つまたは複数のプロセスを含むことができる。
この説明を簡単かつ簡潔にするために、段階内の複数のプロセスの処理については、説明を省略した。
当業者ならば、ワークモデルにある各段階内の1つまたは複数のプロセスの処理を組み込むための、図4の方法に対する適切な修正を容易に思いつくであろう。
<段階、プロセス、およびステップ>
この説明を簡単かつ簡潔にするために、段階内の複数のプロセスの処理については、説明を省略した。
当業者ならば、ワークモデルにある各段階内の1つまたは複数のプロセスの処理を組み込むための、図4の方法に対する適切な修正を容易に思いつくであろう。
<段階、プロセス、およびステップ>
ジョブは、ワークフローモデルとして設定され、ワークフローデータベースに保存された段階、プロセス、およびステップに従って実行される。
したがって、本発明の特徴および態様は、ワークフローデータベーステーブルからそのプロセス流れ情報を取り出すワークフローエンジンによってほとんど決まる。
システムのプロセス変更は、簡単な設定作業である、すなわち、データベーステーブルの内容変更である。
唯一必要とされるカスタムコーディングは、以前に定義された段階、プロセス、またはステップ用の各テンプレートが前もって盛り込んでいない新たな処理ステップに必要とされるものである。
既存のプロセスまたは段階にあるステップを再配置したり、削除したりするのにコーディングは必要でなく、設定をするだけでよい。
したがって、本発明の特徴および態様は、ワークフローデータベーステーブルからそのプロセス流れ情報を取り出すワークフローエンジンによってほとんど決まる。
システムのプロセス変更は、簡単な設定作業である、すなわち、データベーステーブルの内容変更である。
唯一必要とされるカスタムコーディングは、以前に定義された段階、プロセス、またはステップ用の各テンプレートが前もって盛り込んでいない新たな処理ステップに必要とされるものである。
既存のプロセスまたは段階にあるステップを再配置したり、削除したりするのにコーディングは必要でなく、設定をするだけでよい。
システムを設定可能にする本発明の特徴はSQLの使用にある。
例えば、特定の待ち行列にあるジョブのリストは、特定の待ち行列名を備えたデータベースエントリを登録する単なるSQLクエリである。
新たな待ち行列を追加するために、ユーザは、対象とする特定の属性値に関連する属性値を備えたジョブを選択するクエリを作成するだけでよい。
ジョブメタデータは、単にデータベーステーブル内の属性と値だけである。
新たなアイテムを追加するには、単に、メタデータテーブルに行を追加する。
そのような単純なデータベーストランザクションは、当業者にとって公知であり、コストのかかるプログラミングの専門技術をほとんど必要としないか、または全く必要としない。
例えば、特定の待ち行列にあるジョブのリストは、特定の待ち行列名を備えたデータベースエントリを登録する単なるSQLクエリである。
新たな待ち行列を追加するために、ユーザは、対象とする特定の属性値に関連する属性値を備えたジョブを選択するクエリを作成するだけでよい。
ジョブメタデータは、単にデータベーステーブル内の属性と値だけである。
新たなアイテムを追加するには、単に、メタデータテーブルに行を追加する。
そのような単純なデータベーストランザクションは、当業者にとって公知であり、コストのかかるプログラミングの専門技術をほとんど必要としないか、または全く必要としない。
本発明の特徴および態様によれば、ワークフローは、「受け取り」や「作成」などの段階と、これらの段階内のプロセスとに分割される。
プロセスとは、処理するジョブに関する一連の論理活動を行う一続きのステップをいう。
特定のジョブは、各段階で単一のプロセスセットを選択しながら、特定の段階セットを流れる。
プロセスと、プロセスを含む段階とによってグループ分けされたステップの順序集合により、ジョブ用のワークフロー処理が定まる。
プロセスとは、処理するジョブに関する一連の論理活動を行う一続きのステップをいう。
特定のジョブは、各段階で単一のプロセスセットを選択しながら、特定の段階セットを流れる。
プロセスと、プロセスを含む段階とによってグループ分けされたステップの順序集合により、ジョブ用のワークフロー処理が定まる。
本発明の特徴により、段階、プロセス、および状態がシステム内でどのように表されるか、そしてそれらの連結をどのように定義するかが規定される。
ユーザは、新たなワークフローモデルと新たなテンプレートとを作成するシステムを使用するので、彼らは、幾つかのワークフロー処理用途に適用できる再利用可能な段階およびプロセス一式を構築することになる。
例えば、「受け取り」段階とそのプロセスは、おそらく、処理する新たなジョブを受け取るほとんどすべてのワークフロープロセスに使用される。
ユーザは、新たなワークフローモデルと新たなテンプレートとを作成するシステムを使用するので、彼らは、幾つかのワークフロー処理用途に適用できる再利用可能な段階およびプロセス一式を構築することになる。
例えば、「受け取り」段階とそのプロセスは、おそらく、処理する新たなジョブを受け取るほとんどすべてのワークフロープロセスに使用される。
本明細書での上記の説明は、一般的なワークフロー用途に広範囲に適用可能な特徴および態様を提示している。
本発明の特徴および態様はまた、特定の用途、すなわち、印刷環境での印刷ジョブ用のワークフロー処理に関連させて容易に理解することができる。
データ処理業務用の大規模な印刷設備では、多数の印刷ジョブを作成し、これを同じく多数のプリンタ、印刷サーバ、後処理装置などに分配することができる。
本発明の特徴および態様の特に有用な用途の1つは、そのように大規模な印刷環境での印刷ジョブの処理にまつわるワークフローの管理である。
本発明の特徴および態様はまた、特定の用途、すなわち、印刷環境での印刷ジョブ用のワークフロー処理に関連させて容易に理解することができる。
データ処理業務用の大規模な印刷設備では、多数の印刷ジョブを作成し、これを同じく多数のプリンタ、印刷サーバ、後処理装置などに分配することができる。
本発明の特徴および態様の特に有用な用途の1つは、そのように大規模な印刷環境での印刷ジョブの処理にまつわるワークフローの管理である。
ジョブおよびデータベース内のワークフローモデルはそれぞれ、ジョブタイプに関連付けることができる。
システムを移動するときにジョブが受け取る、ジョブの「ジョブタイプ」属性に割り当てられた値により、特定のワークフロー処理が決まる。
「ジョブタイプ」により、各ジョブ用のワークフロー内の段階の選択および順番が確定される。
選択した各段階内のプロセスも「ジョブタイプ」により選択される。
これは、ジョブ.プロセス.アフター.段階_名前(Job.Process.After.phase_name)属性および「移行処理」テーブルエントリによって具現化される。
システムを移動するときにジョブが受け取る、ジョブの「ジョブタイプ」属性に割り当てられた値により、特定のワークフロー処理が決まる。
「ジョブタイプ」により、各ジョブ用のワークフロー内の段階の選択および順番が確定される。
選択した各段階内のプロセスも「ジョブタイプ」により選択される。
これは、ジョブ.プロセス.アフター.段階_名前(Job.Process.After.phase_name)属性および「移行処理」テーブルエントリによって具現化される。
ワークフローエンジンは、プロセスと段階の間の移行処理を定めず、移行処理は「移行処理」データベーステーブルに託される。
各ステップが完了すると、ワークフローエンジンは、「移行処理」テーブルに従って、ジョブをその出力状態にセットし、次いで、ジョブを次のステップの入力状態にセットするそのチェンジジョブ状態(ChangeJobState)メソッドを呼び出す。
各ステップが完了すると、ワークフローエンジンは、「移行処理」テーブルに従って、ジョブをその出力状態にセットし、次いで、ジョブを次のステップの入力状態にセットするそのチェンジジョブ状態(ChangeJobState)メソッドを呼び出す。
そのような大規模な印刷環境でのワークフロー処理システム用途に対して、容易に設定できる例示的な段階およびステップテンプレートについて、本明細書で下記に説明する。
図5は、上記の印刷環境で印刷ジョブを処理するのに有用な例示的な段階について大まかに説明するブロック図である。
下記の表1は、これらの例示的な段階と、各段階に係わる入力と、各段階によって作成された出力と、各段階の目的および動作に関する説明とについてより完全に記載している。
図5は、上記の印刷環境で印刷ジョブを処理するのに有用な例示的な段階について大まかに説明するブロック図である。
下記の表1は、これらの例示的な段階と、各段階に係わる入力と、各段階によって作成された出力と、各段階の目的および動作に関する説明とについてより完全に記載している。
例示的な印刷ジョブ処理に合わせたワークフローモデルを例示的なデータベーステーブルを用いて定義し、実行するための、段階、プロセス、およびステップの使用法について説明することはさらに有益である。
図6および以下の表を用いて、プロセスまたは段階内にある、およびそれらの間にあるジョブの状態を変える作業を説明する。
図6は、段階、プロセス、およびステップからなる階層を示している。
太い実線の矢印は、「受け取り」、「作成」、および「印刷」段階を通る1つの特定のジョブタイプのパスを示している。
太い点線矢印は、「受け取り」および「印刷」段階のみを使用する別のジョブタイプのパスを示している。
表2は、例示的な「受け取り」段階用の例示的な移行処理テーブル行を示している。
表3は、例示的な「作成」段階用の例示的な移行処理テーブル行を示し、表4は、「印刷」段階用の幾つかの例示的な行を示している。
表5は、図6でパスとして示した2つのジョブ用の関連する例示的なジョブ属性を示している。
図6および以下の表を用いて、プロセスまたは段階内にある、およびそれらの間にあるジョブの状態を変える作業を説明する。
図6は、段階、プロセス、およびステップからなる階層を示している。
太い実線の矢印は、「受け取り」、「作成」、および「印刷」段階を通る1つの特定のジョブタイプのパスを示している。
太い点線矢印は、「受け取り」および「印刷」段階のみを使用する別のジョブタイプのパスを示している。
表2は、例示的な「受け取り」段階用の例示的な移行処理テーブル行を示している。
表3は、例示的な「作成」段階用の例示的な移行処理テーブル行を示し、表4は、「印刷」段階用の幾つかの例示的な行を示している。
表5は、図6でパスとして示した2つのジョブ用の関連する例示的なジョブ属性を示している。
以下に、上記の表2〜表5および図6を参照して、例示的なワークフローについて説明する。
図6の実線矢印で示されたジョブは、表5によるジョブID 0001を割り当てられる。
その初期状態は、ステップA.1を処理する準備が整い、「レディ」状態にある入力Proc1プロセスである。
この状態は、入力Proc1:ステップA.1:レディと表すことができる。
1.ジョブ 0001に対してステップA.1が完了する。
チェンジジョブ状態は、ジョブ 0001用の現在のプロセス、ステップおよび状態を定めるために、ジョブテーブルに問い合わせる。
チェンジジョブ状態は、ジョブを入力Proc1:ステップA.1:完了状態に移動させる。
チェンジジョブ状態は、ジョブの現在の状態と合致する行を見つけるために、移行処理テーブルに問い合わせる。
これは、実施例では行 1である。
次いで、チェンジジョブ状態は、「To(ツー)」状態である行 1:入力Proc1:ステップE:レディにジョブを移動させる。
ここで留意すべきは、この場合のようなプロセス内の移行処理は、条件_ATTR_名前(CONDITIONAL_ATTR_NAME)および条件_ATTR_値(CONDITIONAL_ATTR_VALUE)に対して値を必要としないことである。
2.ステップEが完了すると、チェンジジョブ状態は、行 2に場所を定め、ジョブを入力Proc1:ステップQ:レディに移動させる。
3.ステップQが完了すると、チェンジジョブ状態は、行 3に場所を定め、ジョブを入力Proc1:ステップA.2:レディに移動させる。
ここで留意すべきは、これは、このプロセス内のステップAの第2の事例であり、その名前「ステップA.2」によって第1の事例と区別される。
4.ステップA.2が完了すると、チェンジジョブ状態は、行 4、行 5に場所を定める。
ジョブの現在の状態に合致する移行処理がテーブル内に2つある。
行 4はこのジョブタイプに適用され、行 5は点線矢印のジョブタイプに適用される。
この移行処理は段階を出つつあるので、可能性のある移行処理が複数あり、チェンジジョブ状態は、移行処理の条件_ATTR_名前および条件_ATTR_値列を参照する。
ジョブのジョブ.プロセス.アフター.受け取り(Job.Process.After.Receive)属性値は、行 4の条件_ATTR_値と合致するので、チェンジジョブ状態は、ジョブをPreProc2:ステップD:レディに移動させる。
チェンジジョブ状態内の同じメカニズムにより、ジョブは、プロセス内のステップからステップに、および1つのプロセスの最後のステップから別のプロセスの最初のステップに移動する。
5.ステップDが完了すると、チェンジジョブ状態は、行 6に場所を定め、ジョブをPreProc2:ステップM:レディに移動させる。
6.ステップMが完了すると、チェンジジョブ状態は、行 7に場所を定め、ジョブをプリントProc:ステップH:レディに移動させる。
7.ステップHが完了すると、チェンジジョブ状態は、行 8に場所を定め、ジョブをプリントProc:ステップJ:レディに移動させる。
8.ステップJが完了すると、チェンジジョブ状態は、行 9に場所を定め、ジョブをプリントProc:ステップK:レディに移動させる。
9.ステップKが完了すると、チェンジジョブ状態は、行 10に場所を定め、ジョブをプリントProc:ステップP:レディに移動させる。
図6の実線矢印で示されたジョブは、表5によるジョブID 0001を割り当てられる。
その初期状態は、ステップA.1を処理する準備が整い、「レディ」状態にある入力Proc1プロセスである。
この状態は、入力Proc1:ステップA.1:レディと表すことができる。
1.ジョブ 0001に対してステップA.1が完了する。
チェンジジョブ状態は、ジョブ 0001用の現在のプロセス、ステップおよび状態を定めるために、ジョブテーブルに問い合わせる。
チェンジジョブ状態は、ジョブを入力Proc1:ステップA.1:完了状態に移動させる。
チェンジジョブ状態は、ジョブの現在の状態と合致する行を見つけるために、移行処理テーブルに問い合わせる。
これは、実施例では行 1である。
次いで、チェンジジョブ状態は、「To(ツー)」状態である行 1:入力Proc1:ステップE:レディにジョブを移動させる。
ここで留意すべきは、この場合のようなプロセス内の移行処理は、条件_ATTR_名前(CONDITIONAL_ATTR_NAME)および条件_ATTR_値(CONDITIONAL_ATTR_VALUE)に対して値を必要としないことである。
2.ステップEが完了すると、チェンジジョブ状態は、行 2に場所を定め、ジョブを入力Proc1:ステップQ:レディに移動させる。
3.ステップQが完了すると、チェンジジョブ状態は、行 3に場所を定め、ジョブを入力Proc1:ステップA.2:レディに移動させる。
ここで留意すべきは、これは、このプロセス内のステップAの第2の事例であり、その名前「ステップA.2」によって第1の事例と区別される。
4.ステップA.2が完了すると、チェンジジョブ状態は、行 4、行 5に場所を定める。
ジョブの現在の状態に合致する移行処理がテーブル内に2つある。
行 4はこのジョブタイプに適用され、行 5は点線矢印のジョブタイプに適用される。
この移行処理は段階を出つつあるので、可能性のある移行処理が複数あり、チェンジジョブ状態は、移行処理の条件_ATTR_名前および条件_ATTR_値列を参照する。
ジョブのジョブ.プロセス.アフター.受け取り(Job.Process.After.Receive)属性値は、行 4の条件_ATTR_値と合致するので、チェンジジョブ状態は、ジョブをPreProc2:ステップD:レディに移動させる。
チェンジジョブ状態内の同じメカニズムにより、ジョブは、プロセス内のステップからステップに、および1つのプロセスの最後のステップから別のプロセスの最初のステップに移動する。
5.ステップDが完了すると、チェンジジョブ状態は、行 6に場所を定め、ジョブをPreProc2:ステップM:レディに移動させる。
6.ステップMが完了すると、チェンジジョブ状態は、行 7に場所を定め、ジョブをプリントProc:ステップH:レディに移動させる。
7.ステップHが完了すると、チェンジジョブ状態は、行 8に場所を定め、ジョブをプリントProc:ステップJ:レディに移動させる。
8.ステップJが完了すると、チェンジジョブ状態は、行 9に場所を定め、ジョブをプリントProc:ステップK:レディに移動させる。
9.ステップKが完了すると、チェンジジョブ状態は、行 10に場所を定め、ジョブをプリントProc:ステップP:レディに移動させる。
図6の点線矢印によって示されたジョブは、表5によるジョブID 0002を割り当てられる。
その初期状態は入力Proc1:ステップA.1:レディである。
1.ステップA.1が完了すると、チェンジジョブ状態は、行 1に場所を定め、ジョブを入力Proc1:ステップE:レディに移動させる。
これは、ジョブID 0001と同じである。
2.ステップEが完了すると、チェンジジョブ状態は、行 2に場所を定め、ジョブをReceive:インプットProc1:ステップQ:レディに移動させる。
これは、ジョブID 0001と同じである。
3.ステップQが完了すると、チェンジジョブ状態は、行 3に場所を定め、ジョブをインプットProc1:ステップA.2:レディに移動させる。
これは、JobID 0001と同じである。
4.ステップA.2が完了すると、チェンジジョブ状態は、行 4、行 5に場所を定める。
ジョブの現在の状態に合致する移行処理がテーブル内に2つある。
ジョブのジョブ.プロセス.アフター.受け取り属性値は、行 5の条件_ATTR_名前と合致するので、チェンジジョブ状態は、ジョブをPreProc:ステップH:レディに移動させる。
ここで留意すべきは、このジョブは「作成」段階を完全にとばすことである。
5.ステップHが完了すると、チェンジジョブ状態は、行 8に場所を定め、ジョブをプリントProc:ステップJ:レディに移動させる。
6.ステップJが完了すると、チェンジジョブ状態は、行 9に場所を定め、ジョブをプリントProc:ステップK:レディに移動させる。
9.ステップKが完了すると、チェンジジョブ状態は、行 10に場所を定め、ジョブをプリントProc:ステップP:レディに移動させる。
その初期状態は入力Proc1:ステップA.1:レディである。
1.ステップA.1が完了すると、チェンジジョブ状態は、行 1に場所を定め、ジョブを入力Proc1:ステップE:レディに移動させる。
これは、ジョブID 0001と同じである。
2.ステップEが完了すると、チェンジジョブ状態は、行 2に場所を定め、ジョブをReceive:インプットProc1:ステップQ:レディに移動させる。
これは、ジョブID 0001と同じである。
3.ステップQが完了すると、チェンジジョブ状態は、行 3に場所を定め、ジョブをインプットProc1:ステップA.2:レディに移動させる。
これは、JobID 0001と同じである。
4.ステップA.2が完了すると、チェンジジョブ状態は、行 4、行 5に場所を定める。
ジョブの現在の状態に合致する移行処理がテーブル内に2つある。
ジョブのジョブ.プロセス.アフター.受け取り属性値は、行 5の条件_ATTR_名前と合致するので、チェンジジョブ状態は、ジョブをPreProc:ステップH:レディに移動させる。
ここで留意すべきは、このジョブは「作成」段階を完全にとばすことである。
5.ステップHが完了すると、チェンジジョブ状態は、行 8に場所を定め、ジョブをプリントProc:ステップJ:レディに移動させる。
6.ステップJが完了すると、チェンジジョブ状態は、行 9に場所を定め、ジョブをプリントProc:ステップK:レディに移動させる。
9.ステップKが完了すると、チェンジジョブ状態は、行 10に場所を定め、ジョブをプリントProc:ステップP:レディに移動させる。
今説明した例示的な構造および方法は、それらが様々な印刷ジョブワークフローのほかに、他の応用分野でも使用できるように設定可能であるという点で自由度が大きい。
ステップからステップ、または段階から段階への移行処理は、ジョブ属性に基づいて選択される。
この実施例では、ジョブ.プロセス.アフター.段階_名前を使用したが、他のワークフローでは、全く異なる属性に基づいて、所望のプロセスまたはステップを選択することができる。
ステップからステップ、または段階から段階への移行処理は、ジョブ属性に基づいて選択される。
この実施例では、ジョブ.プロセス.アフター.段階_名前を使用したが、他のワークフローでは、全く異なる属性に基づいて、所望のプロセスまたはステップを選択することができる。
チェンジジョブ状態関数は、これを呼び出すステップを所望の出力状態にして、ジョブテーブル内の現在のジョブの行を更新する。
次いで、チェンジジョブ状態は、現在のジョブを、もしあるならば、次の入力状態に更新する。
このアクションにより、次のステップ用の入力待ち行列にジョブが追加される。
次いで、チェンジジョブ状態は、現在のジョブを、もしあるならば、次の入力状態に更新する。
このアクションにより、次のステップ用の入力待ち行列にジョブが追加される。
ここで留意すべきは、すべてのステップは、ジョブのタスクを完了したときに、それらの入力待ち行列を自動的に参照するので、新たなタスクのために再スタートされる必要なしに、待ち行列に入ったジョブを処理し続けることである。
待ち行列は、ステップの許可された事例数が、ステップを要求するジョブ数を取り扱うのに十分でない場合か、あるいはジョブが保留されるか、または現在実行中のジョブより優先度が低い場合にのみ生じる。
待ち行列は、ステップの許可された事例数が、ステップを要求するジョブ数を取り扱うのに十分でない場合か、あるいはジョブが保留されるか、または現在実行中のジョブより優先度が低い場合にのみ生じる。
システムの始動時に、ステップに対して入力状態にあるすべてのジョブは、ステップに対する最大実行総数制限を受けることを条件として開始される。
ステップは、ワークフロー処理の1単位である。
ステップは1つのアクションを行うことができるし、または同じシーケンスで常に起こる幾つかの関連するアクションを行うこともできる。
ステップは以下のことができる。
8.例えば、ラインデータ入力ファイルからAFPファイルを作成するソフトウェア/自動化ステップなどのように、ジョブファイルに基づいて動作する。
9.例えば、AFPドキュメントのページ数をカウントするステップなどのように、ジョブ属性を設定する。
10.例えば、ジョブを次のステップに引き渡す前に、オペレータに幾つかの質問をする「品質管理」ステップなどのように、ユーザとの対話処理を要求する。
11.例えば、印刷用のジョブを提出する「印刷」ステップなどのように、ハードウェア装置マネージャと情報をやりとりする。
ステップは1つのアクションを行うことができるし、または同じシーケンスで常に起こる幾つかの関連するアクションを行うこともできる。
ステップは以下のことができる。
8.例えば、ラインデータ入力ファイルからAFPファイルを作成するソフトウェア/自動化ステップなどのように、ジョブファイルに基づいて動作する。
9.例えば、AFPドキュメントのページ数をカウントするステップなどのように、ジョブ属性を設定する。
10.例えば、ジョブを次のステップに引き渡す前に、オペレータに幾つかの質問をする「品質管理」ステップなどのように、ユーザとの対話処理を要求する。
11.例えば、印刷用のジョブを提出する「印刷」ステップなどのように、ハードウェア装置マネージャと情報をやりとりする。
ステップが処理する各ジョブは、ジョブ状態を有する。
すべてのステップは少なくとも以下の状態を有する(さらに多くを有してもよい)。
12.「待機」状態は、ステップで処理するためにジョブが待ち行列に入れられていることを示す。
13.「処理」状態は、ステップがジョブを実行していることを示す。
14.「完了」状態は、ステップがジョブに対する処理を完了したことを示す。
15.「エラー」状態は、ジョブを処理するのにステップが問題を抱えており、ジョブの実行を中断することを示す。
すべてのステップは少なくとも以下の状態を有する(さらに多くを有してもよい)。
12.「待機」状態は、ステップで処理するためにジョブが待ち行列に入れられていることを示す。
13.「処理」状態は、ステップがジョブを実行していることを示す。
14.「完了」状態は、ステップがジョブに対する処理を完了したことを示す。
15.「エラー」状態は、ジョブを処理するのにステップが問題を抱えており、ジョブの実行を中断することを示す。
ここで留意すべきは、ステップの中には、「待機」だけでなくさらに多くの入力状態を有し、「処理」だけでなくさらに多くの処理状態を有し、「完了」だけでなくさらに多くの出力状態を有することができるものもある。
例えば、「印刷」ステップにあるジョブは、「スプール」および「印刷」などの様々な印刷段階に相当する多くの処理状態を有する。
例えば、「印刷」ステップにあるジョブは、「スプール」および「印刷」などの様々な印刷段階に相当する多くの処理状態を有する。
ステップは特定の状態(「レディ」が一般的)にあるジョブを要求することができ、ジョブを新たな状態に設定することができる。
ステップがジョブの処理を完了すると、ステップは、チェンジジョブ状態を呼び出して、ジョブの最終状態を設定する。
チェンジジョブ状態は、移行処理テーブルを使用して、ジョブをその出力状態(例えば「完了」)から、ジョブのワークフロー内にある次のステップの適切な入力状態(例えば「レディ」)にどこで移動させるかを見つける。
ステップがジョブの処理を完了すると、ステップは、チェンジジョブ状態を呼び出して、ジョブの最終状態を設定する。
チェンジジョブ状態は、移行処理テーブルを使用して、ジョブをその出力状態(例えば「完了」)から、ジョブのワークフロー内にある次のステップの適切な入力状態(例えば「レディ」)にどこで移動させるかを見つける。
各ステップが処理時に問題に直面した場合に、各ステップはジョブを「エラ−」状態にすることができる。
ジョブは、オペレータが介入するまで「エラー」状態のままである。
ジョブは、オペレータが介入するまで「エラー」状態のままである。
ステップはエラーメッセージを記録するので、オペレータは、問題を修正するのにどのような処置を講ずるべきかが分かる。
エラー状態のジョブは、グラフィカルインターフェイスを使用して、様々な状態に移ることができる。
例示的なオプションには以下がある。
16.「ジョブ再スタート」、これは、ジョブをワークフローの早期のステップに移す。
17.「継続」、これは、エラーを解消し、ジョブがプロセス内の次のステップを続行するようにする。
18.ForceToProcessEnd、これは、エラーを解消し、ジョブがプロセスを無事に完了した場合と同様に、ジョブを続行させる。
19.「浄化」、これは、ジョブを「完了」プロセスに移すので、ジョブをシステムから完全に削除することができる。
<段階/ステップ制限>
エラー状態のジョブは、グラフィカルインターフェイスを使用して、様々な状態に移ることができる。
例示的なオプションには以下がある。
16.「ジョブ再スタート」、これは、ジョブをワークフローの早期のステップに移す。
17.「継続」、これは、エラーを解消し、ジョブがプロセス内の次のステップを続行するようにする。
18.ForceToProcessEnd、これは、エラーを解消し、ジョブがプロセスを無事に完了した場合と同様に、ジョブを続行させる。
19.「浄化」、これは、ジョブを「完了」プロセスに移すので、ジョブをシステムから完全に削除することができる。
<段階/ステップ制限>
上記のように、段階テンプレートおよびステップテンプレートは、テンプレートの適切な使用を検証するのに使用される制限または規則を含むことができる。
制限は、新たな段階またはステップがテンプレートから作成されるときに、ワークフローモデルの新たな段階またはステップの作成におけるテンプレートの使用を検証するのに適用または実行される。
制限は、新たな段階またはステップがテンプレートから作成されるときに、ワークフローモデルの新たな段階またはステップの作成におけるテンプレートの使用を検証するのに適用または実行される。
これらの制限は、ジョブタイプに対する検証規則であり、例えば、以下のものを含むことができる。
「このステップは「作成」段階においてのみ行われなければならない」や「このステップは段階の最後でなければならない」や「このステップはステップXの前に行われなければならない」などの「段階−ステップ制限」。
「このステップは、属性XYZが値をもたなければならないことを必要とする」などの「属性制限」。
特定のステップテンプレートが書き込んだ属性も定義されるので、現在のステップが必要とするすべての属性を、あるステップが書き込んだと断定することによって、ジョブタイプを検証することが可能である。
特定のステップテンプレートが書き込んだ属性も定義されるので、現在のステップが必要とするすべての属性を、あるステップが書き込んだと断定することによって、ジョブタイプを検証することが可能である。
「このステップはAFPファイルが存在することを必要とする」などの「ファイル制限」。
特定のステップテンプレートが書き込んだファイルも定義されるので、現在のステップが必要とするすべてのファイルを、あるステップが書き込んだと断定することによってジョブのタイプを検証することができる。
特定のステップテンプレートが書き込んだファイルも定義されるので、現在のステップが必要とするすべてのファイルを、あるステップが書き込んだと断定することによってジョブのタイプを検証することができる。
これらの制限を段階またはステップに記述することで、ワークフローモデルを設定するための規則が定まり、管理者が新たなワークフローモデルを設定するのをより容易にする。
<負荷のバランスを取る>
<負荷のバランスを取る>
本発明の特徴および態様は、ワークフローシステムにある複数のサーバ内で実行中のステップの作業負荷をバランスさせる能力をもたらす。
通常、作業負荷のバランスを取ることには少なくとも2つの目的がある。
1つの目的は、どこでステップを実行するかを調整することである。
ステップによっては、特定のサーバでのみ実行しなければならないことがある。
もう1つの目的は、実行中のステップ数を限定することである。
システム上で利用できるリソースの数は限られているので、これらのリソースの過剰な投入を回避するために、ステップ数が限定される。
通常、作業負荷のバランスを取ることには少なくとも2つの目的がある。
1つの目的は、どこでステップを実行するかを調整することである。
ステップによっては、特定のサーバでのみ実行しなければならないことがある。
もう1つの目的は、実行中のステップ数を限定することである。
システム上で利用できるリソースの数は限られているので、これらのリソースの過剰な投入を回避するために、ステップ数が限定される。
システム上のステップ作業負荷のバランスを取るのに3種類のオブジェクトが必要とされる。
ステップアダプタマネージャは、ステップによる処理待ち中のジョブ待ち行列と入力ファイルとを保留する。
サーバは、ステップを処理する環境を特定する。
ステップテンプレートは、行われるべき処理を特定する。
各ステップテンプレートは、以下の作業負荷バランス属性を含む。
ステップ Template.UseGeneralServerPool−「Yes」または「No」。
「Yes」の場合、次にステップテンプレートは、通常のプールサーバの中のいずれかのサーバを使用し、そうでない場合、ステップ Template.Servers属性のサーバのみを使用する。
「Yes」の場合、次にステップテンプレートは、通常のプールサーバの中のいずれかのサーバを使用し、そうでない場合、ステップ Template.Servers属性のサーバのみを使用する。
ステップ Template.Server−このステップテンプレートが処理用に使用できるサーバを記載した「リスト」。
ステップ Template.UseGeneralServerPoolが「Yes」の場合、この属性は無効になる。
ステップ Template.UseGeneralServerPoolが「Yes」の場合、この属性は無効になる。
ステップ Template.HighResouceUsage−「Yes」または「No」のいずれか。
「Yes」の場合、ステップは、サーバのリソース利用限度が高い方にカウントされ、そうでない場合、サーバのリソース利用限度が低い方にカウントされる。
「Yes」の場合、ステップは、サーバのリソース利用限度が高い方にカウントされ、そうでない場合、サーバのリソース利用限度が低い方にカウントされる。
ステップ Template.MaximumActiveUnitおよびStep Template.MaximumActiveCount−この2つの属性は、動作中とすることができるステップテンプレートの最大事例数を調整する。
これらの属性は、Set Template.HighResouceUsageが「No」に設定された場合にのみ使用される。
単位は、ワークフローシステムごと、サーバごと、入力装置ごと、プリンタごととすることができる。
動作中ステップを調整するために、単位にカウントが適用される。
例えば、単位が「サーバごと」で、カウントが1の場合、各サーバは、所与のあらゆる時点でステップを1事例だけ実行することができる。
これらの属性は、ステップ Template.HighResouceUsageが「Yes」に設定された場合に無効に設定される。
値が「No」の場合、これらの属性は必要とされる。
これらの属性は、Set Template.HighResouceUsageが「No」に設定された場合にのみ使用される。
単位は、ワークフローシステムごと、サーバごと、入力装置ごと、プリンタごととすることができる。
動作中ステップを調整するために、単位にカウントが適用される。
例えば、単位が「サーバごと」で、カウントが1の場合、各サーバは、所与のあらゆる時点でステップを1事例だけ実行することができる。
これらの属性は、ステップ Template.HighResouceUsageが「Yes」に設定された場合に無効に設定される。
値が「No」の場合、これらの属性は必要とされる。
サーバ用の作業負荷バランス属性は、そのサーバでどのステップを処理できるかを調整し、所与のあらゆる時点で処理できる、リソース利用度が高いステップの数量を調整する。
「サーバ」作業負荷バランス属性は以下とされる。
「サーバ」作業負荷バランス属性は以下とされる。
Server.InGeneralServerPool−「Yes」または「No」。
「Yes」の場合、「Yes」に設定されたステップ Template.UseGeneralServerPoolを有するステップテンプレートが、サーバを使用することができる。
「No」の場合、「Yes」に設定されたステップ Template.UseGeneralServerPoolを有するステップテンプレートは、サーバを使用しないことになる。
どちらの値も、サーバがステップテンプレートのステップ Template.Server属性に登録されるのを可能にする。
「Yes」の場合、「Yes」に設定されたステップ Template.UseGeneralServerPoolを有するステップテンプレートが、サーバを使用することができる。
「No」の場合、「Yes」に設定されたステップ Template.UseGeneralServerPoolを有するステップテンプレートは、サーバを使用しないことになる。
どちらの値も、サーバがステップテンプレートのステップ Template.Server属性に登録されるのを可能にする。
Server.MaxHighUsageSteps−サーバで同時に動作することができるリソース利用度が高いステップの最大数である。
Server.MaxLowUsageSteps−サーバで同時に動作することができるリソース利用度が低いステップの最大数である。
各サーバは、そのサーバで同時に実行中のステップによる現在の作業負荷を有する。
作業負荷は、サーバで処理しているステップの負荷を合計したものである。
ステップの負荷は計算される。
各サーバに対して、リソース利用度が高いステップに係わる負荷と、リソース利用度が低いステップに係わる別の負荷とがある。
1ステップの負荷は、ステップのリソース利用に応じて、100をServer.MaxHighUsageStepsかまたはServer.MaxLowUsageStepsで割ることによって算出される。
Server.MaxHighUsageStepsかまたはServer.MaxLowUsageStepsのいずれかがゼロの場合、そのタイプのステップに対しては、負荷は算出されない。
作業負荷は、サーバで処理しているステップの負荷を合計したものである。
ステップの負荷は計算される。
各サーバに対して、リソース利用度が高いステップに係わる負荷と、リソース利用度が低いステップに係わる別の負荷とがある。
1ステップの負荷は、ステップのリソース利用に応じて、100をServer.MaxHighUsageStepsかまたはServer.MaxLowUsageStepsで割ることによって算出される。
Server.MaxHighUsageStepsかまたはServer.MaxLowUsageStepsのいずれかがゼロの場合、そのタイプのステップに対しては、負荷は算出されない。
何台かのサーバのうちの1台でステップをスタートさせることができる場合、ステップアダプタマネージャは、作業負荷が最も低いサーバでステップをスタートさせる。
ステップは、作業負荷が100以上のサーバではスタートされない。
リソース利用度が高いステップがなくならないように、サーバの作業負荷は100を越えてもよいとされるが、作業負荷が100を超えた場合、ステップが追加されることはない。
<チェックポイントと再スタート>
ステップは、作業負荷が100以上のサーバではスタートされない。
リソース利用度が高いステップがなくならないように、サーバの作業負荷は100を越えてもよいとされるが、作業負荷が100を超えた場合、ステップが追加されることはない。
<チェックポイントと再スタート>
ステップは、(ステップ:restart_typeによって)再スタート可能に設定することができ、これは、ステップ内かまたは後のステップからかのいずれかのエラー状態のために、ジョブがステップの開始点に戻される得ることを意味する。
ステップはまた、(ステップ:job_forceable_hereによって)強制可能に設定することができ、これは、「エラー」状態にあるジョブが、ユーザインターフェイスからの「強制終了」アクションによって「終了」状態を強いられ得ることを意味する。
ユーザがこのようにエラーを無効にするのを、すべてのステップが可能にすることができるわけではない、すなわち、job_forceable_hereが、権限のあるユーザに対してどのステップがアクションを許可し、どれがしないかを決定する。
ユーザがこのようにエラーを無効にするのを、すべてのステップが可能にすることができるわけではない、すなわち、job_forceable_hereが、権限のあるユーザに対してどのステップがアクションを許可し、どれがしないかを決定する。
ジョブ用の再スタート可能なステップのリストを決定するために、「ステップマネージャ」は、ジョブが「処理」状態に入った各ステップのレコードを(restart_stepsによって)作る。
ユーザが「Process Job Again」かまたは他の再スタートアクションを選択すると、ユーザインターフェイスには、ユーザが選択できる、リスタート可能なrestart_typeを備えたステップのリストが供給される。
ユーザが「Process Job Again」かまたは他の再スタートアクションを選択すると、ユーザインターフェイスには、ユーザが選択できる、リスタート可能なrestart_typeを備えたステップのリストが供給される。
再スタートアクションを実行するために、「ステップマネージャ」は、待ち行列に入れられるべきジョブの状態を再スタートステップに変えることができる。
その間のステップ中に設定された可能性のある属性は、問題とならないか、またはステップの実行によってリセットされるかのいずれかであると判断できる。
一方、データファイルは、その間のステップ中に大きく変わった可能性があり、再スタートが成功するように、それらの元の状態に戻されなければならない。
その間のステップ中に設定された可能性のある属性は、問題とならないか、またはステップの実行によってリセットされるかのいずれかであると判断できる。
一方、データファイルは、その間のステップ中に大きく変わった可能性があり、再スタートが成功するように、それらの元の状態に戻されなければならない。
再スタートを可能にするために、ステップが変わるデータファイルは、後で復元できるように、再スタートアクションの一部として、ステップへのエントリ時にファイルの元の形態の版を保存するチェックポイントを最初に設定される。
前の再スタート可能なステップにジョブを送り返すときに、「ステップマネージャ」は、スプールが確実に元の状態に戻されるように、中間データチェックポイントを再設定しなければならないので、ステップは、以前と同じデータに基づいて作業することができる。
前の再スタート可能なステップにジョブを送り返すときに、「ステップマネージャ」は、スプールが確実に元の状態に戻されるように、中間データチェックポイントを再設定しなければならないので、ステップは、以前と同じデータに基づいて作業することができる。
本発明の実施形態は、完全にハードウェアからなる実施形態か、完全にソフトウェアからなる実施形態か、またはハードウェア要素およびソフトウェア要素を両方含む実施形態の形をとることができる。
好ましい実施形態では、本発明は、限定するものではないが、ファームウェア、常駐ソフトウェア、マイクロコードなどを含むソフトウェアを実装される。
図8は、プログラム命令を実行し、コンピュータ可読の記憶媒体812に保存されたデータにアクセスすることで、本発明の特徴および態様をもたらすように構成されたデータ処理装置としてのデータ処理システム801を示すブロック図である。
好ましい実施形態では、本発明は、限定するものではないが、ファームウェア、常駐ソフトウェア、マイクロコードなどを含むソフトウェアを実装される。
図8は、プログラム命令を実行し、コンピュータ可読の記憶媒体812に保存されたデータにアクセスすることで、本発明の特徴および態様をもたらすように構成されたデータ処理装置としてのデータ処理システム801を示すブロック図である。
さらに、本発明は、コンピュータもしくは任意の命令実行システムで、またはそれらと接続して使用するためのプログラムコードを提供する、コンピュータで使用可能なまたはコンピュータ可読の媒体812からアクセスできるコンピュータプログラム製品の形態をとることができる。
この説明に当たり、コンピュータで使用可能なまたはコンピュータ可読の媒体は、命令実行システム、装置、またはデバイスで使用するか、もしくはそれらと接続して使用するためのプログラムを含む、保存する、やりとりする、伝播させる、または伝送することができる任意の装置とすることができる。
この説明に当たり、コンピュータで使用可能なまたはコンピュータ可読の媒体は、命令実行システム、装置、またはデバイスで使用するか、もしくはそれらと接続して使用するためのプログラムを含む、保存する、やりとりする、伝播させる、または伝送することができる任意の装置とすることができる。
媒体は、電子式、磁気式、光学式、電磁式、赤外線式、もしくは半導体式の各システム(もしくは装置もしくはデバイス)または伝搬媒質とすることができる。
コンピュータ可読の媒体例には、半導体メモリまたはソリッドステートメモリ、磁気テープ、取り出し可能なフロッピー(登録商標)ディスク、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、固定式磁気ディスク、および光ディスクがある。
流通している光ディスクの例には、コンパクトディスク−読み取り専用メモリ(CD−ROM)、コンパクトディスク−読み込み/書き出し(CD−R/W)、およびDVDがある。
コンピュータ可読の媒体例には、半導体メモリまたはソリッドステートメモリ、磁気テープ、取り出し可能なフロッピー(登録商標)ディスク、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、固定式磁気ディスク、および光ディスクがある。
流通している光ディスクの例には、コンパクトディスク−読み取り専用メモリ(CD−ROM)、コンパクトディスク−読み込み/書き出し(CD−R/W)、およびDVDがある。
プログラムコードを保存し、かつ/または実行するのに適したデータ処理システムは、システムバス850を介してメモリ要素802に直接的にまたは間接的に接続された少なくとも1つのプロセッサ800を有する。
メモリ要素には、プログラムコードの実際の実行中に使用されるローカルメモリと、大容量記憶装置と、実行中に大容量記憶装置からコードを取り出さなければならない回数を減らすために、少なくとも何らかのプログラムコードを一時的に保存するキャッシュメモリとがあり得る。
メモリ要素には、プログラムコードの実際の実行中に使用されるローカルメモリと、大容量記憶装置と、実行中に大容量記憶装置からコードを取り出さなければならない回数を減らすために、少なくとも何らかのプログラムコードを一時的に保存するキャッシュメモリとがあり得る。
(限定するものではないが、キーボード、ディスプレイ、ポインティングデバイスなどが含まれる)入力/出力、すなわちI/O装置804は、直接かまたは介在I/Oコントローラを介して、システムに接続することができる。
ネットワークアダプタインターフェイス808もまた、システムに接続することができて、データ処理システムが、介在するプライベートまたパブリックネットワークを介して、他のデータ処理システムまたは記憶装置とつながるようになるのを可能にする。
現在利用できるタイプのネットワークアダプタやホストインターフェイスアダプタは、モデム、ケーブルモデム、IBMチャネルアタッチメント、SCSI、ファイバーチャネル、およびイーサネット(登録商標)カードなどほんの数点である。
ネットワークアダプタインターフェイス808もまた、システムに接続することができて、データ処理システムが、介在するプライベートまたパブリックネットワークを介して、他のデータ処理システムまたは記憶装置とつながるようになるのを可能にする。
現在利用できるタイプのネットワークアダプタやホストインターフェイスアダプタは、モデム、ケーブルモデム、IBMチャネルアタッチメント、SCSI、ファイバーチャネル、およびイーサネット(登録商標)カードなどほんの数点である。
本明細書において具体的な実施形態を説明したが、発明の範囲は、これらの具体的な実施形態に限定されるものではない。
Claims (10)
- ワークフロー処理システムを管理する方法であって、
前記ワークフロー処理システムによって処理されるべき1つまたは複数のジョブに関するジョブ情報をデータベースに保存する保存ステップと、
前記データベース内の前記ジョブ情報に関連する1つまたは複数のジョブを処理するワークフローモデルを作成するステップであって、前記ワークフローモデルは前記データベースに保存され、前記ワークフローモデルは、設定可能なテンプレートから作成される作成ステップと、
前記データベース内の前記ワークフローモデルを使用して、かつ前記データベース内の前記ジョブ情報を使用して、1つまたは複数のジョブを処理する処理ステップとを含む、ことを特徴とする方法。 - 前記作成ステップはさらに、
前記ワークフロー処理システムの1つまたは複数の段階を前記データベースにエントリとして設定し、各段階は1つまたは複数のプロセスを含み、各プロセスは1つまたは複数のステップを含み、前記段階、プロセス、およびステップは、対応するテンプレートにより完全に設定されるステップと、
前記1つまたは複数のステップの間の1つまたは複数の移行処理をエントリとしてデータベースシステムに設定するステップとを含む、ことを特徴とする請求項1に記載の方法。 - 前記作成ステップは、
前記ワークフローモデルの前記1つまたは複数のステップに関連する制限を定義する定義ステップと、
前記定義した制限を適用して、設定したすべての段階、プロセス、またはステップを検証する検証ステップとをさらに含む、ことを特徴とする請求項2に記載の方法。 - 前記データベースから、1つまたは複数の段階に関する前記データベースから段階情報を取り出し、前記データベースから1つまたは複数の移行処理を取り出す取り出しステップと、
前記データベース内のジョブ情報を使用して、前記取り出した1つまたは複数の移行処理に従って前記取り出した1つまたは複数の段階を実行する実行ステップとをさらに含む、ことを特徴とする請求項1乃至3のいずれか1つに記載の方法。 - ワークフロー処理用のシステムであって、
1つまたは複数のワークフローモデルを保存し、対応するワークフローモデルに従って処理されるジョブに関するジョブ情報を保存するデータベースと、
前記データベースに接続され、前記データベース内の前記ジョブ情報および前記ワークフローモデルを使用してジョブを実行するように構成され、さらに、前記データベースに保存されるワークフローモデルを作成し、修正するように構成される計算ノードとを有し、
前記計算ノードは、テンプレートから前記ワークフローモデルを作成するように構成される、ことを特徴とするシステム。 - 前記計算ノードは、主計算ノードとされ、
前記システムは、
ジョブを実行するために、それぞれが前記データベース内の前記ジョブ情報および前記ワークフローモデルにアクセスするように構成された1つまたは複数の補助計算ノードをさらに有する、ことを特徴とする請求項5に記載のシステム。 - 前記1つまたは複数の補助計算ノードは、前記主計算ノードに接続され、前記主計算ノードを介して前記データベースに間接的にアクセスする、ことを特徴とする請求項6に記載のシステム。
- ワークフローモデルは、
1つまたは複数の段階を含んでいて、各段階は1つまたは複数のステップを含み、さらに、前記1つまたは複数の段階のそれぞれにある前記1つまたは複数のステップの間の移行処理を含み、
前記テンプレートには、
ワークフローモデルの新たな段階を定義する段階テンプレートと、
ワークフローモデルの段階の新たなプロセスを定義するプロセステンプレートと、
ワークフローモデルにある段階を構成するプロセスの新たなステップを定義するステップテンプレートとがさらにあり、
前記段階テンプレートおよび前記ステップテンプレートはそれぞれ、前記計算ノードが前記新たな段階および前記新たなステップを設定するのを可能にする属性を含む、ことを特徴とする請求項5乃至請求項7のいずれか1項に記載のシステム。 - コンピュータシステムにロードされ、そこで実行されるときに、請求項1乃至請求項4のいずれか1つによる方法のすべてのステップを前記コンピュータシステムに実行させるプログラムコードを有する、ことを特徴とするコンピュータプログラム。
- 関数型データを有するデータ担体であって、
前記関数型データは、
コンピュータシステムにロードされ、それによって実行されるときに、前記コンピュータシステムが、請求項1乃至請求項4による方法のすべてのステップを実行することを可能にする関数型コンピュータデータ構造を有する、ことを特徴とするデータ担体。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/279,052 US8284423B2 (en) | 2006-04-07 | 2006-04-07 | Customer-configurable print workflow system |
PCT/EP2007/052896 WO2007115927A2 (en) | 2006-04-07 | 2007-03-27 | Customer-configurable workflow system |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009532791A true JP2009532791A (ja) | 2009-09-10 |
Family
ID=38476940
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009503531A Pending JP2009532791A (ja) | 2006-04-07 | 2007-03-27 | 顧客が設定可能なワークフローシステム |
Country Status (6)
Country | Link |
---|---|
US (2) | US8284423B2 (ja) |
EP (1) | EP2008229A2 (ja) |
JP (1) | JP2009532791A (ja) |
CN (1) | CN101410863A (ja) |
TW (1) | TW200813867A (ja) |
WO (1) | WO2007115927A2 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011145789A (ja) * | 2010-01-13 | 2011-07-28 | Hitachi Solutions Ltd | タスク登録支援手段を有するタスク管理システム |
JP2013530464A (ja) * | 2010-06-04 | 2013-07-25 | エムシーエル システムズ リミテド | 統合ワークフロー及びデータベーストランザクション |
JP2020091714A (ja) * | 2018-12-06 | 2020-06-11 | 富士ゼロックス株式会社 | 文書処理装置、文書処理サービス提供システム及びプログラム |
Families Citing this family (44)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7676492B2 (en) * | 2006-04-07 | 2010-03-09 | International Business Machines Corporation | Migration of database using serialized objects |
US7784021B2 (en) * | 2006-05-02 | 2010-08-24 | International Business Machines Corporation | Method for specifying, deploying and dynamically updating work flows |
US8424003B2 (en) * | 2006-05-31 | 2013-04-16 | International Business Machines Corporation | Unified job processing of interdependent heterogeneous tasks using finite state machine job control flow based on identified job type |
JP5039422B2 (ja) * | 2006-06-19 | 2012-10-03 | キヤノン株式会社 | 印刷装置、印刷装置の制御方法、コンピュータプログラム |
US8612280B2 (en) * | 2006-11-07 | 2013-12-17 | Xerox Corporation | Selection of performance indicators for workflow monitoring |
US8326911B2 (en) * | 2007-02-02 | 2012-12-04 | Microsoft Corporation | Request processing with mapping and repeatable processes |
JP5018133B2 (ja) * | 2007-02-27 | 2012-09-05 | 富士通株式会社 | ジョブ管理装置、クラスタシステム、およびジョブ管理プログラム |
US20090119500A1 (en) * | 2007-11-02 | 2009-05-07 | Microsoft Corporation | Managing software configuration using mapping and repeatable processes |
JP5239075B2 (ja) * | 2008-02-25 | 2013-07-17 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 複数のサービスステップを含むサービスプロセスを管理するためのコンピュータ・システム、並びにその方法及びコンピュータ・プログラム |
US8195321B2 (en) * | 2008-10-24 | 2012-06-05 | Bell And Howell, Llc | Item workflow tracking in an automated production environment |
US9424398B1 (en) * | 2009-01-24 | 2016-08-23 | Dionex Corporation | Workflows for defining a sequence for an analytical instrument |
WO2011136780A1 (en) * | 2010-04-29 | 2011-11-03 | Hewlett-Packard Development Company, L.P. | Information tracking system and method |
US9070113B2 (en) * | 2010-12-17 | 2015-06-30 | Verizon Patent And Licensing Inc. | Stock keeping units for content processing |
US9134928B2 (en) * | 2011-01-28 | 2015-09-15 | Ricoh Production Print Solutions LLC | Print job processing in an automated document factory environment |
US8693014B2 (en) | 2011-02-28 | 2014-04-08 | Ricoh Company, Ltd | Job ticket translation in a print shop architecture |
US9652184B2 (en) * | 2011-02-28 | 2017-05-16 | Ricoh Company, Ltd. | Workflow regeneration in a print shop environment |
US8860984B2 (en) | 2011-02-28 | 2014-10-14 | Ricoh Company, Ltd | Workflow generation in a print shop environment |
US9069499B2 (en) | 2011-03-22 | 2015-06-30 | Infoprint Solutions Company Llc | Print processing network |
US9329808B2 (en) | 2011-03-24 | 2016-05-03 | Ricoh Company, Ltd. | User interfaces for rule-based workflow generation in a print shop environment |
US8526044B2 (en) | 2011-03-31 | 2013-09-03 | Ricoh Company, Ltd | Template-based installation of workflow systems in a print shop environment |
US11568331B2 (en) * | 2011-09-26 | 2023-01-31 | Open Text Corporation | Methods and systems for providing automated predictive analysis |
DE102012201255A1 (de) * | 2012-01-30 | 2013-08-01 | systego GmbH | Arbeitsfluss-Management-System für Computernetze |
US8856291B2 (en) | 2012-02-14 | 2014-10-07 | Amazon Technologies, Inc. | Providing configurable workflow capabilities |
JP5942614B2 (ja) * | 2012-06-05 | 2016-06-29 | 株式会社リコー | 情報処理装置、システム及びプログラム |
KR101516055B1 (ko) * | 2012-11-30 | 2015-05-04 | 주식회사 엘지씨엔에스 | 맵리듀스 워크플로우 처리 장치와 방법 및 이를 저장한 기록 매체 |
CN103051692B (zh) * | 2012-12-11 | 2015-08-12 | 中国能源建设集团广东省电力设计研究院有限公司 | 支持极限网络环境的移动作业系统工作平台 |
US8804177B2 (en) * | 2012-12-12 | 2014-08-12 | Ricoh Company, Ltd | Validation of branching print workflows |
US9357018B2 (en) * | 2013-01-23 | 2016-05-31 | Oracle International Corporation | Service bus workflow templates |
JP6064734B2 (ja) * | 2013-03-27 | 2017-01-25 | 富士通株式会社 | ワークフロー制御プログラム、装置および方法 |
US9396031B2 (en) * | 2013-09-27 | 2016-07-19 | International Business Machines Corporation | Distributed UIMA cluster computing (DUCC) facility |
US9684549B1 (en) * | 2013-12-30 | 2017-06-20 | Resources Connection, Inc. | Event management architecture |
JP6234233B2 (ja) * | 2014-01-10 | 2017-11-22 | キヤノン株式会社 | 情報処理装置、情報処理方法、およびプログラム |
US9542137B2 (en) | 2014-01-14 | 2017-01-10 | Xerox Corporation | Image shift template |
US9904493B2 (en) | 2014-05-01 | 2018-02-27 | Xerox Corporation | Automatic access to high-level explanations of scheduling conflicts in print engine schedules |
US20160063422A1 (en) * | 2014-08-27 | 2016-03-03 | International Business Machines Corporation | Business process model synchronization |
US10331416B2 (en) | 2016-04-28 | 2019-06-25 | Microsoft Technology Licensing, Llc | Application with embedded workflow designer |
CN107730077A (zh) * | 2017-09-13 | 2018-02-23 | 平安科技(深圳)有限公司 | 节点任务数据显示方法、装置、存储介质和计算机设备 |
PL3557351T3 (pl) * | 2018-04-20 | 2021-06-14 | Rittal Gmbh & Co. Kg | System i sposób montażu wyposażenia modułowej szafy rozdzielczej |
CN110427218A (zh) * | 2018-05-01 | 2019-11-08 | 富士施乐株式会社 | 信息处理装置和非暂时性计算机可读介质 |
CN110609707B (zh) * | 2018-06-14 | 2021-11-02 | 北京嘀嘀无限科技发展有限公司 | 在线数据处理系统生成方法、装置及设备 |
US11281364B2 (en) * | 2018-12-20 | 2022-03-22 | Citrix Systems, Inc. | Flowchart-style diagramming tool to build automated workflows |
JP7372746B2 (ja) * | 2019-02-20 | 2023-11-01 | Dgshape株式会社 | デンタル加工機の操作装置およびデンタル加工機の操作システム |
EP3944102A1 (en) * | 2020-07-22 | 2022-01-26 | Accenture Global Solutions Limited | Data processing management system and method |
CN112882810B (zh) * | 2021-02-25 | 2023-02-07 | 国家超级计算天津中心 | 基于超级计算机的高通量任务处理方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07334572A (ja) * | 1994-06-06 | 1995-12-22 | Fuji Xerox Co Ltd | 情報処理システム |
JP2002063323A (ja) * | 2000-06-05 | 2002-02-28 | Fuji Xerox Co Ltd | 業務プロセス設計支援システム、活動支援システム及び業務プロセス総合支援システム |
JP2005531062A (ja) * | 2002-06-21 | 2005-10-13 | シーベル システムズ,インコーポレイティド | タスクベースのユーザー・インターフェイス |
JP2005339515A (ja) * | 2004-04-28 | 2005-12-08 | Canon Inc | 印刷スケジュール制御装置及び印刷スケジュール制御方法並びにプログラム |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5659795A (en) | 1995-01-26 | 1997-08-19 | International Business Machines Corporation | System and method for controlling computer output devices by utilizing both their static and dynamic attributes |
US6225998B1 (en) * | 1997-12-02 | 2001-05-01 | Aspect Communications | Visual design of workflows for transaction processing |
US6078982A (en) | 1998-03-24 | 2000-06-20 | Hewlett-Packard Company | Pre-locking scheme for allowing consistent and concurrent workflow process execution in a workflow management system |
JPH11306244A (ja) * | 1998-04-16 | 1999-11-05 | Hitachi Ltd | ワーク管理システム |
US6970844B1 (en) | 1999-08-27 | 2005-11-29 | Computer Sciences Corporation | Flow designer for establishing and maintaining assignment and strategy process maps |
US6742015B1 (en) | 1999-08-31 | 2004-05-25 | Accenture Llp | Base services patterns in a netcentric environment |
US7221377B1 (en) | 2000-04-24 | 2007-05-22 | Aspect Communications | Apparatus and method for collecting and displaying information in a workflow system |
US6975595B2 (en) | 2001-04-24 | 2005-12-13 | Atttania Ltd. | Method and apparatus for monitoring and logging the operation of a distributed processing system |
US20020178254A1 (en) * | 2001-05-23 | 2002-11-28 | International Business Machines Corporation | Dynamic deployment of services in a computing network |
US7331052B2 (en) | 2002-10-15 | 2008-02-12 | Sharp Laboratories Of America, Inc. | Systems and methods for providing a universal print assist |
US7103230B1 (en) * | 2002-11-15 | 2006-09-05 | Hewlett-Packard Development Company, L.P. | Embedding editing commands in digital images |
US7924447B2 (en) | 2003-01-15 | 2011-04-12 | Xerox Corporation | Method and system for workload balancing |
US7302450B2 (en) | 2003-10-02 | 2007-11-27 | International Business Machines Corporation | Workload scheduler with resource optimization factoring |
US20050225789A1 (en) | 2003-12-09 | 2005-10-13 | Sharp Laboratories Of America, Inc. | Print subsystem despooling backplane |
JP2005322187A (ja) * | 2004-05-08 | 2005-11-17 | Takatoshi Yanase | データベース管理システムを使ったワークフローシステム。 |
-
2006
- 2006-04-07 US US11/279,052 patent/US8284423B2/en not_active Expired - Fee Related
-
2007
- 2007-03-27 JP JP2009503531A patent/JP2009532791A/ja active Pending
- 2007-03-27 WO PCT/EP2007/052896 patent/WO2007115927A2/en active Application Filing
- 2007-03-27 CN CNA2007800111869A patent/CN101410863A/zh active Pending
- 2007-03-27 EP EP07727369A patent/EP2008229A2/en not_active Withdrawn
- 2007-04-03 TW TW096111854A patent/TW200813867A/zh unknown
-
2012
- 2012-08-21 US US13/590,416 patent/US20120314256A1/en not_active Abandoned
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07334572A (ja) * | 1994-06-06 | 1995-12-22 | Fuji Xerox Co Ltd | 情報処理システム |
JP2002063323A (ja) * | 2000-06-05 | 2002-02-28 | Fuji Xerox Co Ltd | 業務プロセス設計支援システム、活動支援システム及び業務プロセス総合支援システム |
JP2005531062A (ja) * | 2002-06-21 | 2005-10-13 | シーベル システムズ,インコーポレイティド | タスクベースのユーザー・インターフェイス |
JP2005339515A (ja) * | 2004-04-28 | 2005-12-08 | Canon Inc | 印刷スケジュール制御装置及び印刷スケジュール制御方法並びにプログラム |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011145789A (ja) * | 2010-01-13 | 2011-07-28 | Hitachi Solutions Ltd | タスク登録支援手段を有するタスク管理システム |
JP2013530464A (ja) * | 2010-06-04 | 2013-07-25 | エムシーエル システムズ リミテド | 統合ワークフロー及びデータベーストランザクション |
KR101907701B1 (ko) * | 2010-06-04 | 2018-12-07 | 엠시엘 시스템즈 리미티드 | 통합된 워크플로우와 데이터베이스 트랜잭션 |
JP2020091714A (ja) * | 2018-12-06 | 2020-06-11 | 富士ゼロックス株式会社 | 文書処理装置、文書処理サービス提供システム及びプログラム |
JP7275551B2 (ja) | 2018-12-06 | 2023-05-18 | 富士フイルムビジネスイノベーション株式会社 | 文書処理装置、文書処理サービス提供システム及びプログラム |
Also Published As
Publication number | Publication date |
---|---|
US20120314256A1 (en) | 2012-12-13 |
WO2007115927A3 (en) | 2007-11-29 |
CN101410863A (zh) | 2009-04-15 |
TW200813867A (en) | 2008-03-16 |
EP2008229A2 (en) | 2008-12-31 |
WO2007115927A2 (en) | 2007-10-18 |
US20070236708A1 (en) | 2007-10-11 |
US8284423B2 (en) | 2012-10-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2009532791A (ja) | 顧客が設定可能なワークフローシステム | |
US10565223B2 (en) | Integrated workflow and database transactions | |
US7725441B2 (en) | Methods, systems, and computer program products for disaster recovery planning | |
US8249911B2 (en) | Workflow system, information processor, and method and program for workflow management | |
EP1225508A1 (en) | A universal software application | |
US6832201B1 (en) | Method and system for optimizing request shipping in workflow management systems | |
EP0854431A2 (en) | Events as activities in process models of workflow management systems | |
KR20060092816A (ko) | 협력 애플리케이션에서의 워크플로우 연관화 | |
US20080270477A1 (en) | Workflow method, system, and data structure | |
US9513874B2 (en) | Enterprise computing platform with support for editing documents via logical views | |
CN100483339C (zh) | 连接实体与外貌特征模式中通用功能的系统与方法 | |
JP2002334194A (ja) | ワークフロー管理システムにおいて選択的コマンド制御を提供する方法、システム、プログラム | |
JP2006146679A (ja) | 情報処理装置の制御方法、情報処理装置、及びプログラム | |
EP0774725A2 (en) | Method and apparatus for distributing conditional work flow processes among a plurality of users | |
JP2008226157A (ja) | ワークフロー管理システム | |
JP2000268084A (ja) | 統合業務パッケージソフト導入計画立案支援システム | |
Eder et al. | Workflow Management and Databases | |
CA3224562A1 (en) | Multilayered generation and processing of computer instructions | |
JP2005174256A (ja) | ファイル検索装置およびファイル検索プログラム | |
JP2001184200A (ja) | アプリケーションフレームワーク生成方法および装置およびアプリケーションフレームワーク生成プログラムを記録したコンピュータ読み取り可能な記録媒体 | |
JP2017215762A (ja) | ソフトウェアのビルドシステム及びソフトウェアのビルド方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A625 | Written request for application examination (by other person) |
Free format text: JAPANESE INTERMEDIATE CODE: A625 Effective date: 20100316 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100412 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120724 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20121218 |