(57)【要約】【課題】指示書を簡易に作成する。【解決手段】画像補正サービスＳ１と、ＯＣＲあり（又はなし）及び正立補正あり（又はなし）のパラメータＰ１と、の組み合わせ、格納サービスＳ２と、格納先のアドレス（送信者のアドレス）のパラメータＰ２と、の組み合わせ、印刷サービスＳ３と、両面印刷する（又はしない）及びカラーモード（又は白黒モード）のパラメータＰ３と、の組み合わせ等で仮想サービスを構成し、この仮想サービスを用いて、指示書を作成する。【選択図】  図２
2004288050.tif 000002
【特許請求の範囲】
【請求項１】
文書に対する少なくとも１つの処理の実行を指示する指示書を構成する要素の候補としての候補処理データであって、
文書に対する少なくとも１つの処理を表す処理データと、
前記処理データにより表される処理の実行を規定する処理規定データと、
が指示書を作成する前に予め組み合わされて構成された候補処理データ。
【請求項２】
前記処理は複数存在すると共に、前記処理データと前記処理規定データとの組み合わせを複数備え、
前記処理データは複数の処理各々を表すと共に、前記処理規定データは該複数の処理各々の実行を規定し、
前記複数の処理の順番を表す処理順番データとが更に組み合わされて構成されたことを特徴とする請求項１記載の候補処理データ。
【請求項３】
前記処理データと前記処理規定データとの組み合わせは、他の候補処理データ中の前記組み合わせであることを特徴とする請求項１又は請求項２記載の候補処理データ。
【請求項４】
請求項１乃至請求項３の何れか１項に記載の候補処理データを作成する候補処理データ作成方法であって、
前記処理データと前記処理規定データとの組み合わせを予め用意するステップと、
前記用意した組み合わせから、前記候補処理データの前記処理データと前記処理規定データとの組み合わせとして選択するステップと、
を備えた候補処理データを作成する候補処理データ作成方法。
【請求項５】
前記処理データと前記処理規定データとの組み合わせを複数備えて前記候補処理データを作成する場合には、
前記用意するステップでは、前記処理データと前記処理規定データとの組み合わせを予め複数用意し、
前記選択するステップでは、前記用意した複数の組み合わせの中から、前記候補処理データの前記処理データと前記処理規定データとの複数の組み合わせの少なくとも１つを選択する、
ことを特徴とする請求項４記載の候補処理データ作成方法。
【請求項６】
前記処理データと前記処理規定データとの複数の組み合わせの内の少なくとも１つの組み合わせ指定するためのテンプレートを予め用意するステップを更に備え、
前記選択するステップでは、前記用意した複数の組み合わせの中から、前記テンプレートに指定する組み合わせを選択することにより、前記候補処理データの前記処理データと前記処理規定データとの複数の組み合わせの少なくとも１つを選択する、
ことを特徴とする請求項５記載の候補処理データ作成方法。
【請求項７】
前記作成された候補処理データを用いて指示書を作成するステップと、
前記作成された指示書の指示書データを候補処理データとして登録するステップと、
を更に備えた請求項４乃至請求項６の何れか１項に記載の候補処理データ作成方法。
【請求項８】
文書に対する少なくとも１つの処理の実行を指示する指示書を作成する指示書作成方法であって、
請求項１乃至請求項３の何れか１項に記載の候補処理データを用いて指示書を作成する、
指示書作成方法。
【請求項９】
候補処理データを識別する識別データを用いて前記指示書を作成する請求項８記載の指示書作成方法。
【請求項１０】
請求項９記載の指示書作成方法により作成された指示書を処理する指示書処理方法であって、
識別データと候補処理データとを対応して予め記憶するステップと、
前記指示書から前記識別データを取得するステップと、
前記予め対応して記憶された識別データ及び候補処理データから、前記取得した識別データに対応する候補処理データを検索するステップと、
を備えた指示書処理方法。
【請求項１１】
前記識別データと対応して記憶された候補処理データは、指示書の指示書データであることを特徴とする請求項１０記載の指示書処理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、候補処理データ、候補処理データ作成方法、指示書作成方法、及び指示書処理方法に係り、より詳細には、指示書作成に関連する候補処理データ、候補処理データ作成方法、指示書作成方法、及び指示書処理方法に関する。
【０００２】
【従来の技術】
従来、指示書は、文書に対する複数のサービスを定めており、フローエンジンがこの指示書を解釈し、各処理を実行するサービス提供装置に、指示書を送り、各サービス提供装置は、指示書の内容を解釈し、各サービスを実行している。
【０００３】
このようにサービスをサービス提供装置が実行するためには、指示書には、文書に対するサービスや、そのサービスがどのように実行されるのかを一々指定しなければならず、また、定義した指示書を再利用しようとした場合に、一部異なるサービスを指示しようとする場合に、一から作成する必要があり、ユーザの労力の負担が過大であった（特許文献１参照。）。
【０００４】
【特許文献１】
特開平１１−３３１４４６号公報（段落００４５〜段落００４８、図２）
【０００５】
【発明が解決しようとする課題】
本発明は、上記事実に鑑み成されたもので、指示書を簡易に作成することを可能にする候補処理データ、候補処理データ作成方法、指示書作成方法、及び指示書処理方法を提供することを目的とする。
【０００６】
【課題を解決するための手段】
上記目的達成のため請求項１記載の発明に係る候補処理データは、文書に対する少なくとも１つの処理の実行を指示する指示書を構成する要素の候補としての候補処理データであって、文書に対する少なくとも１つの処理を表す処理データと、前記処理データにより表される処理の実行を規定する処理規定データと、が指示書を作成する前に予め組み合わされて構成されている。
【０００７】
即ち、本発明に係る候補処理データは、文書に対する少なくとも１つの処理の実行を指示する指示書を構成する要素の候補としての候補処理データであって、処理データと処理規定データとが指示書を作成する前に予め組み合わされて構成されている。即ち、本発明は、処理データと処理規定データとが組み合わされた候補処理データの構造を特徴としている。
【０００８】
ここで、処理データは、文書に対する少なくとも１つの処理を表すデータであり、処理規定データは、処理データにより表される処理の実行を規定するデータである。
【０００９】
このように、処理データと処理規定データとが指示書を作成する前に予め組み合わされて候補処理データが構成されているので、この候補処理データを用いて容易に指示書を作成することができる。
【００１０】
請求項２記載の発明の候補処理データは、請求項１記載の発明において、前記処理は複数存在すると共に、前記処理データと前記処理規定データとの組み合わせを複数備え、前記処理データは複数の処理各々を表すと共に、前記処理規定データは該複数の処理各々の実行を規定し、前記複数の処理の順番を表す処理順番データとが更に組み合わされて構成されたことを特徴とする。
【００１１】
即ち、請求項２記載の発明は、文書に対する少なくとも１つの処理の実行を指示する指示書を構成する要素の候補としての候補処理データであって、前記処理は複数存在すると共に、指示書を作成する前に予め、処理データと処理規定データとが複数組み合わされると共に、前記複数の処理の順番を表す処理順番データとが更に組み合わされて構成されている。
【００１２】
このように、処理データと処理規定データとの組み合わせを複数備えると共に、複数の処理の順番を表す処理順番データとが更に組み合わされて候補処理データを構成するので、処理は複数存在する場合でも、この候補処理データを用いて容易に指示書を作成することができる。
【００１３】
請求項３記載の発明の候補処理データは、請求項１又は請求項２記載の発明において、前記処理データと前記処理規定データとの組み合わせを、他の候補処理データ中の前記組み合わせとしている。
【００１４】
このように、既に存在する他の候補処理データ中の前記組み合わせを用いて候補処理データを構成するので、この候補処理データを用いて更に容易に指示書を作成することができる。
【００１５】
請求項４記載の発明の候補処理データ作成方法は、請求項１乃至請求項３の何れか１項に記載の候補処理データを作成する候補処理データ作成方法であって、前記処理データと前記処理規定データとの組み合わせを予め用意するステップと、  前記用意した組み合わせから、前記候補処理データの前記処理データと前記処理規定データとの組み合わせとして選択するステップと、を備えている。
【００１６】
即ち、本発明は、請求項１乃至請求項３の何れか１項に記載の候補処理データを作成する候補処理データ作成方法である。本発明では、前記処理データと前記処理規定データとの組み合わせを予め用意し、用意した組み合わせから、候補処理データの処理データと処理規定データとの組み合わせとして選択する。
【００１７】
この場合、前記処理データと前記処理規定データとの組み合わせを複数備えて前記候補処理データを作成する場合には、請求項５のように、前記用意するステップでは、前記処理データと前記処理規定データとの組み合わせを予め複数用意し、前記選択するステップでは、前記用意した複数の組み合わせの中から、前記候補処理データの前記処理データと前記処理規定データとの複数の組み合わせの少なくとも１つを選択するようにしてもよい。この場合、更に、請求項６のように、前記処理データと前記処理規定データとの複数の組み合わせの内の少なくとも１つの組み合わせ指定するためのテンプレートを予め用意するステップを更に備え、前記選択するステップでは、前記用意した複数の組み合わせの中から、前記テンプレートに指定する組み合わせを選択することにより、前記候補処理データの前記処理データと前記処理規定データとの複数の組み合わせの少なくとも１つを選択するようにしてもよい。
【００１８】
このように、予め用意した処理データと処理規定データとの組み合わせから、候補処理データの処理データと処理規定データとの組み合わせとして選択するので、候補処理データを容易に作成することができる。
【００１９】
ここで、請求項７記載の発明の候補処理データ作成方法は、請求項４乃至請求項６の何れか１項に記載の発明において、前記作成された候補処理データを用いて指示書を作成するステップと、前記作成された指示書の指示書データを候補処理データとして登録するステップと、を更に備えている。
【００２０】
即ち、本発明では、作成された候補処理データを用いて指示書を作成し、作成された指示書の指示書データを候補処理データとして登録する。このように、作成された指示書の指示書データを候補処理データとして登録するので、候補処理データを容易に作成することができる。
【００２１】
請求項８記載の発明は、文書に対する少なくとも１つの処理の実行を指示する指示書を作成する指示書作成方法であって、請求項１乃至請求項３の何れか１項に記載の候補処理データを用いて指示書を作成するものである。このように、上記候補処理データを用いて指示書を作成するので、指示書を容易に作成することができる。
【００２２】
この場合、請求項９のように、候補処理データを識別する識別データを用いて前記指示書を作成するようにしてもよい。即ち、請求項９記載の指示書作成方法は、文書に対する少なくとも１つの処理の実行を指示する指示書を作成する指示書作成方法であって、候補処理データを識別する識別データを用いて指示書を作成するものである。
【００２３】
このように候補処理データを識別する識別データを用いて指示書を作成した場合には、請求項１０記載の発明の指示書処理方法により、指示書を処理するするようにしてもよい。即ち、請求項１０記載の発明に係る指示書処理方法は、識別データと候補処理データとを対応して予め記憶するステップと、前記指示書から前記識別データを取得するステップと、前記予め対応して記憶された識別データ及び候補処理データから、前記取得した識別データに対応する候補処理データを検索するステップと、を備えている。
【００２４】
即ち、本発明では、識別データと候補処理データとを対応して予め記憶しておき、候補処理データを識別する識別データを用いて作成された指示書から識別データを取得し、予め対応して記憶された識別データ及び候補処理データから、取得した識別データに対応する候補処理データを検索する。
【００２５】
このように、候補処理データを識別する識別データを用いて作成された指示書から識別データを取得し、予め対応して記憶された識別データ及び候補処理データから、取得した識別データに対応する候補処理データを検索するので、候補処理データを識別する識別データを用いて指示書を作成しても対処することができる。
【００２６】
この場合、請求項１１のように、前記識別データと対応して記憶された候補処理データは、指示書の指示書データとしてもよい。
【００２７】
【発明の実施の形態】
以下、図面を参照して、本発明の実施の形態を詳細に説明する。
【００２８】
第１の実施の形態
図１に示すように、本実施の形態にかかる候補処理データとしての仮想サービスを作成等する指示書処理システムは、フローエンジン１０、各々異なるサービスを提供する複数のサービス提供装置１２Ｓ１〜１２Ｓ４、及び仮想サービス提供装置１４がネットワークで接続されて構成されている。
【００２９】
例えば、本実施の形態では、複数のサービス提供装置１２Ｓ１〜１２Ｓ４の内、サービス提供装置１２Ｓ１は、プリントサービス、サービス提供装置１２Ｓ２は、スキャンサービス、サービス提供装置１２Ｓ３は、画像補正サービス、サービス提供装置１２Ｓ４は、画像補正サービスを提供する。
【００３０】
次に、本実施の形態にかかる候補処理データとしての仮想サービスを説明する。仮想サービスは、文書に対する少なくとも１つのサービスの実行を指示する指示書を構成する要素の候補としての候補処理データ（仮想サービス）であって、文書に対する少なくとも１つの処理を表す処理データ（以下、仮想サービスデータという）と、前記処理データにより表される処理の実行を規定する処理規定データ（以下、パラメータという）と、が指示書を作成する前に予め組み合わされて構成されている。サービスが１つの場合もあるが、複数存在する場合、仮想サービスデータとパラメータとの組み合わせは複数存在し、仮想サービスデータは複数のサービス各々を表すと共に、パラメータは複数のサービス各々の実行を規定するものである。そして、上記のように、仮想サービスは、複数のサービスの順番を表す処理順番データ（以下、フロー制御属性という）とが更に組み合わされて構成される。
【００３１】
以上説明した仮想サービスは、言いかえると、既存のサービスを組み合わせ、各サービスの処理順序、制御フローを定義した文書処理のフローとして定義される文書フローということができる。
【００３２】
上記パラメータは、仮想サービスの文書処理に関するインターフェースとして、入力時に与えられるものであり、サービスの種類によって様々あり、個々のサービスに固有なパラメータの集合という場合がある。パラメータの種類としては、スキャン（ドキュメント）関連パラメータ、デバイスによる配信関連パラメータ、入力指定パラメータ（文字列［長さ制限］、パスワード形式文字列［長さ制限］、整数［最大／最小値］、選択、チェックボックス）等がある。たとえばデバイス内にフローリポジトリが存在し、デバイスからのスキャン時に指示書を選択する場合に、処理前に指示書で指定されたパラメータをユーザに入力させることができる。即ち、パラメータは、フローに組み込まれるサービスに固有なパラメータということができる。以下、具体的に説明する。
【００３３】
指示書中で指示されるサービスの流れであるフローには任意個の既存サービスの利用方法が任意の組み合わせで記述されている。組み合わせに使用するサービスには、利用時に何らかのパラメータを必要とするものが任意個存在する。これらのパラメータを仮想サービスで扱う手段として以下がある。
【００３４】
仮想サービスのパラメータとして公開する。
【００３５】
仮想サービスのパラメータとして公開され、かつデフォルト値が定義される。
【００３６】
仮想サービスのパラメータとして公開せず、システム内で指定される。（非公開パラメータ）
上記２つは、仮想サービスのパラメータインターフェースとして定義されたことになる。上記の手段により、既存のサービスのパラメータを仮想サービスのパラメータとして継承させることができる。
【００３７】
図２に示すように、第１の仮想サービス２０Ａ１が概念的に示されている。図２に示すように、第１の仮想サービス２０Ａ１の仮想サービスデータとパラメータとの組み合わせ以下の通りである。
【００３８】
第１に、仮想サービスデータとしての画像補正サービスＳ１と、ＯＣＲあり（又はなし）及び正立補正あり（又はなし）のパラメータＰ１と、の組み合わせがある。
【００３９】
第２に、仮想サービスデータとしての格納サービスＳ２と、格納先のアドレス（送信者のアドレス）のパラメータＰ２と、の組み合わせがある。
【００４０】
第３に、仮想サービスデータとしての印刷サービスＳ３と、両面印刷する（又はしない）及びカラーモード（又は白黒モード）のパラメータＰ３と、の組み合わせがある。
【００４１】
第４に、仮想サービスデータとしての振り分けサービスと、振り分け方法（各のサービスＳ２と印刷サービスＳ３）のパラメータＰ４と、の組み合わせがある。
【００４２】
ここで、各サービスの処理にエラーが発生した場合に、エラー処理として、再実行（リトライ）をすることが考えられる。そこで、各サービスのパラメータとして、リトライ回数を含めることができる。
【００４３】
なお、例えば、第１の仮想サービスの例は、振り分け方法パラメータＰ４、印刷サービスの両面指定パラメータＰ３を公開し、振り分け方法パラメータＰ４に関して、デフォルト値を設定し、他のパラメータは、非公開にするようにしてもよい。
【００４４】
また、複数のサービスが存在する場合には、仮想サービスは、複数のサービスの順番を表すフロー制御属性を含む。これは、例えば、仮想サービス内の各サービスには関係せず、サービスの連結方針（フロー）に関する属性である。なお、簡単な分岐条件に使用される値も含む場合がある。
【００４５】
図３には、第２の仮想サービス２０Ａ２を概念的に示している。第２のの仮想サービス２０Ａ２は、例えば、スキャンサービスＳ４（仮想サービスデータとパラメータとの組み合わせ）と、他の仮想サービス２０Ａｎと、が組み合わされて構成されている。他の仮想サービス２０Ａｎとしては、第１の仮想サービス２０Ａ１であってもよい。
【００４６】
図４には、第３の仮想サービス２０Ａ３を概念的に示している。第３の仮想サービス２０Ａ３としては、例えば、スキャンサービスＳ４と、他の仮想サービス２０Ａ１と、更に他の仮想サービス２０Ａ２と、が組み合わされて構成されている。
【００４７】
次に、図５を参照して、仮想サービスの作成方法を説明する。
【００４８】
図５に示すように、仮想サービスデータとパラメータとの複数の組み合わせの内の少なくとも１つの組み合わせ指定するためのサービスであるテンプレートサービスＴＳを予め用意する。
【００４９】
テンプレートサービスＴＳで指定されるサービス（仮想サービスデータとパラメータとの組み合わせ）もパラメータＰ５として予め用意する。
【００５０】
ここで、テンプレートサービスＴＳは、仮想サービスデータとしては、仮想サービスデータとパラメータとの組み合わせを指定するサービスであり、パラメータとしては、他のサービスＡを示す識別情報（図５の例ではサービスＡ）である。
【００５１】
そして、テンプレートサービスを識別する情報と、パラメータとして、サービスＡを示す識別情報と、を指定することにより、仮想仮想サービスが作成される。
【００５２】
テンプレートサービスＴＳは、入力と出力のみ定義され、処理が定義されないサービスとして、フロー中に組み込まれる。サービスの処理自体は上記指定されたサービスが実行される。指定するサービスは、該当テンプレートサービスの定義を満たすものでなければならない。テンプレートサービスは以下の要素で定義される。
入力数
出力数
必要であれば、それぞれの入出力のラベル
必要であれば、テンプレートサービスに代入可能（パラメータとして指定可能）なサービス群を限定するための制約事項
なお、図５のテンプレートサービスＴＳは、入力数１、出力数１のテンプレートサービスとして定義している。なお、テンプレートサービスに代入されるサービスは仮想サービスであっても良い。
【００５３】
仮想サービスの作成は、より具体的には次のようにしてもよい。即ち、図６に示すように、仮想サービスを作成するための第１のテンプレート２０Ｃ１を用意する。第１のテンプレート２０Ｃ１は、フローテンプレートということができる。即ち、フローテンプレートには、実際の処理を行うサービスは組み込まれず、全てテンプレートサービスと、その連結方法（フロー制御）だけで定義される。なお、リトライ、代行のアルゴリズム、振り分け方法のアルゴリズム等も定義することもできる。
【００５４】
利用者は、フローテンプレート内のテンプレートサービスに、任意のサービスを代入することにより、ダイナミックにアルゴリズムを選択することができる。図５に示した仮想サービス２０Ｂを作成するには、例えば、図６に示したテンプレートの部分ＳＮ１に、サービスＳ５を指定し、部分ＳＮに、テンプレートサービスＴＳを指定し、部分ＳＮ３に他のサービスを指定すると共に、テンプレートサービスＴＳを指定する際に、サービスＡを指定すると、図５に示した仮想サービス２０Ｂが作成される。
【００５５】
なお、その他、仮想サービスの内容（フロー等）は様々である。例えば、図７に示すテンプレートを用いて作成してもよい。
【００５６】
以上説明したように、仮想サービスは、文書の入力を必要とする場合、及び、文書の出力を必要とする場合の少なくとも１つを必要とする場合がある。即ち、文書の入力を必要としないが、文書の出力を必要とする場合や、文書の入力を必要とするが、文書の出力を必要としない場合や、文書の入力及び出力を必要とする場合がある。
【００５７】
次に、指示書作成方法を説明する。
【００５８】
上記仮想サービスを用いて指示書を作成するが、その際、仮想サービスを識別する識別情報（識別データ）を用いて指示書を作成するようにしてもよい。即ち、図８に示すように、仮想サービスＸを識別する識別情報としての仮想サービスＸなる情報を用いて指示書２２Ａを作成する。この場合、複数の仮想サービスの各々の識別情報と、仮想サービス及びその内容（仮想サービスデータとパラメータとの少なくとも１つの組み合わせ）と、を対応して記憶しておき、指示書２２Ａのように、仮想サービスを識別する識別データを用いて指示書が作成された場合には、識別情報から仮想サービスの内容（仮想サービスデータとパラメータとの少なくとも１つの組み合わせ）を検索し、指示書を新たに作成するようにしてもよい。
【００５９】
例えば、仮想サービスＸを識別する識別情報としての仮想サービスＸなる情報に対応して、サービス２、サービス３が記憶されていたとすると、仮想サービスＸなる情報から、サービス２、サービス３を検索し、図８に示す指示書２２Ｂを新たに作成する。
【００６０】
なお、複数の仮想サービスを識別する複数の識別情報を用いて、指示書を作成するようにしてもよい。例えば、２つの仮想サービスＸ、Ｙを識別する識別情報を用いて指示書を作成するようにしてもよい。
【００６１】
次に、指示書処理方法を説明する。
【００６２】
最初に、図１０及び図１１を参照して、第１の指示書処理方法を説明する。
【００６３】
仮想サービスプールサーバ１４は、仮想サービスと、該仮想サービスの内容の指示書と、を対応して複数記憶する。図１０に示す例は、
仮想サービスＸ（サービス２、３）と指示書Ｘ（サービス２、３）
仮想サービスＹ（サービス５、６）と指示書Ｘ（サービス５、６）
‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥
と記憶している。なお、仮想サービスプールサーバ１４とは別に仮想サービスデータベース等を設けるようにしてもよい。
【００６４】
仮想サービスを利用して作成された指示書２２Ｃがジョブとして発行されると、サブミッタ（フローエンジン１０中にあるソフトウエアー）は、図１１に示す指示書処理ルーチンをスタートし、ステップ５２で、指示書２２Ｃを解釈し、指示書２２Ｃ中に仮想サービスが指定されているか否かを判断し、仮想サービスが指定されていない場合には、本ルーチンを終了して従来と同様の処理を実行する。
【００６５】
一方、仮想サービスが指定されてている場合には、ステップ５４で、仮想サービスプールサーバ１４に、仮想サービスの識別情報（仮想サービスＸ等）を出力する。
【００６６】
仮想サービスプールサーバ１４は、入力して識別情報（仮想サービスＸ等）から、上述して記憶内容の中から、入力した識別情報に対応する仮想サービスの内容を指示書Ｘ（サービス２、３）形態で、フローエンジン１０に出力する。この場合、仮想サービスの内容を入力したか否かを判断するステップ５６の判断が肯定され、ステップ５８で、指示書に展開する。即ち、上記のように、仮想サービスを含んだ指示書２２Ａが、仮想サービスを含まない指示書２２Ｂに形成される。
【００６７】
なお、以降の処理は従来の処理と同様であるので、その説明を省略する。即ち、上記フローエンジン１０は、指示書を解釈し、指示書に示されたサービスを順に１つづつ実行する際に、各サービス提供装置１２Ｓ１〜１２Ｓ４と、指示書と文書（サービス提供装置がサービスを実行して処理した文書）とを入出力する。
【００６８】
次に、図１２乃至図１４を参照して、第２の指示書処理方法を説明する。
【００６９】
第２の指示書処理方法においても前述した第１の指示書処理方法と同様に、仮想サービスプールサーバ１４は、仮想サービスと、該仮想サービスの内容の指示書としての指示書と、を対応して複数記憶する。図１２に示す例は、上記図１０と同様である。なお、仮想サービスプールサーバ１４とは別に仮想サービスデータベース等を設けるようにしてもよい。
【００７０】
仮想サービスを利用して作成された指示書２２Ｃがジョブとして発行されると、サブミッタ（フローエンジン１０中にあるソフトウエアー）は、指示書２２Ｃを解釈し、指示書を処理する。即ち、指示書に指示された順番で、指定された各処理を実行する。指示書２２Ｃに示すように、サービス１を実行する番になると、フローエンジン１０は、文書と指示書２２Ｃをサービス１の提供装置１２Ｓに送り、サービス１を実行する。サービス１の提供装置１２Ｓは、サービス１の実行を完了すると、サービス１が実行された文書と指示書２２Ｃ（サービス１が完了した情報ば付加されている）とをフローエンジン１０に戻す。
【００７１】
フローエンジン１０（サブミッタ）は、指示書を解釈し、次のサービスを把握する。次のサービスが通常のサービスであれば、上記と同様に処理するが、次のサービスが仮想サービスと判断した場合には、図１３に示す指示書処理ルーチンをスタートし、ステップ６２で、文書と指示書２２Ｃを仮想サービスプールサーバ１４に出力する。
【００７２】
このようにフローエンジン１０から文書と指示書２２Ｃが出力された仮想サービスプールサーバ１４は、図１４に示す指示書処理ルーチンをスタートし、ステップ７２で、指示書２２Ｃ中から仮想サービス識別情報を取得する。
【００７３】
ステップ７４で、仮想サービス識別情報から第２の指示書２２ＣＣ（図１２参照）を検索し、ステップ７６で、文書と第２の指示書２２ＣＣをプールサーバ１０に出力する。
【００７４】
このように文書と第２の指示書２２ＣＣがプールサーバ１０に出力されると、文書と第２の指示書２２ＣＣを入力したか否かを判断するステップ６４（図１３参照）の判断が肯定される。
【００７５】
このように、文書と第２の指示書２２ＣＣを入力したと判断した場合には、ステップ６６で、第２の指示書を処理する。なお、第２の指示書の形式は従来の形式と同様であるので、第２の指示書の処理も従来の指示書の処理と同様であるので、その説明を省略する。
【００７６】
このように文書と第２の指示書２２ＣＣがプールサーバ１０に出力されると、ステップ６６の処理が完了し、ステップ６８で、文書と第２の指示書２２ＣＣとを仮想サービスプールサーバ１４に出力する。これによりステップ７８（図１４参照）が肯定判定となり、ステップ８０で、文書と指示書２２Ｃとをプールサーバ１０に出力する。これによりステップ７０（図１３参照）が肯定判定となる。
【００７７】
その後は、次のサービスがなければ、処理を終了し、次のサービスがある場合には、次のサービスが従来と同様の通常のサービスであれば上記のように従来と同様に処理し、次のサービスが仮想サービスの場合には、図１３及び図１４で示す処理を実行する。
【００７８】
以上説明したように本実施の形態では、仮想サービスデータとパラメータとが指示書を作成する前に予め組み合わされて仮想サービスが構成されているので、この仮想サービスを用いて用意に指示書を作成することができる。
【００７９】
また、本実施の形態では、仮想サービスデータとパラメータとの組み合わせを複数備えると共に、複数の処理の順番を表す処理順番データとが更に組み合わされて仮想サービスを構成するので、サービスが複数存在する場合でも、この仮想サービスを用いて容易に指示書を作成することができる。
【００８０】
更に、本実施の形態では、既に存在する他の仮想サービス中の仮想サービスデータとパラメータと組み合わせを用いて仮想サービスを構成するので、この仮想サービスを用いて更に容易に指示書を作成することができる。
【００８１】
また、本実施の形態では、予め用意した仮想サービスデータとパラメータとの組み合わせから、仮想サービスの仮想サービスデータとパラメータとの組み合わせとして選択するので、仮想サービスを容易に作成することができる。
【００８２】
更に、本実施の形態では、作成された仮想サービスを用いて指示書を作成し、作成された指示書の内容を仮想サービスとして登録するので、仮想サービスを容易に作成することができる。従って、サービスの連携を定義する指示書の再利用を容易にすることができる。
【００８３】
また、本実施の形態では、仮想サービスを用いて指示書を作成するので、指示書を容易に作成することができる。
【００８４】
更に、本実施の形態では、仮想サービスを識別する識別情報を用いて作成された指示書から識別情報を取得し、予め対応して記憶された識別情報及び仮想サービス（指示書）から、取得した識別情報に対応する仮想サービスの内容を検索するので、仮想サービスを識別する識別情報を用いて指示書を作成しても対処することができる。
【００８５】
また、仮想サービス化の際に、ネストされるサービスのパラメータを継承でき、公開パラメータを柔軟に設定することができる。
【００８６】
更に、仮想サービスのフローにテンプレートサービスを記述することで、仮想サービスのパラメータとして、サービスを指定することができる。これにより、フローの全体の処理は利用しつつ、一部分だけを簡単に変更することができる。フローテンプレートを定義することにより、文書処理とは別の視点となるアルゴリズム（エラー制御など）を再利用することができる。
【００８７】
また、仮想サービス、フローテンプレートを多種用意することで、指示書の作成者は、これらの仮想サービスを利用することで、簡単に複雑な指示書を作成することができる。フローテンプレートの利用により、たとえば、指示書作成のためのグラフィカルなツールがない環境でも、アルゴリズム（テンプレート）を任意個指定し、テンプレートサービスを実際のサービス（仮想サービス含む）で埋めていくことで、簡単に複雑な指示書を作成することができる。
【００８８】
第２の実施の形態
次に、本発明の題２の実施の形態を説明する。前述した第１の実施の形態では、指示書を集中して解釈する各サービス提供装置と、指示書と文書（サービス提供装置がサービスを実行して処理した文書）とを入出力するフローエンジンを備えているが、本実施の形態は、フローエンジンを省略し、各サービスの提供装置やソフトウエアーにおいて指示書を解釈するものである。以下、これを詳細に説明する。即ち、図１５には、図１に示した指示書処理システムと異なる指示書処理システムの概略図が示されている。図１５に示す本指示書処理システムで、図１に示す指示書処理システムと異なる部分は、前述したようにフローエンジン１０を有しない点である。
【００８９】
次に、本実施の形態の作用を説明する。指示書が処理され、サービスの提供装置において指示書を解釈し、自身が担当するサービスを完了し、文書及び指示書を次のサービスの提供装置に出力する際に、図１６に示した指示書処理ルーチンの一部が実行される。即ち、ステップ８２で、次のサービスが仮想サービスか否かを判断し、仮想サービスでない場合には、本ルーチンを終了し、通常の指示書処理を実行する。一方、次のサービスが仮想サービスであると判断した場合には、ステップ８４で、仮想サービスプールサーバ１４に文書及び指示書を出力する。
【００９０】
文書及び指示書を入力した仮想サービスプールサーバ１４は、図１７に示した指示書処理ルーチンをスタートし、ステップ８６で、指示書２２Ｃ中から仮想サービス識別情報を取得する。
【００９１】
ステップ８８で、仮想サービス識別情報から上述した第２の指示書２２ＣＣ（図１２参照）を検索し、ステップ９０で、文書と第２の指示書２２ＣＣとを、該と第２の指示書２２ＣＣにおいて指定された最初のサービスを提供する提供装置に出力する。
【００９２】
このように文書と第２の指示書２２ＣＣが提供装置に出力されると、第２の指示書を処理する。なお、第２の指示書の形式は従来の形式と同様であるので、第２の指示書の処理も従来の指示書の処理と同様であるので、同一部分についてはその説明を省略する。異なる部分としては、第２の指示書中の最後のサービスを提供する提供装置は、文書と第２の指示書とを仮想サービスプールサーバ１４に出力する。
【００９３】
このように文書と第２の指示書２２ＣＣが仮想サービスプールサーバ１４に入力されると、ステップ９４で、文書と指示書とを、該指示書中の仮想サービスの次のサービスの提供装置に出力して、本ルーチンを終了する。
【００９４】
その後は、次のサービスがなければ、処理を終了し、次のサービスがある場合には、次のサービスが従来と同様の通常のサービスであれば上記のように従来と同様に処理し、次のサービスが仮想サービスの場合には、上記と同様の処理を実行する。
【００９５】
以上説明した第１の実施の形態及び第２の実施の形態では、各サービスを提供する提供装置はそれぞれ、単独の装置としているが、本発明はこれに限定されず、サービスを提供するソフトウエアーとして存在してもよい。即ち、１つの装置内に、複数のサービスのソフトウエアーが存在することも可能である。なお、サービスを提供する提供装置とサービスを提供するソフトウエアーとの組み合わせでも可能である。
【００９６】
【実施例】
実施例として、以下の文書フローを考える。
【００９７】
ＦＡＸ受信した文書を、顧客先ごとに個別の表紙、顧客情報をアノテーションとして付加し、それぞれの顧客担当者に送信し、承認を受ける。
【００９８】
第１の例として、仮想サービスを利用する場合を説明する。
【００９９】
システムに以下の指示書が定義されているものとする。
【０１００】
指示書Ａ：  文書に変換  →  特定の表紙を追加  →  ネットワーク上の特定のフォルダに格納
上記指示書Ａは、文書に変換、特定の表紙を追加、ネットワーク上の特定のフォルダに格納、という処理を、それぞれ個別のサービスに依頼するように記述されている。
「特定の表紙を追加」するサービスは、パラメータとして［表題］を、「ネットワーク上の特定のフォルダに格納」するサービスは、パラメータとして［格納場所］を持つ。
【０１０１】
上記の処理を、スキャン処理から連携させるために、以下の拡張を行う。
【０１０２】
指示書Ｂ：  デバイスからスキャン  →  ＯＣＲ、正立等の画像変換  →  指示書Ａの処理に繋げる。これは、指示書Ａを仮想サービスＡに昇格させ、新たな指示書Ｂの部品として、仮想サービスＡを利用することで、指示書Ｂに指示書Ａの記述内容をコピーすることなく、指示書Ａの機能を再利用することができる。
【０１０３】
ここで、あらたに定義される仮想サービスＡは、パラメータインターフェースとして、表題、格納場所、のうち任意個を仮想サービスＡのパラメータとして再定義できる。
【０１０４】
たとえば、表題を公開し、格納場所は非公開にした場合、デバイスから指示書Ｂを選択する時に（スキャン開始時に）表題を指定することができる。一方、格納場所は、非公開のため、指定することはできない。（常に特定、ｏｒ  たとえば仮想サービスＡが表題等から自動で決定する。）。
【０１０５】
結果として、指示書Ｂの記述は以下のようになる。
【０１０６】
指示書Ｂ：  デバイスからスキャン  →  ＯＣＲ、正立等の画像変換  →  仮想サービスＡ
次に、第２の例として、テンプレートサービスを利用する場合を説明する。
【０１０７】
大量の文書をスキャンし、画像補正を行い、ＯＣＲを行い、体裁を整え、出力を行う仮想サービスの定義を考える。画像補正には、正立補正、ノイズ除去サービスを利用する。体裁の整えは、ファイルのフォーマット変換、フォントの変換、スタイルの適応、ページ番号の挿入、目次、索引の作成、表題の挿入などのサービスを利用する。出力には、印刷、ファイルサーバ等のサービス、及び、文書内容に応じた振り分けサービスを利用する。
【０１０８】
仮想サービスを構成するこれらの各サービスは、複数のプロバイダが提供しており、それぞれ、機能、信頼性、課金制度が異なる。
【０１０９】
仮想サービス利用者は、それぞれのニーズに合わせて、利用者の望む各サービスが利用されることを期待する。
【０１１０】
ここで、これらの処理をすべて１つの指示書に記述し、利用者は、各サービスのサーバを指定できるように方法が考えられるが、各サービスの数が膨大になると、利用が困難になる。また、各プリミティブサービスの所在を利用者が知っている、もしくは検索する必要がある。
【０１１１】
そこで、画像補正、ＯＣＲ、体裁の整頓、出力をそれぞれ、利用者のニーズに合わせて、仮想サービスを作成する。たとえば、品質重視の画像補正仮想サービス、低コスト重視の体裁整頓仮想サービスなどがある。
【０１１２】
これらのサービスを連結したものを、仮想サービスとして定義し、そのパラメータとして、画像補正仮想サービス、体裁の整頓仮想サービスを指定できるようにする。利用者は、それぞれのニーズに合わせ、適当な仮想サービスをパラメータとして指定することができる。
【０１１３】
次に、第３の例として、フローテンプレートを利用する場合を説明する。
【０１１４】
例２のフローにおいて、利用者は望む品質を確保できるように、確認、やり直し、の処理の追加を考える。
【０１１５】
品質確保のポリシーとして、体裁の整頓後、すぐに出力を行わずに、利用者が自身のＰＣ上で体裁された文書を確認し、気に入らなければ、別の体裁ポリシーで体裁のやり直しを、望むだけできる。
【０１１６】
目で確認するほどの品質確保は必要とせず、正しく処理が行われたことを確認するために、パラメータで指定したとおりの体裁処理が行われたかどうか（フォントサイズ、最大ページ数を超えていないかなど）を自動で判別し、やり直し回数を指定できるようにする。上記自動判別において、やり直す場合、他のサーバを利用する。
【０１１７】
さらに、これらのポリシーを、体裁処理だけではなく、別のフロー処理にも簡単に応用できるようにすることも考える。そこで、この品質確保のポリシーを、フローテンプレートとして定義することができる。
【０１１８】
フローテンプレートは、図１８に示すように、
・任意の文書加工を行うテンプレートサービスＴＳ１と、
・加工された文書をチェックし、後続処理の続行又は  やり直しを判断するテンプレートサービスＴＳ２と、
を含んでいる。
【０１１９】
さらに、文書加工を行うテンプレートサービスＴＳ１に、上記のようにやり直す場合に、文書加工を行うテンプレートサービスに投入するパラメータを変更するテンプレートサービスＴＳ３をつなげるようにしてもよい。
【０１２０】
上記ポリシーごとに、これらテンプレートサービスに適当な仮想サービスを指定することができる。例えば、体裁処理の例では、実文書加工テンプレートサービスとして、体裁処理仮想サービスを指定する。更に、品質確保ポリシーに応じ、以下のように仮想サービスを指定することができる。
【０１２１】
品質確保ポリシー１の場合
文書チェックテンプレートサービスとして、ユーザのＰＣに体裁処理された文書を表示し（表示可能なアプリケーションを起動する）、ユーザがＯＫ、ＮＧを指定可能な仮想サービスを指定する。パラメータ変更テンプレートサービスは、変更を一切行わないデフォルトの仮想サービスを指定する。（デフォルト値として定義しても良い）
品質確保ポリシー２の場合
文書チェックテンプレートサービスとして、パラメータで指定したとおりの体裁処理が行われたかどうか（フォントサイズ、最大ページ数を超えていないかなど）を自動で判別し、さらにやり直し回数を記憶し、回数を超えない限りやり直しの判断を行う仮想サービスを指定する。パラメータ変更テンプレートサービスは、変更を一切行わないデフォルトの仮想サービスを指定する。（デフォルト値として定義しても良い）
品質確保ポリシー３の場合
文書チェックテンプレートサービスにはポリシー２と同様の指定を行う。
パラメータ変更テンプレートサービスとして、やり直しの度に、他のサーバを検索し、変更する仮想サービスを指定する。このようにすることで、品質確保のポリシーを体裁処理フロー、その他のフローで再利用することが可能になる。
【０１２２】
【発明の効果】
以上説明したように請求項１記載の発明は、処理データと処理規定データとが指示書を作成する前に予め組み合わされて候補処理データが構成されているので、この候補処理データを用いて用意に指示書を作成することができる、という効果を有する。
【０１２３】
請求項２記載の発明は、処理データと処理規定データとの組み合わせを複数備えると共に、複数の処理の順番を表す処理順番データとが更に組み合わされて候補処理データを構成するので、処理は複数存在する場合でも、この候補処理データを用いて容易に指示書を作成することができる、という効果を有する。
【０１２４】
請求項３記載の発明は、既に存在する他の候補処理データ中の前記組み合わせを用いて候補処理データを構成するので、この候補処理データを用いて更に容易に指示書を作成することができる、という効果を有する。
【０１２５】
請求項４乃至請求項６記載の発明は、予め用意した処理データと処理規定データとの組み合わせから、候補処理データの処理データと処理規定データとの組み合わせとして選択するので、候補処理データを容易に作成することができる、という効果を有する。
【０１２６】
請求項７記載の発明は、作成された候補処理データを用いて指示書を作成し、作成された指示書の指示書データを候補処理データとして登録するので、候補処理データを容易に作成することができる、という効果を有する。
【０１２７】
請求項８及び請求項９記載の発明は、候補処理データを用いて指示書を作成するので、指示書を容易に作成することができる、という効果を有する。
【０１２８】
請求項１０及び１１記載の発明は、候補処理データを識別する識別データを用いて作成された指示書から識別データを取得し、予め対応して記憶された識別データ及び候補処理データから、取得した識別データに対応する候補処理データを検索するので、候補処理データを識別する識別データを用いて指示書を作成しても対処することができる、という効果を有する。
【図面の簡単な説明】
【図１】指示書処理システムの概略図である。
【図２】第１の仮想サービスを示した概念図である。
【図３】第２の仮想サービスを示した概念図である。
【図４】第３の仮想サービスを示した概念図である。
【図５】仮想サービスの作成方法を示した概念図である。
【図６】仮想サービスを作成するための第１のテンプレートを示した図である。
【図７】仮想サービスを作成するための第１のテンプレートを示した図である。
【図８】指示書を示した概念図である。
【図９】他の指示書を示した図である。
【図１０】指示書の第１の処理を説明する説明図である。
【図１１】フローエンジンが実行する指示書処理ルーチンを示したフローチャートである。
【図１２】指示書の第２の処理を説明する説明図である。
【図１３】フローエンジンが実行する第２の指示書処理ルーチンを示したフローチャートである。
【図１４】仮想サービスプールサーバが実行する指示書処理ルーチンを示したフローチャートである。
【図１５】他の指示書処理システムの概略図である。
【図１６】サービス提供装置が実行する指示書処理ルーチンの一部を示したフローチャートである。
【図１７】仮想サービスプールサーバが実行する指示書処理ルーチンを示したフローチャートである。
【図１８】実施例に係る仮想サービステンプレートを示した図である。
【符号の説明】
１０    フローエンジン
１２Ｓ１〜１２Ｓ４    サービス提供装置
１４    仮想サービスプールサーバ
【図１】
2004288050.tif 000003
【図２】
2004288050.tif 000004
【図３】
2004288050.tif 000005
【図４】
2004288050.tif 000006
【図５】
2004288050.tif 000007
【図６】
2004288050.tif 000008
【図７】
2004288050.tif 000009
【図８】
2004288050.tif 000010
【図９】
2004288050.tif 000011
【図１０】
2004288050.tif 000012
【図１１】
2004288050.tif 000013
【図１２】
2004288050.tif 000014
【図１３】
2004288050.tif 000015
【図１４】
2004288050.tif 000016
【図１５】
2004288050.tif 000017
【図１６】
2004288050.tif 000018
【図１７】
2004288050.tif 000019
【図１８】
2004288050.tif 000020