(57)【要約】【課題】ユーザによる操作の手間が少なく、かつ、ワークフロー完了までユーザがＵＩの前で待つ必要がないワークフロー処理装置を提供する。【解決手段】多機能周辺機器１１０は、実行指示がされたワークフローに含まれる全てのアクティビティを動作させるためのアプリケーションプログラムに基づいて、ユーザによる入力が必要な全ての必要情報を特定するワークフロー解析部５１４と、特定された必要情報の入力を促す通知をユーザに対して行う入力画面生成部５１５と、この通知に対してユーザから入力されたユーザ入力情報を入力情報記憶部５１７に格納する入力情報取得部５１６と、入力情報取得部５１６がユーザ入力情報を入力情報記憶部５１７に格納した後に、入力情報記憶部５１７に格納されたユーザ入力情報に基づいて、実行指示がされたワークフローを実行するワークフロー実行部５１８とを備える。【選択図】図５
2010272112.tif 000002
【特許請求の範囲】
【請求項１】
複数のアクティビティを含むワークフローを処理するワークフロー処理装置であって、
実行指示がされたワークフローに含まれる全てのアクティビティを動作させるためのアプリケーションプログラムに基づいて、ユーザによる入力が必要な全ての必要情報を特定する解析部と、
上記解析部により特定された全ての必要情報の入力を促す通知をユーザに対して行う通知部と、
上記通知部による通知に対してユーザから入力されたユーザ入力情報を記憶部に格納する入力情報格納処理部と、
上記入力情報格納処理部が上記ユーザ入力情報を上記記憶部に格納した後に、当該記憶部に格納されたユーザ入力情報に基づいて、実行指示がされたワークフローを実行するワークフロー実行部とを備えることを特徴とするワークフロー処理装置。
【請求項２】
上記解析部は、実行指示がされたワークフローに含まれる全てのアクティビティを動作させるためのアプリケーションプログラムの中から、ユーザによる情報の入力を必要とする全ての命令を抽出することにより、上記必要情報を特定することを特徴とする請求項１に記載のワークフロー処理装置。
【請求項３】
上記入力情報格納処理部は、上記解析部により特定された必要情報を必要とするアクティビティを識別する識別情報と、当該必要情報に対応する上記通知に対して入力されたユーザ入力情報とを対応付けて上記記憶部に格納し、
上記ワークフロー実行部は、動作させるアクティビティに対応するユーザ入力情報を上記記憶部から読み出し、当該アクティビティを動作させることを特徴とする請求項１に記載のワークフロー処理装置。
【請求項４】
複数のアクティビティを含むワークフローを処理するワークフロー処理方法であって、
実行指示がされたワークフローに含まれる全てのアクティビティを動作させるためのアプリケーションプログラムに基づいて、ユーザによる入力が必要な全ての必要情報を特定する解析ステップと、
特定された必要情報の入力を促す通知をユーザに対して行う通知ステップと、
上記通知に対してユーザから入力されたユーザ入力情報を記憶部に格納する入力情報格納処理ステップと、
上記ユーザ入力情報を上記記憶部に格納した後に、当該記憶部に格納されたユーザ入力情報に基づいて、実行指示がされたワークフローを実行するワークフロー実行ステップとを含むことを特徴とするワークフロー処理方法。
【請求項５】
請求項１から３の何れか１項に記載のワークフロー処理装置を動作させるプログラムであって、コンピュータを上記各部として機能させるためのプログラム。
【請求項６】
請求項５に記載のプログラムを記録したコンピュータ読取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、幾つかの実施例において、オペレータインターフェース処理を含めた原稿データ処理方法、装置およびシステムに関する。特に、本発明は、一連のアクティビティ（動作、処理ステップ）を含むワークフロー型アプリケーションに関するものである。１以上のアクティビティがユーザ入力を促すためのＵＩを生成し、アクティビティの動作実行前のユーザ入力を記憶し、アクティビティの動作実行時にユーザ入力を検索する。
【背景技術】
【０００２】
ワークフローのユーザインターフェース（ＵＩ）の作成方法は、例えば特許文献１に教示されている。このワークフローは、一以上のワークフローアプリケーションおよび/または１つのワークフローアプリケーションの一以上のインスタンスからなる。ここで、インスタンスとは、アプリケーションプログラム内の一つのクラスのことである。一般的に、連続するワークフローアプリケーションのインスタンスは、実行を継続する前にユーザ入力を必要とするものを一連のアクティビティの中に少なくとも１つは含んでいる。したがって、１つのワークフローの中には、ユーザに入力を促すＵＩを作成する動作が一以上含まれている。
【０００３】
一方、特許文献２には、文書データに一連の処理（コピー、データ送信、画像処理など）を施すシステムにおいて、実行されるべき各処理及びそのパラメータが記述された指示書を予め記憶させておき、当該指示書のパラメータを設定するための操作画面を表示する技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】米国特許出願公開第２００９／０００６９９７号明細書
【特許文献２】特開２００４−１１２６３６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
一般に、ワークフローの各アクティビティの実行時間を合計すると、その継続時間が長くなってしまう虞がある。そのため、特許文献１のような通常のワークフロー実行環境では、ワークフローの実行中ずっと、ユーザはそばにいなければならないことになる。例えば、何かの必要がある場合は、ワークフローの幾つかのアクティビティに対して、ユーザは、プロンプトＵＩ（コンピュータがユーザに対して入力を促す信号）に応答して、ＵＩを介して入力する必要がある。そのため、ユーザは、ワークフローを処理するコンピューティング・デバイスのＵＩの近くにいなければならない。
【０００６】
ユーザ入力を必要とする動作を有するワークフローが公共のコンピューティング・デバイスによって実行される場合、ユーザは、常に近くにいることを要求され、そのことが事実上、デバイスのユーザインターフェースを独占し、かつ、ユーザが同時動作に従事することを制限することになる。例えば、幾つかのワークフローでは、ユーザは、メール受信者のアドレスをエンターするまで、前記ワークフロー動作を処理する公共の多機能周辺機器（ＭＦＰ）の前に立っていなければならない。そのため、受信者のメールアドレスをエンターするプロンプトを第１のユーザが待っている間、他のユーザが同じＭＦＰでコピーをしようとしても、送ろうとしている受信者のメールアドレスのエンターを促されて、第１のユーザがエンターし終わるまで、第２のユーザは待っていなければならない。このプロンプトは、画像処理が大規模になればそれだけ長くなってしまう。しかしながら、その画像処理が動作に長くかかるものであるかどうかは、それを待っている第２のユーザには把握することができない。
【０００７】
一方、特許文献２の技術では、指示書において既に記述されたパラメータについては、ユーザ入力を省略することができる。そのため、指示書において全てのパラメータを記述しておけば、ＵＩの前で待つ必要がなくなる。しかしながら、当該指示書は、ユーザが一連の処理を行う前に作成されており、システムに予め記憶させておく必要がある。このような指示書を作成するためには、ユーザが各アクティビティに必要なパラメータを予め把握する必要があり、その作業に手間がかかるという問題がある。また、各アクティビティの処理内容を十分に把握していないユーザにとっては、指示書を作成することができない。
【０００８】
本発明は、上記課題を解決するためになされたものであり、ユーザによる操作の手間が少なく、かつ、ワークフロー完了までユーザがＵＩの前で待つ必要がないワークフロー処理装置、ワークフロー処理方法、プログラムおよび記録媒体を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記の課題を解決するために、本発明のワークフロー処理装置は、複数のアクティビティを含むワークフローを処理するワークフロー処理装置であって、実行指示がされたワークフローに含まれる全てのアクティビティを動作させるためのアプリケーションプログラムに基づいて、ユーザによる入力が必要な全ての必要情報を特定する解析部と、上記解析部により特定された必要情報の入力を促す通知をユーザに対して行う通知部と、上記通知部による通知に対してユーザから入力されたユーザ入力情報を記憶部に格納する入力情報格納処理部と、上記抽出部により抽出された全ての命令に対するユーザ入力情報を上記入力情報格納処理部が上記記憶部に格納した後に、当該記憶部に格納されたユーザ入力情報に基づいて、実行指示がされたワークフローを実行するワークフロー実行部とを備えることを特徴とする。
【００１０】
また、本発明のワークフロー処理方法は、複数のアクティビティを含むワークフローを処理するワークフロー処理方法であって、実行指示がされたワークフローに含まれる全てのアクティビティを動作させるためのアプリケーションプログラムに基づいて、ユーザによる入力が必要な全ての必要情報を特定する解析ステップと、特定された必要情報の入力を促す通知をユーザに対して行う通知ステップと、上記通知に対してユーザから入力されたユーザ入力情報を記憶部に格納する入力情報格納処理ステップと、抽出された全ての命令に対するユーザ入力情報を上記記憶部に格納した後に、当該記憶部に格納されたユーザ入力情報に基づいて、実行指示がされたワークフローを実行するワークフロー実行ステップとを含むことを特徴とする。
【００１１】
上記の構成によれば、ワークフローが実行される前に、ユーザによる入力が必要な全ての必要情報を特定され、特定された必要情報の入力を促す通知をユーザに対して行う。そのため、ワークフローの実行前に、ユーザは、必要情報としてユーザ入力情報を入力することができる。そして、ユーザ入力情報が記憶部に格納され、当該ユーザ入力情報に基づいてワークフローが実行される。
【００１２】
そのため、ワークフローの実行が開始された後、ワークフロー処理装置は、ユーザに対して情報の入力を促す必要がなくなる。その結果、ユーザは、ワークフローの実行中にワークフロー処理装置の前で待機しておく必要がない。また、ワークフロー処理装置は、ワークフローを実行しながら、別のユーザからのワークフローの実行指示を受け付けることができる。このように、上記の構成によれば、ユーザによる操作の手間が少なく、かつ、ワークフロー完了までユーザがＵＩの前で待つ必要がないワークフロー処理装置またはワークフロー処理方法を実現することができる。
【００１３】
さらに、本発明のワークフロー処理装置において、上記解析部は、実行指示がされたワークフローに含まれる全てのアクティビティを動作させるためのアプリケーションプログラムの中から、ユーザによる情報の入力を必要とする全ての命令を抽出することにより、上記必要情報を特定することが好ましい。
【００１４】
上記の構成によれば、アプリケーションプログラムの中からユーザによる情報の入力を必要とする全ての命令を抽出することにより、容易に必要情報を特定することができる。
【００１５】
さらに、本発明のワークフロー処理装置において、上記入力情報格納処理部は、上記解析部により特定された必要情報を必要とするアクティビティを識別する識別情報と、当該必要情報に対応する上記通知に対して入力されたユーザ入力情報とを対応付けて上記記憶部に格納し、上記ワークフロー実行部は、動作させるアクティビティに対応するユーザ入力情報を上記記憶部から読み出し、当該アクティビティを動作させることが好ましい。
【００１６】
上記の構成によれば、ユーザ入力情報が複数記憶されている場合、アクティビティに対応するユーザ入力情報を容易に特定することができる。
【００１７】
なお、上記ワークフロー処理装置は、コンピュータによって実現してもよく、この場合には、コンピュータを上記各部として動作させることによりワークフロー処理装置をコンピュータにて実現させるプログラム、およびそれを記録したコンピュータ読み取り可能な記録媒体も、本発明の範疇に入る。
【発明の効果】
【００１８】
本発明によれば、ユーザによる操作の手間が少なく、かつ、ワークフロー完了までユーザがＵＩの前で待つ必要がないワークフロー処理装置またはワークフロー処理方法を実現することができる。
【図面の簡単な説明】
【００１９】
【図１】図１は、本発明の一実施形態に係るシステムを示す図である。
【図２Ａ】図２Ａは、図１に示す多機能周辺機器の詳細を示す機能ブロック図である。
【図２Ｂ】図２Ｂは、処理装置の重要な機能を示す機能ブロック図である。
【図３】図３は、ワークフローの処理の一例を示すフローチャートである。
【図４】図４は、ワークフローの処理の別の例を示すフローチャートである。
【図５】図５は、多機能周辺機器１１０におけるワークフロー処理に関する機能ブロック図である。
【図６】図６は、ワークフローを実行する前の処理に対応する擬似コードを示す図である。
【図７】図７は、ワークフローを実行する際の処理に対応する擬似コードを示す図である。
【発明を実施するための形態】
【００２０】
図１は、本発明の一実施形態に係るシステムを示す図である。本実施形態のシステム１００は、図１に示されるように、多機能周辺機器（ＭＦＰ:multi-functional peripheral device）１１０と、多機能周辺機器１１０とダイレクト通信１１２を行う処理装置１２０とを備えている。ここで、ダイレクト通信１１２とは、ネットワークを介さない通信であり、装置間を直接接続する配線を用いた通信である。また、図１に示す多機能周辺機器１１０は、例えば、プリンタ装置や複合機、画像読取装置、画像処理装置であってもよい。
【００２１】
処理装置１２０は、例えば、多機能周辺機器１１０に適用される一つ以上のドライバーを有するホストコンピュータ装置である。さらに、ネットワーク１３０やネットワークリンク１３１−１３３を介して、多機能周辺機器１１０は、処理装置１４０・１４１と通信する。当該処理装置１４０・１４１の各々も、例えば、多機能周辺機器１１０に適用される一つ以上のドライバーを有するホストコンピュータ装置である。
【００２２】
図２Ａは、図１に示す多機能周辺機器１１０の重要な機能の詳細を示すブロック図である。インターフェイスポート２０２は、プリンタケーブル、ネットワークリンク、または外部無線モジュールと接続するために存在している。インターフェイスポート２０２は、１以上のインターフェイスコントローラ２０４によりサービスを受ける。
【００２３】
インターフェイスコントローラ２０４は、各インターフェイスポート２０２と、共用のデータバス２０６を介して通信可能な、多機能周辺機器１１０の１以上のモジュールとの間の通信および／または状態信号（condition signal）のやり取りを制御する機能を有する。
【００２４】
多機能周辺機器（ワークフロー処理装置）１１０は、１以上の処理モジュール２０８を含む。処理モジュール２０８は、ＲＯＭ（read-only memory）２１０からデータを引き出す処理、ＲＡＭ（random access memory）２１２とデータを交換する処理、および、ＲＡＭ２１２の容量よりも大きなサイズのファイルを１以上の大容量記憶ユニット２１４に格納する処理を行う。多機能周辺機器１１０は、画像のログ（画像ログ）２１６を保持しており、ユーザインターフェイスおよびディスプレイを含むＵＩ部（操作ユニット）２１８を有している。画像ログ２１６は、まとめて一つのモジュールとして処理されてもよいし、複数の部分に分割され、当該部分が処理モジュール２０８により処理されてもよい。処理モジュール２０８は、ＲＯＭ２１０、ＲＡＭ２１２および大容量記録ユニット２１４のいずれかに格納されているパラメータ、ファイル、インデックスにアクセス可能である。
【００２５】
多機能周辺機器１１０は、独立した（分離した）モジュールとして、スキャンコントロールモジュール２２０、ファクシミリ（ＦＡＸ）コントロールモジュール２２２、コピーコントロールモジュール２２４を含む。各モジュールは、例えばデータバス２０６を介して、スキャナ２３０と多機能周辺機器１１０の１以上のモジュールとの間で通信および条件信号のやり取りを行うように、スキャナ２３０を制御する。
【００２６】
多機能周辺機器１１０は、独立した（分離した）モジュールとして、ＦＡＸコントロールモジュール２２２、コピーコントロールモジュール２２４、プリントコントロールモジュール２２６を含む。各モジュールは、例えばデータバス２０６を介して、スキャナ２３０と多機能周辺機器１１０の１以上のモジュールとの間で通信および条件信号のやり取りを行うように、プリンタ２４０を制御する。
【００２７】
典型的な多機能周辺機器１１０は、ＲＯＭ２１０、ＲＡＭ２１２、大容量記憶ユニット２１４の少なくとも一つに、キャリブレーションテーブルを格納していてもよい。このキャリブレーションテーブルは、プリントコントロールモジュール２２６および／または処理モジュール２０８によりアクセス可能であり、多機能周辺機器１１０の外部の装置が１以上のインターフェイスポート２０２を介して利用可能である。
【００２８】
典型的な多機能周辺機器１１０は、例えば、ユーザインターフェイスを介したユーザ入力のための通知やプリンタ２４０の出力方向センサー２４２により検知される通知を行ってもよい。そして、多機能周辺機器１１０は、１以上のインターフェイスポート２０２を介して多機能周辺機器１１０の外部の装置と、プリントコントロールモジュール２２６を用いて通信する。
【００２９】
図２Ｂは、処理装置の重要な機能を示す機能ブロック図である。処理装置は、典型的なホストコンピュータ２５０であり、インプット／アウトプットインターフェイス２５５を用いて、本発明の実施形態に係るドライバーを提供する。インプット／アウトプットインターフェイス２５５は、無線または有線ネットワークリング２５６や、パラレル、シリアルまたはユニバーサルシリアルバス（ＵＳＢ）ケーブル２５７を用いて、図２Ａに示される多機能周辺機器とユーザインターフェイス２７０を介して接続する。
【００３０】
ユーザインターフェイス２７０は、キーボード、マウス、タッチスクリーンによる接触入力、および／または、マイクロフォンを用いた音声入力を含む。ユーザインターフェイス２７０は、ディスプレイ（例えば、グラフィカルユーザインターフェイス（ＧＵＩ））を介してユーザに出力を提供し、１以上のスピーカ、ヘッドフォン、イアーパッドを介してユーザに音声出力を提供する。
【００３１】
ホストコンピュータ２５０は、さらにＣＰＵ（central processing unit）２５１、ＲＯＭ２５２、ＲＡＭ２５３、および、ハードディスクドライブのような大容量記憶ユニット２５４を備えている。
【００３２】
ホストコンピュータ２５０の２以上の構成要素は、データバス２６０を介して通信可能である。一般的なデータアクセス、データ処理、データ通信および表示は、ＭＩＣＲＯＳＯＦＴ（登録商標）ＷＩＮＤＯＷＳ（登録商標）のようなＯＳ（operating system）によりホストコンピュータ２５０のＣＰＵレベルで取り扱われる。
【００３３】
図５は、多機能周辺機器１１０におけるワークフロー処理に関する機能ブロック図である。図５に示されるように、多機能周辺機器１１０は、ワークフローの処理を行うワークフロー処理部５０１とＵＩ部５０２とを備えている。ＵＩ部５０２は、ユーザインターフェイスとして機能するブロックであり、液晶ディスプレイなどの表示部５２１と、キーボードやマウス、ボタンなどの入力部５２２とを備えている。なお、表示部５２１と入力部５２２とが一体化されたタッチパネルで構成されていてもよい。
【００３４】
ワークフロー処理部５０１は、アプリケーション記憶部５１１と、ワークフローリスト記憶部５１２と、ワークフロー選択部５１３と、ワークフロー解析部（解析部）５１４と、入力画面生成部（通知部）５１５と、入力情報取得部（入力情報格納処理部）５１６と、入力情報記憶部（記憶部）５１７と、ワークフロー実行部５１８とを備えている。
【００３５】
アプリケーション記憶部５１１は、ワークフローを構成する各アクティビティを実行するためのワークフローアプリケーションプログラムのインスタンスを記憶するものである。アプリケーション記憶部５１１には、様々な種類のワークフローに対応するワークフローアプリケーションプログラムのインスタンスが記憶されている。
【００３６】
ワークフローリスト記憶部５１２は、各種のワークフローを識別するワークフロー識別情報と当該ワークフローを構成する複数のアクティビティの各々を実行するためのワークフローアプリケーションプログラムのインスタンス（ワークフローアプリケーションインスタンス）を識別するアプリ識別情報と、当該複数のワークフローアプリケーションインスタンスの実行順序とが対応付けられたリストを記憶するものである。
【００３７】
ワークフロー選択部５１３は、ワークフローリスト記憶部５１２が記憶するワークフロー識別情報の一覧を表示部５２１に表示させ、ユーザに対して、実行を所望するワークフローの選択入力を促す。そして、ワークフロー選択部５１３は、ユーザからの選択指示（実行指示）に従って、実行すべきワークフローを決定する。
【００３８】
ワークフロー解析部５１４は、ワークフロー選択部５１３により決定されたワークフローに対応する全てのアプリ識別情報をワークフローリスト記憶部５１２から読み出し、当該アプリ識別情報で識別されるワークフローアプリケーションインスタンスをアプリケーション記憶部５１１から読み出す。そして、ワークフロー解析部５１４は、読み出したワークフローアプリケーションインスタンスを、その実行順序と同じ順で解析する。
【００３９】
具体的には、ワークフロー解析部５１４は、各ワークフローアプリケーションインスタンスの中で、ユーザによる入力が必要なパラメータ（必要情報）を特定する。すなわち、ワークフロー解析部５１４は、各ワークフローアプリケーションプログラムのインスタンスの中で、何らかのパラメータのユーザ入力を促す命令（プロンプト命令）が含まれているか否かを判断し、当該プロンプト命令が含まれている場合、当該プロンプト命令で示されるパラメータを必要情報として特定する。ワークフロー解析部５１４は、ワークフローリスト記憶部５１２から読み出した全てのアプリ識別情報に対応するアワークフロープリケーションインスタンスについて、この判断処理を行い、全てのプロンプト命令を抽出する。
【００４０】
入力画面生成部５１５は、ワークフロー解析部５１４により抽出されたプロンプト命令に基づいて、パラメータの入力を促す入力画面を生成し、表示部５２１に表示させる。すなわち、入力画面生成部５１５は、プロンプト命令で示されるパラメータの入力を促す通知を行う。
【００４１】
入力情報取得部５１６は、入力画面生成部５１５により生成された入力画面に入力された入力情報を入力情報記憶部５１７に格納する。入力情報取得部５１６は、プロンプト命令が含まれていたワークフローアプリケーションインスタンスを識別するアプリ識別情報と、当該プロンプト命令に基づいて生成された入力画面に対して入力された入力情報（ユーザ入力情報）とを対応付けて入力情報記憶部５１７に格納する。
【００４２】
ワークフロー実行部５１８は、入力情報取得部５１６が全ての入力情報を取得すると、ワークフロー選択部５１３により決定されたワークフローを実行する処理を行うものである。具体的には、ワークフロー実行部５１８は、ワークフロー選択部５１３により決定されたワークフロー識別情報に対応するアプリ識別情報および実行順序を示す情報をワークフローリスト記憶部５１２から読み出す。そして、ワークフロー実行部５１８は、実行順序に従って、アプリ識別情報に対応するワークフローアプリケーションインスタンスをアプリケーション記憶部５１１から読み出し、当該ワークフローアプリケーションインスタンスに従った処理を行う。この際、ワークフロー実行部５１８は、プロンプト命令が含まれているワークフローアプリケーションインスタンスに対応するアクティビティを実行する場合、ユーザ入力を促す処理を行うことなく、当該ワークフローアプリケーションインスタンスを識別するアプリ識別情報に対応する入力情報を入力情報記憶部５１７から読み出し、当該入力情報を用いて処理を続行する。
【００４３】
図３は、ワークフローアプリケーションインスタンスからなる典型的なワークフロー３００を示す図である。図３では、ワークフローアプリケーションインスタンスは、順に実行される４つのワークフローアプリケーションアクティビティ３１１−３１４を備えている。ワークフローアプリケーションインスタンス３１０は、１以上のマイクロプロセッサによって命令が実行される前に、アプリケーションのコンテンツ、特にアクティビティのユーザインターフェイスの存在を調査する。より具体的には、ワークフローアプリケーションインスタンス３１０は、特定のユーザインターフェイスの中で、プロンプトに基づいてユーザからの入力を要求するユーザインターフェイスを調査する（Ｓ３２０）。ワークフローインスタンスで実行される順に従って、同順にロードされ調査される。すなわち、ワークフロー解析部５１４は、各ワークフローアプリケーションインスタンスの中で、何らかのパラメータのユーザ入力を促す命令（プロンプト命令）が含まれているか否かを判断する。
【００４４】
特定されると、アクティビティのユーザインターフェイス３４０によりユーザ入力を促す処理（プロンプト処理）が実行される（Ｓ３３０）。具体的には、入力画面生成部５１５は、抽出されたプロンプト命令に基づいて、パラメータの入力を促す入力画面を生成し、表示部５２１に表示させる。そして、ユーザ入力が記憶される（Ｓ３６０）。プロンプト処理およびユーザ入力の記憶処理は、特定のアプリケーションまたはバッチで必要とされるユーザ入力の決定に基づいて、順に処理される。すなわち、ワークフローインスタンスの全てのアクティビティの中で必要とされる一組のユーザ入力が設定される。
【００４５】
ユーザ入力によりＵＩプロンプト（入力画面）が満たされると（Ｓ３５０）、ワークフローが実行される（Ｓ３７０）。すなわち、入力画面において全ての入力情報が入力されると、ワークフロー実行部５１８がワークフローの実行を開始する。
【００４６】
本発明の実施形態は、特定のアクティビティが開始されたとき、例えば、動作開始時に、記憶されたユーザ入力を取得することにより、ワークフローの各アクティビティが実行されるようにサポートするために、機械読取可能な命令をロードし、当該命令に従って構成されるデバイスプロセッサーを含む。したがって、起動するときにはユーザ入力を促さない。デバイスプロセッサーは、さらに、インスタンスごとの処理のワークフローインスタンス管理を実行するように構成されていてもよい。
【００４７】
このように、ある所定時刻に、生成されたＵＩプロンプトの処理の応じて記憶されたユーザ入力を取得し、実行する１以上の所定のワークフローインスタンスがあってもよい。ワークフローは、ワークフローに含まれるアクティビティの各々を、実行される順に調査する。ワークフローは、必要とされる情報、示すべきユーザインターフェイス、パラメータのようなユーザインターフェイス情報のための各アクティビティを問い合わせる。
【００４８】
図４は、公共の場所に設置された多機能周辺機器からワークフローを実行する例を示す。ワークフロー４００は、３つのアクティビティ（ドキュメントスキャンアクティビティ４１１、スキャンファイルの画像処理アクティビティ４１２、および画像処理後のスキャンドキュメントを添付した電子メール送信アクティビティ４１３）からなるワークフローアプリケーションインスタンス４１０を含む。
【００４９】
本実施形態では、画像処理アクティビティ４１２は、他の２つのアクティビティよりも、処理を完了するために要する時間が長い、計算集中処理であるとする。本発明の典型的な実施形態は、ワークフロー４００を調査し、ワークフローアプリケーションインスタンスの実行を開始する前に、受信側の電子メールアドレスの入力をユーザに促す。そのため、ユーザは、画像処理アクティビティ４１２が完了し、多機能周辺機器が電子メールアドレスの入力を促すまで、多機能周辺機器の前で待機する必要がなくなる。本発明の典型的な実施形態によれば、多機能周辺機器のワークフローの処理は、バックグラウンドでワークフローを完了することができ、画像処理アクティビティ４１２が完了したときに、所望の受信先に添付データを有する電子メールが送信される。このような典型的な実施形態では、異なるユーザまたは同じユーザが、コピーやスキャンのための多機能周辺機器を使用することができる。
【００５０】
この実施形態では、ユーザは、所望の受信者の電子メールアドレスの入力を促される。そして、一旦入力されると、ワークフローの実行が開始される。まずは、ユーザによる多機能周辺機器での原稿のスキャンステップが開始される。次のスキャン画像の処理の段階は、長い時間を要する。ただし、ユーザによる入力が既に行われているため、ユーザは、画像処理の完了まで待つ必要がない。従って、原稿のスキャンが完了した後は、ユーザは、多機能周辺機器の近くから離れることができ、多機能周辺機器の処理のワークフローを当該機器だけで（すなわち、更なるユーザへの入力を促すことなく）完了させることができる。
【００５１】
図６は、本発明の典型的な実施形態における擬似コードの一例を示す図である。ここでは、ワークフローアプリケーションで既に構成される多数の一連のワークフローがあるとする。例えば、各ワークフローは、スキャン・トゥ・イーメール（スキャンした画像データを電子メールに添付して送信する処理）、スキャンした画像データを所定のフォルダに格納する処理などのような異なる特徴を備える。これら既に構成された一連のワークフローは、ユーザが実行するために選択できるリスト上にアイテムとして存在する。ユーザがリストからアイテムを選択すると、図６に示されるような擬似コードに従って動作が開始される。
【００５２】
なお、ワークフローインスタンスは、選択されたワークフロー構成に基づいて生成される。ワークフローインスタンスは、ワークフローを実行している間に必要とされるデータ構造を含む。ワークフローインスタンスが開始されると、ワークフローはワークフローフレームワークの制御下で実行される。図７は、ワークフローが実行している間の処理ステップが記載された擬似コードの一例を示している。
【００５３】
なお、当業者であれば、本発明の目的を満たす範囲で、上述した要素、モジュールおよび機能をさらに細分化したり、組み合わせたり、変更したりしてもよいことは認識できる。さらに、本発明の多数の変形例の詳細について上述したが、本発明の目的の範囲の他の変形例でもよいことは、上記の記述に基づいて当業者であれば理解できる。例えば、上述したフローチャートや処理は本発明の目的の範囲内で変更・修正可能である。また本実施形態の特徴点の様々な組み合わせやサブコンビネーションが行われてよい。従って、本発明の変形例として、本実施形態の様々な特徴や構成を組み合わせたり、互いに置き換えたりしてもよい。このように、本発明は、本実施形態の具体的な構成により限定されるものではない。
【００５４】
本発明は、次のようにも表現できる。すなわち、保存されたユーザ入力に基づくワークフロー実行方法であって、コンピューティング・デバイスによって、ユーザ入力を必要とするワークフローの一組の動作を判定し、ユーザ入力を必要とすると判定された一組の動作の少なくとも１部に対し、ユーザ入力をユーザインターフェースを介して促し、前記促されたユーザ入力を受信し、前記受信されたユーザ入力を保存し、前記保存されたユーザ入力に基づいて前記ワークフローの少なくとも一部を実行する各工程を備えてなる。
【００５５】
そして、ユーザ入力を必要とする前記一組の動作が、促されたユーザ入力を必要とすると判定された少なくとも１つの動作を含むことが好ましい。
【００５６】
さらに、前記促す工程が、ユーザ入力を必要とすると判定された一組の動作のうちの少なくとも一部の前記ユーザ入力の一以上の命令に基づいていることが好ましい。
【００５７】
さらに、受信したユーザ入力を保存する前記工程が、ユーザ入力を必要とすると判定された前記一組の動作の少なくとも１部に関連するとして、前記受信したユーザ入力を保存する工程を含んでなることが好ましい。
【００５８】
さらに、ユーザ入力データを必要とする動作を含む前記ワークフローの少なくとも一部を実行する前記工程が、前記ユーザ入力データを必要とする動作に関連する保存されたユーザ入力に基づいていることが好ましい。
【００５９】
また、本発明のコンピューティング・デバイスは、コンピューティング・デバイスによって、ユーザ入力を必要とするワークフローの一組の動作を判定し、ユーザ入力をユーザインターフェースを介して促し、前記ユーザ入力を受信し、前記ユーザ入力を保存し、前記保存されたユーザ入力に基づいて前記ワークフローを実行するプロセッシング・ユニットおよびアドレッサブル・メモリを備えてなる。
【００６０】
さらに、ユーザ入力を必要とする前記一組の動作が、促されたユーザ入力を必要とすると判定された少なくとも１つの動作を含んでいることが好ましい。
【００６１】
さらに、前記プロセッシング・ユニットが、ユーザ入力を必要とすると判定された前記一組の動作のうちの少なくとも１部の前記ユーザ入力の一以上の命令に基づいて促すように構成されていることが好ましい。
【００６２】
さらに、前記プロセッシング・ユニットがさらに、ユーザ入力を必要とすると判定された前記一組の動作のうちの少なくとも一部に関連するとして、前記受信されたユーザ入力を保存することが好ましい。
【００６３】
さらに、前記プロセッシング・ユニットが、前記ワークフローの少なくとも１部を実行するように構成されており、前記ワークフローが、ユーザ入力データを必要とする前記動作に関連する前記保存されたユーザ入力に基づいて、ユーザ入力データを必要とする動作を含んでいることが好ましい。
【００６４】
また、本発明の媒体は、プロセッサで実行可能な命令を有するプロセッサ読出可能な媒体であって、該命令はプロセッサによって実行されると、プロセッサに、プロセッサを備えたコンピューティング・デバイスによって、ユーザ入力を必要とするワークフローの一組の動作を判定し、ユーザ入力をユーザインターフェースを介して促し、前記ユーザ入力を受信し、前記ユーザ入力を保存し、前記保存されたユーザ入力に基づいて前記ワークフローを実行する各工程を行わせる。
【００６５】
さらに、プロセッサによって実行されると、促されたユーザ入力を必要とすると判定された少なくとも１つの動作を含んでいるとき、ユーザ入力を必要とする一組の動作をプロセッサに定義させることが好ましい。
【００６６】
さらに、プロセッサによって実行されると、ユーザ入力を必要とすると判定された前記一組の動作の少なくとも１部の前記ユーザ入力の一以上の命令に基づいて促すように前記プロセッサがさらに構成されていることが好ましい。
【００６７】
さらに、プロセッサによって実行されると、ユーザ入力を必要とすると判定された前記一組の動作の少なくとも１つに関連するものとして前記受信されたユーザ入力を保存するように前記プロセッサがさらに構成されていることが好ましい。
【００６８】
さらに、プロセッサによって実行されると、前記ワークフローの少なくとも１部を実行するように前記プロセッサがさらに構成されており、前記ワークフローが、ユーザ入力データを必要とする前記動作に関連する前記保存されたユーザ入力に基づいて、ユーザ入力データを必要とする動作を含んでいることが好ましい。
【００６９】
最後に、多機能周辺機器１１０の各ブロック、特にワークフロー処理部５０１は、ハードウェアロジックによって構成してもよいし、次のようにＣＰＵを用いてソフトウェアによって実現してもよい。
【００７０】
すなわち、多機能周辺機器１１０は、各機能を実現する制御プログラムの命令を実行するＣＰＵ（central processing unit）、上記プログラムを格納したＲＯＭ（read only memory）、上記プログラムを展開するＲＡＭ（random access memory）、上記プログラムおよび各種データを格納するメモリ等の記憶装置（記録媒体）などを備えている。そして、本発明の目的は、上述した機能を実現するソフトウェアである多機能周辺機器１１０の制御プログラムのプログラムコード（実行形式プログラム、中間コードプログラム、ソースプログラム）をコンピュータで読み取り可能に記録した記録媒体を、上記多機能周辺機器１１０に供給し、そのコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に記録されているプログラムコードを読み出し実行することによっても、達成可能である。
【００７１】
上記記録媒体としては、例えば、磁気テープやカセットテープ等のテープ系、フロッピー（登録商標）ディスク／ハードディスク等の磁気ディスクやＣＤ−ＲＯＭ／ＭＯ／ＭＤ／ＤＶＤ／ＣＤ−Ｒ等の光ディスクを含むディスク系、ＩＣカード（メモリカードを含む）／光カード等のカード系、あるいはマスクＲＯＭ／ＥＰＲＯＭ／ＥＥＰＲＯＭ／フラッシュＲＯＭ等の半導体メモリ系などを用いることができる。
【００７２】
また、多機能周辺機器１１０を通信ネットワークと接続可能に構成し、上記プログラムコードを通信ネットワークを介して供給してもよい。この通信ネットワークとしては、特に限定されず、例えば、インターネット、イントラネット、エキストラネット、ＬＡＮ、ＩＳＤＮ、ＶＡＮ、ＣＡＴＶ通信網、仮想専用網（virtual private network）、電話回線網、移動体通信網、衛星通信網等が利用可能である。また、通信ネットワークを構成する伝送媒体としては、特に限定されず、例えば、ＩＥＥＥ１３９４、ＵＳＢ、電力線搬送、ケーブルＴＶ回線、電話線、ＡＤＳＬ回線等の有線でも、ＩｒＤＡやリモコンのような赤外線、Ｂｌｕｅｔｏｏｔｈ（登録商標）、８０２．１１無線、ＨＤＲ、携帯電話網、衛星回線、地上波デジタル網等の無線でも利用可能である。なお、本発明は、上記プログラムコードが電子的な伝送で具現化された、搬送波に埋め込まれたコンピュータデータ信号の形態でも実現され得る。
【産業上の利用可能性】
【００７３】
本発明は、プリンタや複合機などの多機能周辺機器に適用することができる。
【符号の説明】
【００７４】
１１０  多機能周辺機器（ワークフロー処理装置）
５０１  ワークフロー処理部
５０２  ＵＩ部
５１１  アプリケーション記憶部
５１２  ワークフローリスト記憶部
５１３  ワークフロー選択部
５１４  ワークフロー解析部（解析部）
５１５  入力画面生成部（通知部）
５１６  入力情報取得部（入力情報格納処理部）
５１７  入力情報記憶部（記憶部）
５１８  ワークフロー実行部
５２１  表示部
５２２  入力部
【図１】
2010272112.tif 000003
【図２Ａ】
2010272112.tif 000004
【図２Ｂ】
2010272112.tif 000005
【図３】
2010272112.tif 000006
【図５】
2010272112.tif 000007
【図６】
2010272112.tif 000008
【図７】
2010272112.tif 000009
【図４】
2010272112.tif 000010