(57)【要約】【課題】タスクのアップデートに応じて、タスクの連携を定義するフロー情報を自動的に更新することを可能とし、タスク連携処理システムの使い勝手を向上する。【解決手段】  複数のタスクによる連携処理を定義したフロー情報を管理する情報処理方法は、更新対象のタスクと該タスクの更新後のタスク構成を示す更新情報を取得し、登録されているフロー情報から、更新情報によって示される更新対象のタスクに対応するタスク情報を検出する。そして、更新情報に示される更新後のタスク構成を示す情報を、上記検出されたタスク情報に関連付けて追加することにより当該フロー情報を更新する。【選択図】  図７
2007128356.tif 000002
【特許請求の範囲】
【請求項１】
複数のタスクによる連携処理を定義したフロー情報を管理する情報処理方法であって、
更新対象のタスクと該タスクの更新後のタスク構成を示す更新情報を取得する取得工程と、
登録されているフロー情報から、前記更新情報によって示される更新対象のタスクに対応するタスク情報を検出する検出工程と、
前記更新情報に示される更新後のタスク構成を示す情報を、前記検出工程で検出されたタスク情報に関連付けて追加することにより前記フロー情報を更新する更新工程とを備えることを特徴とする情報処理方法。
【請求項２】
前記更新後のタスク構成が複数のタスクを有する場合、
前記更新工程は、前記検出工程で検出されたタスクが親ノードとして、前記更新後のタスク構成が有する複数のタスクを該親ノードに対する子ノードとして、前記フロー情報に登録することを特徴とする請求項１に記載の情報処理方法。
【請求項３】
前記更新後のタスク構成を示す情報は、当該タスク構成に含まれる複数のタスクの実行順を示す情報を有することを特徴とする請求項２に記載の情報処理方法。
【請求項４】
複数のタスクによる連携処理を定義したフロー情報を構成するためのタスクを表示処理する情報処理方法であって、
表示すべきタスクのタスク情報に基づいて当該タスクが複数のタスクによって細分化されているか否かを判定する判定工程と、
前記判定工程で前記タスクが細分化されていると判定された場合は第１の形態で、細分化されていないと判定された場合は前記第１の形態とは異なる第２の形態で前記タスクを表示する第１表示工程と、
前記第２の形態で表示されているタスクが指示された場合に、当該タスクを細分化する複数のタスクを表示する第２表示工程とを備えることを特徴とする情報処理方法。
【請求項５】
実行が指示されたフローに含まれるタスクについて前記第１表示工程によるタスクの表示を実行することにより、前記実行が指示されたフローを表示するフロー表示工程を更に備え、
前記第２表示工程は、前記複数のタスクの表示においてそれらの実行順を明示することを特徴とする請求項４に記載の情報処理方法。
【請求項６】
編集すべく指定されたフローに含まれるタスクについて前記第１表示工程によるタスクの表示を実行することにより、前記実行が指示されたフローを表示するフロー表示工程を更に備え、
前記第２表示工程は、前記複数のタスクの表示においてそれらの実行順を明示することを特徴とする請求項４に記載の情報処理方法。
【請求項７】
フローの作成・編集に利用可能なタスクを提示するべく、前記第１表示工程によるタスクの表示を実行するタスク提示工程を更に備え、
前記第２表示工程は、前記複数のタスクの表示においてそれらを個別に使用可能に提示することを特徴とする請求項４に記載の情報処理方法。
【請求項８】
複数のタスクによる連携処理を定義したフロー情報に従ってタスクを実行する情報処理方法であって、
フロー情報に含まれるタスク情報に従って次に実行すべきタスクを取得する第１取得工程と、
前記第１取得工程において取得されたタスク情報が複数のタスクによって細分化されているか否かを判定する判定工程と、
前記判定工程において、細分化されていると判定された場合、前記複数のタスクを取得する第２取得工程と、
前記第１或いは第２取得工程で取得されたタスクを実行する実行工程とを備えることを特徴とする情報処理方法。
【請求項９】
前記第２取得工程で取得された複数のタスクの各々について代替処理が可能か否かを判定する代替処理判定工程と、
前記代替処理判定工程で代替処理が可能と判定されたタスクについて代替処理を実行する代替処理実行工程とを更に備えることを特徴とする請求項８に記載の情報処理方法。
【請求項１０】
前記第２取得工程で取得された複数のタスクの各々について並列処理が可能か否かを判定する並列処理判定工程と、
前記並列処理判定工程で並列処理が可能と判定されたタスクについて並列処理を実行する並列処理実行工程とを更に備えることを特徴とする請求項８に記載の情報処理方法。
【請求項１１】
複数のタスクによる連携処理を定義したフロー情報を管理する情報処理装置であって、
更新対象のタスクと該タスクの更新後のタスク構成を示す更新情報を取得する取得手段と、
登録されているフロー情報から、前記更新情報によって示される更新対象のタスクに対応するタスク情報を検出する検出手段と、
前記更新情報に示される更新後のタスク構成を示す情報を、前記検出手段で検出されたタスク情報に関連付けて追加することにより前記フロー情報を更新する更新手段とを備えることを特徴とする情報処理装置。
【請求項１２】
複数のタスクによる連携処理を定義したフロー情報を構成するためのタスクを表示処理する情報処理方装置であって、
表示すべきタスクのタスク情報に基づいて当該タスクが複数のタスクによって細分化されているか否かを判定する判定手段と、
前記判定手段で前記タスクが細分化されていると判定された場合は第１の形態で、細分化されていないと判定された場合は前記第１の形態とは異なる第２の形態で前記タスクを表示する第１表示手段と、
前記第２の形態で表示されているタスクが指示された場合に、当該タスクを細分化する複数のタスクを表示する第２表示手段とを備えることを特徴とする情報処理装置。
【請求項１３】
複数のタスクによる連携処理を定義したフロー情報に従ってタスクを実行する情報処理装置であって、
フロー情報に含まれるタスク情報に従って次に実行すべきタスクを取得する第１取得手段と、
前記第１取得工程において取得されたタスク情報が複数のタスクによって細分化されているか否かを判定する判定手段と、
前記判定手段において、細分化されていると判定された場合、前記複数のタスクを取得する第２取得手段と、
前記第１或いは第２取得手段で取得されたタスクを実行する実行手段とを備えることを特徴とする情報処理装置。
【請求項１４】
複数の情報処理装置がネットワークに接続され、タスクのタスク情報と、複数のタスクによる連携処理を定義したフロー情報を登録、管理するサーバ装置を有する情報処理システムであって、
更新対象のタスクについて更新前後のタスク構成を示す更新タスク情報を生成し、前記サーバ装置へ供給する生成手段と、
前記サーバ装置において、登録されているフロー情報から、前記更新タスク情報によって示される更新対象のタスクに対応するタスク情報を検出する検出手段と、
前記更新タスク情報に示される更新後のタスク構成を示す情報を、前記検出手段で検出されたタスク情報に関連付けて追加することにより前記フロー情報を更新する第１更新手段と、
前記更新タスク情報で対応する登録されたタスクを更新する第２更新手段とを備えることを特徴とする情報処理システム。
【請求項１５】
前記サーバ装置から取得されたタスク情報を表示するにおいて、当該タスクが複数のタスクによって細分化されているか否かを該タスク情報に基づいて判定する第１判定手段と、
前記第１判定手段で前記タスクが細分化されていると判定された場合は第１の形態で、細分化されていないと判定された場合は前記第１の形態とは異なる第２の形態で前記タスクを表示する第１表示手段と、
前記第２の形態で表示されているタスクが指示された場合に、当該タスクを細分化する複数のタスクを表示する第２表示手段とを備えることを特徴とする請求項１４に記載の情報処理システム。
【請求項１６】
前記サーバ装置において、実行が指示されたフロー情報に含まれるタスク情報に従って次に実行すべきタスクを取得する第１取得手段と、
前記第１取得工程において取得されたタスク情報が複数のタスクによって細分化されているか否かを判定する第２判定手段と、
前記第２判定手段において、細分化されていると判定された場合、前記複数のタスクを取得する第２取得手段と、
前記第１或いは第２取得手段で取得されたタスクを実行する実行手段とを備えることを特徴とする請求項１３または１４に記載の情報処理システム。
【請求項１７】
請求項１乃至１０のいずれかに記載の情報処理方法をコンピュータに実行させるための制御プログラム。
【請求項１８】
請求項１乃至１０のいずれかに記載の情報処理方法をコンピュータに実行させるための制御プログラムを格納した記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はタスク連携を定義するフローの生成及びその実行に関する。
【背景技術】
【０００２】
従来より、ネットワーク接続された装置を用いて、文書データに施すべき複数の処理を連携して実行させる設定（複数の処理の連携の設定）を可能とするシステムが提案されている。また、そのような複数処理の連携の設定を、他の外部装置によって再利用する方法も提案されている。特許文献１では、複数の処理を連携する指示書データを生成し、これを他の外部装置によって再利用可能とする構成が記載されている。
【０００３】
なお、以下では、このような連携対象となる処理をタスクと称する。また、本明細書において、タスクの連携を規定する情報をジョブフロー定義情報と称する。
【特許文献１】特開２００４−２８７８６０ （図２、図５）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、たとえば、特許文献１に記載されたようなサービス処理装置においては、連携するタスクがアップデートされた際の、既存の指示書データの互換性については考慮がされていなかった。従って、例えばタスクの機能が細分化され、それまで一つのタスクで実現されていた機能が複数のタスクで実現されるような更新が行われた場合、管理者は指示書データを手動で変更しなければならなくなってしまう。また、連携するタスクがアップデートされた際に、新しいバージョンの組み合わせによる指示書データ（ジョブフロー定義情報）の作成を管理者が容易に行えることが要求されている。
【０００５】
本発明は上記の課題に鑑みてなされたものであり、タスクのアップデートに応じてジョブフロー定義情報を自動的に更新することを可能とし、タスク連携処理システムの使い勝手を向上することを目的とする。
【課題を解決するための手段】
【０００６】
上記の目的を達成するための本発明による情報処理方法は、
複数のタスクによる連携処理を定義したフロー情報を管理する情報処理方法であって、
更新対象のタスクと該タスクの更新後のタスク構成を示す更新情報を取得する取得工程と、
登録されているフロー情報から、前記更新情報によって示される更新対象のタスクに対応するタスク情報を検出する検出工程と、
前記更新情報に示される更新後のタスク構成を示す情報を、前記検出工程で検出されたタスク情報に関連付けて追加することにより前記フロー情報を更新する更新工程とを備える。
【０００７】
また、上記の目的を達成するための本発明の他の態様による情報処理方法は、
複数のタスクによる連携処理を定義したフロー情報を構成するためのタスクを表示処理する情報処理方法であって、
表示すべきタスクのタスク情報に基づいて当該タスクが複数のタスクによって細分化されているか否かを判定する判定工程と、
前記判定工程で前記タスクが細分化されていると判定された場合は第１の形態で、細分化されていないと判定された場合は前記第１の形態とは異なる第２の形態で前記タスクを表示する第１表示工程と、
前記第２の形態で表示されているタスクが指示された場合に、当該タスクを細分化する複数のタスクを表示する第２表示工程とを備える。
【０００８】
また、上記の目的を達成するための本発明の他の態様による情報処理方法は、
複数のタスクによる連携処理を定義したフロー情報に従ってタスクを実行する情報処理方法であって、
フロー情報に含まれるタスク情報に従って次に実行すべきタスクを取得する第１取得工程と、
前記第１取得工程において取得されたタスク情報が複数のタスクによって細分化されているか否かを判定する判定工程と、
前記判定工程において、細分化されていると判定された場合、前記複数のタスクを取得する第２取得工程と、
前記第１或いは第２取得工程で取得されたタスクを実行する実行工程とを備える。
【０００９】
また、上記の目的を達成するための本発明の他の態様による情報処理システムは、
複数の情報処理装置がネットワークに接続され、タスクのタスク情報と、複数のタスクによる連携処理を定義したフロー情報を登録、管理するサーバ装置を有する情報処理システムであって、
更新対象のタスクについて更新前後のタスク構成を示す更新タスク情報を生成し、前記サーバ装置へ供給する生成手段と、
前記サーバ装置において、登録されているフロー情報から、前記更新タスク情報によって示される更新対象のタスクに対応するタスク情報を検出する検出手段と、
前記更新タスク情報に示される更新後のタスク構成を示す情報を、前記検出手段で検出されたタスク情報に関連付けて追加することにより前記フロー情報を更新する第１更新手段と、
前記更新タスク情報で対応する登録されたタスクを更新する第２更新手段とを備える。
【発明の効果】
【００１０】
タスクのアップデートに応じてジョブフロー定義情報を自動的に更新することが可能となり、タスク連携処理システムの使い勝手が向上する。
【発明を実施するための最良の形態】
【００１１】
以下、添付の図面を参照して本発明の好適な実施形態について説明する。
【００１２】
まず、本発明を適用可能なシステム構成、およびアプリケーション構成について説明する。
【００１３】
＜システム構成＞
図１は本実施形態によるタスク連携処理システムの全体構成を示す図である。タスク連携処理システムは、印刷処理装置や情報処理装置から印刷処理装置のタスクを含むさまざまなタスクを連携実行可能なシステムである。
【００１４】
なお、本実施形態におけるタスクとは、文書データに対して実行可能な処理のことを示している。たとえば、印刷処理装置のタスクとしては、文書データのコピー、スキャン、Ｆａｘ送信、印刷処理装置内のハードディスクへの保存、メール送信等を挙げることができる。もちろん、本発明に適用可能なタスクはこれらに限定されるものではない。また、本タスク連携処理システムでは、上記タスクを提供する印刷処理装置の他、さまざまなタスクを提供可能な複数のアプリケーションとも連携可能である。本実施形態では、タスクを実行可能な印刷処理装置及びアプリケーションをタスク処理装置と定義する。なお、タスクを実行可能なアプリケーションを実行する装置としては、例えばパーソナルコンピュータ等の情報処理装置が挙げられる。
【００１５】
タスク連携処理システムは、管理サーバ１１、クライアントＰＣ１２、タスク一覧ＤＢ１３、アプリＡ１４、アプリＢ１５、印刷処理装置Ａ１６及び印刷処理装置Ｂ１７を含み、それぞれネットワーク１８で接続されている。なお、アプリＡ１４は情報処理装置１９によって実行されるアプリケーションＡを、アプリＢ１５は情報処理装置１９によって実行されるアプリケーションＢを表している。また、アプリケーション及び印刷処理装置の数は図示のものに限定されるものではない。また、タスク一覧ＤＢ１３はアプリケーション毎に用意するもしくは印刷処理装置のタスク管理とは別にするなど、その形態に関しては何等限定されるものではない。また、アプリＡ１４及びアプリＢ１５を実行する情報処理装置は別々の装置であってもよい。ただし、以下では、図１に示されるように、２つのアプリケーション（アプリＡ１４、アプリＢ１５）及び２台の印刷処理装置（印刷処理装置Ａ１６、印刷処理装置Ｂ１７）が接続されているタスク連携処理システムを用いて説明する。
【００１６】
管理サーバ１１はアプリＡ１４、アプリＢ１５、印刷処理装置Ａ１６、印刷処理装置Ｂ１７の各タスク処理装置の管理を行い、各タスク処理装置の実行可能なタスクをタスク一覧ＤＢ１３で管理する。また、クライアントＰＣ１２は、タスク一覧ＤＢ１３に登録されたタスクから実行可能な所望のタスクを管理サーバ１１を介して取得し、それらを用いてジョブフローを作成する。なお、ジョブフローは複数のタスクを組み合わせて得られる一連の処理を表している。ジョブフローとは、１つのジョブとして実行する単位、即ち、複数タスクを連続実行する単位である。作成されたジョブフローは管理サーバ１１上で管理され、印刷処理装置Ａ１６や印刷処理装置Ｂ１７或いはネットワーク１８に接続された各種装置（不図示）から実行することができる。
【００１７】
＜動作フロー＞
図２Ａ、図２Ｂは新規アプリケーション（ジョブフローに利用可能なタスクを含むアプリケーション）の追加からジョブフローの実行までの本実施形態１のタスク連携処理システムの動作フローを示している。なお、図２ＡはクライアントＰＣ１２を介してアプリケーションの登録を行う系を示し、図２ＢはクライアントＰＣ１２を介さずにアプリケーションの登録を行う系を示している。
【００１８】
まず、クライアントＰＣ１２を介して、アプリケーションの登録を行う場合（図２Ａ）を、アプリＢ１５が新規追加されたものとして説明する。クライアントＰＣ１２は新規追加されたアプリＢ１５のタスクインターフェース（Ｉ／Ｆ）情報をアプリＢ１５から取得（２１）する。タスクＩ／Ｆ情報には例えば当該タスクが必要とする入力データ、当該タスクの実行により得られる出力データの定義が含まれている。次にクライアントＰＣ１２から管理サーバ１１に対して、取得したタスクＩ／Ｆ情報を含めたアプリ情報を送信（２２）し、当該アプリの登録を要求する。アプリ情報とその登録要求を受け取った管理サーバ１１は、タスク一覧ＤＢ１３へアプリＢ１５のタスク情報の登録（２３）を行う。この際、管理サーバ１１はタスクＩ／Ｆ情報に基づいて図３で後述するようなタスク定義情報を生成し、これをタスク一覧ＤＢ１３に登録する。こうしてアプリＢ１５によって実行可能なタスクがタスク一覧ＤＢ１３に登録される。
【００１９】
以上のような登録処理が完了した後、アプリＢ１５のタスクを含むジョブフローを作成することができるようになる。ジョブフローの作成は、例えばクライアントＰＣ１２により行われる。ジョブフローの作成において、クライアントＰＣ１２は、管理サーバ１１を介してタスク一覧ＤＢ１３に登録されているタスク一覧を参照（２４）し、所望のタスクを組み合わせてジョブフローの作成及び登録（２５）を行う。登録されたジョブフローは管理サーバ１１上で管理される。
【００２０】
ジョブフローの登録完了後、管理サーバ１１の管理する印刷処理装置からジョブフローを実行することができる。例えば、印刷処理装置Ａ１６は管理サーバ１１で管理されているジョブフロー一覧を参照（２６）することができる。ジョブフローを実行させたいユーザ２０は、印刷処理装置Ｂ１６から所望のジョブフローを選択し、これを実行（２７）させる。ジョブフローの実行依頼を受け取った管理サーバ１１はジョブフロー内のタスクを実行可能なタスク処理装置へタスク実行依頼（２８）を行い、選択されたジョブフローを実行する。なお、ジョブフロー内のタスクをどのタスク処理装置で実行するか、タスク名等はタスク定義情報としてタスク一覧ＤＢ１３内で管理されるものとするが、その詳細は図３で説明する。
【００２１】
一方、クライアントＰＣ１２を介さずに、アプリケーションの登録を行う場合は図２Ｂのように動作する。図２Ａとの差異は、管理サーバ１１が新規追加アプリケーション（アプリＢ１５）のタスクＩ／Ｆ情報を、直接アプリＢ１５から取得（２９）する点である。従って、図２Ｂでは、アプリＢ１５からクライアントＰＣ１２へのタスクＩ／Ｆ情報の登録（２１）とクライアントＰＣ１２から管理サーバ１１へのアプリ登録（２２）は存在しない。その他の動作フローに関しては図２Ａと同様である。
【００２２】
＜タスク定義情報＞
図３は本実施形態において、タスク一覧ＤＢ１３へタスク情報を登録（タスク登録（２３））する際のタスク定義情報を図示している。タスク定義情報は、タスク名３１、タスク処理装置３２、属性情報３３、入力データ３４、出力データ３５を含む。タスク名３１は、当該タスクのタスク名を表す。タスク処理装置３２は当該タスクを実行可能なタスク処理装置を示す。属性情報３３は、当該タスクを実行する際に必要となる属性情報を表している。入力データ３４は、当該タスクを実行するのに必要な入力データを表す。出力データ３５は、当該タスクの実行により出力される出力データを表す。入力データ３４、出力データ３５は、それぞれ複数種類のデータを定義することができる。なお、タスク定義情報の記述形式に関しては特に図３のものに限定されるものではない。
【００２３】
＜ジョブフロー定義情報＞
次に、クライアントＰＣ１２によって生成され、管理サーバ１１に登録されるジョブフローの定義情報（ジョブフロー定義情報）について説明する。図４Ａ，図４Ｂは本実施形態によるジョブフロー定義情報を説明する図である。
【００２４】
図４Ａは、本実施形態によるジョブフロー定義情報を説明するために、ジョブフロー定義情報を模式的に示したものである。図４Ａの例では、タスク４１（Task1）を実行後、タスク４２（Task2）及びタスク４３（Task3）を並列処理し、その後、タスク４４（Task4）を実行して終了するジョブフローとなっている。
【００２５】
図４Ｂは図４Ａに例示したジョブフロー定義情報をＸＭＬ形式で示したものである。本実施形態では、タスクの実行順序を定義するため、ＸＭＬ内にtaskタグが用意され、該タスクの前に実行するタスク名がbeforeタグに、該タスクの後に実行するタスク名がafterタグに記述される。また、タスク定義情報内にタスクの属性に関する情報（図３の属性情報）が定義されている場合は、propertyタグ内に該当する情報を記述する。上記定義をジョブフロー内に定義されているタスク分記述することによってジョブフロー定義情報が完成する。なおジョブフロー定義情報の記述は、タスク間の前後関係を明記できるものであれば、上記のようなＸＭＬ形式に限定するものではない。
【００２６】
なお、ユーザは、ジョブフロー作成エディタを用いて上記のようなジョブフロー定義情報を作成できる。ジョブフロー作成エディタは、例えばクライアントＰＣ１２上で稼動し、タスク一覧ＤＢ１３に格納されたタスクをアイコンで提示する。ユーザは、ジョブフロー作成エディタを用いて、所望のタスクに対応するアイコンを図４Ａのように配置することでジョブフローを作成する。ジョブフロー作成エディタは図４Ａのようにジョブフローが作成されると、図４Ｂに示されるようなジョブフロー定義情報を生成し、これを後の利用のために登録する。
【００２７】
＜アプリケーションの更新に伴うタスクの分割＞
図５は、本実施形態のジョブフロー定義のアプリケーションのバージョンアップ（更新）前後における変化を示す図である。図５では、アプリケーションの更新によるタスクの分割が示されている。図５において、５０１はアプリケーション更新前のジョブフロー定義情報を模式的に示したものであり、５０２はアプリケーション更新後のジョブフロー定義情報を模式的に示したものである。図５において、Task2は更新によりTask2_1とTask2_2に細分化されている。そして、ジョブフロー５０１におけるTask2は、ジョブフロー５０２におけるTask2-1とTask2-2を併せたものと同じであることが示されている。
【００２８】
＜アプリケーションの更新に伴うジョブフローの自動更新＞
図６は、本実施形態のタスク連携処理システムにおけるアプリケーション更新処理を説明するフローチャートである。
【００２９】
ステップＳ６０１は、図１におけるアプリＡ１４またはアプリＢ１５の更新を示している。更新されたアプリケーションは、管理サーバ１１に対して、更新後のタスクインターフェイス（Ｉ／Ｆ）情報を送信する。ステップＳ６０２において、管理サーバ１１は、送信されたタスクＩ／Ｆ情報を受信する。そして、ステップＳ６０３において、管理サーバ１１は、ジョブフロー定義情報をステップＳ６０２で受信したタスクＩ／Ｆ情報に基づいて自動的に更新する。ステップＳ６０４において、管理サーバ１１は、ステップＳ６０３で更新されたジョブフロー定義情報を保存し、ステップＳ６０２で受信したタスクＩ／Ｆ情報に基づいてタスク一覧ＤＢ１３のタスクを更新する。
【００３０】
図１３Ａは、本実施形態によるアプリケーションが持つタスクＩ／Ｆ情報の記述例を示す図である。図１３Ａでは、アプリＡ１４によるバージョン１．０のタスクＩ／Ｆ情報が示されているが、アプリＢ１５も同様のタスクＩ／Ｆ情報を有する。
【００３１】
１３０１は、図１のアプリＡ１４における、バージョン１．０のタスクＩ／Ｆ情報を示している。記述１３０２は、アプリＡ１４が持つアプリケーションの名称（application name）、識別子（id）、バージョン番号（version）を記述する。記述１３０２の例では、アプリＡ１４のアプリケーションの名称はApplication_A、識別子は０００２、バージョン番号は１．０であることが表現されている。記述１３０３は、アプリＡ１４で定義されているタスクの名称（task_name）、そのタスクの識別子（id）、順序番号（order）を示している。記述１３０３では、タスク名がtask_A、識別子が０００１、順序番号が０となっている。更に、記述１３０４は、記述１３０３で示されたタスク（task_A）が持つ属性情報を示している。この属性情報は、タスクによっていくつ持たれてもよい。なお、順序番号は、分割したタスクの処理を確保するために保持されている。例えば、図５に示したようにTask2が分割された場合に、Task2-1→Task2-2の順に処理が流れるようにさせる順序の記述のために設けられている（図１３Ｂ参照）。
【００３２】
以上のタスクＩ／Ｆ情報の記述は、アプリケーション毎にアプリケーション自身が持つタスクの名称、識別子、順序番号が管理できればよく、上述したようなＸＭＬ記述に限定されるものではない。
【００３３】
図１３Ｂは、図１３Ａに示したタスクＩ／Ｆ情報の更新後のタスクＩ／Ｆ情報１３１０の記述例を示す図である。記述１３１１は、図１３Ａの記述１３０２に対応しており、Application_Aのバージョンが２．０であることが示されている。記述１３１２は、記述１３０３に対応しており、更新後のタスクＩ／Ｆ情報１３１０では、更新前のTask_Aとの互換性を保つために、親ノードとして存在している。記述１３１３及び記述１３１５は、記述１３１２に記述されたTask_Aの子ノードとしてTask_A_1及びTask_A_2が存在することを表現している。記述１３１３，１３１５において、タスクの名称（task_name）、識別子（id）、順序番号（order）が示されることは、記述１３０３と同様である。
【００３４】
記述１３１４，１３１６は、記述１３１３，１３１５によって表現された各タスクにおける属性情報を表現している。この属性情報はタスクによっていくつ持たれてもよい。なお、このタスクＩ／Ｆ情報の記述は、アプリケーション毎にタスクの名称、識別子（ＩＤ）、順序番号が管理できればよく、ＸＭＬに限定されるものではない。
【００３５】
図１４Ａは、本実施形態によるジョブフロー定義情報を表現した例を示している。ジョブフロー定義情報１４０１は、図１の管理サーバ１１において管理されているジョブフロー定義情報の一例を示している。beforeタグ、afterタグによるタスクの接続関係の記述は図４Ｂにより上述したとおりである。
【００３６】
記述１４０２は、ジョブフロー定義情報を構成するタスクの情報を示しており、アプリケーションの識別子（app_id）、アプリケーションで定義されるタスクの識別子（task_id）で構成される。記述１４０２では、識別番号が０００２のアプリケーションにおける識別番号が０００１のタスク（図１３Ａ，Ｂのtask_A）をtask1として記述している。なお、タスクの記述においては、記述１４０３に示すように属性情報を記述することもできる。ジョブフロー定義１４０１において記述１４０２より始まるタスクの情報は、図１３Ａにおける記述１３０３で表現されたタスクを定義しているものである。このようなジョブフロー定義情報の記述は、タスクの前後関係およびアプリケーション、タスクの識別子が管理できるものであればよく、ＸＭＬに限定されるものではない。
【００３７】
図１４Ｂは、図１４Ａに示したジョブフロー定義情報の更新後のジョブフロー定義情報を示す図である。即ち、図１３Ｂに示したアプリケーションの更新に基づいて、管理サーバ１１が図１４Ａのジョブフロー定義情報を自動更新することにより得られるジョブフロー定義情報の例を示している。
【００３８】
記述１４１１は、ジョブフロー定義情報を構成するタスクの情報を示しており、記述１４０２に対応し、アプリケーションの識別子、アプリケーションで定義されるタスクの識別子を含む。また、記述１４１１には、対応するアプリケーションが更新されたことを示す更新フラグ（updated=“true”）が記述されている。図１４Ｂにおける記述１４１１は、図１４Ａに示したジョブフロー定義情報との互換性を保つために、親ノードとして存在している。記述１４１２，１４１３で示されるタスクは記述１４１１で示されるタスク（親ノード）の子ノードとして表現され、記述１４１１で示されるタスクは、記述１４１２，１４１３で示されるタスクで構成されることを示している。なお、このジョブフロー定義情報の更新は、図１３Ｂに示した更新後のタスクＩ／Ｆ情報に基づいてなされている。このように、更新前のタスクを示す記述１４１１に関連付けて、図１３Ｂに示される当該タスクの更新後のタスクの構成の記述１４１２，１４１３を追加登録することによりジョブフロー定義情報が更新される。また、記述１４１２，１４１３のタスクはそれぞれ記述１４１４，１４１５で表される属性情報を持つこともできる。この属性情報は、タスクによっていくつ持たれてもよい。
【００３９】
以上説明した本実施形態のジョブフロー定義情報の記述は、タスクの前後関係およびアプリケーション、タスクの識別子が管理できるものであればよく、ＸＭＬに限定されるものではない。
【００４０】
図７は、本実施形態による、ジョブフロー定義の自動更新処理を示すフローチャートである。
【００４１】
タスク処理装置においてアプリケーション（例えば図１のアプリＡ１４）が更新され、タスクＩ／Ｆ情報が更新されると（ステップＳ７０１）、更新後のタスクＩ／Ｆ情報が管理サーバ１１に送信される（ステップＳ７０２）。これらステップＳ７０１、Ｓ７０２の処理は、図６のステップＳ６０１に対応する。
【００４２】
ステップＳ７１１において、管理サーバ１１は、ステップＳ７０２で送信された更新後のタスクＩ／Ｆ情報（例えば、図１３Ｂに示されるタスクＩ／Ｆ情報）を受信する。更新後のタスクＩ／Ｆ情報を受信した管理サーバ１１は、ステップＳ７１２移行の処理を実行する。なお、ステップＳ７１１は図６のステップＳ６０２に、ステップＳ７１２〜Ｓ７１８は図６のステップＳ６０３に、ステップＳ７１９は図６のステップＳ６０４にそれぞれ対応している。
【００４３】
ステップＳ７１２〜Ｓ７１７において、管理サーバ１１は、自身が管理しているジョブフロー定義情報の全てについてステップＳ７１３〜Ｓ７１６の処理を実行する。即ち、Ｓ７１２とＳ７１７は、管理サーバ１１が管理するジョブフロー定義情報の数だけステップＳ７１３〜Ｓ７１６の処理を繰り返すことを示している。
【００４４】
ステップＳ７１３において、管理サーバ１１は、注目しているジョブフロー定義情報と、ステップＳ７１１で受信したタスクＩ／Ｆ情報とを比較し、更新されたタスクを検出する。そして、タスクが検出された場合には、その検出されたタスクをステップＳ７１１で受信したタスクＩ／Ｆ情報に基づいて自動更新する。なお、ステップＳ７１３の処理については図８により後述する。ステップＳ７１３の処理においてジョブフロー定義情報が更新された場合は、ステップＳ７１４からステップＳ７１５へ進み、当該更新されたジョブフロー定義情報を保存する。
【００４５】
例えば、ステップＳ７１１において図１３Ｂに示される更新後のタスクＩ／Ｆ情報を受信し、ステップＳ７１３で注目しているジョブフロー定義情報が図１４Ａのものであったとする。この場合、図１４Ａのジョブフロー定義情報における「task1」が図１３ＢのタスクＩ／Ｆ情報の「taskA」に対応し、両者の対比からタスクが更新されていることがわかる。なお、task1とtaskAとの対応は、アプリケーションＩＤとタスクＩＤ（どちらもアプリケーションＩＤ＝０００２，タスクＩＤ＝０００１である）により認識可能である。この場合、ステップＳ７１３でジョブフロー定義情報のtask1に関する情報が更新され、更新されたジョブフロー定義情報が保存されることになる（Ｓ７１４，Ｓ７１５）。
【００４６】
以上のようにして、ジョブフロー定義情が自動更新される。そして、ステップＳ７１６において、更新したジョブフロー定義情報の数を＋１する。
【００４７】
ステップＳ７１２〜Ｓ７１７による処理を終えると、ステップＳ７１８へ進む。ステップＳ７１８では、タスク一覧ＤＢ１３を更新し、新しいタスクが利用可能であることをタスク連携システム内の全てのタスク処理装置に通知する。そして、ステップＳ７１９において、管理サーバ１１は、ステップＳ７１２〜Ｓ７１７の処理によって更新されたジョブフロー定義情報を外部より利用可能に保存し、また、タスク連携システム内の各タスク処理装置へ配信する。ただし、更新されたタスクが存在しない場合、すなわちステップS716で更新される更新カウントが０の場合は、ステップＳ７１８、Ｓ７１９における通知、配信は行われない。
【００４８】
図８は、管理サーバ１１によるジョブフロー定義の自動更新処理を示す詳細フローチャートである。図８のフローチャートは図７のステップＳ７１３の処理を詳細に示したものである。
【００４９】
ステップＳ８０１において、管理サーバ１１は、ジョブフロー定義情報を展開する。次にステップＳ８０２〜Ｓ８０７において、管理サーバ１１は、当該ジョブフロー定義情報に含まれている全タスクについてステップＳ８０３〜Ｓ８０６に示される処理を実行する。
【００５０】
まず、ステップＳ８０３において、管理サーバ１１は、ジョブフロー定義情報内のタスクと、更新されたタスクＩ／Ｆ情報（ステップＳ７１１で受信したタスクＩ／Ｆ情報）で定義されているタスクを比較する。この比較において、注目されているタスクが新バージョンのタスクに対応し、注目されているタスクと新バージョンのタスクの間で子ノードの構成に変化があるかどうかが判定される。例えば、図１３ＢのタスクＩ／Ｆ情報におけるtaskAと図１４Ａのジョブフロー定義情報におけるtask1は、どちらもid=0002のアプリケーションにおけるid=0001のタスクであり、対応している。そして、図１３Ｂの更新後のtaskAは２つの子ノード（task_A_1とtask_A_2）を持つが、図１４Ａのジョブフロー定義情報のtask1には子ノードが存在しない。即ち、子ノードに変化が生じている。このように子ノードの構成が変化した場合、処理はステップＳ８０４へ進む。
【００５１】
ステップＳ８０４では、ジョブフロー定義情報における当該タスクを、更新されたタスクの子ノードに基づいて更新する。上記図１４Ａと図１３Ｂの例では、図１４Ａのtask1の内容に図１３Ｂの子ノード（task_A_1とtask_A_2）が追加される。そして、管理サーバ１１は、ステップＳ８０５において、ステップＳ８０４で追加された子ノードに対して属性情報を移動する。すなわち、更新されたタスクＩ／Ｆ情報において細分化された各タスクに付与されている属性情報を記述する。そして、ステップＳ８０６においてステップＳ８０４及びステップＳ８０５で更新したタスクに更新フラグを立てる。より具体的には、図１４Ｂの記述１４１１に示すように、子ノードに関して更新を行った親ノードのタスクに対して、更新フラグ（update=“true”）をセットする。
【００５２】
上記処理を当該ジョブフロー定義情報に含まれる全てのタスクについて実行すると、処理はステップＳ８０２〜Ｓ８０７のループを抜け、上述した図７のステップＳ７１４へ進むことになる。
【００５３】
なお、上記ステップＳ８０３において、子ノードの構成の変化として、子ノードがゼロの状態から子ノードが２つの状態に変化した状態（図１３Ｂ，図１４Ａ）を示したがこれに限られるものではない。例えば子ノードの数が２つから３つに変化した場合等も検出可能であることはいうまでもない。
【００５４】
以上説明したように、図１３Ａで表されるようなアプリケーションのタスクＩ／Ｆ情報が図１３Ｂに表されるように更新された場合、図１４Ａで表されるジョブフロー定義情報が図１４Ｂで表されるように更新される。このように、アプリケーションの更新により機能が細分化された場合であっても、互換性を保ちつつ自動で更新されるので利便性が向上する。
【００５５】
＜更新されたジョブフローの実行＞
図９は、本実施形態による、新バージョンのジョブフロー定義情報によって、タスクを実行する処理を示すフローチャートである。以下では、図１４Ｂに示したジョブフロー定義情報を実行する場合を例に挙げて説明する。
【００５６】
ステップＳ９０１において、管理サーバ１１は、ジョブフロー定義情報を展開する。このとき、タスクの実行順序がbeforeタグやafterタグにより決定される。そして、管理サーバ１１は、ステップＳ９０２〜Ｓ９０６の処理を、ステップＳ９０１で展開したジョブフロー定義情報内にあるタスクの数だけ繰り返す。ただし、ステップＳ９０１で決定された実行順序でタスクを選択し、ステップＳ９０３〜Ｓ９０５の処理を実行するものとする。まず、ステップＳ９０３において、管理サーバ１１は、ジョブフロー定義内のタスクが、子ノードのタスクを持つか否か（すなわち、タスクが細分化されているか否か）を判定する。子ノードのタスクを有する場合は、ステップＳ９０４へ進み、タスクが実行されるアプリケーションまたは印刷処理装置に対して、子ノードのタスクを実行するよう命令を出す。なお、図１４Ｂに示されるように、子ノードの実行順序は順番情報に従うものとする。すなわち、図１４Ｂの場合、task1の実行に際しては、task1_1→task1_2の順で子ノードが実行されることになる。
【００５７】
ただし、子ノードの実行順序の指定は上記の方法に限られるものではない。たとえば、図４Ｂ等で説明した〈before〉タグや〈after〉タグを利用して子ノードの実行順を指定するようにしてもよい。これらのタグを用いて実行順序を指定するようにすれば、図４Ａに示されるような並列処理を含む子ノードの実行順序を指定できるようになる。
【００５８】
＜アプリケーション更新に伴う並列処理＞
図１３Ｃは、本実施形態によるアプリケーションが持つタスクＩ／Ｆ情報を表現した例である。図１３Ｃに示されるタスクＩ／Ｆ情報は、図１３ＢのタスクＩ／Ｆ情報にいくつかの情報を追加したものである。
【００５９】
図１３Ｃに示されるタスクＩ／Ｆ情報１３２０において、記述１３２１は、アプリＡ１４が持つアプリケーションの名称、識別子、バージョン番号を表現している。記述１３２２は、アプリＡ１４で定義されているタスクの名称、識別子、順序番号を示している。この場合の記述１３２２は、互換性を保つために、親ノードとして存在している。記述１３２３および１３２５は、記述１３２２のタスク（親ノード）の子ノードとして存在するタスクを示している。これらの記述により、タスク１３２２はタスク１３２３及びタスク１３２５で構成されることが表現されている。
【００６０】
記述１３２３は、図１４Ｂの記述１３１３と同様のタスク名称、識別子、順序番号に加えて、代替識別子（alternative）、並列処理可能フラグ（parallel）を有する。これらの情報により、ジョブフロー定義情報の作成時に、タスクの代替処理、並列処理が可能となる。記述１３２４、１３２６は、記述１３２３、１３２５で表されるタスクにおける属性情報を表現している。この属性情報はタスクによっていくつ持たれてもよい。このタスクＩ／Ｆ情報の記述は、アプリケーション毎に持つタスクの名称、識別子、順序番号、代替識別子、並列処理可能フラグが管理できればよく、ＸＭＬに限定されるものではない。
【００６１】
図１４Ｃは、本実施形態によるジョブフロー定義情報の一例を示す図である。ジョブフロー定義情報１４２０は、アプリケーションの更新によって通知されたタスクＩ／Ｆ情報に基づいて、管理サーバ１１が図１４Ａに示すジョブフロー定義情報１４０１を更新したものである。
【００６２】
記述１４２１は、ジョブフロー定義情報を構成するタスクを示しており、記述１４１１と同様にアプリケーションの識別子、アプリケーションで定義されるタスクの識別子、更新フラグで構成される。この場合の記述１４２１によって表されるタスクは、互換性を保つために、親ノードとして存在している。記述１４２２，１４２３で示されるタスクは記述１４２１が表すタスク（親ノード）の子ノードとして表現される。記述１４２１が表すタスクは、記述１４２２，１４２３が表すタスクで構成されることが示されている。
【００６３】
図１４Ｃのジョブフロー定義情報１４２０において、子ノードのタスクの記述は、アプリケーションの識別子、アプリケーションで定義されるタスクの識別子といった情報に加え、代替識別子、並列処理フラグを持つ。この点で、図１４Ｂの記述１４１２，１４１３と異なる。また、図１４Ｂのジョブフロー定義情報１４１０と同様に、記述１４２２，１４２３によって示されるタスクはそれぞれ記述１４２４，１４２５の如き属性情報を持つこともできる。この属性情報は、タスクによっていくつ持たれてもよい。なお、このジョブフロー定義情報の記述は、タスクの前後関係およびアプリケーション、タスクの識別子および、代替識別子、並列処理可能フラグが管理できるものであればよく、ＸＭＬに限定されるものではない。
【００６４】
＜代替処理＞
図１０は、本実施形態による、新バージョンのジョブフロー定義情報によって、代替のタスクが実行されるフローチャートを示している。例えば、パーソナルコンピュータ等の汎用コンピュータ上のソフトウエアによってで実行されていたタスクが、バージョンアップにより複合機などの専用のハードウエアで行えるようになった場合、そのタスクには代替タスクが存在することになる。バージョンアップによりこのような代替タスクが存在するようになった場合、図１４Ｃの記述１４２２に示されるように、alternative=“0010”として明示される。図１４Ｃの例では、従前のtask1が２つの子ノード、すなわちtask1_1とtask1_2に細分化され、task1_1には代替タスクが存在することが示されている。なお、alternative=“0010”の0010はid=0010のタスクが代替タスクであることを示している。また、alternativeにおいてアプリケーションＩＤを指定するようにすれば、アプリケーションにまたがって代替タスクを指定することができる。すなわち、alternativeで指定されるｉｄはシステムで一意にタスクを特定するものであり、alternativeにより所定の複合機の所定のタスクが一意に決定される。
【００６５】
ステップＳ１００１において、管理サーバ１１は、実行すべきジョブフロー定義情報を展開する。ステップＳ１００２〜Ｓ１００２’の処理は、ステップＳ１００１で展開したジョブフロー定義情報内にあるタスクの数だけ繰り返される。ステップＳ１００３において、管理サーバ１１は、ジョブフロー定義内のタスクが、子ノードのタスクを持つか否かを判定する。子ノードを持つと判定された場合、ステップＳ１００４へ進み、管理サーバ１１は、子ノードのタスクが代替可能か否かを判定する。代替可能と判定された場合、処理はステップＳ１００５へ進む。ステップＳ１００５において、管理サーバ１１は、タスクが実行されるアプリケーションまたは印刷処理装置に対して、代替となる子ノードのタスクを実行するよう命令を出す。
【００６６】
一方、ステップＳ１００４にて代替不可と判定された場合は、ステップＳ１００６へ進む。ステップＳ１００６において、管理サーバ１１は、タスクが実行されるアプリケーションまたは印刷処理装置に対して、当該子ノードのタスクを実行するよう命令を出す。ステップＳ１００３で注目しているタスクに子ノードが存在しないと判定された場合、処理はステップＳ１００７に進む。ステップＳ１００７において、管理サーバ１１は、タスクが実行されるアプリケーションまたは印刷処理装置に対して、タスクを実行するよう命令を出す。
【００６７】
＜並列処理＞
図１１は、本実施形態による、新バージョンのジョブフロー定義情報によって、タスクが並列で実行される処理を示すフローチャートである。あるタスクを複数のタスク処理装置（ＰＣ或いは複合機等）によって並列に実行できるようにすれば、大量の処理を要するタスクであっても、その実行時間を短くすることができる。例えば、大量の画像ファイルを圧縮する処理などは、画像ファイルを複数のタスク（タスク処理装置）で並列に処理することによって処理時間を短くすることができる。このように複数のタスク処理装置でタスクを実行することを並列処理という。例えばバージョンアップによってタスクが細分化されることによって並列処理が可能となる場合がある。バージョンアップによりこのような並列処理が可能となった場合、図１４Ｃの記述１４２３に示されるように、parallel=“true”として並列処理可能であることが明示される。
【００６８】
ステップＳ１１０１において、管理サーバ１１は、ジョブフロー定義情報を展開する。ステップＳ１１０２〜Ｓ１１０２’の処理は、ステップＳ１１０１で展開したジョブフロー定義情報内にあるタスクの数だけ繰り返される。ステップＳ１１０３において、管理サーバ１１は、ジョブフロー定義内のタスクが、子ノードのタスクを持つか否かを判定する。ステップＳ１１０３において子ノードのタスクを持つと判定された場合、処理はステップＳ１１０４へ進む。ステップＳ１１０４において管理サーバ１１は、子ノードのタスクが並列処理可能か否かを判定する。並列処理が可能と判定された場合、処理はステップＳ１１０５へ進む。ステップＳ１１０５において、管理サーバ１１はタスク一覧ＤＢ13を参照して、タスクが実行されるアプリケーションまたは印刷処理装置に対して、並列処理される子ノードのタスクを実行するよう命令を出す。一方、ステップＳ１１０４において並列処理不可と判定された場合、処理はステップＳ１１０６へ進む。ステップＳ１１０６において、管理サーバ１１は、タスクが実行されるアプリケーションまたは印刷処理装置に対して、子ノードのタスクを実行するよう命令を出す。また、ステップＳ１１０３において子ノードを持たないと判定された場合は、ステップＳ１１０７において、管理サーバ１１は、タスクが実行されるアプリケーションまたは印刷処理装置に対して、タスクを実行するよう命令を出す。
【００６９】
以上説明したように、図１３ＡのアプリケーションのタスクＩ／Ｆ情報が図１３ＣのタスクＩ／Ｆ情報に更新された際に、図１４Ａのジョブフロー定義情報が図１４Ｃの新バージョンのジョブフロー定義情報に更新される。このように、機能が細分化された場合でも、互換性を保ちつつ自動で更新され、さらに、代替処理や並列処理が可能となり、利便性および作業効率が向上する。
【００７０】
＜実行ユーザインタフェース＞
図１２Ａは、本実施形態による、ジョブフローの実行時のユーザインタフェイス（ＵＩ）の例を示す図である。
【００７１】
ジョブフロー処理ウィンドウ１２０１は、ジョブフローの実行を指示した装置、例えば印刷処理装置Ａ１６または印刷処理装置Ｂ１７において表示される。このジョブフロー処理ウィンドウ１２０１は、印刷処理装置ジョブフロー定義情報内のタスクであるTask1〜Task4に対応するタスクアイコン１２０２〜１２０５をジョブフローに従って表示する。またこれとともに、現在処理を行っているタスクが識別可能に表示される。ボタン１２０６は、ジョブフロー処理ウィンドウ１２０１を閉じる機能を提供する。
【００７２】
図１２Ｂは、本実施形態による、ジョブフロー定義情報の自動更新後の、ジョブフローの実行時における、ユーザインタフェイス（ＵＩ）の例を示す図である。
【００７３】
ジョブフロー処理ウィンドウ１２０１は、印刷処理装置１６または１７において、印刷処理装置ジョブフロー定義情報内のタスクに対応したタスクアイコン１２０２’、１２０３〜タスク１２０５を表示している。また、現在処理を行っているタスクを識別可能に表示する点は図１２Ａと同様である。ただし、タスクアイコン１２０２’は、タスクの階層を辿ることが可能であることが識別可能に表示されている。例えば、上述したように、図１４Ａから図１４Ｂへとジョブフロー定義情報が更新されると、更新されたタスク（Task1）は子ノードのタスクを持つようになる。従って、ジョブフロー処理ウィンドウ１２０１では、更新されたタスク（Task1）に対応するタスクアイコン１２０２’は、点滅または色を変えるといった方法により、タスクの階層を辿ることが可能であることを通知する。タスクアイコン１２０２’を押すと、サブウィンドウ１２１１が開き、タスク（Task1）がTask1-1とTask1-2で構成されることを、タスクアイコン１２１２とタスクアイコン１２１３により通知する。なお、ボタン１２１４は、サブウィンドウ１２１１を閉じる機能を提供する。以上の機能により、ジョブフロー定義情報が自動更新された後に実行された場合に、当該自動更新によって細分化されたタスクは階層表示が可能となり、利便性が向上する。
【００７４】
図１６は図１２Ｂによる表示を実現するための処理手順を説明するフローチャートである。図１６の処理は、ジョブフローを指定して実行する装置、本例では印刷処理装置Ａ１６または印刷処理装置Ｂ１７によって実行される。ステップＳ１６０１において、印刷処理装置が備える不図示の表示器上に表示すべきジョブフロー、すなわち実行を指示する、もしくは実行を指示したジョブフローを取得する。ジョブフローは図１４Ｂ，Ｃに示したデータ構成を有する。
【００７５】
ステップＳ１６０２では、ジョブフローから順次に親ノードのタスクを抽出し、ステップＳ１６０３でそのタスクのアイコンの表示位置を決定する。ステップＳ１６０４において、そのタスクが子ノードのタスクを有するか否かを判定する。子ノードのタスクを有していない場合はステップＳ１６０５へ進み、第１の形態で当該親ノードのタスクアイコンを表示する。一方、子ノードのタスクを有する場合は、ステップＳ１６０６へ進み、第２の形態で当該親ノードのタスクアイコンを表示する。例えば、図１４Ｂの記述１４１１や図１４Ｃの記述１４２１による親ノードのタスクアイコンは子ノードを有するので、第２の形態でアイコンが表示されることになる。なお、第１の表示形態とは例えば図１２Ｂのタスクアイコン１２０３〜１２０５のような表示形態であり、第２の表示形態とは図１２Ｂのタスクアイコン１２０２’のような表示形態である。この処理により子ノードを有する親ノードのタスクと、子ノードの存在しない親ノードのタスクが識別可能に表示される。表示すべきジョブフローに含まれる全ての親ノードのタスクについて上記処理が行われると（ステップＳ１６０７）、図１２Ｂのようなジョブフローの表示が行われることになる。
【００７６】
図１２Ｂのジョブフローの表示において、子ノードを持つタスクのアイコン（タスクアイコン１２０２’）が指示されると、ステップＳ１６０８からステップＳ１６０９へ進む。ステップＳ１６０９では、指示されたタスクを親ノードとする子ノードのタスクを取得する。そして、ステップＳ１６１０において、ステップＳ１６０９で取得した子ノードのタスクアイコンを図１２Ｂのサブウインドウ１２１１に示すように、フローの形態で表示する。例えば、図１４Ｂの記述１４１１に対応するタスクアイコンが指示されると記述１４１２，１４１３に対応するタスクアイコンがサブウインドウ１２１１にフローの形態で表示される。なお、フローの形態での表示では、子ノードのタスクの実行順序が明示されることになる。
【００７７】
ボタン１２０６が指示されると、ステップＳ１６１１より本処理を終了する。
【００７８】
図１２Ｃは、アプリケーション更新によってタスクＩ／Ｆ情報が更新された後に、ジョブフロー定義情報を作成し実行した場合の、本実施形態によるユーザインタフェイス（ＵＩ）の例を示す図である。
【００７９】
ジョブフロー処理ウィンドウ１２０１は、印刷処理装置Ａ１６または印刷処理装置Ｂ１７において、印刷処理装置ジョブフロー定義情報内のタスクに対応したタスクアイコン１２２０、１２０３〜１２０５を表示する。また、この表示においては、現在処理を行っているタスクが識別可能に表示される。この場合、図１４Ｂにおける表記１４１２で表されるタスクのように、タスクＩ／Ｆ情報の更新後に利用可能となったタスクを表示する。ボタン１２０６は、ジョブフロー処理ウィンドウ１２０１を閉じる機能を提供する。この機能により、アプリケーション更新後における、タスクＩ／Ｆ情報が更新された後に、新規にジョブフロー定義情報を作成し、実行する際に、新しいタスクで表示および実行が可能となり、利便性が向上する。
【００８０】
＜ジョブフロー作成エディタのユーザインタフェース＞
図１５Ａは、本実施形態による、ジョブフロー定義情報を編集するためのジョブフロー作成エディタのユーザインタフェース（ＵＩ）の例を示している。
【００８１】
ジョブフロー作成エディタのウィンドウ１５０１は、タスク一覧フレーム１５０２、タスク連携処理システム構成フレーム１５０５、ジョブフロー定義フレーム１５０９から構成される。タスク連携システム構成フレーム１５０５には、本実施形態のタスク連携処理システムで連携可能な印刷処理装置、アプリケーション等のタスク処理装置がアイコン（１５０６〜１５０８）により一覧表示される。タスク連携システム構成フレーム１５０５に表示されているアイコン１５０６〜１５０８のうちいずれかが選択されると、選択されたアイコンに対応するタスク処理装置が実行可能なタスクの一覧が、タスク一覧フレーム１５０２に表示される。
【００８２】
ジョブフロー定義フレーム１５０９のボックス１５１０にはジョブフロー定義情報の名称が表示され、ユーザはボックス１５１０においてジョブフロー定義情報の名称を編集可能である。また、ジョブフロー定義フレーム１５０９には、当該ジョブフロー定義情報で使用されているタスクを表すタスクアイコン１５１１〜１５１４が表示される。保存ボタン１５１５を押下されると当該ジョブフロー定義情報が保存され、キャンセルボタン１５１６が押下されるとでジョブフロー定義フレーム１５０９で編集中のジョブフロー定義情報が破棄される。また、ジョブフロー定義フレーム１５０９へ、タスク一覧フレーム１５０２内のタスクアイコン１５０３、タスク１５０４をドラッグ＆ドロップ動作することにより、ジョブフロー定義を編集可能である。ボタン１５１７は、ジョブフロー作成エディタウィンドウ１５０１を閉じる機能を提供する。
【００８３】
図１５Ｂは、ジョブフロー定義情報の自動更新後における、ジョブフロー作成エディタのユーザインタフェース（ＵＩ）の表示例を示す図である。なお、図１５Ｂに示すジョブフローの表示は、ジョブフロー実行時におけるジョブフローの表示処理（図１６に示した手順）と同様の処理によってなされる。ただし、表示対象のジョブフローは編集対象のジョブフローである。また、編集によってジョブフローにタスクが追加された場合は、追加されたタスクについてＳ１６０３からＳ１６０６の処理を行なうようにすればよい。
【００８４】
図１５Ａとの差異は、ジョブフロー定義情報内で自動更新されたタスク（本例ではTask1）を示すタスクアイコン１５１１が、階層表示可能となっている点である。タスクアイコン１５１１を押すと、図示のようなサブウィンドウ１５２０が表示される。このサブウィンドウ１５２０では、更新されたTask1が、タスクアイコン１５２１，１５２２で表されるような複数のタスク（Task1-1、Task1-2）で構成されていることが表示されている。ボタン１５２３は、サブウィンドウ１５２０を閉じる機能を提供する。この機能により、自動更新されたジョブフロー定義情報においても互換性が保持され、かつ新規のタスクも表示可能であり、利便性が向上する。
【００８５】
図１５Ｃは、アプリケーションが更新され、タスクＩ／Ｆ情報が更新された後に、ジョブフロー定義情報を編集する場合のジョブフロー作成エディタのユーザインタフェースの例を示す図である。
【００８６】
図１５Ａとの差異は、タスク一覧フレーム１５０２において、タスクＩ／Ｆ情報が更新されたタスク（本例ではTaskA）を表すタスクアイコン１５０３が、階層表示が可能となった点である。タスクアイコン１５０３を押すと、サブウィンドウ１５３０が表示される。このサブウィンドウ１５３０では、タスクＩ／Ｆ情報が更新されたTaskAが、タスクアイコン１５３１、１５３２で表されるような複数のタスク（TaskA-1、TaskA-2）を持つことを表示する。また、タスクアイコン１５３１、１５３２は、ジョブフロー定義フレーム１５０９にドラッグ＆ドロップが可能であり、ジョブフロー定義情報に対して編集することが可能である。これにより、図１２Ｃで示したような、更新後の、機能が分割されたタスクを用いたジョブフローの定義が可能となる。ボタン１５３３は、サブウィンドウ１５３０を閉じる機能を提供する。この機能により、タスクＩ／Ｆ情報が更新された後に、互換性を保持しつつ、ジョブフロー定義情報を編集することが可能となり、利便性が向上する。
【００８７】
図１７は図１５Ｃに示した表示を実現するための手順を説明するフローチャートである。ステップＳ１７０１においてタスク一覧ＤＢ５３からジョブフローの作成・編集に利用可能なタスクを取得する。取得されるタスクの記述は図１３Ａ〜Ｃに示したとおりである。
【００８８】
ステップＳ１７０２において、タスク一覧フレーム１５０２に表示すべきタスクの一つを取得する。取得したタスクが子ノードを有していない場合は、ステップＳ１７０３からステップＳ１７０４へ進み、第１の形態で当該タスクのタスクアイコンを表示する。また、取得したタスクが子ノードを有する場合は、ステップＳ１７０５へ進み、第２の形態でタスクアイコンを表示する。例えば、図１３Ａのタスクは子ノードを持たないので第１の形態でタスクアイコンが表示され、図１３Ｂや図１３Ｃのタスクは子ノードを有するので、第２の形態でアイコンが表示されることになる。なお、第１の形態とは例えば図１５Ｃのタスクアイコン１５０４のような表示形態であり、第２の表示形態とは図１５Ｃのタスクアイコン１５０３のような表示形態である。この処理により子ノードを有する親ノードのタスクと、子ノードの存在しない親ノードのタスクが識別可能に表示される。タスク一覧フレーム１５０２に表示すべき全ての親ノードのタスクについて上記処理が行われると（ステップＳ１７０６）、ステップＳ１７０７へ進む。
【００８９】
子ノードを持つタスクのアイコン（第２の形態で表示されたタスクアイコン）が指示されると処理はステップＳ１７０７からステップＳ１７０８へ進む。ステップＳ１７０８では、指示されたタスクの子ノードのタスクを取得する。そして、ステップＳ１７０９において、ステップＳ１７０８で取得された子ノードのタスクのタスクアイコンを個別に作成・編集に利用可能に提示する。この処理により、サブウインドウ１５３０の表示、タスクアイコン１５３１，１５３２の提示が実現される。
【００９０】
以上説明したように、上記実施形態のタスク連携処理システムにおいては、アプリケーションが更新されて、機能が細分化されるような場合に、ジョブフローが自動で更新される。このため、管理者はジョブフローを更新する手間が省ける。
【００９１】
なお、前述の実施形態では、文書データのコピー、スキャン、Ｆａｘ送信、印刷処理装置内のハードディスクへの保存、メール送信等の印刷処理装置のタスクと外部連携するパーソナルコンピュータ等の情報処理装置上で動作するアプリケーションを例に挙げた。つまり印刷処理装置のタスクと情報処理装置上で動作するアプリケーションの処理タスクが連携してジョブフローを形成する例である。しかしながら本発明は印刷処理装置と情報処理装置の連携を必須とするものではなく、印刷処理装置単体内でのジョブフローの生成に適用して良い。また、情報処理装置単体あるいは複数の情報処理装置上で動作するアプリケーションの処理タスクが連携してジョブフローを形成する場合に適用しても良い。
【００９２】
なお、本発明は、上記形態の機能を実現するソフトウェアのプログラムコードを記憶した記憶媒体（又は記録媒体）を、システム又は装置に供給し、そのシステム又は装置のコンピュータ（又はＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出して実行することによっても達成されることは云うまでもない。
【００９３】
この場合、記憶媒体から読み出されたプログラムコード自体が上記実施の形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、上記実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(ＯＳ)などが実際の処理の一部又は全部を行い、その処理によって上記実施の形態の機能が実現される場合も含まれることは云うまでもない。
【００９４】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わる記憶媒体に書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは云うまでもない。
【００９５】
また、本発明は、上記実施の形態の機能を実現するソフトウェアのプログラムコードがネットワークを介して配信されることにより、システム又は装置のハードディスクやメモリ等の記憶手段又はＣＤ−ＲＷ、ＣＤ−Ｒ等の記憶媒体に格納され、そのシステム又は装置のコンピュータ(又はＣＰＵやＭＰＵ)が当該記憶手段や当該記憶媒体に格納されたプログラムコードを読み出して実行することによっても、達成されることは云うまでもない。
【図面の簡単な説明】
【００９６】
【図１】実施形態によるタスク連携処理システムの全体構成を示す図である。
【図２Ａ】図１に示したタスク連携処理システムにおける、アプリケーション登録からジョブフローの作成、実行までの動作フローを示す図である。
【図２Ｂ】図１に示したタスク連携処理システムにおける、アプリケーション登録からジョブフローの作成、実行までの動作フローを示す図である。
【図３】実施形態によるタスク定義情報のデータ構成例を示す図である。
【図４Ａ】実施形態によるジョブフロー定義情報を模式的に示す図である。
【図４Ｂ】図４Ａに示したジョブフロー定義情報のＸＭＬによる記述例を示す図である。
【図５】アプリケーションの更新によるタスクの機能分割を説明するためのジョブフロー定義情報の例を示す図である。
【図６】アプリケーションの更新によるジョブフロー定義情報の自動更新処理の概要を説明するフローチャートである。
【図７】実施形態による、ジョブフロー定義の自動更新処理を説明するフローチャートである。
【図８】実施形態による、ジョブフロー定義の自動更新処理を説明するフローチャートである。
【図９】新バージョンのジョブフロー定義情報に従ったタスクの実行処理を説明するフローチャートである。
【図１０】新バージョンのジョブフロー定義情報に従って、代替のタスクを実行する処理を説明するフローチャートである。
【図１１】新バージョンのジョブフロー定義情報に従って、タスクを並列に実行する処理を説明するフローチャートである。
【図１２Ａ】ジョブフローの実行時における、ユーザインタフェイスの例を示す図である。
【図１２Ｂ】ジョブフロー定義情報の自動更新後の、ジョブフローの実行時における、ユーザインタフェイスの例を示す図である。
【図１２Ｃ】アプリケーション更新によるタスクＩ／Ｆ情報の更新後に作成されたジョブフローの実行時における、ユーザインタフェイスの例を示す図である。
【図１３Ａ】アプリケーションが持つタスクＩ／Ｆ情報の記述例を示す図である。
【図１３Ｂ】アプリケーションが持つタスクＩ／Ｆ情報の記述例を示す図である。
【図１３Ｃ】アプリケーションが持つタスクＩ／Ｆ情報の記述例を示す図である。
【図１４Ａ】ジョブフロー定義情報の記述例を示す図である。
【図１４Ｂ】ジョブフロー定義情報の記述例を示す図である。
【図１４Ｃ】ジョブフロー定義情報の記述例を示す図である。
【図１５Ａ】ジョブフロー定義情報を編集するジョブフロー作成エディタのユーザインタフェースの例を示す図である。
【図１５Ｂ】ジョブフロー定義情報を編集するジョブフロー作成エディタのユーザインタフェースの例を示す図である。
【図１５Ｃ】ジョブフロー定義情報を編集するジョブフロー作成エディタのユーザインタフェースの例を示す図である。
【図１６】ジョブローの表示処理を説明するフローチャートである。
【図１７】ジョブフロー作成、編集時のタスクアイコンの表示処理を説明するフローチャートである。
【図１】
2007128356.tif 000003
【図２Ａ】
2007128356.tif 000004
【図２Ｂ】
2007128356.tif 000005
【図３】
2007128356.tif 000006
【図４Ａ】
2007128356.tif 000007
【図４Ｂ】
2007128356.tif 000008
【図５】
2007128356.tif 000009
【図６】
2007128356.tif 000010
【図７】
2007128356.tif 000011
【図８】
2007128356.tif 000012
【図９】
2007128356.tif 000013
【図１０】
2007128356.tif 000014
【図１１】
2007128356.tif 000015
【図１２Ａ】
2007128356.tif 000016
【図１２Ｂ】
2007128356.tif 000017
【図１２Ｃ】
2007128356.tif 000018
【図１３Ａ】
2007128356.tif 000019
【図１３Ｂ】
2007128356.tif 000020
【図１３Ｃ】
2007128356.tif 000021
【図１４Ａ】
2007128356.tif 000022
【図１４Ｂ】
2007128356.tif 000023
【図１４Ｃ】
2007128356.tif 000024
【図１５Ａ】
2007128356.tif 000025
【図１５Ｂ】
2007128356.tif 000026
【図１５Ｃ】
2007128356.tif 000027
【図１６】
2007128356.tif 000028
【図１７】
2007128356.tif 000029