(57)【要約】【課題】既存のワークフローシステムが持つ拡張性を損なうことなく、正常なワークフローの容易な作成手段をユーザに提供することを目的とする。【解決手段】接続された機器より、機器の機能に係る能力データを取得する能力データ取得手段と、能力データ取得手段で取得された能力データに基づいて、機器が複数の機能を有していると判断した場合、能力データ取得手段で取得された能力データから複数の処理に係る個々の処理の情報を分割して、個々の処理を用いてワークフローを生成可能とする。【選択図】図２５
2010009243.tif 000002
【特許請求の範囲】
【請求項１】
接続された機器より、前記機器の機能に係る能力データを取得する能力データ取得手段と、
前記能力データ取得手段で取得された前記能力データに基づいて、前記機器が複数の機能を有していると判断した場合、前記能力データ取得手段で取得された前記能力データから前記複数の処理に係る個々の処理の情報を分割するとともに、前記能力データから前記分割された個々の処理の情報に対応する設定パラメータを取得し、前記個々の処理の情報と、前記個々の処理の情報に対応する設定パラメータと、を関連付けた能力データを生成する分割手段と、
前記分割手段で生成された能力データを用いて印刷に関するワークフローを生成するための画面を表示装置に表示する表示制御手段と、
前記画面を介したユーザ操作に基づいて、前記ワークフローの定義情報を作成する作成手段と、
を有することを特徴とする情報処理装置。
【請求項２】
前記分割手段は、
前記能力データ取得手段で取得された前記能力データに基づいて、前記機器が複数の機能を有していると判断した場合、前記能力データ取得手段で取得された能力データから前記複数の処理の情報を含む一覧情報を取得する一覧情報取得手段と、
前記一覧情報取得手段で取得された前記一覧情報から個々の処理の情報を分割する情報分割手段と、
前記能力データ取得手段で取得された能力データから前記分割手段で分割された個々の処理の情報に対応する設定パラメータを取得する設定パラメータ取得手段と、
前記分割手段で分割された個々の処理の情報と、前記設定パラメータ取得手段で取得された前記個々の処理の情報に対応する設定パラメータと、を関連付けた能力データを生成する生成手段と、
を有することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記分割手段は、前記能力データ取得手段で取得された前記能力データに基づいて、前記機器が複数の機能を有していると判断した場合、前記能力データ取得手段で取得された能力データから前記複数の処理に係る個々の処理の有効な組合せ情報を取得し、取得した前記組合せ情報に基づいて、前記個々の処理の情報と、前記個々の処理の情報に対応する設定パラメータと、を関連付けた能力データ、及び、前記能力データを組合せた組合せ能力データを生成し、
前記表示制御手段は、前記分割手段で生成された能力データに係るオブジェクト及び組合せ能力データに係るオブジェクトを生成し、前記表示装置に表示することを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記個々の処理の情報に対応する設定パラメータに基づいて、前記設定パラメータに対応する処理が省略可能な処理か否かを判定する判定手段と、
前記判定手段で省略不可能な処理であると判定された処理と、前記判定手段で省略可能であると判定された処理と、の組合せ情報を作成する組合せ情報作成手段と、
を更に有し、
前記分割手段は、前記組合せ情報作成手段で作成された前記組合せ情報に基づいて、前記個々の処理の情報と、前記個々の処理の情報に対応する設定パラメータと、を関連付けた能力データ、及び、前記個々の処理の情報と、前記個々の処理の情報に対応する設定パラメータと、を関連付けた能力データを組合せた組合せ能力データを生成し、
前記表示制御手段は、前記分割手段で生成された能力データに係るオブジェクト及び前記分割手段で生成された組合せ能力データに係るオブジェクトを生成し、前記表示装置に表示することを特徴とする請求項１に記載の情報処理装置。
【請求項５】
前記作成手段で作成された前記定義情報に基づいて、ワークフローの上流の処理を実行する機器に前記ワークフローの下流の処理を実行する機能が存在するか否かを判定する重複機能判定手段と、
前記重複機能判定手段でワークフローの上流の処理を実行する機器に前記ワークフローの下流の処理を実行する機能が存在すると判定された場合、前記下流の処理を実行する機器に関する設定を無効とする無効化手段と、
を更に有することを特徴とする請求項１乃至４の何れか１項に記載の情報処理装置。
【請求項６】
前記表示制御手段は、同一のデバイスに係る能力データに係るオブジェクトをグループ化して前記画面を生成し、表示装置に表示することを特徴とする請求項１乃至５の何れか１項に記載の情報処理装置。
【請求項７】
前記表示制御手段は、同一の能力に関する能力データに係るオブジェクトをグループ化して前記画面を生成し、表示装置に表示することを特徴とする請求項１乃至５の何れか１項に記載の情報処理装置。
【請求項８】
情報処理装置における情報処理方法であって、
接続された機器より、前記機器の機能に係る能力データを取得する能力データ取得ステップと、
前記能力データ取得ステップで取得された前記能力データに基づいて、前記機器が複数の機能を有しているか否かを判定する判定ステップと、
前記判定ステップで前記機器が複数の機能を有していると判定された場合、前記能力データ取得ステップで取得された前記能力データから前記複数の処理に係る個々の処理の情報を分割するとともに、前記能力データから前記分割された個々の処理の情報に対応する設定パラメータを取得し、前記個々の処理の情報と、前記個々の処理の情報に対応する設定パラメータと、を関連付けた能力データを生成する分割ステップと、
前記分割ステップで生成された能力データを用いて印刷に関するワークフローを生成するための画面を表示装置に表示する表示ステップと、
前記画面を介したユーザ操作に基づいて、前記ワークフローの定義情報を作成する作成ステップと、
を有することを特徴とする情報処理方法。
【請求項９】
コンピュータを、
接続された機器より、前記機器の機能に係る能力データを取得する能力データ取得手段と、
前記能力データ取得手段で取得された前記能力データに基づいて、前記機器が複数の機能を有していると判断した場合、前記能力データ取得手段で取得された前記能力データから前記複数の処理に係る個々の処理の情報を分割するとともに、前記能力データから前記分割された個々の処理の情報に対応する設定パラメータを取得し、前記個々の処理の情報と、前記個々の処理の情報に対応する設定パラメータと、を関連付けた能力データを生成する分割手段と、
前記分割手段で生成された能力データを用いて印刷に関するワークフローを生成するための画面を表示装置に表示する表示制御手段と、
前記画面を介したユーザ操作に基づいて、前記ワークフローの定義情報を作成する作成手段と、
して機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法及びプログラムに関する。
【背景技術】
【０００２】
商業印刷の業界では高い付加価値をもった小ロットジョブの受注及び短納期化の動きが活発である。このため、従来利用してきたオフセット印刷機及び後処理機に加えて、プリントオンデマンド（以後、ＰＯＤという）機の導入を積極的に進めている。
また、商業印刷の業界では印刷製本に必要なシステムやデバイスの処理手順及び処理の制御を行うワークフローシステムが用いられている。このワークフローシステムは様々なシステムやデバイスと組合せられるようにプラグイン構造になっている。
【０００３】
そして、ユーザは、このワークフローシステムを操作することにより、ワークフローシステムに接続されているシステムやデバイスを使用する印刷ワークフローを定義することができる。また、ユーザは、定義したワークフローの各処理に対応して、それぞれ詳細な設定を行うことができる。各詳細設定は処理に対応するシステムやデバイスへの指示としてジョブチケットに変換されてシステムやデバイスに送られる。
【０００４】
このような構造が可能となっている技術的な背景として、デバイスやシステムを制御するジョブチケット（標準化された仕様であるＪＤＦ）がワークフローを表現するフォーマット構造となっていることが挙げられる。
ＪＤＦジョブチケットでは、ワークフローを構成する各処理に対応する記述部分が、処理単位に分かれており、それぞれ独立したパラメータ群を記述できるようになっている。
複数の処理をＪＤＦジョブチケット中に記述することにより、印刷ワークフロー全体を表現することができる。
【０００５】
ＭＦＰのようなデジタル印刷機では、一つのデバイス内に複数の機能を持っている。例えば、ステープルのインラインフィニッシャが装着されている場合、デジタル印刷機は印刷機能とステープル機能とを持つことになる。
このような場合、ＪＤＦジョブチケットにおいては、一つの処理で複数の機能を持つものとして、同様の記述をする。
【０００６】
ＪＤＦジョブチケットを生成するワークフローシステムは、プラグイン単位でデバイス或いはシステムの処理の種類及び設定可能なパラメータ群をＪＤＦの形式にて能力データとして取得する。これにより、ワークフローシステムは、設定パラメータを入力するユーザインタフェース画面を表示することができる。また、このユーザインタフェース画面及び能力データより、ワークフローシステムは、生成することできるＪＤＦが分かり、処理の種類によらず任意のワークフローを作成するための拡張が可能となっている。
【０００７】
ところで、このような拡張性がある一方で、ワークフローシステムにおける各処理工程に適した制御パラメータの設定は複雑で、高いスキルを要する。このため、製版処理用のワークフローシステムの各処理工程に適した制御パラメータを容易に設定できる技術が存在する。
特許文献１の技術では、アシスト設定画面に、特定の印刷物の製版処理のためのワークフローが表示され、また、このワークフローに関連するキーワードの入力をユーザに許容するメニューやフィールドが表示される。ユーザがキーワードを設定すると、これに応じてワークフローの複数の処理工程に適した制御パラメータが決定される。
【０００８】
【特許文献１】特開２００３−２７６１５０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
従来のオフセット印刷で用いられるワークフローシステムに複数の機能（印刷、ステープル、パンチ等）を一台で持つＰＯＤ機を組み込んでニアラインフィニッシャと組合せたワークフローを作ると、同じ機能が重複する。
ここで、重複した機能の両者が有効となっている場合、異常なワークフローとなってしまい、ユーザが所望とする印刷物をできない課題があった。
上述した特許文献１では、ユーザのキーワード入力に対応して適切なパラメータの設定を行う。このため、ワークフローを構成する各処理の内容に依存した実装となる。
しかし、ワークフローシステムへＰＯＤ機を容易に接続可能であるのは、その柔軟な拡張性によるものである。
【００１０】
本発明はこのような問題点に鑑みなされたもので、既存のワークフローシステムが持つ拡張性を損なうことなく、正常なワークフローの容易な作成手段をユーザに提供することを目的とする。
【課題を解決するための手段】
【００１１】
そこで、本発明の情報処理装置は、接続された機器より、前記機器の機能に係る能力データを取得する能力データ取得手段と、前記能力データ取得手段で取得された前記能力データに基づいて、前記機器が複数の機能を有していると判断した場合、前記能力データ取得手段で取得された前記能力データから前記複数の処理に係る個々の処理の情報を分割するとともに、前記能力データから前記分割された個々の処理の情報に対応する設定パラメータを取得し、前記個々の処理の情報と、前記個々の処理の情報に対応する設定パラメータと、を関連付けた能力データを生成する分割手段と、前記分割手段で生成された能力データを用いて印刷に関するワークフローを生成するための画面を表示装置に表示する表示制御手段と、前記画面を介したユーザ操作に基づいて、前記ワークフローの定義情報を作成する作成手段と、を有することを特徴とする。
【発明の効果】
【００１２】
本発明によれば、既存のワークフローシステムが持つ拡張性を損なうことなく、正常なワークフローの容易な作成手段をユーザに提供することができる。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の実施形態について図面に基づいて説明する。
【００１４】
＜実施形態１＞
［印刷製本システム全体の構成］
図１は、ワークフローシステム及び接続システム或いは接続デバイスを含む印刷製本システム全体の一例を示す図である。
ワークフローシステム１は、面付けシステム２と、プルーファ３と、ＣＴＰ（Ｃｏｍｐｕｔｅｒ  Ｔｏ  Ｐｌａｔｅ）４と、オフセットプレスコントローラ５と、デジタルプレスコントローラ６と、ニアラインフィニッシャ７と、に接続されている。ここで、オフセットプレスコントローラ５は、オフセット印刷機の制御を行う。ワークフローシステム１は、２〜７のシステム及びデバイスを組合せて構成される印刷製本のワークフローの作成、編集及び作成したワークフローの実行制御を行う。
図１に示されるように、ワークフローシステム１は、従来の版を作成する印刷システム及びＰＯＤ機を組合せた混在ワークフローを構成することができる。
なお、ワークフローシステム１に接続されるシステムやデバイスを機器ともいう。
【００１５】
［ワークフローシステム全体の機能構成］
図２は、ワークフローシステムの機能構成等の一例を示す図である。
図２において、１０は、ワークフローシステムに接続されたシステムである。１１は、ワークフローシステムに接続されたデバイスである。１２は、ワークフローシステムに接続された別のデバイスである。１３は、ワークフローシステム１を操作するとき等にユーザが使用する、又はワークフローシステム１が画面等を表示する表示装置である。１４は、ワークフローシステム１を操作するとき等にユーザが使用する入力装置である。
【００１６】
１５は、システム１０をワークフローシステム１へ接続するための接続部である。１６は、デバイス１１を接続するための接続部である。１７は、デバイス１２を接続するための接続部である。１８は、接続部１５における能力取得部である。１９は、接続部１５におけるジョブチケット送信部である。２０は、接続部１６における能力取得部である。２１は、接続部１６におけるジョブチケット送信部である。
【００１７】
２２は、処理一覧取得部である。２３は、処理単位分解部である。２４は、パラメータ取得部である。２５は、ＵＩ生成部である。２６は、ジョブチケット生成部である。２７は、処理単位記憶部である。２８は、ワークフロー編集部（ＷＦ編集部）である。２９は、詳細設定編集部である。３０は、ワークフロー実行部（ＷＦ実行部）である。３１は、ジョブチケット（ＪｏｂＴｉｃｋｅｔ）記憶部である。
なお、表示装置１３は、後述する図２６のディスプレイ等に対応する。また、入力装置１４は、後述する図２６のキーボード及びマウス等に対応する。
【００１８】
また、１０、１１、１２のシステム及びデバイスは、図１における２から７の各種システム或いはデバイスに対応する。なお、接続されるデバイス数は任意である。システム或いはデバイスは、対応する接続部によってワークフローシステム１へ接続される。図２において、全ての接続部は能力取得部とジョブチケット送信部とを持つ。
ワークフローシステム１にシステム１０が接続されると、能力取得部１８がシステム１０の能力データを取得する。この能力データによって、ワークフローシステム１は、システム１０用にどのようなジョブチケットを記述すればよいか、ジョブチケット中にどのような値を記述することができるのか、等の情報を知ることができる。
【００１９】
次に、処理一覧取得部２２は、取得したシステム１０の能力データを解析することによって、システム１０において動作可能な処理の一覧（一覧情報）を取得する（一覧情報取得）。システム１０が持つ機能が一つの場合には、ここで取得できる処理一覧も一つの処理のみとなる。システム１０が複数の機能を併せ持っている場合には、処理一覧取得部２２は、その複数の機能に対応する処理一覧を取得する。
次に、処理単位分解部２３は、取得した処理一覧に列挙されている個々の処理を単位として、システム１０の能力データを分解（分割）する（情報分割）。この際、パラメータ取得部２４は、個々の処理単位に対応するジョブチケットに係る設定パラメータをシステム１０の能力データから取得する。そして、処理単位記憶部２７が、処理単位の情報と対応する設定パラメータの情報とを関連付けて能力データとして図２６のＨＤＤ又はキャッシュメモリ等に記憶する。
【００２０】
一方、ＵＩ生成部２５は、処理単位記憶部２７によって保存されている能力データ等に基づいて、ＵＩ画面（ワークフロー編集画面）を生成する。
ユーザは、表示装置１３に表示されたＵＩ画面を介してワークフローの定義情報の作成、編集、実行を行う。この際、ワークフロー編集部２８は、ＵＩ画面等を介したユーザ操作に従って、処理単位記憶部２７によってＨＤＤ又はキャッシュメモリ等に保存されている能力データ等を用いて、印刷製本のワークフローの定義情報を作成、編集、実行する。また、詳細設定編集部２９は、ＵＩ画面等を介したユーザ操作に従って、ワークフロー編集部２８で編集されているワークフローの各処理に対応するパラメータの詳細（値）を設定（又は変更）する。
【００２１】
ジョブチケット生成部２６は、ワークフローの定義情報及びパラメータの詳細設定を基にジョブチケットを作成する。生成されたジョブチケットは、ワークフロー実行部３０によって読み込まれ、ワークフローで使用する各システム或いはデバイスを制御するために使用される。ワークフロー実行部３０は、ジョブチケット記憶部３１を介して、ジョブチケットを一旦、ＨＤＤ又はキャッシュメモリ等に保存する。そして、ワークフロー実行部３０は、各システム或いはデバイスの接続部におけるジョブチケット送信部を経由して、ジョブチケットを送信し、ジョブチケットによるワークフローを実行する。
【００２２】
［ワークフローシステムのＵＩ例］
図３は、ワークフロー編集画面の一例を示す図（その１）である。
図３は表示装置１３に表示され、入力装置１４を用いて操作される。
図３の１００は、ワークフロー編集画面全体を示す。１１３は、メニュー操作部である。ワークフロー編集画面１００の左側の領域はワークフローを構成する処理の選択候補を示す領域である。図３においては、１０１から１０５までの処理を示すアイコン（オブジェクト）が、表示されている。右側の領域にはワークフローを作成、編集するために各処理を示すアイコンが配置される。図３では１０６から１０９までのアイコンが配置されている。１１０は、左側の表示領域を上下方向に移動させるスクロールバーである。１１１は、右側の表示領域を左右方向に移動させるスクロールバーである。１１２は、右側の表示領域を上下方向に移動させるスクロールバーである。
【００２３】
左側の領域において、１０１は、「Ｓｙｓ  Ｘ」というシステムの面付け処理を示すアイコンである。１０２は、「Ｄｅｖ  Ａ」というＣＴＰデバイスを示すアイコンである。１０３は、「Ｄｅｖ  Ｂ」というデバイスの印刷処理を示すアイコンである。１０４は、「Ｄｅｖ  Ｃ」というデバイスの綴じ処理を示すアイコンである。１０５は、「Ｄｅｖ  Ｄ」というデバイスの折り処理を示すアイコンである。
【００２４】
右側の領域において、１０６は、左の領域の１０１をユーザが選択して配置したワークフロー中の処理（処理を示すアイコン）である。本実施形態におけるワークフローシステム１では、ユーザが、ポインティングデバイス等を用いて、クリック或いはドラッグ操作を行うことによって、任意の位置にアイコンが配置される。アイコン１０７から１０９も同様に配置され、ユーザは、これら４つの処理の連携を指定するために各処理間をリンク（矢印）でつなぐことができる。
【００２５】
図３に示す画面例においては、「Ｓｙｓ  Ｘ」が面付け処理を行った後、そのデータを「Ｄｅｖ  Ａ」のＣＴＰへ送ってプレート（版）が作成される。更にそのプレートを利用して「Ｄｅｖ  Ｂ」が印刷処理を行い、最後に「Ｄｅｖ  Ｃ」が綴じの処理を行うというワークフローが定義されている。
図３の左側の領域には、図３において見えている部分以外にも選択可能な処理が列挙されている。
ユーザは、図３に示す画面にて処理の配置と処理間の連携とを入力することにより、ワークフローを定義する（ワークフローの定義情報を作成する）ことができる。
【００２６】
次に、定義したワークフローにおける各処理の詳細設定の操作について説明する。
図４は、図３に示す状態から、ユーザが綴じ処理（綴じ）１０９を選択した状態の一例を示す図である。
本実施形態においては、ユーザは、右側の領域に配置されているワークフローの各処理を選択して、処理メニューを表示することにより処理単位の編集操作を行う。
図４において、１２０は、綴じ処理１０９を選択することによって表示された編集操作メニューである。１２１は、メニュー１２０の中の詳細設定機能を示すメニューボタンである。１２２は、メニュー１２０の中の処理削除機能を示すメニューボタンである。
図４に示す詳細設定メニューボタン１２１を選択することにより、綴じ処理１０９の詳細設定を編集できる。
また、メニューボタン１２２を選択することにより、綴じ処理１０９を削除することもできる。
【００２７】
図５は、図４においてユーザが詳細設定メニューボタン１２１を選択することで表示される、綴じ処理の詳細設定画面の一例を示す図である。
図５において、２００は、デバイス「Ｄｅｖ  Ｃ」における綴じ処理の詳細設定全体を示している。
２０１は、綴じる位置の選択領域である。ユーザは、複数の選択肢から綴じ位置を選択できる。２０２は、用紙サイズの選択領域である。ユーザは、複数の選択肢から用紙サイズを選択できる。
【００２８】
２０３は、設定を確定させるＯＫボタンである。２０４は、詳細設定の入力内容を破棄するＣＡＮＣＥＬボタンである。ユーザは、ＯＫボタン２０３を押下することにより、綴じ処理１０９に対する詳細設定を反映させる。
図５に示す画面で綴じ処理１０９の詳細設定を行うのと同様に、ユーザは、他の処理についても詳細設定を行うことにより、作成したワークフロー全ての設定（パラメータの詳細設定）を行う。
次に作成したワークフローと設定とに従って、印刷・製本ジョブを実行させる画面について説明する。
【００２９】
図６は、ジョブの実行を指示する操作画面の一例を示す図である。図６は、図３から図５までで説明したワークフロー例に対応するものであり、作成したワークフローに従って印刷・製本ジョブを実行する画面の一例を示している。
図６では、ユーザがメニュー１１３の中の「Ｊｏｂ」メニューを選択して、メニュー画面１３０を開いている状態を表している。１３１は、ジョブメニュー１３０の中のジョブ実行のメニューボタンであり、１３２は、ジョブ中断のメニューボタンである。
ユーザはメニューボタン１３１を選択することにより、作成したワークフロー及び詳細設定に従ったジョブの実行を指示できる。同じく１３２を選択することにより、実行中のジョブの中断を指示できる。
【００３０】
図３では、それぞれが単機能を持つデバイスやシステムを組合せたワークフローを編集する例を示している。次に、一つで複数の機能を持つデバイスやシステムを利用した場合の画面例を示す。
図７は、ワークフロー編集画面の一例を示す図（その２）である。図７は、図３とは別の処理の選択候補が表示されている。なお、図３と同じものを示す場合には、図７においても同じ番号を付してある。
１４０は、デバイス「Ｄｅｖ  Ｅ」の印刷処理を示すアイコンである。１４１は、デバイス「Ｄｅｖ  Ｅ」の綴じ処理を示すアイコンである。１４２は、デバイス「Ｄｅｖ  Ｅ」の穴あけ処理を示すアイコンである。図７に示されるように、デバイス「Ｄｅｖ  Ｅ」は、印刷機能に加えて、綴じ、パンチ（穴あけ）の機能を持っている。
【００３１】
ワークフローシステム１は、デバイス「Ｄｅｖ  Ｅ」のようにデバイスが複数の機能を持っている場合、それら個々の機能を独立した処理として扱う。そして、ワークフローシステム１は、それらの独立した処理を組合せてワークフローを生成する。図７の右側の領域では一つのデバイスが持つ個々の機能を独立して組合せたワークフローの例が表示されている。１４５から１４７は、右側のアイコン１０１、１４０、１０４をユーザが選択して配置した処理である。ワークフローシステム１は、これらを組合せることにより、デバイス「Ｄｅｖ  Ｅ」の印刷機能のみを使用し、他のシステムやデバイスと組合せたワークフローを作成している。また、図７の例において、ユーザは、デバイス「Ｄｅｖ  Ｅ」の綴じ機能ではなく、デバイス「Ｄｅｖ  Ｃ」の綴じ機能を選択している。このように、本願は、デバイスが備える複数の機能を個々の機能に分けて選択できるように表示制御することを可能とする。
【００３２】
図８は、図７においてユーザが処理１４６を選択することで表示される、詳細設定画面の一例を示す図である。
図８において、２１０は、デバイス「Ｄｅｖ  Ｅ」における印刷処理の詳細設定画面を示している。詳細設定画面２１０では、デバイス「Ｄｅｖ  Ｅ」の機能の詳細設定のうち、印刷処理に関するものだけが設定できる。
図８において、２１１は、濃度補正値の入力領域である。
２１２は、出力部数の入力領域である。
【００３３】
２１３は、両面印刷の選択領域である。図８の例では「ＴｗｏＳｉｄｅｄＦｌｉｐＸ」というＸ軸に沿ってめくる両面指定が選択されている。
２１４は、使用する用紙タイプの選択領域である。
２１５は、使用する用紙サイズの選択領域である。
【００３４】
更に別のワークフローの例を示す。
図９は、ワークフロー編集画面の一例を示す図（その３）である。図７がデバイス「Ｄｅｖ  Ｃ」の綴じ処理を使用していることに対して、図９はデバイス「Ｄｅｖ  Ｅ」の綴じ処理を使用している。つまり、「Ｄｅｖ  Ｅ」が印刷及び綴じ処理を行う。本実施形態において、同じデバイス内の複数の機能を利用する場合、ワークフローシステム１は、ワークフロー上に個々の機能を組合せて表示する。これにより、ワークフロー作成時にデバイス内のどの機能を利用するかが明確になる。
１５０〜１５２は、アイコン１０１、１４０、１４１が配置された結果である。
【００３５】
図１０は、図９においてユーザが処理１５２を選択することで表示される、詳細設定画面の一例を示す図である。
図１０の詳細設定画面２２０では、デバイス「Ｄｅｖ  Ｅ」の機能の詳細設定のうち、綴じ処理に関するものが設定できる。
図１０において、２２１は、綴じ機能のオン・オフの選択領域である。
２２２は、綴じ位置の選択領域である。
こうして、上記のように編集されたワークフローはジョブチケットの形式でワークフローシステム１に保存される。そしてジョブを実行する際には、各システム又はデバイスは、このジョブチケットに従って処理を実行する。
次に、ジョブチケットの内容について説明する。
【００３６】
［ジョブチケットの記述］
図１１は、ジョブチケット生成部２６にて生成されるジョブチケットの一例を示す図（その１）である。
図１１に示すジョブチケットは、図７に示すワークフローを示す。
本実施形態におけるデータフォーマットはＳＧＭＬやＸＭＬ等に代表されるマークアップ言語を利用したテキストドキュメントの形式をとっている。但し、本実施形態の説明に必要な部分のみの簡易的な表現を用いており、ＳＧＭＬやＸＭＬ等の仕様に厳密に従ったものではない。
【００３７】
図１１の１行目の＜ＪＤＦ＞はデータの記述の開始を意味し、これに対応する表現として４２行目の＜／ＪＤＦ＞はデータの記述の終了を意味する。以降同様に「＜」と「＞」に括られたキーワードの行と同じキーワードを「＜／」と「＞」で括ったキーワードの行の間の複数行でキーワードに対応する記述がなされるフォーマットとなっている。これをＪＤＦタグと呼ぶ。このフォーマット構造は入れ子になっており、図１１に示す最初のＪＤＦタグの中には更に３つのＪＤＦタグが存在する。
一つ目は２行目から９行目までである。二つ目は１０行目から１８行目までである。三つ目は１９行目から２７行目までである。これら３つのＪＤＦタグはワークフローを構成している処理に対応する。つまり、２行目から９行目までが図７の処理１４５に対応し、１０行目から１８行目までは処理１４６に対応し、１９行目から２７行目までは処理１４７に対応する。
【００３８】
更に２８行目から４１行目までにＲｅｓｏｕｒｃｅＰｏｏｌタグが存在する。
ＲｅｓｏｕｒｃｅＰｏｏｌタグの中には、個々の詳細設定の内容（設定パラメータの値）が含まれる。各詳細設定はＪＤＦタグの中からＩＤで参照され、関連付けられている。
処理１４５に対応する記述を例に説明する。
２行目において、「Ｔｙｐｅ＝"ＬａｙｏｕｔＰｒｅｐａｒａｔｉｏｎ"」の記述は、処理１４５が面付け処理であることを示している。また、「ＩＤ＝"ｉｄ００１"」の記述は処理１４５に対応する面付け処理の識別子が"ｉｄ００１"であることを示している。
【００３９】
次に３行目から８行目までにＲｅｓｏｕｒｃｅＬｉｎｋＰｏｏｌというタグが存在する。これは、ここに詳細設定への関連付け情報が含まれていることを意味する。
４行目はｉｄ００１の処理における最初の関連付け情報である。４行目において、ＤｅｖｉｃｅＬｉｎｋというタグはＤｅｖｉｃｅという情報への関連付けであることを示している。そして、「ｒＲｅｆ＝"ｄ００１"」の記述は、この関連付けが"ｄ００１"というＩＤを持つＤｅｖｉｃｅ情報を参照していることを示している。参照先は「ＩＤ＝"ｄ００１"」の記述のあるＤｅｖｉｃｅタグが記述されている２９行目である。２９行目には「ｎａｍｅ＝"Ｓｙｓ  Ｘ"」と記述されているため、ｉｄ００１の処理はデバイス「Ｓｙｓ  Ｘ」に対する指示により実行されることが分かる。
【００４０】
５行目のＲｕｎＬｉｓｔＬｉｎｋというタグも同様にＲｕｎＬｉｓｔという情報への関連付けである。そして、「ｒＲｅｆ＝"ｒ００１"」は３２行目を参照している。また、「Ｕｓａｇｅ＝"Ｉｎｐｕｔ"」の記述は、このＲｕｎＬｉｓｔという詳細設定情報がｉｄ００１の処理への入力情報であることを示している。
６行目についても５行目と同様である。
７行目では、「Ｕｓａｇｅ＝"Ｏｕｔｐｕｔ"」の記述になっている。これは、７行目のＲｕｎＬｉｓｔ詳細設定情報はｉｄ００１の処理の出力情報であることを示している。更に、７行目の参照するＲｕｎＬｉｓｔはｒ００３というＩＤの３４行目の記述を参照している。そして、ｉｄ００２の処理の中の１３行目も同じく３４行目を参照している。１３行目の記述は「Ｕｓａｇｅ＝"Ｉｎｐｕｔ"」となっている。つまり、ｉｄ００１の処理が出力したＲｕｎＬｉｓｔをｉｄ００２の処理が入力するという関係に成っている。この記述により、図７に示す処理１４５と処理１４６との関係が示される。これは処理１４６と処理１４７との関係についても同様である。
【００４１】
次に図８に示す詳細設定と図１１に示すジョブチケットとの関係について説明する。
図８に示す詳細設定画面で入力された内容は図１１に示すジョブチケットへ反映される。
図８の濃度補正２１１の設定内容は、図１１の３５行目における「ＤｅｎｓｉｔｙＡｄｊｕｓｔｍｅｎｔ＝"３"」の記述に対応する。
部数２１２の設定内容は、３５行目の「ＮｕｍｂｅｒＯｆＣｏｐｉｅｓ＝"４"」に対応する。
【００４２】
両面指定２１３の設定内容は、３５行目の「Ｓｉｄｅｓ＝"ＴｗｏＳｉｄｅｄＦｌｉｐＸ"」に対応する。
用紙タイプ２１４の設定内容は、３６行目の「Ｔｙｐｅ＝"Ｃｏａｔｅｄ３"」に対応する。
用紙サイズ２１５の設定内容は、３６行目の「Ｓｉｚｅ＝"Ａ４"」に対応する。
これらの詳細設定の記述は、全てｉｄ００２の処理の中から参照されているものである。例えば、３６行目と３９行目とは両方ともＭｅｄｉａタグを記述しているが、３９行目はＩＤがｒ０２２であり、この記述はｉｄ００３の処理から参照されるものである。
ワークフローを構成する各処理の詳細設定情報はこのようにして、ジョブチケット中に記述される。
【００４３】
ジョブチケット生成部２６で図１１に示すようなジョブチケットが生成されると、各処理単位に対応するデバイスやシステム宛に分解される。
次に各デバイス或いはシステム向けジョブチケットについて説明する。
ワークフロー実行部３０は、図１１に示すジョブチケットを図２の１０、１１、１２等で示す各デバイス或いはシステムへ振り分ける。
図１２、図１３、図１４は、図１１のジョブチケットが振り分けられた後のジョブチケットを示す図である。
図１２に示すジョブチケットは、図１１に示すジョブチケットにおける最初の処理（図７における処理１４５）に対応する。このジョブチケットにはシステム「Ｓｙｓ  Ｘ」において処理される内容の指示が記述されている。ワークフロー実行部３０は、図１１に示すジョブチケットより、図１２に示すジョブチケットを抽出してシステム「Ｓｙｓ  Ｘ」に送る。
【００４４】
図１１から図１２のジョブチケットを生成する処理について説明する。
図１２における２行目から９行目までは、図１１における２行目から９行目までに対応する。これらは、図１１に示すジョブチケットから図１２に示すジョブチケットへワークフロー実行部３０によってコピーされる。
図１２における１１行目は図１１における２９行目に対応する。これは、図１２における４行目で参照しているｄ００１というＩＤのＤｅｖｉｃｅエレメントの記述に対応する内容をワークフロー実行部３０が図１１に示すジョブチケットの記述からコピーする。
以下同様に、１２行目は３２行目に対応し、１３行目は３３行目に対応し、１４行目は３４行目に対応する。
図１２における、ＲｅｓｏｕｒｃｅＬｉｎｋＰｏｏｌエレメントやＲｅｓｏｕｒｃｅＰｏｏｌエレメント等のその他の部分の記述は、図１１におけるジョブチケットと同じである。
【００４５】
図１３に示すジョブチケットは、図１１に示すジョブチケットにおける二番目の処理（図７における処理１４６）に対応する。このジョブチケットにはデバイス「Ｄｅｖ  Ｅ」において処理される内容の指示が記述されている。図１３に示すジョブチケットは、図１２と同様にワークフロー実行部３０によって抽出され、デバイス「Ｄｅｖ  Ｅ」へ送られる。
図１１と図１３とに示すジョブチケットの対応は次に述べる通りである。
図１３における２行目から１０行目までは、図１１における１０行目から１８行目までに対応する。図１２の例と同様に図１１に示すジョブチケットからワークフロー実行部３０によってコピーされる。
図１３における１２行目は、図１１における３０行目に対応し、１３行目は３４行目に対応し、１４行目は３５行目に対応し、１５行目は３６行目に対応い、１６行目は３７行目に対応する。
【００４６】
図１４に示すジョブチケットは、図１１に示すジョブチケットにおける三番目の処理（図７における処理１４）に対応する。このジョブチケットにはデバイス「Ｄｅｖ  Ｃ」において処理される内容の指示が記述されている。図１４に示すジョブチケットは、図１２と同様にワークフロー実行部３０によって抽出され、デバイス「Ｄｅｖ  Ｃ」へ送られる。
図１１と図１４とに示すジョブチケットの対応は次に述べる通りである。
図１４における２行目から１０行目までは、図１１における１９行目から２７行目までに対応する。以下同様に、１２行目は３１行目に対応する。１３行目は３７行目に対応する。１４行目は３８行目に対応する。１５行目は３９行目に対応する。１６行目は４０行目に対応する。
【００４７】
次に図９に示す画面のワークフローに対応するジョブチケットの例を説明する。
図１５は、ジョブチケット生成部２６にて生成されるジョブチケットの一例を示す図（その２）である。
図１５に示すジョブチケットは、図９に示すワークフローの例に対応するジョブチケットである。図１５に示すジョブチケットは図１１に示すジョブチケットと同じフォーマット構造となっているため、図１１と異なる部分についてのみ説明する。
図９に示すワークフローにおいては、印刷処理、綴じ処理の両方を一つのデバイス「Ｄｅｖ  Ｅ」で行う。図１５に示すジョブチケットにおける綴じ処理、つまり１９行目から２６行目までの中で、処理するデバイスを指定する２１行目は印刷処理のデバイス指定である１２行目と同じ記述になっている。
【００４８】
次に図１０に示す詳細設定と図１５に示すジョブチケットの記述との関係について説明する。
図１０に示す詳細設定画面で入力された内容は図１５に示すジョブチケットへ反映される。
図１０における綴じ機能のオン・オフ２２１の設定内容は、図１５の３５行目における「ＮｏＯｐ＝"ｆａｌｓｅ"」に対応する。
綴じ位置２２２の設定内容は、３５行目の「ＳｔｉｔｃｈＰｏｓｉｔｉｏｎ＝"ＵｐｐｅｒＬｅｆｔＣｏｒｎｅｒ"」に対応する。
これらの詳細設定の記述は、全てｉｄ００３の処理の中から参照されているものである。
【００４９】
ワークフロー実行部３０は、図１５に示すジョブチケットを各デバイス或いはシステムへ振り分ける。
図１６、図１７は、図１５のジョブチケットが振り分けられた後のジョブチケットを示す図である。
図１６に示すジョブチケットは、図１５に示すジョブチケットにおける最初の処理（図９における処理１５０）に対応する。このジョブチケットにはシステム「Ｓｙｓ  Ｘ」において処理される内容の指示が記述されている。ワークフロー実行部３０は、図１５に示すジョブチケットより、図１６に示すジョブチケットを抽出してシステム「Ｓｙｓ  Ｘ」に送る。
【００５０】
図１５と図１６とに示すジョブチケットの対応は次に述べる通りである。
図１６における２行目から９行目までは、図１５における２行目から９行目までに対応する。これらは、ワークフロー実行部３０が図１５に示すジョブチケットから図１６に示すジョブチケットへコピーする。
図１６における１１行目は図１５における２８行目に対応する。これは、図１６行目における４行目で参照しているｄ００１というＩＤのＤｅｖｉｃｅエレメントの記述に対応する内容をワークフロー実行部３０が図１５に示すジョブチケットの記述からコピーする。
以下同様に、１２行目は３０行目に対応する。１３行目は３１行目に対応する。１４行目は３２行目に対応する。
【００５１】
図１７に示すジョブチケットは、図１５に示すジョブチケットにおける二番目及び三番目の処理に対応する。また、図１７に示すジョブチケットは、図９における処理１５１及び処理１５２に対応する。図１５に示すジョブチケットは、二番目及び三番目の処理において複数の連続する処理を一つのデバイス「Ｄｅｖ  Ｅ」において処理するよう記述されている。このため、ワークフロー実行部３０は「Ｄｅｖ  Ｅ」へ送るジョブチケットとして、これらを一つにまとめた形に抽出する。図１７に示すジョブチケットにはデバイス「Ｄｅｖ  Ｅ」において処理される内容の指示が記述されている。
【００５２】
図１５と図１７とに示すジョブチケットの対応は次に述べる通りである。
図１７における２行目から１１行目までは図１５における１０行目から２６行目をまとめた内容になっている。図１７の２行目における「Ｔｙｐｅｓ＝"ＤｉｇｉｔａｌＰｒｉｎｔｉｎｇ  Ｓｔｉｔｈｃｉｎｇ"」の記述は、図１５の１０行目及び１９行目に記述されている「Ｔｙｐｅｓ」の値を、その処理順にまとめたものである。
図１７における４行目は、図１５における１２行目及び２１行目に対応する。どちらもデバイス「Ｄｅｖ  Ｅ」への参照を指定する同じ内容であるため、ワークフロー実行部３０は、一つだけ図１７のジョブチケットへコピーする。
【００５３】
図１７における５行目は、図１５における１３行目に対応する。
図１７における６行目は、図１５における１４行目に対応する。
図１７における７行目は、図１５における１５行目に対応する。
図１７における８行目は、図１５における２３行目に対応する。
図１７における９行目は、図１５における２４行目に対応する。
図１５における１６行目及び２２行目は、印刷処理と綴じ処理との連携を示している。より具体的には、１６行目と２２行目は同じｒ０１５というＩＤの３６行目を参照している。また、１６行目は「Ｕｓａｇｅ＝"Ｏｕｔｐｕｔ"」であり、２２行目は「Ｕｓａｇｅ＝"Ｉｎｐｕｔ"」であることから、ワークフロー実行部３０は印刷処理と綴じ処理との関係を判断する。そして、これらは一つのデバイス「Ｄｅｖ  Ｅ」の中で処理されるため、図１７におけるジョブチケットの記述としては省略することができるようになっている。
図１７における１３行目は、図１５における２９行目に対応する。
以下同様に、１４行目は３２行目に対応する。１５行目は３３行目に対応する。１６行目は３４行目に対応する。１７行目は３５行目に対応する。１８行目は３７行目に対応する。
次にＵＩ及びジョブチケット記述の基になる能力データの記述について説明する。
【００５４】
［単機能システムのデバイス能力の記述］
次に、各システム或いはデバイスから取得する能力データについて説明する。
図１８は、能力取得部１８、２０が取得する能力データの一例を示す図（その１）である。
図１８に示す能力データは図７及び図９に示すワークフローの例における、アイコン１０１に対応する例である。また、図１１、図１２、図１５、図１６に示すジョブチケットに対応する例である。
本実施形態における能力データのフォーマットはジョブチケットと同じくマークアップ言語を利用した形式である。
【００５５】
ジョブチケット生成部２６は、ＵＩ生成部２５を経由して図１８に示す能力データから得られた情報を基に図１１及び図１５に示すジョブチケットを生成する。また、ワークフロー実行部３０は能力データから得られた情報を基に図１２及び図１６に示すジョブチケットを抽出する。
次に、能力データとジョブチケットとの対応を説明する。
図１８において、１行目の「Ｔｙｐｅｓ＝"ＬａｙｏｕｔＰｒｅｐａｒａｔｉｏｎ"」は、このデバイス（又はシステム）が、面付け処理を行うことを示している。この値はワークフロー編集画面における処理の種類を示すために使用される。また、この値は、例えば図１１における１行目の「Ｔｙｐｅ＝"ＬａｙｏｕｔＰｒｅｐａｒａｔｉｏｎ"」の記述を生成するために使用される。
【００５６】
同じく１行目の「ＤｅｖｉｃｅＮａｍｅ＝"Ｓｙｓ  Ｘ"」はこのデバイスの名称が「Ｓｙｓ  Ｘ」であることを示している。この値はワークフロー編集画面における処理の種類の中でデバイス名称を示すために使用される。また、この値は、例えば図１１における２９行目の「ｎａｍｅ＝"Ｓｙｓ  Ｘ"」の記述を生成するために使用される。
次に、図１８における２行目から４行目までの記述は、図１１における５行目及びそこから参照されている３２行目に対応する。まず、図１８における２行目の「Ｎａｍｅ＝"ＲｕｎＬｉｓｔ"」の記述は、図１１における５行目のＲｕｎＬｉｓｔＬｉｎｋエレメント及び３２行目のＲｕｎＬｉｓｔエレメントを生成するために使用される。図１１の５行目はＲｕｎＬｉｓｔという名前に"Ｌｉｎｋ"を付加したエレメント名になっている。
図１８における２行目の「ＬｉｎｋＵｓａｇｅ＝"Ｉｎｐｕｔ"」は、ジョブチケットを生成する際にこの情報が処理の入力情報であることを示している。そして、図１１における５行目の「Ｕｓａｇｅ＝"Ｉｎｐｕｔ"」の記述を生成するために使用される。
図１８における２行目の「ＴｙｐｅＩｎｄｅｘ＝"０"」については、後述する。
【００５７】
次に、図１８における３行目のＳｔｒｉｎｇＳｔａｔｅエレメントはこのエレメント以下で記述している設定情報が文字列型であることを示している。この情報は詳細設定ＵＩを表示する際に使用される。図１８の３行目における「Ｎａｍｅ＝"Ｆｉｌｅｎａｍｅ"」は、図１１における３２行目の「Ｆｉｌｅｎａｍｅ＝"ｉｎｐｕｔ．ｐｄｆ"」の記述に対応する。図１８の３行目における「ＡｌｌｏｗｅｄＲｅｇＥｘｐ＝"．＊"」は「Ｆｉｌｅｎａｍｅ」の設定値として有効な値（文字列）を正規表現で示している。この例では、任意の文字列を許している。
図１８における５行目から９行目までの記述は図１１における６行目のＬａｙｏｕｔＰｒｅｐａｒａｔｉｏｎＰａｒａｍｓＬｉｎｋエレメント及びそこから参照される３３行目のＬａｙｏｕｔＰｒｅｐａｒａｔｉｏｎＰａｒａｍｓエレメントのために使用される。
【００５８】
図１８の５行目の各記述の意味は２行目において説明した内容と同じである。
図１８における６行目のＸＹＰａｉｒＳｔａｔｅエレメントは、このエレメント以下で記述している設定情報がＸＹＰａｉｒ型、即ち二つの値の組であり、特に二次元ベクトル情報を示す値であることを示している。この型の値は空白で区切られた二つの数値からなる文字列で表される。図１８の６行目における「Ｎａｍｅ＝"ＮｕｍｂｅｒＵｐ"」は、図１１における３３行目の「ＮｕｍｂｅｒＵｐ＝"２  ２"」に対応する。図１８の６行目における「ＡｌｌｏｗｅｄＶａｌｕｅＬｉｓｔ＝"１  １  〜  ２  ２"」は「ＮｕｍｂｅｒＵｐ」の設定値として有効な値が"１  １"から"２  ２"の範囲であることを示している。つまり、"１  １"、"１  ２"、"２  １"、"２  ２"、のような値を設定することができる。
図１８における７行目のＮａｍｅＳｔａｔｅエレメントは、このエレメント以下で記述している設定情報がＮａｍｅ型であることを示している。図１８における７行目の「Ｎａｍｅ＝"Ｓｉｄｅｓ"」は、図１１における３３行目の「Ｓｉｄｅｓ＝"ＴｗｏＳｉｄｅｄＦｌｉｐＸ"」に対応する。図１８における７行目の「ＡｌｌｏｗｅｄＶａｌｕｅＬｉｓｔ」から始まる記述は列挙されている４つの値の何れかを「Ｓｉｄｅｓ」の値として選択できることを示している。
【００５９】
図１８における８行目の「Ｎａｍｅ＝"ＩｍａｇｅＳｈｉｆｔ"」は、図１１における３３行目の「ＩｍａｇｅＳｈｉｆｔ＝"１０  １２"」に対応する。ＸＹＰａｉｒ型における「ＡｌｌｏｗｅｄＶａｌｕｅＬｉｓｔ」の意味については、６行目の例にて説明した通りである。
図１８における１０行目の記述は、図１１における７行目のＲｕｎＬｉｓｔＬｉｎｋエレメント及びそこから参照されている３４行目のＲｕｎＬｉｓｔエレメントを生成するために使用される。図１８における１０行目の「ＬｉｎｋＵｓａｇｅ＝"Ｏｕｔｐｕｔ"」は、ジョブチケットを生成する際にこの情報が処理の出力情報であることを示している。そして、図１１における７行目の「Ｕｓａｇｅ＝"Ｏｕｔｐｕｔ"」の記述を生成するために使用される。このＲｕｎＬｉｓｔについては、設定パラメータが無いため、１０行目のみの記述となっている。
以上、面付け処理という単機能のシステム用の能力データについて説明した。
次に、更に、複数機能を持つデバイス用の能力データのフォーマットについて説明する。
【００６０】
［複数機能デバイスのデバイス能力の記述］
図１９は、能力取得部１８、２０が取得する能力データの一例を示す図（その２）である。
図１９に示す能力データは図７及び図９のアイコン１４０、アイコン１４１、アイコン１４２に対応する。また、図１１、図１３、図１５、図１７に示すジョブチケットに対応する。
【００６１】
次に、能力データとジョブチケットとの対応を説明する。
図１９において、１行目の「ＣｏｍｂｉｎｅｄＭｅｔｈｏｄ＝"Ｃｏｍｂｉｎｅｄ"」は、このデバイス（又はシステム）が複数の機能を持つことを示している。そして、この場合、同じく１行目の「Ｔｙｐｅｓ」の記述には複数の処理が列挙される。１行目の「Ｔｙｐｅｓ」の値において、「ＤｉｇｉｔａｌＰｒｉｎｔｉｎｇ」は印刷処理を示し、「Ｓｔｉｔｃｈｉｎｇ」は綴じ処理を示し、「ＨｏｌｅＭａｋｉｎｇ」はパンチ処理を示す。これらの値は後述の処理に従って、各処理の能力データに分解された後、ワークフロー編集画面における処理の種類を示すために使用される。また、これらの値は、例えば図１１における１０行目の「Ｔｙｐｅｓ＝"ＤｉｇｉｔａｌＰｒｉｎｔｉｎｇ"」の記述を生成するために使用される。
【００６２】
同じく１行目の「ＤｅｖｉｃｅＮａｍｅ＝"Ｄｅｖ  Ｅ"」はこのデバイスの名称が「Ｄｅｖ  Ｅ」であることを示している。この値はワークフロー編集画面における処理の種類の中でデバイス名称を示すために使用される。また、この値は、例えば図１１における３０行目の「ｎａｍｅ＝"Ｄｅｖ  Ｅ"」の記述を生成するために使用される。
次に、図１９における２行目は、図１１における１３行目及びそこから参照されている３４行目に対応する。「Ｎａｍｅ」及び「ＬｉｎｋＵｓａｇｅ」については、図１８における例で説明した通りである。図１９の２行目における「ＴｙｐｅＩｎｄｅｘ＝"０"」は、図１９の１行目において「Ｔｙｐｅｓ」で列挙されたどの処理に対応したパラメータであるかを指定する。「Ｔｙｐｅｓ」に記述してある順で０から順に番号付けする。つまり、０ならば「ＤｉｇｉｔａｌＰｒｉｎｔｉｎｇ」、１ならば「Ｓｔｉｔｃｈｉｎｇ」、２ならば「ＨｏｌｅＭａｋｉｎｇ」である。図１８における例では、能力データが示す処理は一つのみであったため、常に「Ｔｙｐｅｓ＝"０"」であった。
次に、図１９における３行目から７行目までの記述は、図１１における１４行目及びそこから参照されている３５行目に対応する。
【００６３】
図１９における４行目のＩｎｔｅｇｅｒＳｔａｔｅエレメントは、このエレメント以下で記述している設定情報が整数型であることを示している。「Ｎａｍｅ」及び「ＡｌｌｏｗｅｄＶａｌｕｅＬｉｓｔ」については、上述の通りである。図１９における４行目の「Ｄｅｓｃｒｉｐｔｉｏｎ＝"濃度補正"」は、この設定値をＵＩ上で表示する際の設定項目名称として使われる表記を示している。より具体的には、図８における２１１の表示に対応する。「Ｄｅｓｃｒｉｐｔｉｏｎ」の記述が無い場合には、「Ｎａｍｅ」で記述されているジョブチケット記述上の名称が使用されるものとする。
図１９における６行目のＥｎｕｍｅｒａｔｉｏｎＳｔａｔｅエレメントは、このエレメント以下で記述している設定情報が列挙型であることを示している。「Ｎａｍｅ」、「ＡｌｌｏｗｅｄＶａｌｕｅＬｉｓｔ」及び「Ｄｅｓｃｒｉｐｔｉｏｎ」については、上述の通りである。
【００６４】
図１９における８行目から１１行目までの記述は、図１１における１５行目及びそこから参照されている３６行目に対応する。
図１９における１２行目の記述は、図１１における１６行目及びそこから参照されている３７行目に対応する。また、図１５における１６行目と２２行目、そしてそれらから参照されている３６行目に対応する。
図１９における１２行目では、「ＬｉｎｋＵｓａｇｅ」が記述されていない。また、「ＴｙｐｅＩｎｄｅｘ＝"０  １"」のように、「ＴｙｐｅＩｎｄｅｘ」の値が二つ記述されている。これは、「Ｎａｍｅ＝"Ｃｏｍｐｏｎｅｎｔ"」で示されている「Ｃｏｍｐｏｎｅｎｔ」の記述が印刷処理（＝「ＴｙｐｅＩｎｄｅｘ＝"０"」）と綴じ処理（＝「ＴｙｐｅＩｎｄｅｘ＝"１"」）とを連携する中間物設定であることを示している。この記述の場合には、次のようにジョブチケットを生成する。つまり、デバイス「Ｄｅｖ  Ｅ」の機能が単体で使用される場合、例えば図１３に示すような例の場合には、ジョブチケット中にＣｏｍｐｏｎｅｎｔエレメント及びＣｏｍｐｏｎｅｎｔＬｉｎｋエレメントを個別に記述する。しかし、デバイス「Ｄｅｖ  Ｅ」の中で複数の機能が連続で使用される場合、例えば図１７に示すような例の場合には、ジョブチケットからＣｏｍｐｏｎｅｎｔエレメント及びＣｏｍｐｏｎｅｎｔＬｉｎｋエレメントを省略する。
【００６５】
図１９における１３行目から１６行目までの記述は、図１５における２３行目及びそこから参照されている３５行目に対応する。図１１の例では、別のデバイスの綴じ処理を使用しているため、対応する記述は無い。
図１９における１４行目のＢｏｏｌｅａｎＳｔａｔｅエレメントは、このエレメント以下で記述している設定情報が論理型であることを示している。「Ｎａｍｅ」、「ＡｌｌｏｗｅｄＶａｌｕｅＬｉｓｔ」及び「Ｄｅｓｃｒｉｐｔｉｏｎ」については、上述の通りである。図１９における１４行目の「ＶａｌｕｅＤｅｓｃ＝"ＯＦＦ  ＯＮ"」は、この設定値をＵＩ上で表示する際の設定値（の候補）として使われる表記を示している。列挙されている「ＯＦＦ」、「ＯＮ」の値は、「ＡｌｌｏｗｅｄＶａｌｕｅＬｉｓｔ」に列挙されている値に対応する。つまり、ＵＩ上で「ＯＦＦ」が選択された場合には、ジョブチケットに「ＮｏＯｐ＝"ｔｒｕｅ"」が記述される。そして、ＵＩ上で「ＯＮ」が選択された場合には、ジョブチケットに「ＮｏＯｐ＝"ｆａｌｓｅ"」が記述される。「ＶａｌｕｅＤｅｓｃ」の記述が無い場合には、「ＡｌｌｏｗｅｄＶａｌｕｅＬｉｓｔ」で記述されているジョブチケット記述上の名称がＵＩでも使用されるものとする。
【００６６】
［更に別の能力データの記述］
図２０は、能力取得部１８、２０で取得する能力データの一例を示す図（その３）である。
図２０に示す能力データは図７に示すワークフローの例における、アイコン１４７及び図３におけるアイコン１０４に対応する例である。また、図１１、図１４に示すジョブチケットに対応する例である。
以上説明したように、能力取得部１８、２０が取得する各デバイスやシステムの能力データには、単機能のものと複数機能を含むものとが存在する。本実施形態におけるワークフローシステム１は、複数機能を含むデバイスの能力データを個々の処理の能力データへと分解して処理する。
次に、複数機能を含むデバイスの能力データを個々の処理の能力データへと分解した結果について説明する。
【００６７】
［能力データの分割］
図２１から図２３は、ワークフローシステムが処理する能力データの一例を示した図である。
図２１に示す能力データは、図１９に示す能力データから印刷処理に関する機能の部分を抽出した結果である。
図２１に示す能力データを抽出する際には、図２１の１行目における「Ｔｙｐｅｓ＝"ＤｉｇｉｔａｌＰｒｉｎｔｉｎｇ"」の記述のように、抽出した結果の処理のみを記述する（抽出する）。また、１２行目に示すように、複数処理の連携のための中間物設定用に複数の「ＴｙｐｅＩｎｄｅｘ」が記述されている部分については、必要な処理の分のみ記述する（抽出する）。
図２２に示す能力データは、図１９に示す能力データより、図１９に示す二番目の処理である綴じ処理に関する機能の部分だけを抽出したものである。
図２３に示す能力データは、図１９に示す能力データより、図１９に示す三番目の処理であるパンチ処理に関する機能の部分だけを抽出したものである。
複数の機能を持つデバイスについては、このように個々の処理に分解された後、ワークフローシステム１で選択可能な処理として表示される。
【００６８】
［処理の流れ］
図２４は、ワークフローシステム１における処理の流れを示したフローチャートである。
まずステップＳ１０００において、ワークフローシステム１は処理を開始する。ステップＳ１００１において、ワークフローシステム１は、接続されている全てのシステム及びデバイスから能力データを取得し、デバイスが複数の機能を持つ場合には個々の能力データに分解した後、記憶装置へ保存する。なお、ステップＳ１００１の処理の詳細は、後述する図２５等を用いて説明する。
【００６９】
次にステップＳ１００２において、ワークフローシステム１は、ステップＳ１００１にて保存した情報を基にワークフロー編集用の画面を作成、表示し、ユーザからの入力を待つ。ワークフロー編集部２８は、ＵＩ生成部２５からの情報を基にこのステップの処理を行う。
ステップＳ１００３において、ワークフロー編集部２８は、ユーザからの操作に応じて処理を分岐する。編集中のワークフローへ処理を追加する操作の場合、ワークフロー編集部２８は、ステップＳ１００４へ進む。ワークフロー中の各処理の詳細設定を行う操作の場合、ワークフロー編集部２８は、ステップＳ１００６へ進む。作成したワークフローに従ってジョブを実行する操作の場合、ワークフロー編集部２８は、ステップＳ１０１０へ進む。編集中のワークフローから処理を削除する操作の場合、ワークフロー編集部２８は、ステップＳ１０１４へ進む。一方、複数の処理の連携を指示する（画面上で処理間を矢印でつなぐ）場合、ワークフロー編集部２８は、ステップＳ１０１６へ進む。
【００７０】
ステップＳ１００４において、ワークフロー編集部２８は、ユーザからの操作に応じて、ワークフローへ追加する処理を選択する。より具体的に説明すると、ユーザが図３に示す左側の領域から処理のアイコンを選択する操作に応じて、ワークフロー編集部２８がワークフローへ追加する処理を選択する。
次に、ステップＳ１００５において、ジョブチケット生成部２６は、選択した処理の能力データに対応するジョブチケットの記述を追加する。
ステップＳ１００５の次は、ワークフローシステム１は、ステップＳ１００３の処理へ戻り、次のユーザ操作を待つ。
【００７１】
ステップＳ１００６において、ワークフロー編集部２８は、ユーザからの操作に応じて、詳細設定を入力する処理（アイコン）をワークフローの中から選択する。より具体的に説明すると、ユーザが図４における詳細設定メニューボタン１２１を選択する操作に応じて、ワークフロー編集部２８が詳細設定メニューボタン１２１を選択する。
ステップＳ１００７において、詳細設定編集部２９は、ステップＳ１００６で選択した処理の詳細設定画面を表示する。これは、例えば、図５に示す画面の表示に相当する。
ステップＳ１００８において、詳細設定編集部２９は、ユーザからの操作に応じて、詳細設定の入力を行う。
ステップＳ１００９において、ジョブチケット生成部２６は、ステップＳ１００８で入力された内容に従ってジョブチケットを編集し、詳細設定をジョブチケットへ反映する。
ステップＳ１００９の次は、ワークフローシステム１は、ステップＳ１００３の処理へ戻り、次のユーザ操作を待つ。
【００７２】
ステップＳ１０１０において、ワークフロー実行部３０は、ワークフローを記述しているジョブチケットを各システム或いはデバイス用に分割する。
ステップＳ１０１１において、ワークフローシステム１は、分割したジョブチケットの中でワークフローの最初の処理から対応するデバイスへ送信する。ジョブチケットの割り振りは例えばワークフロー実行部３０が行い、実際のジョブチケット送信は例えば各ジョブチケット送信部１９或いはジョブチケット送信部２１等が行う。
【００７３】
そして、ステップＳ１０１２において、ワークフロー実行部３０は、ステップＳ１０１１で送信したジョブチケットの処理が終了するのを待つ。
ステップＳ１０１３において、ワークフロー実行部３０は、ワークフローの次の処理、即ち、次に送信するジョブチケットがあるか否かを判定する。送信するジョブチケットがある場合（Ｙｅｓ）、ワークフロー実行部３０は、ステップＳ１０１１へ戻り、次のジョブチケットを対応するデバイスへ送信する。そうでない場合（Ｎｏ）、ワークフロー実行部３０は、ステップＳ１００３へ戻り、次のユーザ操作を待つ。
【００７４】
ステップＳ１０１４において、ワークフロー編集部２８は、ユーザからの操作に応じて、ワークフローから削除する処理を選択する。より具体的に説明すると、ユーザが図４の１２２を選択する操作に応じて、ワークフロー編集部２８がワークフローから削除する処理を選択する。
ステップＳ１０１５において、ジョブチケット生成部２６は、ステップＳ１０１４で選択した処理に対応するジョブチケット中の記述を削除する。
ステップＳ１０１５の次は、ワークフローシステム１は、ステップＳ１００３へ戻り、次のユーザ操作を待つ。
【００７５】
ステップＳ１０１６において、ワークフロー編集部２８は、ユーザからの操作に応じて、連携する二つの処理を選択して、矢印で接続する。
ステップＳ１０１７において、ジョブチケット生成部２６は、選択した二つの処理が連携するようにジョブチケットを編集する。
ステップＳ１０１７の次は、ワークフローシステム１は、ステップＳ１００３へ戻り、次のユーザ操作を待つ。
【００７６】
図２５は、図２４におけるステップＳ１００１に対応する処理の流れを示したフローチャートである。
ステップＳ１１００において、ワークフローシステム１は処理を開始する。ステップＳ１１０１において、能力取得部１８、２０は、能力データをデバイスから取得する（能力データ取得）。
ステップＳ１１０２において、処理単位分解部２３は、能力データが複数機能を含むか否かを判定する。この判定方法は、能力データの「ＤｅｖｉｃｅＣａｐ  ＣｏｍｂｉｎｅｄＭｅｔｈｏｄ」の記述を参照することで判定できる。処理単位分解部２３は、複数機能を含む場合（Ｙｅｓ）、ステップＳ１１０４へ進み、単機能の場合、ステップＳ１１０３へ進む。
【００７７】
ステップＳ１１０３において、処理単位分解部２３は、能力データを複製する。そして、ステップＳ１１１５へ進む。
ステップＳ１１０４において、処理一覧取得部２２は、能力データに対応する処理の一覧を取得する。
ステップＳ１１０５において、処理単位分解部２３は、能力データの処理一覧の順で処理の番号を最初（０番目）から順に変数Ｐへ保持する。
【００７８】
ステップＳ１１０６において、処理単位分解部２３は、Ｐ番目の能力データを生成するために、能力データの基本データを準備する。この基本データには処理のタイプ等の情報が含まれる。
ステップＳ１１０７において、パラメータ取得部２４は、もとの能力データから順にパラメータ（設定パラメータ）を入力する（設定パラメータ取得）。
ステップＳ１１０８において、パラメータ取得部２４は、入力した設定パラメータがＰ番目の処理を含んでいるか否かを「ＴｙｐｅＩｎｄｅｘ」の値から判断する。含まれる場合（Ｙｅｓ）、パラメータ取得部２４は、ステップＳ１１０９へ進む。含まれない場合、パラメータ取得部２４は、ステップＳ１１１４へ進む。
【００７９】
ステップＳ１１０９において、パラメータ取得部２４は、入力した設定パラメータが複数処理連携に係る設定パラメータ（プロセス連携パラメータ）であるか否かの判定をする。パラメータ取得部２４は、ＬｉｎｋＵｓａｇｅが含まれていないこと及びＴｙｐｅＩｎｄｅｘに複数の値が列挙されていることで前記判定を行う。複数処理連携に係る設定パラメータである場合（Ｙｅｓ）、パラメータ取得部２４は、ステップＳ１１１１へ進む。そうでない場合、パラメータ取得部２４は、ステップＳ１１１０へ進む。
ステップＳ１１１０において、パラメータ取得部２４は、ステップＳ１１０８で準備された能力データへ、当該設定パラメータを追加する。この際、ＴｙｐｅＩｎｄｅｘは０とする。
【００８０】
ステップＳ１１１１において、パラメータ取得部２４は、複数処理連携に係る設定パラメータが、当該処理において入力用の設定パラメータとして定義されているか否かを判定する。パラメータ取得部２４は、ＰがＴｙｐｅＩｎｄｅｘに列挙されている番号のうち小さい方がＰである場合には出力用、大きい方がＰである場合には入力用と判定する。入力用の設定パラメータである場合（Ｙｅｓ）、パラメータ取得部２４は、ステップＳ１１１２へ進む。そうでない場合、つまり出力用の設定パラメータである場合、パラメータ取得部２４は、ステップＳ１１１３へ進む。
ステップＳ１１１２において、パラメータ取得部２４は、複数処理連携に係る設定パラメータを入力用の設定パラメータとして、ステップＳ１１０８で準備された能力データへ追加する。この際、ＴｙｐｅＩｎｄｅｘは０とする。ＬｉｎｋＵｓａｇｅはＩｎｐｕｔとする。
ステップＳ１１１３において、パラメータ取得部２４は、複数処理連携に係る設定パラメータを出力用の設定パラメータとして、ステップＳ１１０８で準備された能力データへ追加する。この際、ＴｙｐｅＩｎｄｅｘは０とする。ＬｉｎｋＵｓａｇｅはＯｕｔｐｕｔとする。
【００８１】
ステップＳ１１１４において、パラメータ取得部２４は、他に追加する設定パラメータがあるか否かを判定する。設定パラメータがある場合（Ｙｅｓ）、パラメータ取得部２４は、ステップＳ１１０７へ戻り、次の設定パラメータについて処理する。全ての設定パラメータを処理した場合、パラメータ取得部２４は、ステップＳ１１１５へ進む。
ステップＳ１１１５において、処理単位記憶部２７は、でき上がった新しい能力データをキャッシュメモリ又はＨＤＤ等の記憶装置へ保存する。
【００８２】
ステップＳ１１１６において、例えば処理単位分解部２３は、能力データ中に処理すべき次の処理があるか否かを判定する。次の処理がある場合（Ｙｅｓ）、処理単位分解部２３は、ステップＳ１１０５へ戻り、Ｐをインクリメントして、次の能力データを抽出する。そうでない場合、処理単位分解部２３は、ステップＳ１１１７へ進む。
ステップＳ１１１７において、例えば処理一覧取得部２２は、他に接続されているシステム或いはデバイスがあるか否かを判定する。能力データを取得するべき他のシステム或いはデバイスがある場合、処理一覧取得部２２は、ステップＳ１１０４へ戻り処理を繰り返す。全てのシステム及びデバイスの能力データを取得した場合、処理一覧取得部２２は、ステップＳ１１１８へ進み、図２５に示す処理を終了する。
【００８３】
［サーバＰＣの構成］
ワークフローシステム（サーバＰＣ又は情報処理装置）１のハードウェア構成について図２６を用いて説明する。なお、ここで紹介するハードウェア構成は一例にしか過ぎない。
まず、点線で囲まれた部分がマザーボードと呼ばれる基板である。２つのＣＰＵは、このサーバＰＣのソフトウェア全体を制御しており、ＣＰＵバスを経由してキャッシュメモリと接続され、更にノースブリッジ、サウスブリッジと呼ばれるＬＳＩチップによって、マザーボード上の様々なバスの制御を行っている。ノースブリッジとサウスブリッジのデータのやり取りを初めとしてサーバＰＣ内部でのデータの一次保存等のためＳＤＲＡＭ等のメモリが使用されている。
【００８４】
次に、ノースブリッジは、高速ＰＣＩバスを持っている。ここでは、ＳＣＳＩコントローラ及びＳＣＳＩインターフェースを介して、ＳＣＳＩ外部装置（例えば、大容量のデータのハードディスクドライブ）にアクセスすることが可能である。更に、ノースブリッジには、ディスプレイを表示させるためのグラフィックコントローラもＡＧＰバスによって接続されている。
更に、サウスブリッジは、汎用ＰＣＩバス（３２ビット／３３ＭＨｚ）が接続されており、Ｅｔｈｅｒｎｅｔ（登録商標）等のＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）が接続される。また、サウスブリッジは、ＩＤＥバスも持っており、ハードディスクドライブや、ＣＤ−ＲＯＭドライブ或いは、ＤＶＤドライブ等が接続される。ハードディスクドライブはサーバＰＣの制御ソフトウェアを初め様々なデータを格納しておく。ＵＳＢポートは、ＵＳＢメモリに代表されるＵＳＢ外部装置にアクセスすることが可能になる。
【００８５】
そして、スーパーＩ／Ｏ部を経由してキーボードやマウス或いは、フロッピー（登録商標）ディスクドライブにつながって、データの入出力を行うこともできる。
ＣＰＵがハードディスクドライブ等に記憶されているプログラムを実行することにより、上述したワークフローシステム１の機能が実現される。
以上、説明したように、能力データに記述された処理リストから分解できる機能を抽出し、分解された機能をワークフロー作成時に組合せられるようにする。これにより、既存のワークフローシステムの拡張性を損なうことなく、ユーザが容易に間違いの無いワークフローを作成できるようになった。
【００８６】
＜実施形態２＞
実施形態２では、実施形態１と基本的な構成が同じであるため、実施形態１との差異についてのみ説明する。
一つのデバイスが持つ複数の機能の中には、単体で使用可能な機能とそうで無い機能とが存在する。例えば、ＰＯＤ機の印刷機能は単体で使用することができる。つまり、印刷のみを行うことができる。しかし、多くのフィニッシャーは単体で使用することができない。例えば、ステープルのみを行うことはできない。一方、一部のフィニッシャーは単体で機能を使用できるものもある。
実施形態２においては、システム或いはデバイスが能力データの中で、有効な処理の組合せ情報を提供する。
【００８７】
図２７は、能力取得部１８、２０が取得する能力データの一例を示す図（その４）である。図２７において、２行目から７行目までは本デバイスで使用可能な機能の全ての組合せが示されている。３行目から６行目までの各行はそれぞれ機能の有効な組合せが示されている。
図２８は、実施形態１の図２４のステップＳ１００１に対応する実施形態２の処理の流れを示したフローチャートである。
ステップＳ１２００において、ワークフローシステム１は処理を開始する。ステップＳ１２０１において、能力取得部１８、２０は、能力データをデバイスから取得する。
【００８８】
ステップＳ１２０２において、処理単位分解部２３は、能力データが複数機能を含むか否かを判定する。処理単位分解部２３は、複数機能を含む場合（Ｙｅｓ）、ステップＳ１２０４へ進み、単機能の場合、ステップＳ１２０３へ進む。
ステップＳ１２０３において、処理単位分解部２３は、能力データを複製する。そして、ステップＳ１２１６へ進む。
ステップＳ１２０４では、処理一覧取得部２２は、能力データに対応する機能の組合せ一覧を取得する。これは、図２７における３行目から６行目までに記載の組合せを取得する処理に対応する。
【００８９】
ステップＳ１２０５において、処理単位分解部２３は、順に機能の組合せを取得していく。
ステップＳ１２０６において、処理単位分解部２３は、ステップＳ１２０５で取得した組合せ用に能力データの基本データを準備する。このデータには処理のタイプ等の情報が含まれる。
ステップＳ１２０７において、パラメータ取得部２４は、機能の組合せに対応するプロセス番号一覧を取得する。
ステップＳ１２０８において、パラメータ取得部２４は、もとの能力データから順に設定パラメータを入力する。
【００９０】
ステップＳ１２０９において、パラメータ取得部２４は、入力した設定パラメータが、ステップＳ１２０７で取得した番号一覧に対応する処理を含んでいるか否かを「ＴｙｐｅＩｎｄｅｘ」の値から判断する。含まれる場合（Ｙｅｓ）、パラメータ取得部２４は、ステップＳ１２１０へ進む。含まれない場合、パラメータ取得部２４は、ステップＳ１２１５へ進む。
ステップＳ１２１０において、パラメータ取得部２４は、入力した設定パラメータが複数処理連携に係る設定パラメータであるか否かの判定をする。パラメータ取得部２４は、ＬｉｎｋＵｓａｇｅが含まれていないこと及びＴｙｐｅＩｎｄｅｘに複数の値が列挙されていることで前記判定を行う。複数処理連携に係る設定パラメータである場合（Ｙｅｓ）、パラメータ取得部２４は、ステップＳ１２１２へ進む。そうでない場合、パラメータ取得部２４は、ステップＳ１２１１へ進む。
【００９１】
ステップＳ１２１１において、パラメータ取得部２４は、ステップＳ１２０６で準備された能力データへ、当該設定パラメータを追加する。
ステップＳ１２１２において、パラメータ取得部２４は、複数処理連携に係る設定パラメータが、当該処理において入力用の設定パラメータとして定義されているか否かを判定する。入力用の設定パラメータである場合（Ｙｅｓ）、パラメータ取得部２４は、ステップＳ１２１３へ進む。そうでない場合、つまり出力用の設定パラメータである場合、パラメータ取得部２４は、ステップＳ１２１４へ進む。
【００９２】
ステップＳ１２１３において、パラメータ取得部２４は、複数処理連携に係る設定パラメータを入力用の設定パラメータとして、ステップＳ１２０６で準備された能力データへ追加する。
ステップＳ１２１４において、パラメータ取得部２４は、複数処理連携に係る設定パラメータを出力用の設定パラメータとして、ステップＳ１２０６で準備された能力データへ追加する。
ステップＳ１２１５において、パラメータ取得部２４は、他に追加する設定パラメータがあるか否かを判定する。他に追加する設定パラメータがある場合（Ｙｅｓ）、パラメータ取得部２４は、ステップＳ１２０８へ戻り、次のパラメータについて処理する。全ての設定パラメータを処理した場合、パラメータ取得部２４は、ステップＳ１２１６へ進む。
【００９３】
ステップＳ１２１６において、処理単位記憶部２７は、でき上がった新しい能力データをキャッシュメモリ又はＨＤＤ等の記憶装置へ保存する。
ステップＳ１２１７では、能力データ中に処理すべき次の処理組合せがあるかを判定する。次の組合せがある場合（Ｙｅｓ）にはステップＳ１２０５へ戻り、Ｑをインクリメントして、次の能力データを抽出する。そうでない場合にはステップＳ１２１８へ進む。
ステップＳ１２１８では、他に接続されているシステム或いはデバイスがあるかを判定する。能力データを取得するべき他のシステム或いはデバイスがある場合にはステップＳ１２０４へ戻り処理を繰り返す。全てのシステム及びデバイスの能力データを取得した場合にはステップＳ１２１９へ進み、終了する。
【００９４】
図２９は、ワークフロー編集画面の一例を示す図（その４）である。
図２９に示すように、ワークフローシステム１は、図２８のフローチャートに従って、抽出した能力データを用いて処理アイコンを表示する。そして、ワークフローシステム１は、ユーザによる操作に応じて、有効な処理の組合せのみを用いてワークフローを編集する。
図３０は、図２９の１６７に示す、印刷と綴じとの組合せ処理に関する詳細設定画面の一例を示す図である。図３０に示すように、ワークフローシステム１は、組合せられた機能の詳細設定を一つの設定画面にまとめて表示する。
以上示したように、本実施形態によれば、ワークフローシステム１は、接続するデバイスから複数機能のうちの有効な組合せの情報を受け取り、その情報を基にワークフロー編集を行う。これにより、ユーザは、単体で使用不可能な機能が含まれている場合であっても、有効な組合せの機能を使用してワークフローを作成することができるようになった。
【００９５】
＜実施形態３＞
実施形態３については、実施形態１と基本的な構成が同じであるため、実施形態１との差異についてのみ説明する。
実施形態３においても、実施形態２と同様、一つのデバイスが持つ複数の機能のうち、単体で使用可能な機能とそうでない機能とが存在する場合がある。
実施形態３においては、実施形態１と同様にデバイスから有効な組合せの情報が別途与えられることは無い。そして、実施形態３においては、ワークフローシステム１は、実施形態１と同じように能力データから有効な機能の組合せ（組合せリスト）を作成する。
【００９６】
図３１は、組合せリスト作成処理の一例を示すフローチャートである。図３１のフローチャートは実施形態２における図２８のフローチャートのステップＳ１２０４の処理の代替となる処理に相当する。
まずステップＳ１３００において、ワークフローシステム１は処理を開始する。次にステップＳ１３０１において、処理一覧取得部２２は、能力データを読み込む。例えば、処理一覧取得部２２は、図１９に示す能力データを読み込む。
ステップＳ１３０２において、処理一覧取得部２２は、能力データに含まれる処理のリストを抽出する。図１９に示す能力データの場合、処理一覧取得部２２は、１行目のＴｙｐｅｓの値より、ＤｉｇｉｔａｌＰｒｉｎｔｉｎｇ、Ｓｔｉｔｃｈｉｎｇ、ＨｏｌｅＭａｋｉｎｇの３つの処理リストを取得する。
【００９７】
ステップＳ１３０３からは、処理一覧取得部２２は、順に各プロセスについて処理を繰り返していく。
ステップＳ１３０３において、処理一覧取得部２２は、処理に対応するパラメータ群を抽出する。例えば、ＤｉｇｉｔａｌＰｒｉｎｔｉｎｇの場合、処理一覧取得部２２は、ＴｙｐｅＩｎｄｅｘの値が０である、ＲｕｎＬｉｓｔ、ＤｉｇｉｔａｌＰｒｉｎｔｉｎｇＰａｒａｍｓ、Ｍｅｄｉａ、Ｃｏｍｐｏｎｅｎｔを抽出する。
ステップＳ１３０４において、処理一覧取得部２２は、抽出したパラメータにスキップ属性が含まれるか否かを判定する。ここで、スキップ属性とは、処理単位で機能の有効、無効を指定することができるパラメータを指す。より具体的に説明すると、図１９に示す能力データの例では、ＮｏＯｐパラメータを含むか否か、ということを意味する。例えば、ＤｉｇｉｔａｌＰｒｉｎｔｉｎｇのパラメータ群の中にはＮｏＯｐパラメータは含まれない。また、Ｓｔｉｔｃｈｉｎｇのパラメータ群にはＮｏＯｐパラメータが含まれる（図１９の１４行目）。更にＨｏｌｅＭａｋｉｎｇのパラメータ群にもＮｏＯｐパラメータが含まれる（図１９の１９行目）。スキップパラメータが含まれる場合（Ｙｅｓ）、処理一覧取得部２２は、ステップＳ１３０５へ進む。そうでない場合、処理一覧取得部２２は、ステップＳ１３０６へ進む。
【００９８】
ステップＳ１３０５において、処理一覧取得部２２は、対応する処理を「省略可能処理（省略可能な処理）」であるとして記憶する。
ステップＳ１３０６において、処理一覧取得部２２は、対応する処理を「省略不可処理（省略不可能な処理）」であるとして記憶する。
ステップＳ１３０７において、処理一覧取得部２２は、ステップＳ１３０２で抽出した全ての処理について繰り返し処理を行うために、スキップ属性の有無を判定していない処理が残っているか否かを判定する。他の処理がある場合（Ｙｅｓ）、処理一覧取得部２２は、ステップＳ１３０３へ戻る。そうでない場合、処理一覧取得部２２は、ステップＳ１３０８へ進む。
【００９９】
ステップＳ１３０８において、処理一覧取得部２２は、省略可能処理の全ての組合せを作り、そこに省略不可処理を追加して有効な処理の組合せリストを作成する（組合せ情報作成）。例えば、図１９の能力データの場合、省略不可処理はＤｉｇｉｔａｌＰｒｉｎｔｉｎｇ、省略可能処理はＳｔｉｔｃｈｉｎｇとＨｏｌｅＭａｋｉｎｇとである。そこで、処理一覧取得部２２が、まず省略不可処理の全ての組合せを作ると、「（なし）」、「Ｓｔｉｔｃｈｉｎｇ」、「ＨｏｌｅＭａｋｉｎｇ」、「Ｓｔｉｔｃｈｉｎｇ  ＨｏｌｅＭａｋｉｎｇ」の４つの組合せができる。これに、ＤｉｇｉｔａｌＰｒｉｎｔｉｎｇを加えると、
「ＤｉｇｉｔａｌＰｒｉｎｔｉｎｇ」
「ＤｉｇｉｔａｌＰｒｉｎｔｉｎｇ  Ｓｔｉｔｃｈｉｎｇ」
「ＤｉｇｉｔａｌＰｒｉｎｔｉｎｇ  ＨｏｌｅＭａｋｉｎｇ」
「ＤｉｇｉｔａｌＰｒｉｎｔｉｎｇ  Ｓｔｉｔｃｈｉｎｇ  ＨｏｌｅＭａｋｉｎｇ」
の４通りの組合せができる。
【０１００】
ステップＳ１３０９において、処理一覧取得部２２は、組合せリスト作成処理を終了する。
ワークフローの編集画面は実施形態２における図２９の画面例と同様となる。図３２は、印刷と綴じとの組合せ処理に関する詳細設定画面の一例を示す図である。図３２に示すように、ワークフローシステム１は、スキップ属性を基に組合せを判断しているため、詳細設定の画面でも機能のＯｎ／Ｏｆｆ設定を除いている。
【０１０１】
以上、説明したように、本実施形態によれば、ワークフローシステム１は、能力データの中のスキップ属性を判断することにより、複数機能のうちの有効な組合せの情報を生成して、その情報を基にワークフロー編集を行う。
これにより、ユーザは、単体で使用不可能な機能が含まれている場合であっても、有効な組合せの機能を使用してワークフローを作成することができるようになった。
【０１０２】
＜実施形態４＞
実施形態４については、実施形態１と基本的な構成が同じであるため、実施形態１との差異についてのみ説明する。
実施形態４においては、ワークフローシステム１は、デバイスが複数の機能を含む場合、内部の処理としては実施形態１と同様に、能力データから個々の機能へと分解する。しかし、ワークフローシステム１は、ワークフロー編集画面上は分解した個々の機能を独立した処理としては見せない。
【０１０３】
図３３は、ワークフロー編集画面の一例を示す図（その５）である。
図３３において、１７１及び１７７に示す印刷処理は綴じやパンチの処理を含んでいる。そして、図３３に示す例では、１７７が含む綴じ処理と別途、１７８の綴じ処理とを組合せている。
図３４は、図３３における１７７の詳細設定画面の一例を示した図である。図３４に示す通り、２５６、２５７、２５８、２５９のように綴じとパンチとに関する設定が含まれている。
図３５は、図３３における１７８の詳細設定画面の一例を示した図である。図３５において、２７１、２７２は綴じに関する設定であるが、グレイアウトされて、設定が無効になっていることを示している。
【０１０４】
以上のように、本実施形態のワークフローシステム１は、例えばワークフローの定義情報等に基づいて、ワークフローの上流の処理を実行する機器に前記ワークフローの下流の処理を実行する機能が存在するか否かを判定する（重複機能判定）。ワークフローシステム１は、ワークフローの上流の処理を実行する機器に前記ワークフローの下流の処理を実行する機能が存在すると判定した場合、前記下流の処理を実行する機器に関する設定を無効とする（無効化）。
つまり、本実施形態のワークフローシステム１は、作成したワークフローの上流に同じ処理がある場合には、下流の処理を無効とすることにより、不適切に機能が重複したワークフローを作成することを防ぐことができる。
自動で全ての組合せを抽出すると、含まれる機能の種類が多いデバイスの場合、組合せ処理の数が非常に多くなる。この結果、ユーザがワークフローを作成する際に、適切な組合せを選択することが容易ではなくなる。本実施形態の方法により、このようなユーザの不便を解決することができる。
【０１０５】
＜実施形態５＞
実施形態５については、実施形態１と基本的な構成が同じであるため、実施形態１との差異についてのみ説明する。
実施形態５においては、デバイスが複数の機能を含む場合に、内部の処理としては実施形態１と同様に、能力データから個々の機能へと分解する。
図３６は、ワークフロー編集画面の一例を示す図（その６）である。
図３６において、１８１から１８６までに一覧表示されている処理には、「Ｄｅｖ  Ｅ」における印刷と綴じとの組合せがない。これは、綴じについては、「Ｄｅｖ  Ｅ」の他に「Ｄｅｖ  Ｃ」が存在するためである。ワークフローシステム１は、綴じに関しては、ワークフローを作成した際に機能が重複する可能性があるため、組合せ処理を作らずに独立させている。
【０１０６】
以上のように、本実施形態によれば、ワークフローシステム１は、分解した機能に基づいて、重複する機能が存在する場合のみ分解し、それ以外については組合せでアイコン表示する。これにより、一覧表示する組合せの数を減らし、かつ、有効な組合せの処理のみでワークフローを編集できるようにすることが可能となった。
【０１０７】
＜実施形態６＞
実施形態６については、実施形態１と基本的な構成が同じであるため、実施形態１との差異についてのみ説明する。
図３７は、ワークフロー編集画面の一例を示す図（その７）である。
ワークフローシステム１は、能力データ等をデバイスが持つ複数の機能に分解した後、図３７の３０５に示すように、ワークフロー編集画面では、同一のデバイスに属する機能の一覧であることが分かるようにグループ表示する。
以上のように、本実施形態のワークフローシステム１は、同一のデバイスに係る能力データに係るオブジェクトをグループ化してワークフロー編集画面を生成し、表示装置１３に表示する。この結果、ユーザが操作において混乱することを防ぐことができる。
【０１０８】
＜実施形態７＞
実施形態７については、実施形態１と基本的な構成が同じであるため、実施形態１との差異についてのみ説明する。
図３８は、ワークフロー編集画面の一例を示す図（その８）である。
ワークフローシステム１は、能力データ等をデバイスが持つ複数の機能に分解した後、図３８の３１３及び３１４に示すように、ワークフロー編集画面では、同一の機能でグループ表示をする。
以上のように、本実施形態のワークフローシステム１は、同一の能力に関する能力データに係るオブジェクトをグループ化してワークフロー編集画面を生成し、表示装置１３に表示する。この結果、ユーザが操作において混乱することを防ぐことができる。
【０１０９】
＜その他の実施形態＞
また、本発明の目的は、以下のようにすることによって達成される。即ち、上述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体（又は記録媒体）を、システム或いは装置に供給する。そして、そのシステム或いは装置の中央演算処理手段（ＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行する。この場合、記憶媒体から読み出されたプログラムコード自体が上述した実施形態の機能を実現することになり、そのプログラムコードを記録した記憶媒体は本発明を構成することになる。
【０１１０】
また、システム或いは装置の前記中央演算処理手段が読み出したプログラムコードを実行することにより、そのプログラムコードの指示に基づき、システム或いは装置上で稼働しているオペレーティングシステム（ＯＳ）等が実際の処理の一部又は全部を行う。その処理によって上述した実施形態の機能が実現される場合も含まれる。
【０１１１】
更に、記憶媒体から読み出されたプログラムコードが、前記システム或いは装置に挿入された機能拡張カードや、接続された機能拡張ユニットに備わるメモリに書込まれたとする。その後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部又は全部を行い、その処理によって上述した実施形態の機能が実現される場合も含まれる。
【０１１２】
本発明を前記記憶媒体に適用する場合、その記憶媒体（コンピュータ読み取り可能な記憶媒体）には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
【０１１３】
以上、上述した各実施形態によれば、印刷ワークフローを作成、設定するユーザが容易にワークフロー中に重複する機能を判別できるようになる。この結果、オフセット印刷等で用いられている既存の印刷ワークフローシステムの持つ柔軟な拡張性を損なうことなく、適切なワークフローを容易に作成できるようになる。
つまり、上述した各実施形態によれば、既存のワークフローシステムが持つ拡張性を損なうことなく、正常なワークフローの容易な作成手段をユーザに提供することができる。
【０１１４】
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【図面の簡単な説明】
【０１１５】
【図１】ワークフローシステム及び接続システム或いは接続デバイスを含む印刷製本システム全体の一例を示す図である。
【図２】ワークフローシステムの機能構成等の一例を示す図である。
【図３】ワークフロー編集画面の一例を示す図（その１）である。
【図４】図３に示す状態から、ユーザが綴じ処理（綴じ）１０９を選択した状態の一例を示す図である。
【図５】図４においてユーザが詳細設定メニューボタン１２１を選択することで表示される、綴じ処理の詳細設定画面の一例を示す図である。
【図６】ジョブの実行を指示する操作画面の一例を示す図である。
【図７】ワークフロー編集画面の一例を示す図（その２）である。
【図８】図７においてユーザが処理１４６を選択することで表示される、詳細設定画面の一例を示す図である。
【図９】ワークフロー編集画面の一例を示す図（その３）である。
【図１０】図９においてユーザが処理１５２を選択することで表示される、詳細設定画面の一例を示す図である。
【図１１】ジョブチケット生成部２６にて生成されるジョブチケットの一例を示す図（その１）である。
【図１２】図１１のジョブチケットが振り分けられた後のジョブチケットを示す図（その１）である。
【図１３】図１１のジョブチケットが振り分けられた後のジョブチケットを示す図（その２）である。
【図１４】図１１のジョブチケットが振り分けられた後のジョブチケットを示す図（その３）である。
【図１５】ジョブチケット生成部２６にて生成されるジョブチケットの一例を示す図（その２）である。
【図１６】図１５のジョブチケットが振り分けられた後のジョブチケットを示す図（その１）である。
【図１７】図１５のジョブチケットが振り分けられた後のジョブチケットを示す図（その２）である。
【図１８】能力取得部１８或いは能力取得部２０で取得する能力データの一例を示す図（その１）である。
【図１９】能力取得部１８或いは能力取得部２０で取得する能力データの一例を示す図（その２）である。
【図２０】能力取得部１８或いは能力取得部２０で取得する能力データの一例を示す図（その３）である。
【図２１】ワークフローシステムが処理する能力データの一例を示した図（その１）である。
【図２２】ワークフローシステムが処理する能力データの一例を示した図（その２）である。
【図２３】ワークフローシステムが処理する能力データの一例を示した図（その３）である。
【図２４】ワークフローシステム１における処理の流れを示したフローチャートである。
【図２５】図２４におけるステップＳ１００１に対応する処理の流れを示したフローチャートである。
【図２６】ワークフローシステムのハードウェア構成の一例を示す図である。
【図２７】能力取得部１８或いは能力取得部２０で取得する能力データの一例を示す図（その４）である。
【図２８】実施形態１の図２４のステップＳ１００１に対応する実施形態２の処理の流れを示したフローチャートである。
【図２９】ワークフロー編集画面の一例を示す図（その４）である。
【図３０】図２９の１６７に示す、印刷と綴じとの組合せ処理に関する詳細設定画面の一例を示す図である。
【図３１】組合せリスト作成処理の一例を示すフローチャートである。
【図３２】印刷と綴じとの組合せ処理に関する詳細設定画面の一例を示す図である。
【図３３】ワークフロー編集画面の一例を示す図（その５）である。
【図３４】図３３における１７７の詳細設定画面の一例を示した図である。
【図３５】図３３における１７８の詳細設定画面の一例を示した図である。
【図３６】ワークフロー編集画面の一例を示す図（その６）である。
【図３７】ワークフロー編集画面の一例を示す図（その７）である。
【図３８】ワークフロー編集画面の一例を示す図（その８）である。
【符号の説明】
【０１１６】
１    ワークフローシステム
２    面付けシステム
３    プルーファ
４    ＣＴＰ
５    オフセットプレスコントローラ
６    デジタルプレスコントローラ
７    ニアラインフィニッシャ
【図１】
2010009243.tif 000003
【図２】
2010009243.tif 000004
【図３】
2010009243.tif 000005
【図４】
2010009243.tif 000006
【図５】
2010009243.tif 000007
【図６】
2010009243.tif 000008
【図７】
2010009243.tif 000009
【図８】
2010009243.tif 000010
【図９】
2010009243.tif 000011
【図１０】
2010009243.tif 000012
【図１１】
2010009243.tif 000013
【図１２】
2010009243.tif 000014
【図１３】
2010009243.tif 000015
【図１４】
2010009243.tif 000016
【図１５】
2010009243.tif 000017
【図１６】
2010009243.tif 000018
【図１７】
2010009243.tif 000019
【図１８】
2010009243.tif 000020
【図１９】
2010009243.tif 000021
【図２０】
2010009243.tif 000022
【図２１】
2010009243.tif 000023
【図２２】
2010009243.tif 000024
【図２３】
2010009243.tif 000025
【図２４】
2010009243.tif 000026
【図２５】
2010009243.tif 000027
【図２６】
2010009243.tif 000028
【図２７】
2010009243.tif 000029
【図２８】
2010009243.tif 000030
【図２９】
2010009243.tif 000031
【図３０】
2010009243.tif 000032
【図３１】
2010009243.tif 000033
【図３２】
2010009243.tif 000034
【図３３】
2010009243.tif 000035
【図３４】
2010009243.tif 000036
【図３５】
2010009243.tif 000037
【図３６】
2010009243.tif 000038
【図３７】
2010009243.tif 000039
【図３８】
2010009243.tif 000040