(57)【要約】【課題】より単純で、ユーザの手を煩わせず、且つその実行のために場所を選ばないタスク連携処理フローの実行管理装置を提供する。【解決手段】複数のタスクの連携処理を定義した処理フローを実行する情報処理装置は、タスク毎に、現在の環境において実行可能か否かを判定し、実行可能と判定されたタスクを実行することにより、処理フローを実行可能な範囲で実行するとともに、実行されたタスクの出力データを保存しておく。この実行の結果、処理フローを完了できなかった場合は、未実行のタスクを示す未実行情報と共に前記処理フローを保留中として登録する。そして、登録された保留中の前記処理フローを、未実行情報と出力データを用いて再開実行させる。【選択図】  図５
2007257350.tif 000002
【特許請求の範囲】
【請求項１】
複数のタスクの連携処理を定義した処理フローを実行する情報処理装置であって、
タスク毎に、現在の環境において実行可能か否かを判定する判定手段と、
前記判定手段で実行可能と判定されたタスクを実行することにより、前記処理フローを実行可能な範囲で実行する実行手段と、
前記実行手段において実行されたタスクの出力データを保存する保存手段と、
前記実行手段によって前記処理フローを完了できなかった場合は、未実行のタスクを示す未実行情報と共に前記処理フローを保留中として登録する登録手段と、
前記登録手段で登録された保留中の前記処理フローを、前記未実行情報と前記出力データを用いて再開実行させる再開手段とを備えることを特徴とする情報処理装置。
【請求項２】
前記再開手段は、保留中の前記処理フローの前記未実行情報によって特定されるタスクについて、前記判定手段と、前記実行手段と、前記保存手段と、前記登録手段を機能させることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記再開手段は、前記登録手段により登録された保留中の処理フローの中から、再開実行させるべき処理フローをユーザに選択させるインターフェースを提供することを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記判定手段は、タスク毎にタスクを実行可能な装置を検索する検索手段を備え、前記検索手段により実行可能な装置が検索された場合に、当該タスクを実行可能と判定することを特徴とする請求項１に記載の情報処理装置。
【請求項５】
前記判定手段は、前記検索手段により実行可能な装置が複数検索されたタスクについて、前記実行手段によるタスクの実行に利用すべき装置をユーザに選択させるユーザインターフェースを提供することを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記保存手段による前記出力データの保存と、前記登録手段による前記未実行情報及び前記処理フローの登録は、当該情報処理装置に接続された可搬タイプの記憶媒体に対して行われることを特徴とする請求項１に記載の情報処理装置。
【請求項７】
前記保存手段による前記出力データの保存と、前記登録手段による前記未実行情報及び前記処理フローの登録は、当該情報処理装置が接続された外部のサーバ装置に対して行われることを特徴とする請求項１に記載の情報処理装置。
【請求項８】
前記再開手段は、前記登録手段によって登録された保留中の処理フローを一括して再開実行することを特徴とする請求項１に記載の情報処理装置。
【請求項９】
前記再開手段は、前記登録手段で登録された保留中の処理フローに対して、定期的に自動的に再開実行を試みることを特徴とする請求項１に記載の情報処理装置。
【請求項１０】
複数のタスクの連携処理を定義した処理フローを実行する情報処理装置による情報処理方法であって、
タスク毎に、現在の環境において実行可能か否かを判定する判定工程と、
前記判定工程で実行可能と判定されたタスクを実行することにより、前記処理フローを実行可能な範囲で実行する実行工程と、
前記実行工程において実行されたタスクの出力データを保存する保存工程と、
前記実行工程によって前記処理フローを完了できなかった場合は、未実行のタスクを示す未実行情報と共に前記処理フローを保留中として登録する登録工程と、
前記登録工程で登録された保留中の前記処理フローを、前記未実行情報と前記出力データを用いて再開実行させる再開工程とを備えることを特徴とする情報処理方法。
【請求項１１】
前記再開工程は、保留中の前記処理フローの前記未実行情報によって特定されるタスクについて、前記判定工程と、前記実行工程と、前記保存工程と、前記登録工程を実行することを特徴とする請求項１０に記載の情報処理方法。
【請求項１２】
前記再開工程は、前記登録工程により登録された保留中の処理フローの中から、再開実行させるべき処理フローをユーザに選択させるインターフェースを提供することを特徴とする請求項１０に記載の情報処理方法。
【請求項１３】
前記判定工程は、タスク毎にタスクを実行可能な装置を検索する検索工程を備え、前記検索工程により実行可能な装置が検索された場合に、当該タスクを実行可能と判定することを特徴とする請求項１０に記載の情報処理方法。
【請求項１４】
前記判定工程は、前記検索工程により実行可能な装置が複数検索されたタスクについて、前記実行工程によるタスクの実行に利用すべき装置をユーザに選択させるユーザインターフェースを提供することを特徴とする請求項１３に記載の情報処理方法。
【請求項１５】
前記保存工程による前記出力データの保存と、前記登録工程による前記未実行情報及び前記処理フローの登録は、当該情報処理装置に接続された可搬タイプの記憶媒体に対して行われることを特徴とする請求項１０に記載の情報処理方法。
【請求項１６】
前記保存工程による前記出力データの保存と、前記登録工程による前記未実行情報及び前記処理フローの登録は、当該情報処理装置に接続された外部のサーバ装置に対して行われることを特徴とする請求項１０に記載の情報処理方法。
【請求項１７】
前記再開工程は、前記登録工程によって登録された保留中の処理フローを一括して再開実行することを特徴とする請求項１０に記載の情報処理方法。
【請求項１８】
前記再開工程は、前記登録工程で登録された保留中の処理フローに対して、定期的に自動的に再開実行を試みることを特徴とする請求項１０に記載の情報処理方法。
【請求項１９】
請求項１０乃至１８のいずれかに記載の情報処理方法をコンピュータに実行させるための制御プログラム。
【請求項２０】
請求項１０乃至１８のいずれかに記載の情報処理方法をコンピュータに実行させるための制御プログラムを格納したコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のタスクの連携処理を規定したタスク連携処理フローを実行する技術に関する。
【背景技術】
【０００２】
タスク連携処理システムとは、情報処理装置や印刷処理装置から、それらの装置が有するタスクを含む様々なタスクを連携実行可能なシステムである。
【０００３】
尚、本明細書において、タスクとは文書データに対して実行可能な処理のことを指しており、主として複合的な機能を持つ印刷処理装置の、個々の機能にて実現可能な処理のことである。例えば印刷処理装置のタスクとは、文書データのコピー、スキャン、Ｆａｘ送信、印刷処理装置内外のハードディスクへの保存、外部記憶装置への転送、メール送信等を指すが、これらに特に限定されるものではない。また、文書データとはテキストデータやイメージデータを含むのはもちろんのこと、動画データや音声データをも含むものとする。
【０００４】
また、タスク連携処理システムは、上記タスクを提供する印刷処理装置の他、さまざまなタスクを提供可能な複数のアプリケーションとも連携可能である。このアプリケーションには、印刷処理装置上で動作するものや、コンピュータ等の情報処理装置上で動作するものを含むことができる。
【０００５】
また、本明細書では、これらのタスクを実行可能な印刷処理装置及びアプリケーションを、タスク処理装置と定義する。タスク連携処理フロー（以下、処理フローと記載する場合もある）は、上述したようなタスクのうちの複数のタスクをつなぎ合わせて、時系列に処理をすることを目的に作成される、一連のタスクの組み合わせである。タスク連携処理フローの実行に際しては、複数のタスク処理装置が用いられることになる。タスクの組み合わせにおいては、あるタスクの出力結果を入力として他のタスクを実行する等の処理が可能であり、様々な処理を実現することができる。
【０００６】
一般的に、このようなタスク連携処理フローは、コンピュータのような情報処理装置、或は印刷処理装置の操作系からそのタスクの組み合わせと順序を指定して、作成される。作成されたタスク連携処理フローは、同様に情報処理装置あるいは印刷処理装置自体から呼び出され、実行される。
【０００７】
また、このようなタスク連携処理フローを作成した後、作成したタスク連携処理フローを、タスク連携処理フロー共有サーバ（以下、共有サーバ）に蓄積しておくシステムが知られている。この共有サーバは、タスク連携処理フローを様々な場所から、様々なユーザによって利用可能にすることを目的としている。従って、複数のユーザが、複数の印刷処理装置やコンピュータから、様々な場所で共有サーバへアクセスし、そこからタスク連携処理フローを呼び出し、呼び出した先の装置上でそのタスク連携処理フローを実行することができる。また、この共有サーバは、タスク連携処理フローを複数のユーザで共有することにより、ある一人のユーザが作成したタスク連携処理フローを別のユーザが再利用可能にするという目的も持っているといえる。
【０００８】
以上のような、一般的なタスク連携処理フローの処理システムにおいては、タスク連携処理フローは、その処理全体が一所で一括して実行されることが前提となっている。この際、タスク連携処理フローの全体が特に障害なく一度に処理できれば問題はない。一方、タスク連携処理フローの実行中にエラー等が発生した場合には、タスク連携処理フローの一般的な処理システムでは、以下のような対処が考えられる。
【０００９】
まず、処理途中でエラーが発生した場合には当該タスク連携処理フローの処理を止め、エラー原因除去後に、当該フローの実行を継続する方法が挙げられる。例えば、タスク連携処理フローの実行途中で、印刷処理装置等のタスク処理装置にエラー（例えば紙詰まり）が生じた場合に、エラーとして当該処理フローを一時停止する。そして、エラーの原因が取り除かれた後、当該処理フローの実行を再開する。このようなフローの中断及び再開は、印刷処理装置等におけるエラー発生時の一時停止処理と特に差異のあるものではない。また、コンピュータ等の情報処理装置内において処理エラーが発生した場合についても同様である。
【００１０】
或は、他のエラー対策として、エラーが発生した場合にはタスク連携処理フロー自体の実行を中止してしまうことも考えられる。或は、エラーを発生した処理（タスク）をスキップして、タスク連携処理フローの処理を進めてしまうという方法も、エラー対策の一例として挙げることができる。
【００１１】
また、特許文献１には、ワークフローの一時停止に対する処理が記載されている。特許文献１によれば、上位からのワークフローの修正指示によってワークフローの実行を一時停止し、フローを変更してから当該ワークフローを継続実行する。しかしながら、この例にしてもほんの一時的な停止を検討したものに過ぎず、「実行を開始したフロー自体は一所で一括して処理されるものである」という概念を超えるものではない。
【特許文献１】特開平７−３３４５７２号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
ところで近年、オフィスにおける仕事環境のプロセス化が進んでいる。プロセス化とは、即ち、様々なオフィス内のタスク、特に文書処理に関するタスクが定型化され、ルール化されていく、ということである。この背景には、ＩＳＯやＣＭＭ等の、各種の規程や規格に則ったプロセスを利用することによって、仕事の効率と質を維持しようとする取り組みがあり、この傾向は今後もより強くなっていくであろうことが予測できる。
【００１３】
今後、オフィスなどにおけるプロセス化が進んでいくと、これまで以上にタスク連携処理フローが利用される機会が増え、一般化していくことが予想される。その場合、全ての文書の処理を、タスク連携処理フローを通すことによって行うという状況も十分に想定され得る。即ち、オフィスの文書は全て決められたプロセスを通すという状況である。
【００１４】
そのような状況においては、文書とタスク連携処理フローは密接な関連を持ち、不可分のものとなる。一方、携帯端末機等の普及により、ユーザがオフィスから離れた場所で文書を扱う状況は現在でも頻繁に現れる。上記のように、常に文書とタスク連携処理フローがペアになって処理されるべき状況下では、タスク連携処理フローを複数箇所で実行したいという要望の出現が予想される。この場合、一所で処理を完了することを前提とした従来のタスク連携処理フローを用いると課題が生じ得る。この点について詳述する。
【００１５】
上述の予に、自分のオフィスから離れた場所で文書の処理を行う可能性は現在でも高い。そのような例としては、営業担当が顧客先で作成し処理を開始する契約書管理等が挙げられる。例えば、顧客先で記入された契約書等の書類を、出先のデバイス環境（例えばコンビニエンスストアの通信機能を有した複合複写機）から自社の上司や事務処理部門宛に送信して可能な事務処理だけでも開始させるという状況は現在でも起こり得る。或は、出張所で得た情報書類を、出張所にあるデバイス環境を用いて本社部門に送信し、事務処理フローの一部だけでも早急に実行したいという状況も考えられる。
【００１６】
このようにオフィスから離れた出先において入手・作成した文書にも、緊急にプロセス（タスク連携処理フロー）に則った処理を開始すべき案件は存在すると考えられる。しかしながら、いくつもの案件をかかえる担当者がすぐに自オフィスに帰社できない場合には、そのタスク連携処理フローを開始させることができない。仮に途中まで実行させることができても、処理対象の文書が複数ある場合は、例えば、タスク連携処理フローのどの部分までが終了しているかを文書毎に管理しなければならず、管理が困難になるという課題が生じる。
【００１７】
以上のように、プロセス化された仕事環境で文書がタスク連携処理フローに結びついている場合において生じる課題についてまとめると以下のようになる。まず、タスク連携処理フローを実行して、文書処理を行う必要があり、その処理フローには、出先から、その場ですぐにでき、且つしなければならない処理が存在するとする。この場合、タスク連携処理フロー内のその場ですぐにでき且つしなければならない処理を直ちに実行し、実行済みとなった処理を省いたタスク連携処理フローを後で実行することになる。すると、各文書毎にどの処理＝タスクをどこまで実行したかを全て把握しておく必要が生じる。このような把握は、抱える案件＝文書が多くなればなるほど困難になり、自分の全ての文書をうまく管理することが難しくなる。
【００１８】
本発明は上記の課題に鑑みてなされたものであり、タスク連携処理フローを場所を選ばずに開始させ、その実行状態を容易に管理可能とすることを目的とする。
【課題を解決するための手段】
【００１９】
上記の課題を解決するための本発明の一態様による情報処理装置は以下の構成を備える。即ち、
複数のタスクの連携処理を定義した処理フローを実行する情報処理装置であって、
タスク毎に、現在の環境において実行可能か否かを判定する判定手段と、
前記判定手段で実行可能と判定されたタスクを実行することにより、前記処理フローを実行可能な範囲で実行する実行手段と、
前記実行手段において実行されたタスクの出力データを保存する保存手段と、
前記実行手段によって前記処理フローを完了できなかった場合は、未実行のタスクを示す未実行情報と共に前記処理フローを保留中として登録する登録手段と、
前記登録手段で登録された保留中の前記処理フローを、前記未実行情報と前記出力データを用いて再開実行させる再開手段とを備える。
【００２０】
また、上記の目的を達成するための本発明の他の態様による情報処理方法は以下の工程を備える。即ち、
複数のタスクの連携処理を定義した処理フローを実行する情報処理装置による情報処理方法であって、
タスク毎に、現在の環境において実行可能か否かを判定する判定工程と、
前記判定工程で実行可能と判定されたタスクを実行することにより、前記処理フローを実行可能な範囲で実行する実行工程と、
前記実行工程において実行されたタスクの出力データを保存する保存工程と、
前記実行工程によって前記処理フローを完了できなかった場合は、未実行のタスクを示す未実行情報と共に前記処理フローを保留中として登録する登録工程と、
前記登録工程で登録された保留中の前記処理フローを、前記未実行情報と前記出力データを用いて再開実行させる再開工程とを備える。
【発明の効果】
【００２１】
本発明によれば、タスク連携処理フローを場所を選ばずに開始させ、その実行状態を容易に管理することが可能となる。
【発明を実施するための最良の形態】
【００２２】
以下、添付の図面を参照して本発明の好適な実施形態について説明する。
【００２３】
＜第１実施形態＞
まず、本実施形態によるアプリケーション構成及びシステム構成を説明する。
【００２４】
［アプリケーション構成］
図１は、本実施形態によるタスク連携処理フロー編集アプリケーションを説明するための図である。図１に示されるように、円図形１で示された複数のタスクを枝状の線要素２でつなぎ合わせて、ツリー状の構造を作り、一連の処理を構成／定義する。このアプリケーションにおいて、ユーザは、一般的なグラフィカルユーザインターフェースシステムを用いて、表示装置上でこれらのタスク（円図形）を並べ、それらの間を線要素２でつないでいくことで簡便にタスク連携処理フローを作成することができる。尚、図１では、線要素によって処理が「Fax→Print」と「Save to Folder→Notify e-mal」の２つの枝に分岐している。尚、このようなタスク連携フローの作成手順やタスク連携処理フローの表示形態を含むユーザインターフェースに着いては、上記に限定されるものではない。
【００２５】
図２は、図１に示したタスク連携処理フローに含まれる各タスクのパラメータ設定のためのユーザインターフェース例を示す図である。一般的に１つのタスクにおいても複数のパラメータが組となって存在することが多いので、それらパラメータを一覧表示できるユーザインターフェースとなっている。例えば、タスク連携処理フロー上のタスクが選択されると、そのタスクのパラメータの設定画面が表示される。図２の例では、タスク３（Save to Foler）が選択されており、選択されたタスク３のパラメータ設定画面４が表示されている。尚、選択されたタスクはその表示形態が変化しており、対応するパラメータ設定画面４が提示中であることを示している。尚、パラメータ設定画面を表示させるための操作形態やパラメータ設定画面の表示形態も、この例に限られるものではない。
【００２６】
［システム構成］
次に、上記アプリケーションを実行する情報処理装置の構成について説明する。図３Ａは、本実施形態によるタスク連携処理フローを実行するための情報処理装置のハードウェアの構成例を示すブロック図である。
【００２７】
情報処理装置１０は所謂コンピュータシステムであり、以下の構成を備える。入力装置１１は、キーボード及びマウス等のポインティングデバイスを含み、ユーザの操作に応じた信号を装置内に取り込む。ＣＰＵ１２は中央処理装置を構成し、メモリ１３に格納された制御プログラムに従って各処理を実現する。メモリ１３はＲＡＭ（ランダムアクセスメモリ）及びＲＯＭ（読取専用メモリ）を含んで構成され、ＣＰＵ１２の主記憶装置として用いられる。表示装置１４はＣＲＴディスプレイ又は液晶ディスプレイ等で構成され、ＣＰＵ１２の制御下で種々の表示を行う。外部メモリ１５は、フロッピー（登録商標）ディスク（登録商標）（ＦＤ）ドライブやハードディスク（ＨＤ）ドライブ等を具備し、例えば、タスク連携処理フローで処理すべき複数の文書データ等を格納する。外部入出力インターフェース１６は、情報処理装置１０を外部ネットワーク１７に接続する。
【００２８】
上記構成において、本システムのサーバおよびクライアントは、基本Ｉ／Ｏプログラム、ＯＳ、及びプログラムをＣＰＵ１２が実行することにより動作する。基本Ｉ／Ｏプログラムはメモリ１３（ＲＯＭ）に記憶されており、ＯＳは外部メモリ１５に記憶されている。そして情報処理装置１０の電源がＯＮされたときに、基本Ｉ／Ｏプログラム中のＩＰＬ（イニシャル・プログラム・ローディング）機能により、外部メモリ１５からＯＳがメモリ１３（ＲＡＭ）に読み込まれ、ＯＳの動作が開始される。
【００２９】
プログラムは、後述の図示されたフローチャートで表される処理をＣＰＵ１２が実行するようにプログラムコード化されたものである。尚、実施形態では、本制御プログラムおよび関連データは外部メモリ１５のＦＤに記録されているものとする。このＦＤのデータ構成例を図３Ｂに示す。ＦＤには、ボリューム情報３１ディレクトリ情報３２等のファイル管理情報が記録されている。制御プログラム実行ファイル３３は、例えば、後述の図示されたフローチャートにより示される処理をＣＰＵ１２が実行するための制御プログラムである。また、制御プログラム関連データファイル３４は、各種制御プログラムの実行に必要なデータファイルである。本実施形態では、制御プログラム実行ファイル３３として、タスク処理フロー作成アプリケーションやタスク処理フロー実行アプリケーションが格納されているものとする。また、制御プログラム関連データファイル３４としてはタスク処理フロー作成アプリケーションにより作成されたタスク連携処理フローが挙げられる。或は、タスク処理フロー実行アプリケーションにより実行した結果（後述する保留中のフローを再開さえるためのデータ）が挙げられる。
【００３０】
ＦＤに記録された制御プログラム及び関連データは、外部メモリ１５のＦＤドライブを通じて本コンピュータシステムにロードすることができる。図３Ｃは、本制御プログラムがメモリ１３（ＲＡＭ）にロードされ実行可能となった状態のメモリマップを示す。ＦＤをＦＤドライブにセットすると、図３Ｃに示すようにＯＳ４１及び基本Ｉ／Ｏプログラム４２の制御の下に、ＦＤ内の制御プログラム実行ファイル３３及び関連データファイル３４が読み出され、メモリ１３にロードされて、ＣＰＵ１２による実行が可能となる。ここで、例えば、制御プログラム実行ファイル３３は制御プログラム４３に、関連データファイル４２はデータエリア４４に格納される。
【００３１】
尚、本実施形態では、ＦＤから制御プログラム及び関連データを直接メモリ１３にロードして実行させる例を示したが、この他にプログラムや関連データをＨＤに格納しておき、ＨＤからメモリ１３にロードするようにしてもよい。また本制御プログラムを記録する媒体は、上記のＦＤやＨＤ以外に、光ディスク、ＩＣメモリカード等であってもよい。更に本プログラムをメモリ１３のＲＯＭに記録しておき、これをＣＰＵ１２で直接実行するように構成してもよい。
【００３２】
図３Ｄは、タスク連携処理作成アプリケーションにより、タスク連携処理フローをメモリ又は記憶装置内に保存する際の、タスク連携処理フローのデータ構造の一例を示す図である。図３Ｄに示されるように、タスク連携処理フローは、当該フローに存在する各タスクに割り当てられたインデックス（４４１）を用いたリスト形式で管理される。タスク連携処理フローが実行されるシステム内の全てのタスクは、固有のインデックス（ＩＤ）を割り振られており、インデックスにより一意にタスクが特定される。また、各タスクには、そのタスクに先行して実行されるタスク（４４４）と、そのタスクに後続して実行されるタスク（４４５）が登録されており、全てのタスクからその先行するタスクや後続するタスクを知ることができる。例えば、図１のタスク連携処理フローの場合、「Fax」のタスクに関して先行して実行されるタスクには「Scan」が登録され、後続して実行されるタスクには「Print」が登録される。従って、先頭のタスクはもちろんのこと、任意の位置のタスクからでも、タスク連携処理フローで規定された順序通りにタスクを実行していくことが可能である。また、タスクの内部にはそのタスクに先行するタスクと後続のタスクのインデックスを含んでいることで、タスク同士をツリー上で連続して取得できるようになっている。
【００３３】
［システム構成］
図４は、上記アプリケーションで作成したタスク連携処理フローを実行するシステムの構成例を示す図である。情報処理装置４０１、４０５は、図３Ａで説明した構成を有し、タスク連携処理フロー作成アプリケーション及びタスク連携処理フロー実行アプリケーションが稼動可能となっている。ユーザは、これらのアプリケーションを用いてタスク連携処理フローを作成し、実行させることができる。また、例えば、情報処理装置４０１で作成したタスク連携処理フローを情報処理装置４０５で呼び出して実行することも可能である。この場合、ＦＤのような可搬タイプの記憶媒体を介してもよいし、後述のように、共有サーバ４０２を用いてもよい。更に、印刷処理装置４０６はユーザインターフェースを表示可能な多機能デバイスであり、タスク連携処理フローを作成すること、及び、呼び出し実行することが可能であるとする。尚、図４に示したシステムのうちのいくつかの装置は、タスク連携処理フロー作成アプリケーション及びタスク連携処理フロー実行アプリケーションのいずれか一方のみを実行可能に構成したものであってもよい。
【００３４】
また、タスク連携処理フローを共有するための共有サーバ４０２を設置し、データベース４０３にタスク連携処理フローを登録するようにしてもよい。例えば、情報処理装置４０１により作成したタスク連携処理フローをデータベース４０３に登録しておく。そして、情報処理装置４０５や印刷処理装置４０６から共有サーバ４０２に接続し、共有サーバ４０２の保持するタスク連携処理フローをダウンロードして実行するような構成とすることもできる。
【００３５】
［タスク連携処理フローの実行処理］
タスク連携処理フローが実行される際の処理の手順を、図５、６、８、９、１１のフローチャートを参照して説明する。
【００３６】
尚、本実施形態では、コンピュータ（情報処理装置４０１）で稼動するタスク連携処理フロー実行アプリケーションが、タスク連携処理フローの実行を管理するものとして説明する。また、情報処理装置４０１は、実行すべきタスク連携処理フローのデータ（図３Ｄ）を保持しており、タスク連携処理フロー実行アプリケーションを用いてこれを実行するものとする。また、共有サーバ４０２等を利用するシステムの場合においては、共有サーバ４０２によって共有されているタスク連携処理フローが、当該処理フローを実行するコンピュータに予めダウンロードされているものとする。これらの前提は、利用者が通常の自オフィスではない環境でタスク連携処理フローを実行する状況を念頭においたものである。特に好適な実施形態としては、情報処理装置４０１を外部に持ち運べるノートブックコンピュータとし、外部でタスク連携処理フローが実行されることが想定される。但し、必ずしもこの条件に限定されるものではなく、自オフィスで、タスク連携処理フローの実行に何の支障もない状況下であっても、本実施形態のシステムは正常に稼動し、かつ有用であることは言うまでもない。
【００３７】
図５は、本実施形態のタスク連携処理フロー実行アプリケーションの全体の処理を示すフローチャートである（各ステップの処理の主体はタスク連携処理フロー実行アプリケーションである）。まず、ステップＳ５０１において、実行を指示されたタスク連携処理フローを読み込む。タスク連携処理フローの初回の実行時においては、ステップＳ５０２において、当該フローが関連する全てのタスクの実行フラグ（後述）をクリアする。本例では、全てのタスクの実行フラグにFLAG_NONEが設定される。ステップＳ５０３において、タスク連携処理フローの処理位置を示すロケータを、当該フローの先頭に設定する。そして、ステップＳ５０４において、このタスク連携処理フローに関してデバイスのディスカバリ処理を行う。
【００３８】
［デバイスのディスカバリ処理について］
ディスカバリ処理とは、タスク連携処理フローを実行する前に、当該情報処理装置４０１が接続されている現在の環境において、タスク連携処理フローに利用すべき各種デバイスが有効に機能しているかどうかを確認する処理である。この確認には、タスク連携処理フローが保持している各タスクについて、そのタスクの実行に必要なデバイスの能力を検知すればよい。例えば「スキャン」→「E-mail」→「FAX」というタスク連携処理フローがあれば、例として以下のような機器がそれぞれのタスクを担当できるデバイスとして発見されるかもしれない。
〈タスク「スキャン」を担当できるデバイスの例〉
・ＵＳＢ接続するスキャナ。
・ネットワーク接続された複合機能複写機。
〈タスク「E-mail」を担当できるデバイスの例〉
・LAN接続(有線・無線)があり、メールサーバに接続できること。
・モデム接続があり、メールサーバに接続できること。
〈タスク「ＦＡＸ」を担当できるデバイスの例〉
・ネットワーク接続された、ＦＡＸ機能を持つ複合プリンタや複写機。
・電話線への接続されたＦＡＸ機能を持つモデム。
【００３９】
タスク連携処理フロー実行アプリケーションは、ディスカバリ処理において、上記例にあげたようなタスク連携処理フローの各タスクに必要なデバイスを探索し発見（ディスカバリ）する。
【００４０】
尚、この探索には、特定のプロトコルを利用してそのプロトコルを解釈できるデバイスが提供するソフトウェア的なサービスを検索することにより達成できる。プロトコルには、例えばＵＰｎＰ（ユニバーサルプラグアンドプレイ）規格や、それを利用したオープンなコンソーシアムであるＤＬＮＡの提唱する規格、あるいはＪｉｎｉの提供するJini Lookup Serviceなどが利用できる。これらの規格がどのように各種サービスをディスカバリするかは、公知の技術であるのでここでは詳細な説明を省略する。
【００４１】
或は、特定のプロトコルに限らず、各種デバイスドライバがＬＡＮやＵＳＢなどのデバイスとのインターフェースを利用してデバイスと独自のプロトコルによって通信を行ってデバイス情報を直接デバイスから取得し、これを探索に用いてもよい。従って、ディスカバリにおけるデバイスの探索方法については特に限定されるものではない。
【００４２】
ステップＳ５０４のディスカバリ処理について図６のフローチャートを参照して説明する。上述したように、ディスカバリ処理では、実行すべきタスク連携処理フローに含まれている各タスクの実行に必要なデバイスが検出される。
【００４３】
まず、ステップＳ６０１において、ステップＳ５０３でフローの先頭に設定されたロケータの位置にあたるタスク情報をメモリ１３から読み出す。タスク連携処理フローは図３Ｄで説明した構成を有しており、この時点では、ロケータはタスク連携処理フローの先頭のタスクのインデックス４４１を指している。一つのタスクを取り出した後は、図３Ｄに示されるデータ構造（後続するタスク４４５等）を利用して、各タスク間のリンク構造をたどりながら、先頭から終端に向かって各タスクを取り出し、ディスカバリ処理を実行していく。一つ一つのタスクの実行可能性がデバイスのディスカバリ処理によって決定できるので、図３Ｄのようなデータ構造を持つ場合、タスク連携処理フローが形成するタスクツリーの先頭からどのタスクまでを実行可能かを判定することができる。個々のタスクの実行可能性の判定の処理は、次のようになる。
【００４４】
ステップＳ６０１において取得したタスクがすでにデバイスのディスカバリ処理を終えていれば実行フラグにはFLAG_NONE以外の値がはいっているはずである。従って、ステップＳ６０２では、ディスカバリ処理を二重に行うことを避けるため、実行フラグがFLAG_NONEかどうかを確認する。また、後述する保留再開処理においても図６のディスカバリ処理を利用するため、ステップＳ６０３において、実行フラグにFLAG_DONEが格納されているか否かを判定する。実行フラグにFLAG_DONEが格納されているタスクは既に実行済みとなっているので、ディスカバリ処理を行う必要はない。即ち、ステップＳ６０３からステップＳ６１１へ処理を進め、ロケータをその次のタスクに進める。
【００４５】
実行フラグがFLAG_NONEの場合、或はFLAG_DONE以外の場合、処理はステップＳ６０４へ進む。ステップＳ６０４では、ステップＳ６０１で取り出したタスクについて、デバイスのディスカバリを行う。ディスカバリの結果取得したデバイスがあれば、処理は、ステップＳ６０５からステップＳ６０６へ進み、そのデバイスの情報をタスクに付随したメモリ空間である“実行デバイス情報”に保存する。この場合、複数のデバイスが見つかる可能性があるので、可変長のメモリに保存するのが好ましい。
【００４６】
ディスカバリにおいては、タスクの分類される分野の機能（例えば、スキャンやＦＡＸ等）を実行することができるかできないかをチェックするが、更に詳細な機能までチェックするようにしてもよい。即ち、タスクのパラメータに基づいて更にタスクの実行可能性（例えば、カラースキャンができるかどうか）を絞ってデバイスの提供するサービスの詳細までチェックすることも考えられる。
【００４７】
また、ディスカバリ処理では、一つのデバイスを見つけてもすぐには抜けず、タスクを実行可能な全てのデバイスを検索したかを確認する（ステップＳ６０４〜Ｓ６０６によるループ）。ステップＳ６０４〜Ｓ６０６のループによるディスカバリが完了すると、処理はステップＳ６０７に進む。上記のディスカバリの結果、タスクを実行可能なデバイスが一つでも見つかっていればステップＳ６０７からステップＳ６０８へ処理を移し、タスクに付随する“実行フラグ”の値をFLAG_FOUNDに設定する。そして、ステップＳ６１０において、該当タスクから図３Ｄに示したデータ構造から、後続するタスクが存在するかを確認する。存在する場合は、ステップＳ６１１において、後続する次のタスクにロケータを移動し、ステップＳ６０１に処理を戻し、上記ディスカバリの処理を繰り返す。また、デバイスが一つも検出できなかった場合は、“実行フラグ”にFLAG_NOTFOUNDの値を設定し、そのタスクにつながる後続のタスクはディスカバリの対象としない。
【００４８】
以上の処理によれば、枝分かれの無い一連のタスクについて、現在の環境で実行可能な範囲でデバイスのディスカバリを実行することができる。尚、図１に示すような枝分かれをしたフローを扱う場合には、例えば、枝分かれの部分ではロケータを２つに分割してそれぞれの枝にロケータを配置して、全ての枝を探索できるように処理を行えばよい。そのような処理は当業者には明らかであるので、ここでは説明を省略する。
【００４９】
以上のディスカバリ処理により、フローのツリー先頭から実行可能な範囲のタスクの実行フラグがFLAG_FOUNDに設定される。また、実行不能なタスクの実行フラグはFLAG_NOTFOUNDになり、FLAG_NOTFOUNDのタスクに後続するタスクはディスカバリを行っていないのでフラグは初期値FLAG_NONEのままとなる。
【００５０】
［タスク実行処理］
次に、上記ディスカバリ処理によって実行フラグがFLAG_FOUNDになっているタスクについて実行処理をおこなう。実行処理は以下のように行う。
【００５１】
ディスカバリ処理により、少なくとも一つ以上のタスクにおいて複数のデバイスが検出されている場合は使用するデバイスを選択する必要がある。そこで、図５のステップＳ５０５において、各タスクについて実際に使用すべきデバイスを選択する。この選択では、図７のようなユーザインターフェースを表示して、各タスクに関してディスカバリされたデバイスから一つをユーザに選択させるようにしてもよい。又は、最も能力の高いデバイスを自動的にシステムが選択して処理フローの実行に利用するようにしてもよい。いずれにせよ、ディスカバリ処理によって実行フラグがFLAG_FOUNDに設定されたタスクの各々について、それぞれ一つのデバイスが選択され、デバイス情報が保持された状態となる。この後、ステップＳ５０６においてロケータをタスク連携処理フローの先頭タスクに設定する。そして、ステップＳ５０７において、先行するタスク４４４、後続するタスク４４５の情報に基づいて順次タスクを実行していく。
【００５２】
ステップＳ５０７によるタスク実行処理について、図８のフローチャートを参照して詳細に説明する。
【００５３】
まず、ステップＳ８０１において、実行アプリケーションは、ロケータが示すタスクの情報をメモリ１３から取り出し、ステップＳ８０２において、そのタスクの実行フラグがFLAG_FOUNDかを判定する。実行フラグがFLAG_FOUNDであると判定された場合は、ステップＳ８０３において、そのタスクの実行デバイス情報を取得し、実行デバイス情報によって指定されたデバイスを用いて、当該タスクの処理を実行する。尚、タスク処理の実行は周知であるので、その詳細な説明は省略する。
【００５４】
ステップＳ８０４において、ステップＳ８０３で実行したタスク処理が成功したか否かを判断する。タスク処理が成功したと判断された場合は、ステップＳ８０５において、当該タスクの実行フラグをFLAG_DONEに置き換える。そして、ステップＳ８０７において、当該タスクの実行によって発生したデータを、本タスク連携処理フロー実行システムが認識できる特定の場所に格納する。その後、ステップＳ８０８において、タスクの情報から後続のタスクが存在するかを判定し、存在する場合はステップＳ８０９においてロケータを次のタスクに移動し、上記ステップＳ８０１からの処理を繰り返す。
【００５５】
一方、デバイスの問題等によりタスク実行中に実行エラーとなってしまった等の場合には、ステップＳ８０４においてタスク処理が失敗したと判断される。タスク処理が失敗したと判断された場合は、ステップＳ８０６において、そのエラーとなったタスクの実行フラグをFLAG_PAUSEに書き換える。そして、処理に失敗したタスクに後続する全てのタスクの実行フラグと実行デバイス情報をクリアしておく。尚、タスクに後続する全てのタスクは、上述したように先行するタスク及び後続するタスクの情報を参照してタスクを辿ることにより取得することができる。
【００５６】
ここで、タスク実行の結果発生するデータを、例を挙げて説明する。タスク連携処理フローが要素とするタスクにおいては、図１０のような発生データが考えられる。タスクの実行によって発生するデータ即ちタスクの出力（アウトプット）が、後続するタスクの入力（インプット）となってタスクが連続して処理されていくのがタスク連携処理フローの特徴である。このため、図１０に示される、各タスクで発生するデータ（出力データ）の全てを保持しておくことが必要とされる。
【００５７】
尚、ステップＳ８０２において、実行フラグがFLAG_FOUNDでないと判断された場合は、そのツリーの枝はそこまでで実行を継続できないことになるので、このロケータに対して、それ以降の継続タスクの実行は行わない。よって、ステップＳ８０６において、当該タスクの実行フラグを実行保留中であることを表すFLAG_PAUSEに書き換える。
【００５８】
以上のように、ステップＳ５０７ではタスク連携処理フローの全てのツリーの枝について、実行可能なタスクまで処理が進められる。そして、ステップＳ５０８において、タスク連携処理フロー中の全タスクの中にFLAG_DONE以外の実行フラグを持つタスクがあるかどうかを判断する。FLAG_DONE以外の実行フラグを持つタスクが１つでもあれば、ステップＳ５０９において、実行中の当該タスク連携処理フローのその時点の情報を外部メモリ１５に保存することにより、保留中の連携処理フローを登録する。保留中のタスク連携処理フロー自体の登録においては、当該処理フローの全体（図３Ｄ）を保存するようにしてもよいし、当該処理フローを示すＩＤ（或はファイル名等）を用いて登録するようにしてもよい。
【００５９】
［タスク連携処理フローの保留処理］
ステップＳ５０９におけるタスク連携処理フローの保留処理について図９のフローチャートを参照して説明する。まず、ステップＳ９０１において、実行中のタスク連携処理フローの情報、すなわち処理フローのツリー形状やタスクの連結の方法、および各タスクの実行パラメータを実行時の指定のままで保存する。尚、「実行時の指定のまま」というのは、個々のタスクに対する詳細パラメータを実行時に指定するような場合に、指定されたパラメータをそのまま保存する、という意味である。このようなパラメータ指定は、ユーザの意図によって実行ごとに指定が変わってくるものであるが、ここでは、前回実行時に指定したパラメータを次回継続時も復帰させることをねらいとしている。また、収集した各タスクの実行フラグの値FLAG_DONEとFLAG_PAUSEを、ツリーに付随する形で保存する。このことによって、保存時点でどのタスクが既に実行済みとなっているかを保存することができる。次に、ステップＳ９０２において、タスク実行処理（ステップＳ８０７）で得られた、各タスクで発生したデータとタスクとを関連付けて保存する。そして、ステップＳ９０３において、当該処理フロー自体を保留するために一旦停止する。尚、上述したデータ保留処理によるデータ保持形態は一例であり、これに限られるものではない。要は、保留した処理フローを再開するときに、未処理のタスクを判別でき、未処理のタスクを実行するのに必要な処理済タスクからの出力データが得られればよい。
【００６０】
次に、上記ステップＳ９０１、Ｓ９０２で発生した、タスク連携処理フローから発生する各種データを格納する一方法の具体例について図１２を参照して説明する。まず、コンピュータのタスク連携処理フロー実行アプリケーションが属しているファイルシステム上の位置（一般にディレクトリ）１２０１に、実行中のフローの実行データ格納用のディレクトリ１２０２が作成される。このディレクトリは、システム内で保留しているフローの数によって複数になる可能性がある。ディレクトリ１２０２の名称としては、例えば、タスクの実行を開始した精密な時刻を用いればよい。
【００６１】
あるタスク処理連携フローに対応するディレクトリ１２０２中には、前述した実行中のフローの情報がファイル１２０３としてまず格納される。このフローの情報は、前述のように実行フラグを含み、また、図３Ｄに示すようなタスク同士を結ぶリンク構造やタスクＩＤを含む。更にディレクトリ１２０２中には、当該タスク連携処理フローに含まれるタスク毎に、タスクのＩＤを含む名称のサブディレクトリ１２０４が生成される。サブディレクトリ１２０４には、対応するタスクの実行によって発生したデータをファイル１２０５として格納する。１つのタスクで複数のデータが生成される場合、各データ毎にファイルを生成する。そして、好ましくは、これらのファイルの各々のファイル名は、そのタスクにおけるどういう種類のデータであるかを表すものとする。即ち、ファイル名により、システムがデータの種類を特定できるようにすることが好ましい。
【００６２】
例えば、メール送信タスクの場合に、メールデータ自体は“Sent Mail.mail”というファイル名で、メール送信のテキスト情報データは“Mail Text.txt”という固定的なファイル名で保存しておく。タスク自体がＩＤ番号で識別されるため、これらのファイル名は固定的な名称であっても、一意にタスク中の何のデータであるかを区分できる。もちろん、本発明はこの実施形態に限定されるものではなく、可変的なファイル名称をつけそれをフローデータと関連付けて管理するようにしてもよい。
【００６３】
［保留フロー再開処理］
続いて、ステップＳ５０９で保留されたフロー処理の再開についての処理を説明する。上述したように、タスク連携処理フロー実行システムでは、実行可能性の判断に基づいて実行可能なタスクについて実行処理を行い、その他の処理については処理を行わないまま、実行結果を保存しておく。或は、実行したがエラーとなったタスク及びそれ以降の後続のタスクについて処理を行なわないまま実行結果が保存される。そのため、あとで実行を再開（リジューム）することによって、タスク連携処理フローのツリー全体の実行を完了させることができる。
【００６４】
一例として、本実施形態のタスク連携処理フロー実行アプリケーションは、保留された処理フローを図１３に示すようなユーザインターフェースによって一覧表示する。この表示によれば、どのような処理フローが保留中となっているのかをユーザに知らせることが可能である。保留中のタスク連携処理フローには再開ボタン１３０１が提供されている。そして、このユーザインターフェース上で、保留中の所望のタスク連携処理フローに対応する再開ボタン１３０１を押下（クリック）することによって、保留されているフローの再開を指示させることが考えられる。
【００６５】
ユーザの入力により保留されているタスク連携処理フローの再開が指示された場合は、図５において処理をステップＳ５１１からステップＳ５０１へ戻す。保留されているタスク連携処理フローの再開後の処理は、上述の図５、６、８及び図９のフローチャートで示されるものと同様である。即ち、タスク連携処理フローの再開を指示された時点で当該フローの処理を開始し、デバイスのディスカバリを行う（ステップＳ５０４、図６）。ディスカバリ処理において、実行フラグがFLAG_DONEとなっているタスクについては実行デバイスの検出が行われないので、フローの再開処理では、未処理のタスクを用いた動作となる。そして、ディスカバリ処理によって発見されたデバイスを用いて実行処理が行われる（ステップＳ５０５〜Ｓ５０７、図８）。こうして、保留されているタスク連携処理フローの未処理部分について、処理済の部分からの継続した処理が実行される。即ち、タスク連携処理フローの処理済の部分からの続きの処理が実行されることになる。
【００６６】
また、もしも、再開時のデバイスディスカバリの処理において、デバイスの不足などにより実行不能なタスクが存在した場合には、上記の初回実行時と同様に、保留処理が行割れることになる（ステップＳ５０８，Ｓ５０９、図９）。この処理により、保留されたフローを再開し、再度保留状態にならざるを得なかったとしても、再々実行を行ったときにタスクの継続処理が、上述した処理フロー再開処理と同じ手順を取ることによって可能となる。
【００６７】
［処理フロー完了処理］
ステップＳ５０８において、全てのタスクの実行フラグがFLAG_DONEになったと判定された場合は、該当のタスク連携処理フローは完了したと判断される。この場合、ステップＳ５１０において、フローの完了処理を行う。図１１はフロー完了処理を説明するフローチャートである。ステップＳ１１０１において、ステップＳ９０１で保存したフローの実行状態などのデータを削除する。そして、ステップＳ１１０２において、ステップＳ９０２で保存した、当該タスク連携処理フローの処理途中で発生したデータを全て削除する。このことによって、システムでは保留となっているフローを認識しなくなり、フローの実行が完全に完了する。
【００６８】
尚、上記第１実施形態では、ディスカバリ処理によるタスクの実行可否の判定をまとめて行い、処理フロー中の実行可能なタスクにより実行可能な範囲を実行するが、これに限られるものではない。処理フローに従ってタスクを実行させる際に、その都度タスクの実行可否を判定するようにしてもよいことは言うまでもない。要は、情報処理装置が処理フローを実行するにおいて、現在の環境で実行可能なタスクにより実行可能な範囲までを実行するようにすればよい。
【００６９】
＜第２実施形態＞
上記第１実施形態では、コンピュータなどの情報処理装置によってタスク連携処理フロー実行システムを実行させることを前提として処理を説明した。しかし、実際には印刷処理装置などのデバイスとコンピュータ、或はデバイスのみによってタスク連携処理フロー実行システムを構成することも考えられる。デバイスでタスク連携処理フロー実行システムを動作させる場合、実行アプリケーション自体はデバイス内の固定ディスク等の記憶媒体に保存し、実行させるタスク連携処理フローだけを別の着脱可能な記憶媒体に記録して持ち運ぶようにしてもよい。或は、実行させるアプリケーションごと着脱可能な記憶媒体に記録してもよい。ここでは、ＵＳＢメモリなどの可搬タイプの記録媒体に少なくともタスク連携処理フローを記録しておくものとする。
【００７０】
この場合、ＵＳＢメモリがデバイスに接続されると、その中に格納されているタスク連携処理フローが、デバイス上で実行されているタスク連携処理フロー実行システムから選択、読み出し可能となる。タスク連携処理フローの実行元となるデバイスは、ＵＳＢメモリより読み出したタスク連携処理フローに従って、上記第１実施形態で説明した実行処理を行う。この場合、実行処理の過程で発生した各タスクの出力データや、処理フロー保留時の情報データは全て接続されているＵＳＢメモリの内部に、上記第１実施形態で説明した手順で格納される。従って、このＵＳＢメモリを別のコンピュータ或はデバイスに装着して、そこから保留中のタスク連携処理フローを実行させることができる。
【００７１】
以上の第２実施形態によれば、フローの実行環境全体を常に持ち運ばなくとも、コンパクトな可搬タイプの記憶媒体を携行することによって、様々な場所で、タスク連携処理フローを実行できる。また、実行した結果の出力データやフロー情報データをその記憶媒体に保存することにより、様々な場所でタスク連携処理フローの保留と再開処理を実行することも可能になり、その利便性が向上する。
【００７２】
＜第３実施形態＞
上記第１及び第２実施形態では、タスク連携処理フローは情報処理装置或は印刷処理装置等のデバイス内に保持されていることを前提とした。しかしながら、このような形態に限られるものではなく、共有サーバ４０２内にタスク連携処理フローを保持し、情報処理装置及び印刷処理装置等は、共有サーバ４０２とからタスク連携処理フローをダウンロードして実行するようにしてもよい。この場合、フローの実行過程で生じる出力データや、フロー情報データは、実行システム（情報処理装置（ＰＣ）やデバイス）から共有サーバ４０２に送信され、共有サーバ４０２は、これらを管理する。或は、共有サーバ４０２が情報処理装置や印刷処理装置デバイスに対して、直接タスクの処理を依頼する形態をとり、実質的にはタスク連携処理フロー実行システム自体がサーバに存在する形をとってもかまわない。
【００７３】
第３実施形態によれば、共有サーバにデータを格納するので、特にメモリや実行システムを携帯することなく各所からタスク連携処理フローを実行し、また保留することができる。利用対象となるタスク連携処理フロー共有サーバにログインし通信を行うことが可能な環境であれば、いつでもタスク連携処理フローを実行できることになるため、利便性が向上する。
【００７４】
尚、共有サーバに保留中のタスク連携処理フローを登録する場合は、保留すべきタスク連携処理フローのＩＤを用いるようにしてもよい。
【００７５】
＜第４実施形態＞
上述の各実施形態では、保留されているタスク連携処理フローの再開は、一度に一つずつ実行できる（一つずつ選択して処理を再開させる）構成となっているが、これに限られるものではない。例えば、保留しているタスク連携処理フロー全てを一度に再開させるようにしてもよい。或は、ユーザインターフェース上で任意の複数個の保留中のタスク連携処理フローを選択できるようにし、選択されたタスク連携処理フローをまとめて再開できるように構成してもよい。
【００７６】
第４実施形態によれば、複数の保留されているタスク連携処理フローについて一括して再開を指示できる。このため、保留中のタスク連携処理フローの数が増えても、タスク連携処理フローの選択操作の煩雑さを解消することができ、利便性が向上する。
【００７７】
＜第５実施形態＞
上記各実施形態では、保留されているタスク連携処理フローに対して、ユーザが明示的に「再開」をシステム（或は装置）に指示することにより、再開処理が開始される。第５実施形態では、そのような再開処理を自動的に行う。即ち、第５実施形態のタスク連携処理フロー実行アプリケーションは、自動的且つ定期的に、システムに保留中のタスク連携処理フローの再開を試みる。
【００７８】
尚、第５実施形態によるシステムの形態は、第１実施形態のような情報処理装置をベースとするものでもよい。この場合、インストールされているタスク連携処理フロー実行アプリケーションは、管理しているフロー関連データを検知し、保留しているフローがあるかどうかを確認する。
【００７９】
或は、第２実施形態のような印刷処理装置をベースとするシステムとした構成にも第５実施形態の再開処理形態を適用できる。この場合、印刷処理装置がアクセスできる固定記憶媒体や可搬タイプの記憶媒体の記憶内容を検索することによって保留中のタスク連携処理フローがあるかを確認するようにすればよい。
【００８０】
更に、第３実施形態のような共有サーバをベースとするシステムにも第５実施形態の再開処理を適用することは可能である。この場合、共有サーバが管理している保留中のタスク連携処理フローを検索して、保留中のタスク連携処理フローがあるかを確認するようにすればよい。
【００８１】
いずれの構成でも、機器内の基本システムソフトウェア（ＯＳ）に組み込まれた自動処理サービス等の働きによって、タスク連携処理フローシステムが常に定期的に計時を行い、一定時間おきに保留中のタスク連携処理フローを検索する。そして、保留中のタスク連携処理フローが検索された場合は、その再開を試みる。その際、より安全に保留中のタスク連携処理フローの再実行を行うために、保留中のタスク連携処理フローの再開の可否をユーザに問い合わせるようにしてもよい。
【００８２】
第５実施形態によれば、保留されたタスク連携処理フローを、ユーザが忘れることなく自動的に完了できるという点で利便性が高い。またユーザの許可を求めてから再開する構成とすれば、望まない環境下でのタスク連携処理フローの再開を防ぐことも可能となり、より利便性が向上する。
【００８３】
以上説明したように、第１〜第５実施形態によれば、
・場所を問わず、タスク連携処理フローを実行して、文書処理を開始できる、
・タスク連携処理フローで規定された処理のうち、その場で実行可能な処理だけをまず実行させることができる、
・上記により実行済みとなったタスクを省いた、タスク連携処理フローの残余部分のみを後で実行できる、
・ユーザが、文書ごとに処理済みのタスクを管理する必要がなく、抱える案件＝文書が多くなっても、管理上の困難さは増加しない、
ようにできる。したがって、プロセス化が進んだオフィス環境において望まれる、好適なタスク連携処理フロー実行システムを実現することが可能となる。
【００８４】
以上、実施形態を詳述したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【００８５】
尚、本発明は、ソフトウェアのプログラムをシステム或いは装置に直接或いは遠隔から供給し、そのシステム或いは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによって前述した実施形態の機能が達成される場合を含む。この場合、供給されるプログラムは実施形態で図に示したフローチャートに対応したプログラムである。
【００８６】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【００８７】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等の形態であっても良い。
【００８８】
プログラムを供給するための記録媒体としては以下が挙げられる。例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などである。
【００８９】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムをハードディスク等の記録媒体にダウンロードすることが挙げられる。この場合、ダウンロードされるプログラムは、圧縮され自動インストール機能を含むファイルであってもよい。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明に含まれるものである。
【００９０】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布するという形態をとることもできる。この場合、所定の条件をクリアしたユーザに、インターネットを介してホームページから暗号を解く鍵情報をダウンロードさせ、その鍵情報を使用して暗号化されたプログラムを実行し、プログラムをコンピュータにインストールさせるようにもできる。
【００９１】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどとの協働で実施形態の機能が実現されてもよい。この場合、ＯＳなどが、実際の処理の一部または全部を行ない、その処理によって前述した実施形態の機能が実現される。
【００９２】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれて前述の実施形態の機能の一部或いは全てが実現されてもよい。この場合、機能拡張ボードや機能拡張ユニットにプログラムが書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行なう。
【図面の簡単な説明】
【００９３】
【図１】実施形態によるタスク連携処理フロー編集アプリケーションを説明するための図である。
【図２】図１に示したタスク連携処理フローに含まれる各タスクのパラメータ設定のためのユーザインターフェース例を示す図である。
【図３Ａ】実施形態によるタスク連携処理フローを実行するための情報処理装置のハードウェアの構成例を示すブロック図である。
【図３Ｂ】実施形態のタスク連携処理フローが格納されたメディアのデータ構造の例を示す図である。
【図３Ｃ】実施形態のタスク連携処理フローがロードされたメモリマップの例を示す図である。
【図３Ｄ】実施形態のタスク連携処理フローのデータ保存時の構造の例を示す図である。
【図４】タスク連携処理フローを実行するシステムの構成例を示す図である。フロー実行のシステム構成例を示す図である。
【図５】実施形態によるタスク連携処理フローの実行処理を示すフローチャートである。
【図６】実施形態によるディスカバリ処理を説明するフローチャートである。
【図７】タスク連携処理フロー中の各タスクの実行デバイスを選択するユーザインターフェースの例を示す図である。
【図８】実施形態によるタスク実行処理を説明するフローチャートである。
【図９】実施形態による、タスク連携処理フローの保留処理を説明するフローチャートである。
【図１０】タスク連携処理フローの実行時の出力データの例を示す図である。
【図１１】実施形態による、フロー完了処理を説明するフローチャートである。
【図１２】タスク連携処理フローの実行システムにおける、データの保存方法の例を示す図である。
【図１３】タスク連携処理フローのフロー管理インターフェースの例を示す図である。
【図１】
2007257350.tif 000003
【図２】
2007257350.tif 000004
【図３Ａ】
2007257350.tif 000005
【図３Ｂ】
2007257350.tif 000006
【図３Ｃ】
2007257350.tif 000007
【図３Ｄ】
2007257350.tif 000008
【図４】
2007257350.tif 000009
【図５】
2007257350.tif 000010
【図６】
2007257350.tif 000011
【図７】
2007257350.tif 000012
【図８】
2007257350.tif 000013
【図９】
2007257350.tif 000014
【図１０】
2007257350.tif 000015
【図１１】
2007257350.tif 000016
【図１２】
2007257350.tif 000017
【図１３】
2007257350.tif 000018