(57)【要約】【課題】  情報処理装置側でサービス同士の連携を図ることができる情報処理装置、サービス連携方法およびサービス連携プログラムを提供することを目的とする。【解決手段】  情報処理装置２０Ａであって、クライアント１０からの要求のうち自ら実行可能な処理を実行し、自ら実行不可能な処理を他のサービス手段２６，２８に依頼して実行すると共に、他のサービス手段２６，２８からの依頼に基づく処理を実行するクラスを含む構造のフレームワーク２１を利用したサービス手段２７を有することにより上記課題を解決する。【選択図】  図３
2006140946.tif 000002
【特許請求の範囲】
【請求項１】
１つ以上のサービス手段を備えた情報処理装置であって、
クライアントからの要求のうち自ら実行可能な処理を実行し、自ら実行不可能な処理を他のサービス手段に依頼して実行すると共に、前記他のサービス手段からの依頼に基づく処理を実行するクラスを含む構造のフレームワークを利用したサービス手段を有する情報処理装置。
【請求項２】
前記サービス手段が利用する前記フレームワークは共通であり、機器又は前記サービス手段に依存する変動手段により各サービス手段と結合されることを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記サービス手段は、自ら実行可能な処理を実行し、自ら実行不可能な処理を、同一機器内の他のサービス手段に依頼して実行することを特徴とする請求項１又は２記載の情報処理装置。
【請求項４】
前記サービス手段は、自ら実行可能な処理を実行し、自ら実行不可能な処理を、ネットワークを介して接続されている他の機器内の他のサービス手段に依頼して実行することを特徴とする請求項１又は２記載の情報処理装置。
【請求項５】
前記サービス手段は、自ら実行可能な処理を実行している途中でエラーが発生したときに、残りの処理を他のサービス手段に依頼して実行することを特徴とする請求項１又は２記載の情報処理装置。
【請求項６】
前記サービス手段は、前記処理を他のサービス手段に依頼する前に、前記処理を実行可能か否かを他のサービス手段に問い合わせて、前記処理を依頼する他のサービス手段を検索することを特徴とする請求項１乃至５何れか一項記載の情報処理装置。
【請求項７】
前記サービス手段は、前記他のサービス手段の利用状況を表す情報を前記問い合わせ結果として前記他のサービス手段から通知されると、前記他のサービス手段の利用状況を表す情報に応じて、前記処理を依頼する他のサービス手段を決定することを特徴とする請求項６記載の情報処理装置。
【請求項８】
前記サービス手段は、前記他のサービス手段から前記処理を実行可能か否かの問い合わせを受け付けると、前記利用状況を表す情報を前記問い合わせ結果として前記他のサービス手段に通知することを特徴とする請求項１乃至７何れか一項記載の情報処理装置。
【請求項９】
前記サービス手段は、前記利用状況を表す情報として、要求受付け可否，処理数および実行待ちの処理数を、前記問い合わせ結果として通知することを特徴とする請求項７又は８記載の情報処理装置。
【請求項１０】
前記サービス手段は、前記クライアントからの要求のうち自ら実行可能な処理を実行すると共に、自ら実行不可能な処理を他のサービス手段に依頼して実行する為のサービス利用手順を前記フレームワークで構築することを特徴とする請求項１乃至９何れか一項記載の情報処理装置。
【請求項１１】
前記サービス手段は、前記他のサービス手段からの要求を受け付けると、前記要求を実行する為のサービス利用手順を前記フレームワークで構築することを特徴とする請求項１乃至１０何れか一項記載の情報処理装置。
【請求項１２】
前記サービス手段は、外部からのメッセージを受け付ける受付クラス，実行する要求を表す要求クラス，実行中のサービス利用手順を表す手順書管理者クラス，要求を実現するために必要な手順が書かれた手順書クラス，要求を実現するための手順を決定するための仕様を表す手順決定仕様クラス，実行結果が要求を満たしているか否かを評価する実行結果評価クラス，手順書に書かれた各手順を表す実行ステップクラス，要求実行のための手順を作成する手順作成クラス，要求を受付けられるかどうかを他のサービス手段に問い合わせる受付け可否問い合わせクラス，機器の持つ機能を表す機器実行者クラスを含む構造のフレームワークを利用する請求項１乃至１１何れか一項記載の情報処理装置。
【請求項１３】
前記サービス手段は、自ら実行可能な処理を実行し、自ら実行不可能な処理を、同一機器内の他のサービス手段に依頼して実行するときに、自ら実行する処理および他のサービス手段に依頼して実行する処理の実行ステップクラスおよび機能実行者クラスをそれぞれ生成することを特徴とする請求項１２記載の情報処理装置。
【請求項１４】
前記サービス手段は、前記他のサービス手段から受け付けた要求を実行するときに、前記要求を実行する処理の実行ステップクラスおよび機能実行者クラスを生成することを特徴とする請求項１２記載の情報処理装置。
【請求項１５】
前記サービス手段は、自ら実行可能な処理を実行し、自ら実行不可能な処理を、ネットワークを介して接続されている機器内の他のサービス手段に依頼して実行するときに、自ら実行する処理および他のサービス手段に依頼して実行する処理の実行ステップクラスおよび機能実行者クラスをそれぞれ生成することを特徴とする請求項１２記載の情報処理装置。
【請求項１６】
前記サービス手段は、自ら実行可能な処理を実行している途中でエラーが発生したときに、残りの処理を他のサービス手段に依頼して実行する処理の実行ステップクラスおよび機能実行者クラスを生成することを特徴とする請求項１２記載の情報処理装置。
【請求項１７】
前記サービス手段は、前記処理を他のサービス手段に依頼する前に、前記他のサービス手段の利用状況を表す情報を前記他のサービス手段の手順書管理者クラスに問い合わせることを特徴とする請求項１２記載の情報処理装置。
【請求項１８】
前記サービス手段は、画像形成に掛かる処理を行うことを特徴とする請求項１乃至１７何れか一項記載の情報処理装置。
【請求項１９】
１つ以上のクラスを含む構造のフレームワークを利用する１つ以上のサービス手段を備えた情報処理装置のサービス連携方法であって、
一のサービス手段が、クライアントからの要求のうち自ら実行可能な処理を実行すると共に、自ら実行不可能な処理を他のサービス手段に依頼して実行する段階と、
前記一のサービス手段が、前記他のサービス手段からの依頼に基づく処理を実行する段階と
を有するサービス連携方法。
【請求項２０】
１つ以上のサービス手段を備えたコンピュータを、
クライアントからの要求のうち自ら実行可能な処理を実行し、自ら実行不可能な処理を他のサービス手段に依頼して実行すると共に、前記他のサービス手段からの依頼に基づく処理を実行するクラスを含む構造のフレームワークを利用したサービス手段
として機能させる為のサービス連携プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、サービス連携方法およびサービス連携プログラムに係り、特にサービス同士の連携を図る情報処理装置、サービス連携方法およびサービス連携プログラムに関する。
【背景技術】
【０００２】
例えば情報処理装置の一例としてのＭＦＰ（マルチファンクションプリンタ）が提供するプリントサービス，スキャンサービス等、様々なサービス（機能）をクライアント側から利用する場合は、クライアント側からＭＦＰ側の単一又は複数のサービスとやり取りを行うことでクライアントの要求を実現している（例えば特許文献１参照）。
【０００３】
クライアントの要求が複数のサービスを利用して実現できるものであった場合は、クライアント側でサービスの検索，機能や状態の確認などを行い、サービス利用手順を決定していた。
【０００４】
図１は、サービス連携システムの一例の構成図である。サービス連携システムは、クライアント１，ＭＦＰ２Ａ，ＭＦＰ２Ｂが、ネットワーク３を介して接続されている。ＭＦＰ２Ａは、スキャンサービス４，プリントサービス５を有する。ＭＦＰ２Ｂは、プリントサービス５，ファックスサービス６を有する。ここでは、ＳｃａｎＴｏＦａｘ要求を例に説明する。
【０００５】
従来、クライアント１はサービスの機能や状態の確認を行って、ＳｃａｎＴｏＦａｘ要求を実現する為のサービス利用手順を構築する。次に、クライアント１はサービス利用手順に従って、ＭＦＰ２Ａのスキャンサービス４に文書のスキャンを依頼する。そして、クライアント１はサービス利用手順に従って、ＭＦＰ２Ｂのファックスサービス６にＭＦＰ２Ａのスキャンサービス４でスキャンした文書のＦＡＸを依頼する。
【特許文献１】特開２００４−１３３９２３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
従来、ＭＦＰが提供するサービスをクライアント側から利用する場合は、クライアント側で様々な手続きを行う必要があった。その為、従来のサービス連携システムに含まれるクライアントにはサービス検索機能，サービス状態確認機能，サービス利用手順構築機能などの機能が必要である。このように、従来のサービス連携システムに含まれるクライアントはサービス検索機能，サービス状態確認機能，サービス利用手順構築機能などの機能を持った専用のアプリケーション（アプリ）を用意しておく必要があった。
【０００７】
本発明は、上記の点に鑑みなされたもので、情報処理装置側でサービス同士の連携を図ることができる情報処理装置、サービス連携方法およびサービス連携プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するため、本発明は、１つ以上のサービス手段を備えた情報処理装置であって、クライアントからの要求のうち自ら実行可能な処理を実行し、自ら実行不可能な処理を他のサービス手段に依頼して実行すると共に、前記他のサービス手段からの依頼に基づく処理を実行するクラスを含む構造のフレームワークを利用したサービス手段を有することを特徴とする。
【０００９】
また、本発明は、１つ以上のクラスを含む構造のフレームワークを利用する１つ以上のサービス手段を備えた情報処理装置のサービス連携方法であって、一のサービス手段が、クライアントからの要求のうち自ら実行可能な処理を実行すると共に、自ら実行不可能な処理を他のサービス手段に依頼して実行する段階と、前記一のサービス手段が、前記他のサービス手段からの依頼に基づく処理を実行する段階とを有することを特徴とする。
【００１０】
さらに、本発明は、１つ以上のサービス手段を備えたコンピュータを、クライアントからの要求のうち自ら実行可能な処理を実行し、自ら実行不可能な処理を他のサービス手段に依頼して実行すると共に、前記他のサービス手段からの依頼に基づく処理を実行するクラスを含む構造のフレームワークを利用したサービス手段として機能させる為のサービス連携プログラムであることを特徴とする。
【００１１】
本発明は、情報処理装置のサービス手段でサービス同士の連携が可能なフレームワークを利用している。このフレームワークは、クライアントからの要求のうち自ら実行可能な処理を実行し、自ら実行不可能な処理を他のサービス手段に依頼して実行すると共に、他のサービス手段からの依頼に基づく処理を実行するクラスを含む構造である。
【００１２】
したがって、本発明ではクライアントからの要求が複数のサービス手段を利用して実現できるものであっても、情報処理装置側でサービス手段を連携させることによりクライアントからの要求を実現することができる。この結果、クライアント側で行う必要のある手続き及びクライアント側で必要な機能を著しく減少させることができる。
【発明の効果】
【００１３】
本発明によれば、情報処理装置側でサービス同士の連携を図ることができる情報処理装置、サービス連携方法およびサービス連携プログラムを提供可能である。
【発明を実施するための最良の形態】
【００１４】
次に、本発明を実施するための最良の形態を、以下の実施例に基づき図面を参照しつつ説明していく。なお、本実施例では、情報処理装置の一例としてＭＦＰを例に説明しているが、１つ以上のサービス（機能）を備えた如何なる情報処理装置であってもよい。
【００１５】
本発明によるＭＦＰは１つ以上のサービスを備えており、そのサービス同士の連携を可能にするフレームワークを利用している。このフレームワークは、クライアントからの要求を実現する為のサービス利用手順（以下、単に手順という）をＭＦＰ側で構築できる仕組みを有している。フレームワークは、上記の仕組みを簡単に提供可能なソフトウェア部品である。
【００１６】
フレームワークは、ＭＦＰやサーバＰＣ等が提供する各サービスに搭載され、同一機器内やネットワークを介して接続されている他の機器内のサービス同士の連携を可能にしている。
【００１７】
フレームワークを利用することで、本発明によるサービス連携システムはクライアントの処理を減らせる為、ブラウザ等のような最小限の機能しか持たないクライアントを利用できる。また、本発明によるサービス連携システムはクライアントとＭＦＰとのインタラクション（ｉｎｔｅｒａｃｔｉｏｎ）が必要最小限になる為、処理速度の向上が期待できる。また、本発明によるサービス連携システムはエラー発生時の代替処理が容易に実現できる。
【００１８】
さらに、本発明によるサービス連携システムは、機器やサービスに依存する部分を変動部として開発するだけで、フレームワークを用いたサービスの連携が可能となり、開発時間の縮小，コストの削減が期待できる。このように、本発明のＭＦＰではフレームワークを利用することにより、クライアントからの要求が複数のサービスを利用して実現するものであっても、サービス同士を連携させて達成することができる。
【００１９】
図２は、フレームワークの搭載形態を表す一例の構成図である。図２に示すように、フレームワーク（ＦＷ）２１はＭＦＰやサーバＰＣ等の何らかのサービスを提供する機器に搭載される。フレームワーク２１は、各サービスで共通に利用される。フレームワーク２１は、各サービス毎に存在する。図２の場合、プリントサービス２６，スキャンサービス２７，ファックスサービス２８，ストレージサービス２９毎に、フレームワーク２１が存在する。
【００２０】
フレームワーク２１と各サービス２６〜２９とは、機器やサービスに依存する変動部２２〜２５により結合される。この変動部２２〜２５は、各サービス２６〜２９の持つインターフェースなどに依存する形で開発する。
【００２１】
図２の場合、プリントサービス２６は変動部２２によりフレームワーク２１と結合される。スキャンサービス２７は、変動部２３によりフレームワーク２１と結合される。ファックスサービス２８は、変動部２４によりフレームワーク２１と結合される。また、ストレージサービス２９は、変動部２５によりフレームワーク２１と結合される。なお、変動部２２〜２５によりフレームワークと結合された各サービス２６〜２９を、以下の説明ではフレームワーク２１を搭載したサービスと呼ぶ。
【００２２】
図３は、本発明によるサービス連携システムの一実施例の構成図である。サービス連携システムは、クライアント１０，ＭＦＰ２０Ａ，ＭＦＰ２０Ｂが、ＬＡＮ（ローカルエリアネットワーク）やインターネット等のネットワーク３０を介して接続されている。ＭＦＰ２０Ａは、フレームワーク２１を搭載したプリントサービス２６，スキャンサービス２７を有する。ＭＦＰ２０Ｂは、フレームワーク２１を搭載したプリントサービス２６，ファックスサービス２８を有する。
【００２３】
フレームワーク２１を搭載したＭＦＰ２０Ａのプリントサービス２６，スキャンサービス２７およびＭＦＰ２０Ｂのプリントサービス２６，ファックスサービス２８は、同一機器内またはネットワーク３０を介して接続されている他の機器内のフレームワーク２１を搭載した各サービス２６〜２９との連携を行うことができる。
【００２４】
フレームワーク２１は、変動部２２〜２５により結合される自サービス２６〜２９を利用する為の手順構築機能と、同一機器内またはネットワーク３０を介して接続されている他の機器内の他サービス２６〜２９を利用する為の手順構築機能と、他サービス２６〜２９に処理の実行を依頼する為のクライアント機能とを有する。また、他サービス２６〜２９の機能や利用状況などを問い合わせる為のクライアント機能と、自サービス２６〜２９の機能や利用状況を他サービス２６〜２９に通知するサーバ機能とを有する。
【００２５】
図４は、フレームワークを搭載したサービスの基本動作を表したアクティビティ図である。ここでは、フレームワーク２１を搭載したスキャンサービス２７の基本動作を一例として説明していく。ステップＳ１に進み、スキャンサービス２７はクライアント１０からの要求を受付ける。
【００２６】
ステップＳ２に進み、スキャンサービス２７はクライアント１０からの要求を実現する為の手順を作成する。ステップＳ３に進み、スキャンサービス２７は作成された手順通りに処理を実行する。ステップＳ４に進み、スキャンサービス２７は処理の実行結果を評価して、クライアント１０からの要求が全て満たされているか否かを判定する。
【００２７】
クライアント１０からの要求が全て満たされていると判定すれば、スキャンサービス２７はステップＳ５に進み、処理を完了する。クライアント１０からの要求が満たされていないと判定すれば、スキャンサービス２７はステップＳ６に進み、残りの処理を実行可能な他サービスを探す。
【００２８】
残りの処理を実行可能な他サービスが無いと判定すれば、スキャンサービス２７はステップＳ１０に進み、残りの処理を実行不可とする。残りの処理を実行可能な他サービスが有ると判定すれば、スキャンサービス２７はステップＳ７に進み、他サービスに処理を依頼する為の手順を追加する。
【００２９】
ステップＳ８に進み、スキャンサービス２７は他サービスへ処理を依頼して、追加した手順通りに処理を実行させる。ステップＳ９に進み、スキャンサービス２７はステップＳ４と同様に処理の実行結果を評価して、クライアント１０からの要求が全て満たされているか否かを判定する。
【００３０】
クライアント１０からの要求が全て満たされていると判定すれば、スキャンサービス２７はステップＳ５に進み、処理を完了する。クライアント１０からの要求が満たされていないと判定すれば、スキャンサービス２７はステップＳ６に戻る。
【００３１】
図４の基本動作によれば、フレームワークを搭載したサービスはクライアント１０からの要求のうち自ら実行可能な処理を実行し、自ら実行不可能な処理を他のサービスに依頼して実行させることができる。
【００３２】
図５は、フレームワークを搭載したサービス同士が連携するときの動作を表したアクティビティ図である。ここでは、フレームワーク２１を搭載したスキャンサービス２７及びファックスサービス２８が連携するときの動作を一例として説明していく。
【００３３】
ステップＳ２１に進み、クライアント１０はＭＦＰ２０Ａのスキャンサービス２７にＳｃａｎＴｏＦａｘ要求を行う。ステップＳ２２に進み、スキャンサービス２７はクライアント１０からのＳｃａｎＴｏＦａｘ要求を受付ける。
【００３４】
ステップＳ２３に進み、スキャンサービス２７はクライアント１０からのＳｃａｎＴｏＦａｘ要求を実現する為の手順を作成する。ステップＳ２４に進み、スキャンサービス２７は作成された手順通りに処理を実行する。ここでは、スキャン処理が実行される。ステップＳ２５に進み、スキャンサービス２７は処理の実行結果を評価して、クライアント１０からのＳｃａｎＴｏＦａｘ要求が全て満たされているか否かを判定する。ここでは、ＦＡＸ処理が残っていると判定する。
【００３５】
ステップＳ２６に進み、スキャンサービス２７はＦＡＸ処理を実行可能な他サービスを探す為に、ＦＡＸ処理を実行可能か否かを他サービスに問い合わせる。ここでは、ＦＡＸ処理を実行可能な他サービスとして、ＭＦＰ２０Ｂのファックスサービス２８が見つけ出される。
【００３６】
ステップＳ２７に進み、スキャンサービス２７は見つかったＦＡＸ処理を実行可能なファックスサービス２８にＦＡＸ処理を依頼する為の手順を追加する。ステップＳ２８に進み、スキャンサービス２７はＭＦＰ２０Ｂのファックスサービス２８に、追加した手順通りにＦＡＸ処理を依頼する。
【００３７】
ステップＳ２９に進み、ファックスサービス２８はＭＦＰ２０Ａのスキャンサービス２７からＦＡＸ要求を受付ける。ステップＳ３０に進み、ファックスサービス２８は受付けたＦＡＸ要求を実現する為の手順を作成する。ステップＳ３１に進み、ファックスサービス２８は作成された手順通りにＦＡＸ処理を実行する。
【００３８】
ステップＳ３２に進み、ファックスサービス２８は処理の実行結果を評価して、受付けたＦＡＸ要求が全て満たされているか否かを判定する。ここでは、受付けたＦＡＸ要求が全て満たされていると判定する。ステップＳ３３に進み、ファックスサービス２８はＦＡＸ要求の実行完了を依頼元であるＭＦＰ２０Ａのスキャンサービス２７に通知する。
【００３９】
ステップＳ３４に進み、スキャンサービス２７はＭＦＰ２０Ｂのファックスサービス２８から実行結果を受け取る。ステップＳ３５に進み、スキャンサービス２７は受け取った実行結果を評価して、クライアント１０からのＳｃａｎＴｏＦａｘ要求が全て満たされているか否かを判定する。ここでは、ＳｃａｎＴｏＦａｘ要求が全て満たされていると判定する。
【００４０】
ステップＳ３６に進み、スキャンサービス２７はＳｃａｎＴｏＦａｘ要求の実行完了を依頼元であるクライアント１０に通知する。ステップＳ３７に進み、クライアント１０はＭＦＰ２０Ａのスキャンサービス２７から実行結果を受け取る。
【００４１】
図５の動作によれば、フレームワークを搭載したサービス同士が連携して、クライアント１０からの要求を実行できる。なお、前述したようなサービス同士の連携を前提としたフレームワークの構造は、図６のようなクラス図で表すことができる。
【００４２】
図６は、フレームワークの構造を表すクラス図である。図６のクラス図は、受付クラス４１，要求クラス４２，手順書管理者クラス４３，手順書クラス４４，手順決定仕様クラス４５，実行結果評価クラス４６，実行ステップクラス４７，手順作成クラス４８，受付け可否問い合わせクラス４９，機能実行者クラス５０を含む。
【００４３】
受付クラス４１は、外部からのメッセージを受付ける。要求クラス４２は、サービスで実行する要求を表す。サービスは、この要求の実現に対して責任を持つ。手順書管理者クラス４３は、サービスで実行中の手順書を管理する。手順書管理者クラス４３は、手順書と手順書の中身とを記述するクラス（手順決定仕様クラス４５）を生成する。
【００４４】
手順書クラス４４は、要求を実現するために必要な手順が書かれた手順書である。手順書クラス４４は、書かれた手順を実行する。手順決定仕様クラス４５は、要求実現のための手順を決定するための仕様である。手順決定仕様クラス４５は、手順書の中身を記述する。実行結果評価クラス４６は、手順の実行結果や、失敗理由などを見て、クライアント１０の要求を満たしているか否かを評価する。
【００４５】
実行ステップクラス４７は、手順書に書かれた各手順を表す。実行ステップクラス４７は、一つの手順に対して責任を持つ。手順作成クラス４８は、要求実行のための手順を作成する。受付け可否問い合わせクラス４９は、要求を受付けられるかどうかを他のサービス（実行者）に問い合わせる。機能実行者クラス５０は、機器の持つサービス（機能）を表す。機能実行者クラス５０は、サービス（機能）とのインターフェースとなる。
【００４６】
以下、図６のクラス図で表されるフレームワーク２１の動作について説明していく。図７は、フレームワークの起動時の動作を表すシーケンス図である。フレームワーク２１では、起動時に、常駐インスタンスが生成される。ステップＳ４１〜Ｓ４３では、起動プロセス６０が、受付クラス４１，手順書管理者クラス４３，自サービスとのやり取りを行う機能実行者クラス５０−１のインスタンスを生成する。
【００４７】
図８及び図９は、フレームワークの要求実行時の動作を表すシーケンス図である。ここでは、自サービスと他サービスとで要求が実現できる場合のシーケンス図を示す。ステップＳ５１に進み、受付クラス４１のインスタンスはクライアント１０からの要求を受け付ける。ステップＳ５２に進み、受付クラス４１のインスタンスは要求クラス４２のインスタンスを生成する。
【００４８】
ステップＳ５３に進み、受付クラス４１のインスタンスは要求クラス４２のインスタンスに実行を依頼する。ステップＳ５４に進み、要求クラス４２のインスタンスは手順書管理者クラス４３のインスタンスに手順書作成を依頼する。ステップＳ５５及びステップＳ５６に進み、手順書管理者クラス４３のインスタンスは要求を実現するための手順書クラス４４のインスタンスと、要求に応じた手順を決定するための責務を持った手順決定仕様クラス４５のインスタンスとをペアで生成する。ステップＳ５７〜Ｓ５９に進み、手順決定仕様クラス４５のインスタンスは手順作成クラス４８，実行結果評価クラス４６及び受付け可否問い合わせクラス４９のインスタンスを生成する。
【００４９】
次に、要求を実現するための手順を決定する。ステップＳ６０に進み、要求クラス４２のインスタンスは手順書クラス４４のインスタンスに開始を依頼する。ステップＳ６１に進み、手順書クラス４４のインスタンスは手順決定仕様クラス４５のインスタンスに手順決定を依頼する。ステップＳ６２に進み、手順決定仕様クラス４５のインスタンスは手順作成クラス４８のインスタンスに手順作成を依頼する。このとき、手順決定仕様クラス４５のインスタンスはステップＳ５１で受け付けた要求の識別情報を手順作成クラス４８のインスタンスに渡す。
【００５０】
ステップＳ６３に進み、手順作成クラス４８のインスタンスは要求を実現する為に、どのサービスを利用すれば良いかを判定し、そのサービスを利用する為の手順（自サービス利用の実行ステップクラス４７−１のインスタンス）を生成する。ステップＳ６３で生成する手順は、複数あってもかまわない。
【００５１】
ステップＳ６４に進み、手順決定仕様クラス４５のインスタンスはステップＳ６２で生成した手順の追加を手順書クラス４４のインスタンスに依頼する。そして、ステップＳ６５に進み、手順決定仕様クラス４５のインスタンスはステップＳ６２で生成した手順の追加完了を手順書クラス４４のインスタンスに依頼する。
【００５２】
ステップＳ６６に進み、手順書クラス４４のインスタンスはステップＳ６３で生成した実行ステップクラス４７−１のインスタンスにステップ実行を依頼する。ステップＳ６７に進み、実行ステップクラス４７−１のインスタンスは自サービスの機能実行者クラス５０−１のインスタンスに機能実行を依頼することで、機能実行者クラス５０−１のインスタンスを通じて機器の機能を利用する。
【００５３】
ステップＳ６８に進み、機能実行者クラス５０−１のインスタンスは実行結果を実行ステップクラス４７−１に通知する。ステップＳ６９に進み、実行ステップクラス４７−１のインスタンスは実行結果を手順書クラス４４のインスタンスに通知する。手順書クラス４４のインスタンスは、次の手順（実行ステップクラス４７−１のインスタンス）がある場合、次のステップ実行を依頼する。
【００５４】
手順書クラス４４のインスタンスは、全ての手順の実行が完了するとステップＳ７０に進み、手順決定仕様クラス４５のインスタンスに全手順完了を通知する。このとき、手順書クラス４４のインスタンスは、実行結果を手順決定仕様クラス４５のインスタンスに通知する。
【００５５】
ステップＳ７１に進み、手順決定仕様クラス４５のインスタンスは実行結果を実行結果評価クラス４６のインスタンスに通知し、クライアント１０からの要求が全て満たされているか否かの確認を行う評価実行を依頼する。ここで、実行結果評価クラス４６のインスタンスはクライアント１０からの要求が残っていると判定する。
【００５６】
ステップＳ７２に進み、手順決定仕様クラス４５のインスタンスは受付け可否問い合わせクラス４９のインスタンスに、要求を全て満たす為に必要な残りの処理を実行可能な他サービスの検索を依頼する。ここで、受付け可否問い合わせクラス４９のインスタンスは同一機器内の他サービス、及びネットワーク３０を介して接続されている他の機器内の他サービスに対し、残りの処理を実行可能か否かを後述する図１０のシーケンス図で表すように問い合わせる。
【００５７】
問い合わせた結果、残りの処理を実行可能なサービスが見つかった場合、手順書クラス４４のインスタンスはステップＳ７３に進み、手順作成クラス４８のインスタンスに問い合わせ結果を通知し、手順作成を依頼する。ステップＳ７４に進み、手順作成クラス４８のインスタンスは他サービスの機能実行者クラス５０−２のインスタンスを生成する。ステップＳ７５に進み、他サービスを使って要求実現のための残りの処理を実行するための手順（他サービス利用の実行ステップクラス４７−２のインスタンス）を生成する。実行可能なサービスが複数見つかった場合、混雑状況などから適切なサービスを選択する。
【００５８】
ステップＳ７６に進み、手順決定仕様クラス４５のインスタンスは生成した手順の追加を手順書クラス４４のインスタンスに依頼する。そして、ステップＳ７７に進み、手順決定仕様クラス４５のインスタンスは生成した手順の追加完了を手順書クラス４４のインスタンスに依頼する。
【００５９】
ステップＳ７８に進み、手順書クラス４４のインスタンスは生成した実行ステップクラス４７−２のインスタンスにステップ実行を依頼する。ステップＳ７９に進み、実行ステップクラス４７−２のインスタンスは他サービスの機能実行者クラス５０−２のインスタンスに機能実行を依頼することで、機能実行者クラス５０−２のインスタンスを通じて機器の機能を利用する。
【００６０】
ステップＳ８０に進み、機能実行者クラス５０−２のインスタンスは実行結果を実行ステップクラス４７−２に通知する。ステップＳ８１に進み、実行ステップクラス４７−２のインスタンスは実行結果を手順書クラス４４のインスタンスに通知する。手順書クラス４４のインスタンスは、次の手順（実行ステップクラス４７−２のインスタンス）がある場合、次のステップ実行を依頼する。
【００６１】
手順書クラス４４のインスタンスは、全ての手順の実行が完了するとステップＳ８２に進み、手順決定仕様クラス４５のインスタンスに全手順完了を通知する。このとき、手順書クラス４４のインスタンスは、実行結果を手順決定仕様クラス４５のインスタンスに通知する。
【００６２】
ステップＳ８３に進み、手順決定仕様クラス４５のインスタンスは実行結果を実行結果評価クラス４６のインスタンスに通知し、クライアント１０からの要求が全て満たされているか否かの確認を行う評価実行を依頼する。ここで、実行結果評価クラス４６のインスタンスはクライアント１０からの要求が全て満たされていると判定する。
【００６３】
ステップＳ８４に進み、手順書クラス４４のインスタンスは要求クラス４２のインスタンスに正常終了を通知する。ステップＳ８５に進み、要求クラス４２のインスタンスは手順書管理者クラス４３のインスタンスに手順書破棄を依頼する。ステップＳ８６〜Ｓ９０に進み、手順書管理者クラス４３，手順書クラス４４，手順決定仕様クラス４５，手順作成クラス４８，実行結果評価クラス４６，受付け可否問い合わせクラス４９のインスタンスが破棄される。
【００６４】
ステップＳ９１に進み、要求クラス４２のインスタンスは実行結果を受付クラス４１のインスタンスに通知する。ステップＳ９２に進み、要求クラス４２のインスタンスが破棄される。そして、ステップＳ９３に進み、受付クラス４１のインスタンスはクライアント１０に実行完了を通知する。
【００６５】
図１０は、他サービスに残りの処理を実行可能か問い合わせる動作を表すシーケンス図である。ステップＳ１００に進み、問い合わせ元としての受付け可否問い合わせクラス４９のインスタンスは同一機器内の他サービス、及びネットワーク３０を介して接続されている他の機器内の他サービスに対し、残りの処理を実行可能か問い合わせる受付け可否問い合わせを行う。
【００６６】
予め他サービスが登録されている場合、受付け可否問い合わせクラス４９のインスタンスは登録されている全ての他サービスに問い合わせる。予め他サービスが登録されていない場合、受付け可否問い合わせクラス４９のインスタンスは全ての他サービスに対してブロードキャストにて問い合わせる。
【００６７】
受付け可否問い合わせを受けると、各サービスの受付クラス４１のインスタンスはステップＳ１０１に進み、残りの処理を実行可能か否かを判定する。残りの処理を実行可能と判定した場合、各サービスの受付クラス４１のインスタンスは手順書管理者クラス４３のインスタンスに手順書状態確認を依頼する。
【００６８】
ステップＳ１０２に進み、手順書管理者クラス４３のインスタンスは自サービスが現在実行中の手順書クラス４４Ａのインスタンスに状況確認を問い合わせる。ステップＳ１０３に進み、手順書クラス４４Ａのインスタンスは状態確認結果を手順書管理者クラス４３のインスタンスに通知する。同様に、ステップＳ１０４及びＳ１０５では、手順書管理者クラス４３のインスタンスが、手順書クラス４４Ｂのインスタンスに状況確認を問い合わせ、状態確認結果を通知される。
【００６９】
ステップＳ１０６に進み、手順書管理者クラス４３のインスタンスはサービスの利用状況を表す情報を作成し、問い合わせ結果通知として受付クラス４１のインスタンスに通知する。ステップＳ１０７に進み、受付クラス４１のインスタンスは問い合わせ結果通知を問い合わせ元の受付け可否問い合わせクラス４９のインスタンスに通知する。
【００７０】
即ち、サービス利用状況を表す情報は、各手順書クラス４４のインスタンスに問い合わせることで取得できる。サービス利用状況を表す情報は、手順書クラス４４の属性である状態に相当する。
【００７１】
図１１は、サービス利用状況の情報を表した説明図である。図１１では、問い合わせ元としてのスキャンサービス２７が、ファックスサービス２８，プリントサービス２６Ａ及び２６Ｂに対し、印刷処理を実行可能か問い合わせる受付可否問い合わせを行う。
【００７２】
ファックスサービス２８は印刷処理を実行不可能と判定し、サービスの利用状況を表す情報を作成し、問い合わせ結果としてスキャンサービス２７に通知する。サービスの利用状況を表す情報には、「要求受付ＮＧ」が含まれる。
【００７３】
プリントサービス２６Ａは印刷処理を実行可能と判定し、手順書数「０」及び実行待ちの手順書数「０」などの手順書状態を確認したあと、サービスの利用状況を表す情報を作成し、問い合わせ結果としてスキャンサービス２７に通知する。サービスの利用状況を表す情報には、「要求受付ＯＫ」、「手順書数０」，「実行待ち０」が含まれる。
【００７４】
プリントサービス２６Ｂは印刷処理を実行可能と判定し、手順書数「３」及び実行待ちの手順書数「２」などの手順書状態を確認したあと、サービスの利用状況を表す情報を作成し、問い合わせ結果としてスキャンサービス２７に通知する。サービスの利用状況を表す情報には、「要求受付ＯＫ」、「手順書数３」，「実行待ち２」が含まれる。
【００７５】
各サービスは、同一機器内の他サービス、及びネットワーク３０を介して接続されている他の機器内の他サービスから、サービスの利用状況を表す情報を取得することができるので、各サービスの要求受付ＯＫ／ＮＧ，手順書数及び実行待ちの手順書数を考慮して他サービスに処理の実行を依頼できる。
【００７６】
図１２は、クライアントに表示される画面の一例のイメージ図である。例えばクライアント１０を操作するユーザは図１２のような画面を表示させ、利用するサービスの要求をを行う。図１２の画面では、文書をスキャンしたあと、ＦＡＸで送信し、文書データをＰＤＦに変換してＨＤＤに保存する例を表している。このように、複数のサービスを利用する場合であっても、クライアント１０側で複雑な処理は必要ない。図１２の例では、スキャンサービス，ファックスサービス，画面編集サービス（ＰＤＦ変換），ストレージサービスの連携が行われ、クライアント１０からの要求が実行される。
【実施例１】
【００７７】
ここでは、同一機器内に複数のサービスがあり、そのサービス同士の連携により一つのＳｃａｎＴｏＦａｘ要求を実現する例を説明する。ＳｃａｎＴｏＦａｘ要求は、文書をスキャンし、文書データをＦＡＸで送信するものである。
【００７８】
図１３は、ＳｃａｎＴｏＦａｘ要求を実現するサービス連携システムの一例の構成図である。例えばユーザは、図１２のような画面からＳｃａｎＴｏＦａｘ要求を行う。クライアント１０は、ネットワーク３０を介してＭＦＰ２０のスキャンサービス２７にＳｃａｎＴｏＦａｘ要求を行う。フレームワーク２１を搭載したスキャンサービス２７は、クライアント１０からのＳｃａｎＴｏＦａｘ要求を受付ける
スキャンサービス２７は、文書のスキャンを実行するための手順を構築し、スキャンを実行する。その後、スキャンサービス２７はクライアント１０からの要求（ＳｃａｎＴｏＦａｘ要求）と実行結果（文書のスキャン）とを比較し、残りのＦＡＸ処理を実行できる他サービスを探す。ここでは、ＦＡＸ処理を実行できる他サービスとして同一機器内のファックスサービス２８を探し出す。スキャンサービス２７は、ファックスサービス２８に対してスキャンした文書データのＦＡＸ処理を依頼する。
【００７９】
依頼を受けたファックスサービス２８は文書データのＦＡＸを実行するための手順を構築し、ＦＡＸ送信を実行したあと、実行結果をスキャンサービス２７に通知する。実行結果を受け取ったスキャンサービス２７は、クライアント１０の要求（ＳｃａｎＴｏＦａｘ要求）が全て満たされたことを確認し、クライアント１０に実行結果を通知する。
【００８０】
図１３のＳｃａｎＴｏＦａｘ要求を実現する場合、スキャンサービス２７に搭載されているフレームワーク２１内で生成されるインスタンス（オブジェクト図）は図１４に示すようになる。図１４は、スキャンサービスに搭載されているフレームワークで生成されるインスタンスの一例である。図１４には、自サービス（スキャンサービス２７）利用及び他サービス（ファックスサービス２８）利用の実行ステップクラス４７及び機能実行者クラス５０のインスタンスが含まれる。
【００８１】
また、図１３のＳｃａｎＴｏＦａｘ要求を実現する場合、ファックスサービス２８に搭載されているフレームワーク２１内で生成されるインスタンス（オブジェクト図）は図１５に示すようになる。図１５は、ファックスサービスに搭載されているフレームワークで生成されるインスタンスの一例である。図１５には、自サービス（ファックスサービス２８）利用の実行ステップクラス４７及び機能実行者クラス５０のインスタンスが含まれている。
【００８２】
実施例１のサービス連携システムでは、同一機器内のサービス同士の連携により一つの要求を実現することができる。
【実施例２】
【００８３】
ここでは、ネットワーク３０を介して接続された複数の機器内のサービスが連携し、一つのＳｃａｎＴｏＰｒｉｎｔ要求を実現する例を説明する。ＳｃａｎＴｏＰｒｉｎｔ要求は、文書をスキャンし、文書データを印刷するものである。
【００８４】
図１６は、ＳｃａｎＴｏＰｒｉｎｔ要求を実現するサービス連携システムの一例の構成図である。例えばユーザは、図１２の画面からＳｃａｎＴｏＰｒｉｎｔ要求を行う。クライアント１０は、ネットワーク３０を介してＭＦＰ２０Ａのスキャンサービス２７にＳｃａｎＴｏＰｒｉｎｔ要求を行う。
【００８５】
フレームワーク２１を搭載したスキャンサービス２７は、クライアント１０からのＳｃａｎＴｏＰｒｉｎｔ要求を受付ける。スキャンサービス２７は、文書のスキャンを実行するための手順を構築し、スキャンを実行する。その後、スキャンサービス２７はクライアント１０からの要求（ＳｃａｎＴｏＰｒｉｎｔ要求）と実行結果（文書のスキャン）とを比較し、残りの印刷処理を実行できる他サービスを探す。ここでは、印刷処理を実行できる他サービスとして他のＭＦＰ２０Ｂのプリントサービス２６を探し出す。
【００８６】
ＭＦＰ２０Ａのスキャンサービス２７は、ＭＦＰ２０Ｂのプリントサービス２６に対してスキャンした文書データの印刷処理を依頼する。印刷処理の依頼には、ＭＦＰ２０Ａ，２０Ｂのネットファイルプロトコルを用いても良いし、Ｗｅｂサービス（ＳＯＡＰ）の形式を用いても構わない。
【００８７】
依頼を受けたＭＦＰ２０Ｂのプリントサービス２６は文書データの印刷を実行するための手順を構築し、印刷を実行したあと、実行結果をＭＦＰ２０Ａのスキャンサービス２７に通知する。実行結果を受け取ったスキャンサービス２７は、クライアント１０の要求（ＳｃａｎＴｏＰｒｉｎｔ要求）が全て満たされたことを確認したあと、クライアント１０に実行結果を通知する。
【００８８】
図１６のＳｃａｎＴｏＰｒｉｎｔ要求を実現する場合、スキャンサービス２７に搭載されているフレームワーク２１内で生成されるインスタンス（オブジェクト図）は図１７に示すようになる。図１７は、スキャンサービスに搭載されているフレームワークで生成されるインスタンスの一例である。図１７には、自サービス（スキャンサービス２７）利用及び他サービス（プリントサービス２６）利用の実行ステップクラス４７及び機能実行者クラス５０のインスタンスが含まれる。
【００８９】
また、図１６のＳｃａｎＴｏＰｒｉｎｔ要求を実現する場合、プリントサービス２６に搭載されているフレームワーク２１内で生成されるインスタンス（オブジェクト図）は図１８に示すようになる。
【００９０】
図１８は、プリントサービスに搭載されているフレームワークで生成されるインスタンスの一例である。図１８には、自サービス（プリントサービス２６）利用の実行ステップクラス４７及び機能実行者クラス５０のインスタンスが含まれている。
【００９１】
実施例２のサービス連携システムでは、ネットワーク３０を介して接続された複数の機器内のサービスが連携し、一つの要求を実現することができる。
【実施例３】
【００９２】
ここでは、ネットワーク３０を介して接続された複数の機器内のサービスが連携し、エラー発生時の代替処理を実現する例を説明する。図１９は、エラー発生時のサービス連携システムの動作を表す説明図である。例えばユーザは、図１２のような画面から５文書の印刷要求を行う。クライアント１０は、ネットワーク３０を介してＭＦＰ２０Ａのプリントサービス２６に印刷要求を行う。
【００９３】
フレームワーク２１を搭載したプリントサービス２６は、クライアント１０からの５文書の印刷要求を受付ける。プリントサービス２６は、５文書の印刷を実行するための手順を構築し、印刷を実行する。ここで、３文書の印刷は正常に終了し、４文書目の印刷中にジャム等のエラーが発生したとする。
【００９４】
このとき、プリントサービス２６に搭載されているフレームワーク２１内で生成されているインスタンス（オブジェクト図）は図２０に示すようになる。図２０は、４文書目の印刷中にエラーが発生したとき、プリントサービスに搭載されているフレームワークで生成されるインスタンスの一例である。図２０には、５文書に対応する５つの実行ステップクラス４７のインスタンスが含まれており、４文書目及び５文書目に対応する実行ステップクラス４７のインスタンスに実行不可の情報が対応付けられている。
【００９５】
その後、プリントサービス２６はクライアント１０からの要求（５文書の印刷要求）と実行結果（３文書の印刷完了）とを比較し、残りの印刷処理（４，５文書目の印刷）を実行できる他サービスを探す。ここでは、印刷処理を実行できる他サービスとして他のＭＦＰ２０Ｂのプリントサービス２６を探し出す。
【００９６】
ＭＦＰ２０Ａのプリントサービス２６は、ＭＦＰ２０Ｂのプリントサービス２６に対して残りの印刷処理（４，５文書目の印刷）を依頼する。図２１は、エラー発生時に代替処理を依頼する動作を表す説明図である。
【００９７】
このとき、ＭＦＰ２０Ａのプリントサービス２６に搭載されているフレームワーク２１内で生成されているインスタンス（オブジェクト図）は図２２に示すようになる。図２２は、他サービスに代替処理を依頼したあと、プリントサービスに搭載されているフレームワークで生成されるインスタンスの一例である。図２２には、４文書目及び５文書目に対応する他サービスの実行ステップクラス４７のインスタンスが含まれている。代替処理の依頼には、ＭＦＰのネットファイルプロトコルを用いても良いし、Ｗｅｂサービス（ＳＯＡＰ）の形式を用いても構わない。
【００９８】
依頼を受けたＭＦＰ２０Ｂのプリントサービス２６は、４文書目および５文書目の文書データの印刷を実行するための手順を構築し、印刷を実行したあと、実行結果をＭＦＰ２０Ａのプリントサービス２６に通知する。このとき、ＭＦＰ２０Ｂのプリントサービス２６に搭載されているフレームワーク２１内で生成されているインスタンス（オブジェクト図）は図２３に示すようになる。図２３は、代替処理を依頼された、プリントサービスに搭載されているフレームワークで生成されるインスタンスの一例である。図２３には、４文書目及び５文書目に対応する自サービスの実行ステップクラス４７のインスタンスが含まれている。
【００９９】
実行結果を受け取ったＭＦＰ２０Ａのプリントサービス２６は、クライアント１０の要求（５文書の印刷要求）が全て満たされたことを確認したあと、クライアント１０に実行結果を通知する。図２４は、代替処理により５文書の印刷要求を全て満たす動作を表す説明図である。
【０１００】
実施例３のサービス連携システムでは、ネットワーク３０を介して接続された複数の機器内のサービスが連携し、エラー発生時の代替処理を実現することができる。
【実施例４】
【０１０１】
ここでは、ネットワーク３０を介して接続された複数の機器内のサービスに、受付け可否問い合わせを行う例を説明する。図２５は、受付け可否問い合わせを行うサービス連携システムの動作を表す説明図である。例えばＭＦＰ２０Ａのファックスサービス２８はクライアント１０Ａ，１０Ｂ，１０ＣからＦＡＸ要求を順番に受付けたとする。
【０１０２】
このとき、ファックスサービス２８に搭載されているフレームワーク２１内で生成されているインスタンス（オブジェクト図）は図２６のようになる。図２６は、複数のクライアントからＦＡＸ要求を受付けたときに、ファックスサービスに搭載されているフレームワークで生成されるインスタンスの一例である。
【０１０３】
なお、図２６は、手順決定仕様クラス４５，実行結果評価クラス４６，手順作成クラス４８，受付け可否問い合わせクラス４９のインスタンスを省略している。図２６では、クライアント１０Ａ，１０Ｂ，１０ＣからのＦＡＸ要求に対応する要求クラス４２，手順書クラス４４，実行ステップクラス４７のインスタンスが生成されている。生成される順番は、ＦＡＸ要求を受付けた順番，クライアント１０Ａ，１０Ｂ，１０Ｃとなる。これらインスタンスの生成は、クライアント１０Ａ，１０Ｂ，１０ＣからのＦＡＸ要求が受付けられていることを示すものである。
【０１０４】
また、図２７に示すように、手順書クラス４４のインスタンスは、常駐インスタンスである手順書管理者クラス４３のインスタンスにより管理されている。図２７は、手順書クラスのインスタンスが手順書管理者クラス４３のインスタンスにより管理されていることを表す説明図である。
【０１０５】
ここで、ＭＦＰ２０Ｂのスキャンサービス２７からＭＦＰ２０Ａのファックスサービス２８に受付け可否問い合わせがあったとする。図２８は、他サービスから受付け可否問い合わせを受付ける動作を表す説明図である。
【０１０６】
このとき、受付け可否問い合わせを受付けたＭＦＰ２０Ａのファックスサービス２８は受付クラス４１のインスタンスを通じて、手順書管理者クラス４３のインスタンスに各手順書の手順書状態を確認する。各手順書クラス４４のインスタンスは、今の手順書状態を確認し、その結果を手順書管理者クラス４３のインスタンスに通知する。
【０１０７】
手順書管理者クラス４３のインスタンスは、各手順書クラス４４のインスタンスから受付けた通知をまとめ、現在のサービスの利用状況（受付中の手順書数、実行待ちの手順書数等）として、受付クラス４１のインスタンスを通じて問い合わせ元のＭＦＰ２０Ｂのスキャンサービス２７に通知する。
【０１０８】
このとき、ファックスサービス２８に搭載されているフレームワーク２１内で生成されているインスタンス（オブジェクト図）は図２９に示すようになる。図２９は、他サービスから受付け可否問い合わせを受付け、実行結果を通知したとき、ファックスサービスに搭載されているフレームワークで生成されるインスタンスの一例である。
【０１０９】
実施例４のサービス連携システムでは、ネットワーク３０を介して接続された複数の機器内のサービスに、受付け可否問い合わせを行うことができる。
【０１１０】
以上、実施例１〜４で説明した各サービスは、受付けた要求を実現する為の手順を動的に作成しながら、他サービスからの受付け可否問い合わせに対して動的に手順書状態を通知することで、連携する側および連携される側として動作可能である。
【０１１１】
本発明は、具体的に開示された実施例に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
【図面の簡単な説明】
【０１１２】
【図１】サービス連携システムの一例の構成図である。
【図２】フレームワークの搭載形態を表す一例の構成図である。
【図３】本発明によるサービス連携システムの一実施例の構成図である。
【図４】フレームワークを搭載したサービスの基本動作を表したアクティビティ図である。
【図５】フレームワークを搭載したサービス同士が連携するときの動作を表したアクティビティ図である。
【図６】フレームワークの構造を表すクラス図である。
【図７】フレームワークの起動時の動作を表すシーケンス図である。
【図８】フレームワークの要求実行時の動作を表すシーケンス図（１／２）である。
【図９】フレームワークの要求実行時の動作を表すシーケンス図（２／２）である。
【図１０】他サービスに残りの処理を実行可能か問い合わせる動作を表すシーケンス図である。
【図１１】サービス利用状況の情報を表した説明図である。
【図１２】クライアントに表示される画面の一例のイメージ図である。
【図１３】ＳｃａｎＴｏＦａｘ要求を実現するサービス連携システムの一例の構成図である。
【図１４】スキャンサービスに搭載されているフレームワークで生成されるインスタンスの一例である。
【図１５】ファックスサービスに搭載されているフレームワークで生成されるインスタンスの一例である。
【図１６】ＳｃａｎＴｏＰｒｉｎｔ要求を実現するサービス連携システムの一例の構成図である。
【図１７】スキャンサービスに搭載されているフレームワークで生成されるインスタンスの一例である。
【図１８】プリントサービスに搭載されているフレームワークで生成されるインスタンスの一例である。
【図１９】エラー発生時のサービス連携システムの動作を表す説明図である。
【図２０】４文書目の印刷中にエラーが発生したとき、プリントサービスに搭載されているフレームワークで生成されるインスタンスの一例である。
【図２１】エラー発生時に代替処理を依頼する動作を表す説明図である。
【図２２】他サービスに代替処理を依頼したあと、プリントサービスに搭載されているフレームワークで生成されるインスタンスの一例である。
【図２３】代替処理を依頼された、プリントサービスに搭載されているフレームワークで生成されるインスタンスの一例である。
【図２４】代替処理により５文書の印刷要求を全て満たす動作を表す説明図である。
【図２５】受付け可否問い合わせを行うサービス連携システムの動作を表す説明図である。
【図２６】複数のクライアントからＦＡＸ要求を受付けたときに、ファックスサービスに搭載されているフレームワークで生成されるインスタンスの一例である。
【図２７】手順書クラスのインスタンスが手順書管理者クラスのインスタンスにより管理されていることを表す説明図である。
【図２８】他サービスから受付け可否問い合わせを受付ける動作を表す説明図である。
【図２９】他サービスから受付け可否問い合わせを受付け、実行結果を通知したとき、ファックスサービスに搭載されているフレームワークで生成されるインスタンスの一例である。
【符号の説明】
【０１１３】
１０，１０Ａ〜１０Ｃ    クライアント
２０，２０Ａ，２０Ｂ    ＭＦＰ
２１    フレームワーク
２２〜２５    変動部
２６    プリントサービス
２７    スキャンサービス
２８    ファックスサービス
２９    ストレージサービス
３０    ネットワーク
４１    受付クラス
４２    要求クラス
４３    手順書管理者クラス
４４    手順書クラス
４５    手順決定仕様クラス
４６    実行結果評価クラス
４７    実行ステップクラス
４８    手順作成クラス
４９    受付け可否問い合わせクラス
５０    機能実行者クラス
６０    起動プロセス
【図１】
2006140946.tif 000003
【図２】
2006140946.tif 000004
【図３】
2006140946.tif 000005
【図４】
2006140946.tif 000006
【図５】
2006140946.tif 000007
【図６】
2006140946.tif 000008
【図７】
2006140946.tif 000009
【図８】
2006140946.tif 000010
【図９】
2006140946.tif 000011
【図１０】
2006140946.tif 000012
【図１１】
2006140946.tif 000013
【図１２】
2006140946.tif 000014
【図１３】
2006140946.tif 000015
【図１４】
2006140946.tif 000016
【図１５】
2006140946.tif 000017
【図１６】
2006140946.tif 000018
【図１７】
2006140946.tif 000019
【図１８】
2006140946.tif 000020
【図１９】
2006140946.tif 000021
【図２０】
2006140946.tif 000022
【図２１】
2006140946.tif 000023
【図２２】
2006140946.tif 000024
【図２３】
2006140946.tif 000025
【図２４】
2006140946.tif 000026
【図２５】
2006140946.tif 000027
【図２６】
2006140946.tif 000028
【図２７】
2006140946.tif 000029
【図２８】
2006140946.tif 000030
【図２９】
2006140946.tif 000031