(57)【要約】【課題】  ネットワーク接続された各装置に複数の処理の連携処理を行わせるシステムにおいて、装置に障害が発生した場合でも効率よく円滑に処理を実行することができるサービス処理装置及びサービス処理プログラムを提供する。【解決手段】  デバイスＡから検索対象の文書データのファイル名、送信先のアドレス、優先度が付与された複数の送信方法等が記述された指示書が送信されると、デバイスＢは、指示書で指定されたファイルを検索し（ステップ３００、３０２）、検索できなかった場合はエラー処理を行い（ステップ３０８）、検索できた場合はファイルをデバイスＡへ送信する（ステップ３０４）。送信が正常終了したか否かを判断し（ステップ３０６）、正常終了しなかった場合は、未実施の送信方法が無いか否かを判断し（ステップ３１０）、無い場合にはエラー処理を行う（ステップ３１２）。未実施の送信方法がある場合には、次に優先度が高い送信方法でファイルを送信する（ステップ３１４）。【選択図】        図１４
2005258626.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも処理対象の文書の位置、前記文書に関する複数のサービス処理の内容、及び少なくとも１つのサービス処理について複数の実行方法が優先度と共に記述された指示書の内容を解釈する解釈手段と、
前記解釈手段の解釈結果に基づいて、複数のサービス処理手段に、前記文書に対して前記複数のサービス処理を連携処理させると共に、前記複数の実行方法が記述されたサービス処理については優先度の高い実行方法から実行させる連携処理手段と、
を備えたサービス処理装置。
【請求項２】
前記複数の実行方法が記述されたサービス処理について、全ての実行方法で正常終了しなかった場合にエラー処理するエラー処理手段をさらに備えたことを特徴とする請求項１記載のサービス処理装置。
【請求項３】
コンピュータに、
少なくとも処理対象の文書の位置、前記文書に関する複数のサービス処理の内容、及び少なくとも１つのサービス処理について複数の実行方法が優先度と共に記述された指示書の内容を解釈する解釈工程と、
前記解釈手段の解釈結果に基づいて、複数のサービス処理手段に、前記文書に対して前記複数のサービス処理を連携処理させると共に、前記複数の実行方法が記述されたサービス処理については優先度の高い実行方法から実行させる連携処理工程と、
を含む処理を実行させるためのサービス処理プログラム。
【請求項４】
前記複数の実行方法が記述されたサービス処理について、全ての実行方法で正常終了しなかった場合にエラー処理するエラー処理工程をさらに含むことを特徴とする請求項３記載のサービス処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サービス処理装置及びサービス処理プログラムに係り、特に、紙文書を電子化してワークフローを構築するワークフローシステムに用いて好適なサービス処理装置及びサービス処理プログラムに関する。
【背景技術】
【０００２】
従来、オフィス環境等において、スキャナ、ファクシミリ装置、複写機、又はこれらを複合した複合機、パーソナルコンピュータ、メールサーバ等の各種機器をネットワークで相互に接続し、各機器をネットワークに接続された他の機器から利用できるようにすることが行われている。
【０００３】
また、このようにネットワーク上に分散したプログラムやサービス（機能）を連携して一連の処理を実行する分散処理システムに関する技術として、例えばサーバを用いてネットワーク上に分散した各サービスの連携を集中管理するシステムや、サーバを用いずにサービスを提供する機器間で各サービスの連携関係や入出力情報等を含む連携情報を順次伝達することにより連携処理を行うシステムがある。後者のシステムとしては、例えば、ネットワークに接続された各機器上で動作する入出力機能及びプログラムを個々の利用者の利用方法に応じて組み合わせて連携処理する場合に、処理順序に従って連携処理データを各連携機器間で伝達するネットワーク連携装置（例えば、特許文献１を参照。）が知られている。
【特許文献１】特開２００１−３０６５３４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記従来技術では、ネットワークに接続された装置に障害が発生した場合については何ら考慮されておらず、例えば再度ジョブを最初から実行し直したりする等の必要があり非効率的である、という問題があった。
【０００５】
本発明は、上記課題を解決するために成されたものであり、ネットワーク接続された各装置に複数の処理の連携処理を行わせるシステムにおいて、装置に障害が発生した場合でも効率よく円滑に処理を実行することができるサービス処理装置及びサービス処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するため、請求項１記載のサービス処理装置の発明は、少なくとも処理対象の文書の位置、前記文書に関する複数のサービス処理の内容、及び少なくとも１つのサービス処理について複数の実行方法が優先度と共に記述された指示書の内容を解釈する解釈手段と、前記解釈手段の解釈結果に基づいて、複数のサービス処理手段に、前記文書に対して前記複数のサービス処理を連携処理させると共に、前記複数の実行方法が記述されたサービス処理については優先度の高い実行方法から実行させる連携処理手段と、を備えたことを特徴とする。
【０００７】
この発明によれば、解釈手段は、指示書の内容を解釈する。指示書には、処理対象の文書の位置、その文書に関する複数のサービス処理の内容について記述されるが、複数のサービス処理のうち、少なくとも１つは、複数の実行方法が優先度と共に記述されている。すなわち、１つのサービス処理に対して、複数の実行方法が記述される。
【０００８】
ここで、文書は、文字や画像等が記録された紙文書に限らず、これらと同等の内容が記録された電子文書でもよい。
【０００９】
サービス処理手段は、処理対象である文書に関する処理、例えば文書の検索処理、スキャン処理、プリント処理、ＦＡＸ送信、メール送信等の指示書に記述された各種の処理を実行するものであり、ハードウェアで構成されたものに限らず、モジュールであってもよい。
【００１０】
なお、各サービス処理手段は、各々独立した装置として構成されていてもよく、各サービス処理手段のうち一部の複数の手段が１個の装置内に設けられていてもよく、各サービス処理手段が全て１個の装置内に設けられていてもよい。
【００１１】
連携処理手段は、指示書に記述されている文書の位置から処理対象の文書を取得すると共に、指示書に記述されている複数のサービス処理の内容に基づいて処理を行わせるサービス処理手段を決定する。処理を行わせるサービス処理手段は、各サービス処理手段で処理可能な処理内容の情報を予め記憶手段に記憶しておき、この情報と指示書に記述された処理の内容とに基づいて決定することができる。そして、連携処理手段は、例えばこれらのサービス処理手段に処理内容を指示して処理させると共に処理結果を受け取り、次の処理を行う処理装置に次の処理内容を指示することを繰り返すことにより、各処理装置による処理を連携させ、一連の複数の処理を容易に行うことができる。
【００１２】
また、連携処理手段は、複数の実行方法が記述されたサービス処理については、優先度の高い実行方法から実行させる。すなわち、最初に最も高い優先度の実行方法で実行し、正常終了しなかった場合には、次に優先度が高い実行方法でそのサービス処理を実行する。このように、サービス処理の実行が正常終了しなかった場合には、未実施の実行方法のうち優先度が最も高い実行方法で実行する。
【００１３】
これにより、サービス処理の実行が失敗するのを極力防ぐことができ、指示書の実行を最初から実行し直したりする必要がなく、利便性を向上させることができる。
【００１４】
なお、請求項２に記載したように、前記複数の実行方法が記述されたサービス処理について、全ての実行方法で正常終了しなかった場合にエラー処理するエラー処理手段をさらに備えた構成としてもよい。このエラー処理では、例えばサービス処理の実行について失敗した旨を示すメッセージを報知したりする等の処理を行う。これにより、サービス処理の実行が失敗したことを容易に認識することができる。
【００１５】
なお、請求項３記載のサービス処理プログラムの発明のように、コンピュータに、少なくとも処理対象の文書の位置、前記文書に関する複数のサービス処理の内容、及び少なくとも１つのサービス処理について複数の実行方法が優先度と共に記述された指示書の内容を解釈する解釈工程と、前記解釈手段の解釈結果に基づいて、複数のサービス処理手段に、前記文書に対して前記複数のサービス処理を連携処理させると共に、前記複数の実行方法が記述されたサービス処理については優先度の高い実行方法から実行させる連携処理工程と、を含む処理を実行させることにより、コンピュータを請求項１記載のサービス処理装置として機能させることができる。
【００１６】
また、請求項４記載のサービス処理プログラムの発明のように、前記複数の実行方法が記述されたサービス処理について、全ての実行方法で正常終了しなかった場合にエラー処理するエラー処理工程をさらに含むようにすることにより、コンピュータを請求項２のサービス処理装置として機能させることができる。
【発明の効果】
【００１７】
本発明によれば、ネットワーク接続された各装置に複数の処理の連携処理を行わせるシステムにおいて、装置に障害が発生した場合でも効率よく円滑に処理を実行することができる、という効果を有する。
【発明を実施するための最良の形態】
【００１８】
以下、本発明の好ましい実施の形態について図面を参照しながら詳細に説明する。
【００１９】
（システム構成）
図１は、本発明に係る文書処理システム１の構成を示すブロック図である。
【００２０】
文書処理システム１は、様々なサービスを行う装置やアプリケーションがネットワーク５を介して接続されたものである。ここで、サービスとは、外部からの要求に応じて文書に関する利用可能な機能をいう。サービスは、例えば、コピー、プリント、スキャン、ファクシミリ送受信、メール配信、レポジトリへの格納やレポジトリからの読込、ＯＣＲ（Ｏｐｔｉｃａｌ  Ｃｈａｒａｃｔｅｒ  Ｒｅｃｏｇｎｉｔｉｏｎ）処理、ノイズ除去処理等が該当するが、特に限定されるものではない。
【００２１】
文書処理システム１は、具体的には、複数のサービスを連携させてユーザーの所望の処理を指示するためのユーザーインタフェースを備えたクライアント端末１０と、ユーザーの所望のサービスを検索するサービス検索サーバ２０と、クライアント端末１０で指示されたサービス連携に関する情報から指示書を作成する指示書生成サーバ３０と、指示書を管理する指示書管理サーバ４０と、指示書に従って各サービスの連携処理を実行する連携処理サーバ５０と、を備えている。
【００２２】
さらに、文書処理システム１は、画像文書のノイズ除去処理や画像回転処理やＯＣＲ処理や画像をバインドする等の画像処理を行う画像処理装置６１と、文書を管理する文書管理サーバ６２と、文書を配信する文書配信サーバ６３と、第１のサービス処理を行う第１のサービス処理装置６４と、第２のサービス処理を行う第２のサービス処理装置６５と、を備えている。
【００２３】
なお、文書処理システム１は、本実施形態では所定のサービス処理を行う複数のサーバがネットワーク５を介して接続された構成となっているが、複数のサービスがネットワーク５を介して接続されていれば特に限定されるものではない。
【００２４】
ここで、指示書とは、一連の処理を複数の機能的な処理に分解した場合において、各機能の関係を表す情報と、各機能を呼び出すためのインタフェース（Ｉ／Ｆ）情報と、一連の処理に関するグラフィカルユーザーインタフェース（ＧＵＩ）を構成するための情報と、を含んだデータをいう。
【００２５】
図２は、文書処理システム１を構成する各サービス処理装置の相互関係を説明するためのブロック図である。各サービス処理装置は、自身が提供するサービスの内容を表すＩ／Ｆ情報を記憶している。
【００２６】
図３は、Ｉ／Ｆ情報の構成を示す図である。Ｉ／Ｆ情報は、＜サービス種類（Ｓｅｒｖｉｃｅ  Ｃｌａｓｓ）＞、＜サービス名（Ｓｅｒｖｉｃｅ  Ｎａｍｅ）＞、＜サービス・アイコン（Ｓｅｒｖｉｃｅ  Ｉｃｏｎ）＞、＜サービス情報ロケーション（Ｓｅｒｖｉｃｅ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｌｏｃａｔｉｏｎ）＞、＜入力（Ｉｎｐｕｔ）＞、＜出力（Ｏｕｔｐｕｔ）＞、＜パラメータ制限ルール（Ｐａｒａｍｅｔｅｒ  Ｒｅｓｔｒｉｃｔｉｏｎ  Ｒｕｌｅｓ）＞、＜サービス・ロケーション（Ｓｅｒｖｉｃｅ  Ｌｏｃａｔｉｏｎ）＞、＜メソッド名（Ｍｅｔｈｏｄ  Ｎａｍｅ）＞、＜起動方法（Ｉｎｖｏｃａｔｉｏｎ  Ｓｃｈｅｍｅ）＞、＜黙示要素（Ｉｍｐｌｉｃｉｔ  Ｅｌｅｍｅｎｔｓ）＞で構成されている。
【００２７】
＜サービス種類＞は、サービス処理装置が提供するサービスの種類（処理内容）である。なお、＜サービス種類＞は、予め定義されているものが使用され、例えば、スキャン、プリント、レポジトリ、フロー等が該当する。＜サービス名＞は、サービス処理装置が提供するサービスの名前である。＜サービス・アイコン＞は、クライアント端末１０のＧＵＩに表示するアイコンの位置情報である。
【００２８】
＜サービス情報ロケーション＞は、指示書生成サーバ３０がＩ／Ｆ情報を取得するために用いるＵＲＬである。＜入力＞は、サービスへの入力である。＜出力＞は、サービスからの出力である。＜パラメータ制限ルール＞は、＜入力＞に適用される制限ルールである。＜サービス・ロケーション＞は、サービスを実際に使用するときの位置情報である。＜メソッド名＞は、サービス処理の提供手法や、サービスを指し示す名称が記述されている。
【００２９】
＜起動方法＞は、サービス処理を呼び出し起動する方法である。なお、＜起動方法＞としては、例えばメッセージ交換のプロトコルであるＳＯＡＰ（Ｓｉｍｐｌｅ  Ｏｂｊｅｃｔ  Ａｃｃｅｓｓ  Ｐｒｏｔｏｃｏｌ）、ＳＭＴＰ（Ｓｉｍｐｌｅ  Ｍａｉｌ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）等を用いることができる。＜黙示要素＞は、出力として明示的に後段の処理に渡されるデータでないが、後段の処理で参照可能なデータである。
【００３０】
クライアント端末１０は、指示書の作成を指示したり、起動すべき指示書を選択するために、画面表示したり所定の操作を行うためのグラフィカルユーザーインタフェース（ＧＵＩ）の機能を備えている。
【００３１】
サービス検索サーバ２０は、ネットワーク５に接続された複数のサービスの中から、検索条件に対応するサービスを検索する。サービス検索サーバ２０は、画像処理装置６１、文書管理サーバ６２、文書配信サーバ６３、第１のサービス処理装置６４、サービス処理装置６５等の様々なサービス処理装置のＩ／Ｆ情報の一部（以下「部分Ｉ／Ｆ情報」という。）を予め記憶している。ここで、部分Ｉ／Ｆ情報は、Ｉ／Ｆ情報の要素中の＜サービス種類＞、＜サービス名＞、＜サービス情報ロケーション＞、＜入力＞、＜出力＞の情報をいう。
【００３２】
サービス検索サーバ２０は、指示書生成サーバ３０や連携処理サーバ５０から検索条件が送信されたときは、各サービス処理装置の部分Ｉ／Ｆ情報を用いてサービスを検索する。例えば、サービス検索サーバ２０は、所定のサービスと同様のサービスを検索するときは、＜サービス種類＞が一致するサービスを検索したり、＜入力＞及び＜出力＞が一致するサービスを検索したり、これらすべてが一致するサービスを検索すればよい。
【００３３】
指示書生成サーバ３０は、指示書作成時には各サービス処理装置からＩ／Ｆ情報を取得して、各サービス処理装置が提供するサービスを連携させるための指示書を生成する。指示書生成サーバ３０は、指示書を作成すべく、具体的には次の処理を実行する。
【００３４】
指示書生成サーバ３０は、＜サービス情報ロケーション＞に基づいて、ネットワーク５上に分散した所定のサービス処理装置から、各サービスに関するＩ／Ｆ情報を送信するように要求する。なお、指示書生成サーバ３０は、所定のサービス処理装置がない場合は、サービス検索サーバ２０に対して、所定のサービス処理装置と同一のサービスを行う他のサービス処理装置を検索するように指示を出す。そして、指示書生成サーバ３０は、サービス検索サーバ２０から、他のサービス処理装置の＜サービス情報ロケーション＞を取得すればよい。
【００３５】
指示書生成サーバ３０は、サービス検索サーバ２０からの検索結果や各サービス処理装置から受信したＩ／Ｆ情報を管理する。指示書生成サーバ３０は、各サービス処理装置から取得したＩ／Ｆ情報に基づいて、ジョブフロー（連携処理）を定義するためのＧＵＩ画面となるＨＴＭＬファイルを生成する。そして、指示書生成サーバ３０は、クライアント端末１０からのサービスの閲覧要求があると、ＧＵＩ画面となるＨＴＭＬファイルを前記クライアント端末１０へ送信する。
【００３６】
図４は、ジョブフローを定義するためのＧＵＩ画面である指示書作成画面１００を示す図である。指示書作成画面１００は、サービスウインドウ１０１、フローウインドウ１０２、ロジックウインドウ１０３、プロパティウィンドウ１０４で構成されている。
【００３７】
サービスウインドウ１０１は、使用可能な様々なサービス処理装置を表示する。ロジックウインドウ１０３は、サービス間の連携のパターンを示すジョブフローを表示する。プロパティウィンドウ１０４は、サービスウインドウ１０１とロジックウインドウ１０３に表示された各アイコンの詳細な設定パラメータを表示する。
【００３８】
ユーザーは、サービスウインドウ１０１のアイコンとロジックウインドウ１０３のアイコンをフローウインドウ１０２にドラッグ・アンド・ドロップすることで、フローウインドウ１０２にジョブフローを定義することができる。ユーザーは、さらに、プロパティウィンドウ１０４に表示された内容を編集することによって、サービスやロジックなどのサービス間の関係を詳細に設定することができる。
【００３９】
このように、ユーザーは、サービスウインドウ１０１のアイコンとロジックウインドウ１０３のアイコンをフローウインドウ１０２にドラッグ・アンド・ドロップしてジョブフローを定義し、プロパティウィンドウ１０４に表示された内容を編集することにより、多様かつ複雑な処理を連携させるための指示書を容易に作成することができる。
【００４０】
クライアント端末１０は、ユーザーの操作によって定義されたジョブフロー情報を、ＣＧＩ（Ｃｏｍｍｏｎ  Ｇａｔｅｗａｙ  Ｉｎｔｅｒｆａｃｅ）形式に従って指示書生成サーバ３０に送信する。
【００４１】
指示書生成サーバ３０は、ユーザーからのサービス連携の指示に関するジョブフロー情報と、各サービスのＩ／Ｆ情報とに基づいて、各サービスへ依頼する処理の内容、入力パラメータ、各サービスの連携の仕方（ジョブフロー）、文書名や格納ロケーション情報等の処理対象の文書を特定するための情報を定義した指示書を作成する。指示書は、ＸＭＬ形式のファイルで構成されている。
【００４２】
図５は、ＸＭＬ形式で構成された指示書を示す概念図である。複数のサービスの連携処理自体も１つのサービスとみなされるので、指示書は、図３に示したＩ／Ｆ情報に加えて＜フロー（Ｆｌｏｗ）＞を追加した構成になっている。
【００４３】
＜フロー＞は、サービス間の連携を記述する要素であり、＜起動（Ｉｎｖｏｋｅ）＞、制御構造や論理演算、条件判断をするための＜ｉｆ＞等の要素、サービス間の連携を調整するためのＸＭＬ構造の操作指示、さらに処理対象の文書を特定するための情報を含んでいる。
【００４４】
＜起動＞は、サービス処理装置の特定のメソッドを表し、サービスの呼び出しを実行する。＜起動＞の要素として、パラメータの位置情報を示す＜マップ＞と、呼び出すメソッド名＜メソッド＞を有している。制御構造や論理演算等を示す＜ｉｆ＞、＜ａｎｄ＞、＜ｅｑ＞、＜ｇｔ＞は、連携処理時に条件分岐を行ったり、サービス間で受け渡されるパラメータの調整を実施する。
【００４５】
指示書は、サービスの連携処理の制御に関するすべての情報を＜フロー＞の要素に記述している。これにより、指示書によって表される連携処理自体も１つのサービスとみなされる。なお、指示書は、図５に示す構成に限定されるものではなく、各サービスを連携させることができればよい。
【００４６】
指示書生成サーバ３０は、以上のようなＸＭＬ形式の指示書を指示書管理サーバ４０に送信する。また、指示書生成サーバ３０は、ユーザーによりサービス連携処理の実行が指示されている場合は、指示書を直接連携処理サーバ５０に送信してもよい。
【００４７】
指示書管理サーバ４０は、指示書生成サーバ３０から送信された指示書を保持し、クライアント端末１０からの要求に応じて指示書を連携処理サーバ５０へ送信する。このように、作成された指示書を格納し保持しておくことにより、必要に応じて指示書を呼び出して実行することができるため、その都度指示書を作成する必要がなく、効率よく文書を処理することができる。
【００４８】
連携処理サーバ５０は、指定された指示書を解釈・実行するサーバである。連携処理サーバ５０は、指示書が送信されると、その指示書を解釈し、指示書に記述されている順番と利用方法に従い、画像処理装置６１、文書管理サーバ６２、文書配信サーバ６３などの各サービス処理装置を順に呼び出し、連携処理を実行する。また、連携処理サーバ５０は、実行中の連携処理の状況や終了した連携処理の結果の情報を保存し、外部からの要求に応じて、連携処理の状況や結果を通知する。
【００４９】
連携処理サーバ５０は、指示書を解釈して各サービス処理装置へ依頼する際には、処理依頼内容や入力パラメータ、処理対象の文書を特定するための情報等を有する個別指示情報を生成する。なお、連携処理サーバ５０は、各サービス処理装置で行う処理の前後の処理との関連を指示書に記述してもよいし、指示書の形式ではなく各サービス処理装置毎の固有の情報交換形式で処理依頼を行うようにしてもよい。
【００５０】
画像処理装置６１は、画像処理機能を行うソフトウェアプログラムがインストールされたコンピュータである。画像処理装置６１は、連携処理サーバ５０からの処理要求依頼に含まれるサービス処理依頼内容、入力パラメータ、処理対象文書の情報に基づいて、文書の処理を行う。また、画像処理装置６１は、起動時にサービス検索サーバ２０に対して、部分Ｉ／Ｆ情報を通知する。さらに、画像処理装置６１は、指示書生成サーバ３０からの要求により、画像処理サービスの利用方法を示すＩ／Ｆ情報を送信する。このＩ／Ｆ情報は、指示書作成時に利用される。
【００５１】
文書管理サーバ６２は、文書格納機能を有している。文書管理サーバ６２は、連携処理サーバ５０からの要求に含まれる情報に基づき、文書の格納や検索や読み出し、文書に関する属性の変更や各種処理を実行する。また、文書管理サーバ６２は、起動時にサービス検索サーバ２０に対して、部分Ｉ／Ｆ情報を通知する。さらに、文書管理サーバ６２は、指示書生成サーバ３０からの要求により文書管理サービスの利用方法を示すＩ／Ｆ情報を送信する。
【００５２】
文書配信サーバ６３は、取得した文書を、指示された文書管理サーバへ格納したり、指示された送信先へメール送信やＦＡＸ送信を行ったり、指示されたプリンタへプリント出力処理を行う機能を備えている。文書配信サーバ６３は、連携処理サーバ５０からの要求により、クライアント端末１０で指示された文書とその配信先の情報に基づき、文書の配信処理を行う。また、文書配信サーバ６３は、起動時に、サービス検索サーバ２０に対して、部分Ｉ／Ｆ情報を通知する。さらに、文書配信サーバ６３は、指示書生成サーバ３０からの要求により文書配信処理サービスの利用方法を示すＩ／Ｆ情報を送信する。
【００５３】
第１のサービス処理装置６４は、外部からの指示に従って文書に関する所定のサービス処理を行う装置である。ここで、第１のサービス処理装置６４は、連携処理サーバ５０からの処理依頼内容や入力パラメータ、処理対象の文書を特定するための情報等の情報に基づき、自身で実行すべきサービス処理を実行する。また、第１のサービス処理装置６４は、起動時に、サービス検索サーバ２０に対して、部分Ｉ／Ｆ情報を通知する。さらに、第１のサービス処理装置６４は、指示書生成サーバ３０からの要求によりサービス処理の利用方法を示すＩ／Ｆ情報を送信する。なお、第２のサービス処理装置６５は、サービス処理の内容を除いて、第１のサービス処理装置６４と同様に動作する。
【００５４】
以上のように構成された文書処理システム１において、画像処理装置６１、文書管理サーバ６２、文書配信サーバ６３等の各サービス処理装置は、それぞれ所定のサービスを実行するためのアプリケーションプログラムがインストールされると、以下のように動作する。
【００５５】
画像処理装置６１、文書管理サーバ６２、文書配信サーバ６３等のサービス処理装置は、起動処理において、それぞれのサービス概要とアドレスを示す情報を含んだ部分Ｉ／Ｆ情報をサービス検索サーバ２０に通知する。
【００５６】
サービス検索サーバ２０は、画像処理装置６１、文書管理サーバ６２、文書配信サーバ６３等の各サービス処理装置から送信された部分Ｉ／Ｆ情報を保存する。これにより、サービス検索サーバ２０は、例えば指示書生成サーバ３０や連携処理サーバ５０から所定のサービス検索要求があったときに、部分Ｉ／Ｆ情報を用いて検索を実行することができる。
【００５７】
（指示書の作成）
図６は、指示書作成時のクライアント端末１０及び指示書生成サーバ３０の処理手順を示すフローチャートである。
【００５８】
クライアント端末１０は、ユーザーの操作に従って、インストールされたブラウザを通して、指示書生成サーバ３０が提供するユーザーインタフェース画面用に生成されたＨＴＭＬファイルのＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）にアクセスする（ステップＳＴ１）。
【００５９】
指示書生成サーバ３０は、クライアント端末１０からの閲覧要求に応じて、ユーザーインタフェース画面のＨＴＭＬファイルをクライアント端末１０に送信する（ステップＳＴ２）。
【００６０】
クライアント端末１０は、指示書生成サーバ３０から送信されたＨＴＭＬファイルに含まれる画面を構成する情報に基づいて、ユーザーインタフェース画面を表示する（ステップＳＴ３）。このとき、ユーザーは、クライアント端末１０に表示されたユーザーインタフェース画面を用いて、所望のサービス連携のジョブフローを定義することができる。
【００６１】
クライアント端末１０は、ユーザーインタフェース画面を介してジョブフローが定義されたか否かを判定し、ジョブフローが定義されるまで待機する（ステップＳＴ４）。クライアント端末１０は、ジョブフローが作成されたと判定すると、ユーザーによって定義されたサービス連携に関するジョブフロー情報を指示書生成サーバ３０に送信する。
【００６２】
指示書生成サーバ３０は、クライアント端末１０より送信されたサービス連携のジョブフローに関する情報と、各サービス処理装置から取得したＩ／Ｆ情報とに基づいて、各サービスへ依頼する処理の内容、入力パラメータ、各サービスの連携の仕方、文書名や格納ロケーション情報等の処理対象の文書を特定するための情報を定義した指示書を作成する（ステップＳＴ５）。そして、指示書生成サーバ３０は、ＸＭＬ形式の指示書を指示書管理サーバ４０に送信する。
【００６３】
指示書管理サーバ４０は、指示書生成サーバ３０で生成された指示書を保存する。指示書管理サーバ４０は、指示書生成サーバ３０で作成された複数の指示書を保存しており、クライアント端末１０から指示書の選択指示があった時は選択された指示書を読み出す。
【００６４】
（連携処理の起動・実行）
ユーザーは、指示書管理サーバ４０に保存されている複数の指示書の中から所望の指示書を選択して、連携処理を起動させることができる。具体的には、以下の通りである。
【００６５】
図７は、クライアント端末１０、指示書管理サーバ４０及び連携処理サーバ５０の処理を示すフローチャートである。ここでは、所定の文書に対してノイズ除去、ＯＣＲ処理といった画像処理を行い、抽出されたテキスト文書と画像文書とをバインドする処理を行い、バインドされた文書を所定の格納先へ格納し、バインドされた文書のうちテキスト文書のみを配信先として指定されたメールアドレスへメール送信し、画像文書のみを指定されたＦＡＸ番号へＦＡＸ送信する場合について説明する。
【００６６】
クライアント端末１０は、指示書管理サーバ４０へアクセスし、指示書管理サーバ４０で管理される指示書リストを取得する（ステップＳＴ１１）。
【００６７】
図８は、指示書リストを表すサービス連携処理選択画面１１０の一例を示す図である。サービス連携処理選択画面１１０は、指示書毎に指示書を選択するためのボタン１１１〜１１６を有している。ユーザーは、サービス連携処理選択画面１１０から所望のボタンをクリックすることで、指示書を選択することができる。
【００６８】
クライアント端末１０は、サービス連携処理選択画面１１０から、ユーザーの操作指示に基づいて、所定のサービス連携処理を表す指示書を選択し、その指示書の起動を指示する。このとき、必要に応じて、ユーザーに対してパラメータ入力画面を表示し、ジョブの実行に必要なパラメータを入力させる。
【００６９】
指示書管理サーバ４０は、クライアント端末１０によって指示された指示書を連携処理サーバ５０へ送信する（ステップＳＴ１２）。この結果、連携処理サーバ５０は、連携処理の実行を開始する。
【００７０】
連携処理サーバ５０は、指示書管理サーバ４０より送信された指示書を解釈し、指示書に記述された第１番目の処理である画像処理装置６１に対して、第１のサービス処理を実行することを依頼する（ステップＳＴ１３）。連携処理サーバ５０は、具体的には、指示書に記載された情報をもとに、処理依頼するサービス処理装置のロケーションや処理依頼に必要な入力パラメータと出力パラメータ形式、処理依頼のためのメソッド名、起動方法、処理対象文書を特定する情報を抽出し、個別指示情報を作成する。連携処理サーバ５０は、個別指示情報を第１の処理依頼先である画像処理装置６１へ送信する。
【００７１】
画像処理装置６１は、送信された指示書に記述された処理対象文書の格納先ロケーション情報をもとに、処理対象文書をコピーし文書を取得する。画像処理装置６１は、取得した文書画像に対し、サービス処理依頼内容を解釈し、ノイズ除去、ＯＣＲ処理といった画像処理を行い、抽出されたテキスト文書とバインドする処理を行う。画像処理装置６１は、画像処理によって得られた画像文書とテキスト文書がバインドされた文書を元の格納先へ再格納する。画像処理装置６１は、このような処理が完了すると、処理のステータス情報（完了）、出力パラメータ、処理後の文書格納先情報など、処理結果を連携処理サーバ５０へ送信する。
【００７２】
連携処理サーバ５０は、画像処理装置６１からの処理結果を受信すると、第１の処理依頼結果をログとして管理する。そして、連携処理サーバ５０は、指示書に基づき第２の処理依頼先を特定し、第２のサービス処理を実行することを文書管理サーバ６２に依頼する（ステップＳＴ１４）。連携処理サーバ５０は、第１のサービス処理依頼と同様に、個別指示情報（処理依頼に関する情報である文書を格納する旨の情報、文書の格納先の情報、処理対象文書を特定する情報）を文書管理サーバ６２へ送信する。
【００７３】
文書管理サーバ６２は、連携処理サーバ５０の依頼内容に基づき、前の処理（第１のサービス処理）で処理され格納された文書を、依頼内容に記述された格納先情報に基づき格納処理を行う。文書管理サーバ６２は、このような処理が完了すると、処理のステータス情報（完了）、出力パラメータ、処理後の文書格納先情報など、処理結果を連携処理サーバ５０へ送信する。
【００７４】
連携処理サーバ５０は、第２のサービス処理（文書格納処理）からの処理結果を受信すると、第２の処理依頼結果をログとして管理する。連携処理サーバ５０は、指示書に基づき第３の処理依頼先を特定し、第３のサービス処理を実行することを文書配信サーバ６３に依頼する（ステップＳＴ１５）。連携処理サーバ５０は、第２のサービス処理依頼と同様に、個別指示情報（処理依頼に関する情報である文書を格納する旨の情報、文書の格納先の情報、処理対象文書を特定する情報）を文書配信サーバ６３へ送信する。
【００７５】
文書配信サーバ６３は、連携処理サーバ５０の依頼内容に基づき、前の処理（第２のサービス処理）で処理され格納された文書を、文書を特定する情報（格納先情報）に基づき文書ファイルを読み出し、依頼内容に記述された処理を行う。ここでは、文書配信サーバ６３は、テキスト文書と画像文書がバインドされた文書のうち、テキスト文書のみを配信先として指定されたメールアドレスへメール送信し、画像文書のみを指定されたＦＡＸ番号へＦＡＸ送信を行う。文書配信サーバ６３は、処理が完了すると、処理のステータス情報（完了）、出力パラメータ、処理後の文書格納先情報など、処理結果を連携処理サーバ５０へ送信する。
【００７６】
この処理において、文書配信サーバ６３は、例えばＦＡＸ送信処理において相手先が話し中でありかつ所定回数リトライを行っても相手先と接続できなかった場合、ステータス情報として「メール送信：完了、ＦＡＸ送信：未送信」を連携処理サーバ５０に送信する。
【００７７】
連携処理サーバ５０は、第３のサービス処理からの処理結果を受信し、指示書には次の処理が記述されていないと判断すると、クライアント端末１０に対してすべての処理が完了した旨の通知を行い、連携処理を終了する（ステップＳＴ１６）。
【００７８】
このように、文書に対して施すべき複数のサービス処理の連携の指示に関する情報や、文書の格納位置に関する情報等が記載された指示書に従って、ネットワークに各々接続された処理部で実行されるサービス処理を連携させるので、多様かつ複雑な処理を効率よく行うことができる。
【００７９】
なお、上記で説明したネットワーク５に接続されたサーバ等の各部は、各々独立した装置として構成されていてもよく、いくつかの各部がまとまって１つの装置内に設けられていてもよく、各部全てが１つの装置内に設けられていてもよい。また、処理対象の文書データや指示書は、ネットワーク５に接続された他の外部装置に格納されていてもよい。さらに、本実施形態において、サービス検索サーバ２０は、各サービス処理装置からＩ／Ｆ情報の一部（部分Ｉ／Ｆ情報）を取得していたが、Ｉ／Ｆ情報の全部を取得するようにしてもよい。
【００８０】
また、図１及び図２に示した連携処理サーバ５０を使用することなく、複数のサービスの連携処理を実行することもできる。
【００８１】
図９は、複数のサービスの連携処理を実行する文書処理システム８０を構成する各サービス処理装置の相互関係を説明するためのブロック図を示した。なお、文書処理システム１と同一部分には同一の符号を付し、詳細な説明は省略する。
【００８２】
なお、文書処理システム８０は図１に示した各サービス処理装置（連携処理サーバ５０を除く。）を備えているが、図９には連携処理に関連するサービス処理装置のみを図示した。
【００８３】
ユーザは、指示書管理サーバ４０に保存されている複数の指示書の中から所望の指示書を選択して、連携処理を起動させることができる。具体的には、以下の通りである。
【００８４】
クライアント端末１０は、ユーザの操作に応じて、サービス連携処理選択画面から所望のサービス連携処理を表す指示書を選択し、その指示書の起動を指示する。指示書管理サーバ４０は、クライアント端末１０によって指示された指示書を画像処理装置６１へ送信する。
【００８５】
画像処理装置６１は、送信された指示書に記述された処理対象文書の格納先ロケーション情報をもとに、処理対象の文書を取得する。画像処理装置６１は、取得した文書画像に対し、サービス処理依頼内容を解釈し、ノイズ除去、ＯＣＲ処理といった画像処理を行い、抽出されたテキスト文書とバインドする処理を行う。画像処理装置６１は、所定の画像処理終了後、指示書に記述されたサービス処理依頼を削除する。そして、画像処理装置６１は、画像処理によって得られた画像文書とテキスト文書とがバインドされた文書と、処理のステータス情報（完了）、出力パラメータ、処理後の文書格納先情報など処理結果を有する指示書とを、次のサービス処理を提供する文書管理サーバ６２に送信する。
【００８６】
また、画像処理装置６１は、所定の画像処理終了後、指示書中に記載された自身のサービス依頼に関する部分を修正又は削除して文書管理サーバ６２に送信してもよい。さらに、画像処理装置６１は、所定の画像処理終了後、指示書を次のサービス処理装置へ送信するように構成してもよい。
【００８７】
文書管理サーバ６２は、画像処理装置６１から送信された文書を、指示書に記述された格納先に一時格納する。そして、文書管理サーバ６２は、指示書に記述されたサービス処理依頼を削除して、文書及び指示書を次のサービス処理を行う文書配信サーバ６３に送信する。
【００８８】
文書配信サーバ６３は、指示書に基づいて、テキスト文書と画像文書がバインドされた文書のうち、テキスト文書のみを配信先として指定されたメールアドレスへメール送信し、画像文書のみを指定されたＦＡＸ番号へＦＡＸ送信を行う。そして、文書配信サーバ６３は、指示書に次の処理が記述されていないと判断すると、クライアント端末１０に対してすべての処理が完了した旨の通知を行い、連携処理を終了する。
【００８９】
なお、文書処理システム８０においても、文書処理システム１と同様に、ネットワーク５に接続されたサーバ等の各部は、各々独立した装置として構成されていてもよく、いくつかの各部がまとまって１つの装置内に設けられていてもよく、各部全てが１つの装置内に設けられていてもよい。
【００９０】
次に、上記の文書処理システム１又は文書処理システム８０が適用されたシステムにおいて、ある装置に所定の文書データに関する指示書の実行を依頼したが、その指示書に記述されたある処理の実行が何らかの障害により実行できなかった場合に、代替処理を実行する形態について説明する。
【００９１】
具体的には、図１０に示すように、デバイスＡからデバイスＢに所定の文書データの検索処理及び送信処理が指示された指示書の実行を依頼した場合について説明する。ここで、デバイスＡは、指示書を作成する機能や作成した指示書を送信する操作等の各種操作機能等を有する装置である。すなわち、デバイスＡは、前述したクライアント端末１０、指示書生成サーバ３０等が有する機能と同等の機能を備えている。また、デバイスＢは、指示書を解釈して実行する機能や文書を格納する機能を有する装置である。すなわち、デバイスＢは、前述した連携処理サーバ５０、文書管理サーバ６２等が有する機能と同等の機能を備えている。なお、デバイスＢは本発明の解釈手段及び連携処理手段に相当する。
【００９２】
デバイスＡは、図１０に示すように、文書データの検索処理や送信処理について定義された指示書９０をデバイスＢへ送信する。
【００９３】
図１１には、指示書９０の＜フロー＞の一部の記載例の概略を示した。なお、図１１に示した記載例はあくまでも一例であり、これに限定されるものではない。
【００９４】
図１１に示す例は、指定したファイル名の文書データを検索して指定したアドレスの装置に送信する連携処理を実行させるための指示書の記載例であり、検索処理及び送信処理について定義されている。
【００９５】
図１１に示すように、検索処理の内容は、検索処理を指示するためのスタートタグ＜検索処理＞とエンドタグ＜／検索処理＞との間に記載されたコマンドやパラメータ等によって定義され、検索対象の文書データのファイル名等が記述される。
【００９６】
また、送信処理の内容は、送信処理を指示するためのスタートタグ＜送信処理＞とエンドタグ＜／送信処理＞との間に記載されたコマンドやパラメータ等によって定義され、送信先の装置の位置を示す、例えばＵＲＬやＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）アドレス等のアドレス情報、文書データの送信方法、送信方法の優先度等が記述される。
【００９７】
文書データの送信方法は、送信に失敗したときのために複数定義され、図１２に示すように、優先度の異なる複数の送信方法が定義される。ここでは、優先度の値が低いほど実行の優先度が高いことを示す。すなわち、まずＦＡＸ送信によって指定された文書データを指定された送信先に送信するが、何らかの原因により失敗した場合には、次に優先度が高いＩＦＡＸ送信により文書データを送信する。このように、複数の通信方法を定義しておくことにより、指示書の処理の実行が失敗したまま終了するのを極力防ぐことができると共に、再度最初から処理を実行する必要がなく、効率的にジョブを実行することができる。
【００９８】
デバイスＢは、指示書９０をデバイスＡから受信すると、指示書を解釈し、指定された文書データを検索し、検索できた場合には、その文書データを指定された送信先のアドレスへ優先度の高い送信方法で送信し、失敗した場合には、次に優先度が高い送信方法で送信する。
【００９９】
ここで、文書データの送信先のアドレス情報をデバイスＡのアドレスとすることにより、図１０に示すように、指定された文書データ９２がデバイスＡに送信される。従って、例えば、デバイスＢが印刷機能を有する場合において、デバイスＢに格納された文書データの印刷をデバイスＢに依頼したが、他のユーザーがデバイスＢを使用している等の理由により印刷処理を実行できない場合には、上記のような指示書をデバイスＡで作成してデバイスＢへ送信することにより、文書データをデバイスＡで取得することができる。このため、デバイスＡ自身が印刷機能を有する場合にはデバイスＡで印刷することができ、印刷機能を有する他のデバイスに転送して他のデバイスに印刷させることもできる。なお、送信先のアドレスをデバイスＡではなく、他のデバイスのアドレスを指定することにより、デバイスＢから他のデバイスに文書データを転送させ、直接他のデバイスに印刷処理させるようにすることもできる。
【０１００】
次に、デバイスＡで実行される処理ルーチンについて、図１３に示すフローチャートを参照して説明する。
【０１０１】
図１３に示す処理ルーチンは、デバイスＡにおいて図１１に示すような指示書９０が作成され、その指示書９０の送信が指示された場合に実行される。
【０１０２】
まず、ステップ２００では、作成された指示書９０をデバイスＢに送信する。ステップ２０２では、指示書９０に記述した文書データのファイルを受信したか否かを判断し、受信した場合には、ステップ２０４へ移行し、受信していない場合には、ステップ２０６へ移行する。
【０１０３】
ステップ２０４では、受信した文書データの印刷処理を実行する。これは、デバイスＡ自身が印刷機能を有する場合にはデバイスＡで印刷処理する。デバイスＡ自身が印刷機能を有しない場合には、印刷機能を有する他のデバイスに取得した文書データを送信して他のデバイスに印刷処理させる。
【０１０４】
デバイスＢから文書データのファイルを受信していない場合には、ステップ２０６で、エラーが発生したか否かを判断する。エラーの発生とは、例えばデバイスＢからファイルが見つからなかった旨を通知された場合や、デバイスＡから指示書を送信してからタイムアウトとして予め定めた所定時間を経過した場合等である。そして、エラーが発生していない場合には、ステップ２０２へ戻り、文書データのファイルを受信するまで待機する。一方、エラーが発生した場合、すなわちデバイスＢからファイルが見つからなかった旨が通知された場合や、指示書９０を送信しても所定時間以上文書データのファイルがデバイスＢから送信されてこない場合には、ステップ２０８でエラー処理を行う。このエラー処理では、例えば指示書９０の実行が失敗したことを示すメッセージを表示したりすることによりユーザーへ通知する処理を行う。
【０１０５】
次に、デバイスＢで実行される処理ルーチンについて、図１４に示すフローチャートを参照して説明する。図１４に示す処理ルーチンは、デバイスＡから指示書９０を受信すると実行される。
【０１０６】
まず、ステップ３００では、受信した指示書９０を解釈し、指定された文書データのファイルが存在するか検索する。なお、この処理は、本発明におけるサービス処理としての検索処理を行うサービス処理手段に相当する。
【０１０７】
ステップ３０２では、指定された文書データのファイルが存在するか否かを判断し、存在していた場合には、ステップ３０４において、優先度が最も高い通信方法でデバイスＡに送信する。例えば指示書９０において図１２に示すように各送信方法の優先度が定義されていた場合、まずＦＡＸ送信により文書データのファイルを送信する。なお、この処理は、本発明におけるサービス処理として送信処理を行うサービス処理手段に相当する。一方、ファイルが存在しない場合には、ステップ３０８でエラー処理を行う。このエラー処理は、例えばファイルが検索できなかったことをデバイスＡに通知する等の処理である。
【０１０８】
ステップ３０６では、ファイルの送信が正常に終了したか否かを判断し、正常終了した場合には本ルーチンを終了する。一方、正常終了しなかった場合には、ステップ３１０で未実施の他の通信方法がないか否かを判断する。そして、未実施の通信方法がない場合、すなわち、全ての通信方法でファイルを送信しても正常終了しなかった場合には、ステップ３１２でエラー処理を行う。このエラー処理は、例えば指示書９０の実行が失敗したことを示すメッセージを表示したり、ログとして記録したりする等の処理である。
【０１０９】
一方、未実施の通信方法がある場合には、ステップ３１４で、次に優先度が高い通信方法でファイルを送信してステップ３０６へ移行する。例えば図１２に示す例の場合には、ＦＡＸ通信の次に優先度が高いＩＦＡＸ通信により文書データのファイルを送信する。
【０１１０】
このように、指示書９０に複数の送信方法を優先度を付けて定義しておき、ファイルの送信が正常終了しなかった場合には、次に優先度が高い送信方法でファイルを送信する。これにより、ファイルの送信が失敗するのを極力防ぐことができ、再度同じジョブを実行し直したりする必要がなく、利便性を向上させることができる。
【０１１１】
なお、上記では、ファイルの複数種類の送信方法について優先度を付けて指示書に定義した場合について説明したが、これに限らず、他の処理についても複数種類の実行方法（装置）に優先度を付けて指示書に定義し、優先度順に実行するようにしてもよい。例えば、上記の例において、指示書９０に文書データを印刷する印刷装置を指定する場合、複数の印刷装置に優先度を付けて指示書９０に定義しておき、優先度の高い印刷装置から印刷処理させるようにすることもできる。これにより、印刷処理に失敗する確率を低くすることができ、利便性を大幅に向上させることができる。
【０１１２】
また、上記では、デバイスＢにおいて検索処理及び送信処理を行う場合について説明したが、他のデバイスに検索処理及び送信処理を行わせても良い。
【図面の簡単な説明】
【０１１３】
【図１】本発明に係る文書処理システムの構成を示すブロック図である。
【図２】文書処理システムの各部間の情報の流れについて説明するためのブロック図である。
【図３】各装置に記憶されているＩ／Ｆ情報の構成を示す図である。
【図４】指示書エディタのＧＵＩに表示された指示書エディタ画面を示す図である。
【図５】指示書作成部によって作成された指示書の構成を示す図である。
【図６】指示書作成処理の手順を示すフローチャートである。
【図７】文書処理システムの連携処理の手順を示すフローチャートである。
【図８】指示書の一覧を表す指示書一覧画面の一例を示す図である。
【図９】本発明に係る文書処理システムの他の例の構成を示すブロック図である。
【図１０】デバイスＡからデバイスＢに指示書の実行を依頼した場合のイメージを示す図である。
【図１１】指示書の一例を示す図である。
【図１２】ファイルの送信方法の優先度について説明するための図である。
【図１３】デバイスＡで実行される処理ルーチンのフローチャートである。
【図１４】デバイスＢで実行される処理ルーチンのフローチャートである。
【符号の説明】
【０１１４】
１ 、８０文書処理システム
５ ネットワーク
１０ クライアント端末
２０ サービス検索サーバ
３０ 指示書生成サーバ
４０ 指示書管理サーバ
５０ 連携処理サーバ
６１ 画像処理装置
６２ 文書管理サーバ
６３ 文書配信サーバ
６４ 第１のサービス処理装置
６５ 第２のサービス処理装置
９０      指示書
９２      文書データ
【図１】
2005258626.tif 000003
【図２】
2005258626.tif 000004
【図３】
2005258626.tif 000005
【図４】
2005258626.tif 000006
【図５】
2005258626.tif 000007
【図６】
2005258626.tif 000008
【図７】
2005258626.tif 000009
【図８】
2005258626.tif 000010
【図９】
2005258626.tif 000011
【図１０】
2005258626.tif 000012
【図１１】
2005258626.tif 000013
【図１２】
2005258626.tif 000014
【図１３】
2005258626.tif 000015
【図１４】
2005258626.tif 000016