(57)【要約】      （修正有）【課題】  非同期オペレーションを提供可能にする。【解決手段】  プロキシ装置であって、サービス利用手段からのリクエストを受信するリクエスト受信手段４１と、サービス利用手段１０からの、サービスに係る非同期オペレーションの利用リクエストに応じて生成され、非同期に係る処理を実行する非同期実行手段４３と、サービス利用手段１０からのリクエストに応じて、サービス利用手段１０にレスポンスを送信する一方、非同期オペレーションの利用リクエストに応じて、サービス提供手段３０が実行した同期オペレーションの処理結果を一時的に保持し、非同期オペレーションの処理結果として、サービス利用手段１０に送信するレスポンス保持・送信手段４２とを有する。【選択図】  図９
2006085365.tif 000002
【特許請求の範囲】
【請求項１】
サービスに係る同期オペレーションをサポートし、サービスに係る非同期オペレーションをサポートしていないサービス提供手段が提供するサービスを利用するサービス利用手段に対して、前記サービスに係る非同期オペレーションを提供可能とするプロキシ装置であって、
前記サービス利用手段からのリクエストを受信するリクエスト受信手段と、
前記サービス利用手段からの、前記サービスに係る非同期オペレーションの利用リクエストに応じて生成され、非同期に係る処理を実行する非同期実行手段と、
前記サービス利用手段からのリクエストに応じて、前記サービス利用手段にレスポンスを送信する一方、前記非同期オペレーションの利用リクエストに応じて、前記サービス提供手段が実行した同期オペレーションの処理結果を一時的に保持し、非同期オペレーションの処理結果として、前記サービス利用手段に送信するレスポンス保持・送信手段と、
を有することを特徴とするプロキシ装置。
【請求項２】
サービスに係る同期オペレーションをサポートし、サービスに係る非同期オペレーションをサポートしていないサービス提供手段が提供するサービスを利用するサービス利用手段に対して、前記サービスに係る非同期オペレーションを提供可能とするプロキシ装置であって、
前記サービス利用手段からのリクエストを受信するリクエスト受信手段と、
前記サービス利用手段からの、前記サービスに係る非同期オペレーションの利用リクエストに応じて生成され、非同期に係る処理を実行する非同期実行手段と、
前記サービス利用手段からのリクエストに応じて、前記サービス利用手段にレスポンスを送信する一方、前記非同期オペレーションの利用リクエストに応じて、前記サービス提供手段が実行した同期オペレーションの処理結果を、非同期オペレーションの処理結果として、前記サービス利用手段に送信するレスポンス送信手段と、
を有することを特徴とするプロキシ装置。
【請求項３】
前記非同期実行手段は、前記サービス提供手段と同期メッセージの送受信を行う同期メッセージ送受信手段を含むことを特徴とする請求項１又は２記載のプロキシ装置。
【請求項４】
サービスに係る同期オペレーションをサポートし、サービスに係る非同期オペレーションをサポートしていないサービス提供手段が提供するサービスを利用するサービス利用手段を有するサービス利用装置であって、
前記サービス利用手段は、前記サービス提供手段側より、ＷＳＤＬに拡張要素で記述された請求項１乃至３何れか一項記載のプロキシ装置に係るアドレスを取得し、該アドレスに基づいて、前記プロキシ装置と通信を行うことを特徴とするサービス利用装置。
【請求項５】
サービスに係る同期オペレーションをサポートし、サービスに係る非同期オペレーションをサポートしていないサービス提供手段が提供するサービスを利用するサービス利用手段を有するサービス利用装置であって、
前記サービス利用手段は、前記サービス提供手段側より、ＷＳ−Ｐｏｌｉｃｙに記述された請求項１乃至３何れか一項記載のプロキシ装置に係るアドレスを取得し、該アドレスに基づいて、前記プロキシ装置と通信を行うことを特徴とするサービス利用装置。
【請求項６】
サービスに係る同期オペレーションをサポートし、サービスに係る非同期オペレーションをサポートしていないサービス提供手段が提供するサービスを利用するサービス利用手段を有するサービス利用装置であって、
前記サービス提供手段が提供するサービス又は前記サービス提供手段が提供するサービスに係るオペレーションと、請求項１乃至３何れか一項記載のプロキシ装置に係るアドレスと、を対応付けて、管理、保持するプロキシ装置管理部を更に有し、
前記サービス利用手段は、前記プロキシ装置管理部より、前記サービス提供手段が提供するサービス又は前記サービス提供手段が提供するサービスに係るオペレーションに応じて、前記プロキシ装置に係るアドレスを取得し、該アドレスに基づいて、前記プロキシ装置と通信を行うことを特徴とするサービス利用装置。
【請求項７】
前記サービス利用手段は、前記同期オペレーションを利用する場合、及び前記非同期オペレーションを利用する場合、共に前記プロキシ装置を介して前記サービス提供手段と通信を行うことを特徴とする請求項４乃至６何れか一項記載のサービス利用装置。
【請求項８】
前記サービス利用手段は、前記同期オペレーションを利用する場合は、前記サービス提供手段と直接通信を行い、前記非同期オペレーションを利用する場合は、前記プロキシ装置を介して前記サービス提供手段と通信を行うことを特徴とする請求項４乃至６何れか一項記載のサービス利用装置。
【請求項９】
コンピュータを、
サービスに係る同期オペレーションをサポートし、サービスに係る非同期オペレーションをサポートしていないサービス提供手段が提供するサービスを利用するサービス利用手段からのリクエストを受信するリクエスト受信手段と、
前記サービス利用手段からの、前記サービスに係る非同期オペレーションの利用リクエストに応じて生成され、非同期に係る処理を実行する非同期実行手段と、
前記サービス利用手段からのリクエストに応じて、前記サービス利用手段にレスポンスを送信する一方、前記非同期オペレーションの利用リクエストに応じて、前記サービス提供手段が実行した同期オペレーションの処理結果を一時的に保持し、非同期オペレーションの処理結果として、前記サービス利用手段に送信するレスポンス保持・送信手段と、
して動作させ、前記サービス利用手段に前記サービスに係る非同期オペレーションを提供可能とすることを特徴とするプロキシプログラム。
【請求項１０】
コンピュータを、
サービスに係る同期オペレーションをサポートし、サービスに係る非同期オペレーションをサポートしていないサービス提供手段が提供するサービスを利用するサービス利用手段からのリクエストを受信するリクエスト受信手段と、
前記サービス利用手段からの、前記サービスに係る非同期オペレーションの利用リクエストに応じて生成され、非同期に係る処理を実行する非同期実行手段と、
前記サービス利用手段からのリクエストに応じて、前記サービス利用手段にレスポンスを送信する一方、前記非同期オペレーションの利用リクエストに応じて、前記サービス提供手段が実行した同期オペレーションの処理結果を、非同期オペレーションの処理結果として、前記サービス利用手段に送信するレスポンス送信手段と、
して動作させ、前記サービス利用手段に前記サービスに係る非同期オペレーションを提供可能とすることを特徴とするプロキシプログラム。
【請求項１１】
前記非同期実行手段は、前記サービス提供手段と同期メッセージの送受信を行う同期メッセージ送受信手段を含むことを特徴とする請求項９又は１０記載のプロキシプログラム。
【請求項１２】
コンピュータを、
サービスに係る同期オペレーションをサポートし、サービスに係る非同期オペレーションをサポートしていないサービス提供手段が提供するサービスを利用するサービス利用手段として動作させるサービス利用プログラムであって、
前記サービス利用手段は、前記サービス提供手段側より、ＷＳＤＬに拡張要素で記述された請求項９乃至１１何れか一項記載のプロキシプログラムに係るアドレスを取得し、該アドレスに基づいて、前記プロキシプログラムと通信を行うことを特徴とするサービス利用プログラム。
【請求項１３】
コンピュータを、
サービスに係る同期オペレーションをサポートし、サービスに係る非同期オペレーションをサポートしていないサービス提供手段が提供するサービスを利用するサービス利用手段として動作させるサービス利用プログラムであって、
前記サービス利用手段は、前記サービス提供手段側より、ＷＳ−Ｐｏｌｉｃｙに記述された請求項９乃至１１何れか一項記載のプロキシプログラムに係るアドレスを取得し、該アドレスに基づいて、前記プロキシプログラムと通信を行うことを特徴とするサービス利用プログラム。
【請求項１４】
コンピュータを、
サービスに係る同期オペレーションをサポートし、サービスに係る非同期オペレーションをサポートしていないサービス提供手段が提供するサービスを利用するサービス利用手段として動作させるサービス利用プログラムであって、
前記サービス利用手段は、前記サービス提供手段が提供するサービス又は前記サービス提供手段が提供するサービスに係るオペレーションと、請求項９乃至１１何れか一項記載のプロキシプログラムに係るアドレスと、を対応付けて、管理、保持するプロキシ装置管理部より、前記サービス提供手段が提供するサービス又は前記サービス提供手段が提供するサービスに係るオペレーションに応じて、前記アドレスを取得し、該アドレスに基づいて、前記プロキシプログラムと通信を行うことを特徴とするサービス利用プログラム。
【請求項１５】
前記サービス利用手段は、前記同期オペレーションを利用する場合、及び前記非同期オペレーションを利用する場合、共に前記プロキシプログラムを介して前記サービス提供手段と通信を行うことを特徴とする請求項１２乃至１４何れか一項記載のサービス利用プログラム。
【請求項１６】
前記サービス利用手段は、前記同期オペレーションを利用する場合は、前記サービス提供手段と直接通信を行い、前記非同期オペレーションを利用する場合は、前記プロキシプログラムを介して前記サービス提供手段と通信を行うことを特徴とする請求項１２乃至１４何れか一項記載のサービス利用プログラム。
【請求項１７】
請求項９乃至１１何れか一項記載のプロキシプログラムを記録したコンピュータ読取り可能な記録媒体。
【請求項１８】
請求項１２乃至１６何れか一項記載のサービス利用プログラムを記録したコンピュータ読取り可能な記録媒体。
【請求項１９】
サービスに係る同期オペレーションをサポートし、サービスに係る非同期オペレーションをサポートしていないサービス提供手段が提供するサービスを利用するサービス利用手段に対して、前記サービスに係る非同期オペレーションを提供する非同期オペレーション提供方法であって、
前記サービス利用手段からのリクエストを受信するリクエスト受信段階と、
前記サービス利用手段からの、前記サービスに係る非同期オペレーションの利用リクエストに応じて、非同期に係る処理を実行する非同期実行手段を生成する非同期実行手段生成段階と、
前記サービス利用手段からのリクエストに応じて、前記サービス利用手段にレスポンスを送信する一方、前記非同期オペレーションの利用リクエストに応じて、前記サービス提供手段が実行した同期オペレーションの処理結果を一時的に保持し、非同期オペレーションの処理結果として、前記サービス利用手段に送信するレスポンス保持・送信段階と、
を有することを特徴とする非同期オペレーション提供方法。
【請求項２０】
サービスに係る同期オペレーションをサポートし、サービスに係る非同期オペレーションをサポートしていないサービス提供手段が提供するサービスを利用するサービス利用手段に対して、前記サービスに係る非同期オペレーションを提供する非同期オペレーション提供方法であって、
前記サービス利用手段からのリクエストを受信するリクエスト受信段階と、
前記サービス利用手段からの、前記サービスに係る非同期オペレーションの利用リクエストに応じて、非同期に係る処理を実行する非同期実行手段を生成する非同期実行手段生成段階と、
前記サービス利用手段からのリクエストに応じて、前記サービス利用手段にレスポンスを送信する一方、前記非同期オペレーションの利用リクエストに応じて、前記サービス提供手段が実行した同期オペレーションの処理結果を、非同期オペレーションの処理結果として、前記サービス利用手段に送信するレスポンス送信段階と、
を有することを特徴とする非同期オペレーション提供方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プロキシ装置、サービス利用装置、プロキシプログラム、サービス利用プログラム、記録媒体及び非同期オペレーション提供方法に関する。
【背景技術】
【０００２】
従来、同期オペレーションしかサポートしていないサービスが存在した。以下、例えば同期オペレーションしかサポートしていない、サービスの一例を、図１に示す。図１は、同期オペレーションしかサポートしていないサービスの一例を示す図である。
【０００３】
図１に示されるように、ユーザが、パーソナルコンピュータ（以下、単にＰＣという）等に実装されているクライアントサービス（以下、単にクライアントという）を使用して、スキャンしたスキャンデータの取得をスキャンサービスに要求しても、例えば画像形成装置等に実装されているスキャンサービスが、同期オペレーションしかサポートしていない場合、大量の文書をスキャンしていると、全てのスキャンが終了するまで、スキャンデータの取得要求に対する応答は、クライアントに返ってこない問題があった。
【０００４】
したがって、例えばクライアントが、スキャンデータをＰＣのディスプレイに表示しようとしていても、全てのスキャンが終了するまでスキャンデータの取得要求に対する応答がスキャンサービスから返ってこないため、それまでディスプレイへの表示ができない問題があった。また、全てのスキャンが終わるまで、クライアントと、スキャンサービスと、は接続されたままとなるので、スキャン中、ネットワークの大域を占有してしまう問題があった。
【０００５】
一方、非同期オペレーションもサポートしているサービスでは、上述したような問題は解消される。以下、非同期オペレーションもサポートしているサービスの一例を、図２に示す。図２は、非同期オペレーションもサポートしているサービスの一例を示す図です。
【０００６】
図２に示されるように、ユーザが、ＰＣ等に実装されているクライアントを使用して、スキャンしたスキャンデータの取得をスキャンサービスに要求すると、例えば画像形成装置等に実装されているスキャンサービスが、非同期オペレーションもサポートしている場合、大量の文書をスキャンしていても、例えば先頭ページのスキャンデータだけ、とりあえず、スキャンデータの取得要求に対する応答として、クライアントに返すことができる。
【０００７】
したがって、例えばクライアントが、スキャンデータをＰＣのディスプレイに表示しようとした場合、とりあえず、先頭ページのスキャンデータだけでも、素早く表示することができる。また、クライアントは、残りのページのスキャンデータを、非同期でスキャンサービスより取得することができるので、スキャン中に、ネットワークの大域を占有してしまうこともない。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、例えば上述したような同期オペレーションしかサポートしていないサービスが実装された装置等を既に出荷し、該装置を含むシステム等が構築されている場合は、図１に示したように、装置は、クライアントに対して、非同期のオペレーションを提供することができない問題があった。
【０００９】
本発明は、上記の点に鑑みなされたもので、同期オペレーションをサポートし、非同期オペレーションをサポートしていないサービスでも、クライアントに対して、非同期オペレーションを提供可能にすることを目的とする。
【００１０】
なお、以下、一般的な同期オペレーションと、非同期オペレーションの例を、図３から図５に示す。図３は、一般的な同期オペレーションの例を示す図である。
【００１１】
図３に示されるようにクライアントは、例えば、文書の一覧を取得する同期オペレーションであるＧｅｔＤｏｃＬｉｓｔオペレーションを呼び出すＧｅｔＤｏｃＬｉｓｔリクエストを、同期オペレーションのみをサポートするサービス、例えば文書サービス、に送信する（シーケンスＳＱ１）。なお、以下では、サービスのことを単にサーバともいう。
【００１２】
サーバは、クライアントからＧｅｔＤｏｃＬｉｓｔリクエストを受信すると、文書の一覧の取得処理（ＧｅｔＤｏｃＬｉｓｔオペレーション）を実行し、文書の一覧を取得すると、ＧｅｔＤｏｃＬｉｓｔオペレーションの戻り値であるＧｅｔＤｏｃＬｉｓｔＲｅｓｐｏｎｓｅを、要求元のクライアントに送信する（シーケンスＳＱ２）。
【００１３】
なお、クライアントでは、リクエストを送信してからレスポンスを受信するまでの間、他の処理を実行することはできない。
【００１４】
以下、一般的な非同期オペレーションを、ポーリングの場合を例にとって図４に示す。図４は、一般的な非同期オペレーション（ポーリング）の例を示す図である。
【００１５】
図４に示されるようにクライアントは、例えば、文書の一覧を取得する非同期オペレーションであるＧｅｔＤｏｃＬｉｓｔオペレーションを呼び出すＧｅｔＤｏｃＬｉｓｔリクエストを、非同期オペレーションをサポートするサーバに送信する（シーケンスＳＱ１０）。
【００１６】
サーバは、クライアントからＧｅｔＤｏｃＬｉｓｔリクエストを受信すると、Ａｃｋｎｏｗｌｅｄｇｅｍｅｎｔ（以下、単にＡｃｋという）をクライアントに返し（シーケンスＳＱ１１）、文書の一覧の取得処理（ＧｅｔＤｏｃＬｉｓｔオペレーション）を実行する。
【００１７】
クライアントは、リクエストを送信すると、直ぐにサーバよりＡｃｋを受け取ることによって、他の処理を実行することができるようになる。
【００１８】
また、クライアントは、暫くすると、ＧｅｔＤｏｃＬｉｓｔオペレーションが終了したか否かを確かめるＩｓＣｏｍｐｌｅｔｅｄオペレーションを呼び出すＩｓＣｏｍｐｌｅｔｅｄリクエストを、サーバに送信する（シーケンスＳＱ１２）。
【００１９】
サーバは、クライアントより、ＩｓＣｏｍｐｌｅｔｅｄリクエストを受信した際、まだ、ＧｅｔＤｏｃＬｉｓｔオペレーションが終了していないと判断すると、オペレーションが終了していない旨を表すＮｏを含むレスポンスを、要求元のクライアントに送信する（シーケンスＳＱ１３）。
【００２０】
また、クライアントは、暫くすると、ＧｅｔＤｏｃＬｉｓｔオペレーションが終了したか否かを確かめるＩｓＣｏｍｐｌｅｔｅｄオペレーションを呼び出すＩｓＣｏｍｐｌｅｔｅｄリクエストを、サーバに送信する（シーケンスＳＱ１４）。
【００２１】
サーバは、クライアントより、ＩｓＣｏｍｐｌｅｔｅｄリクエストを受信した際、既に、ＧｅｔＤｏｃＬｉｓｔオペレーションが終了していると判断すると、オペレーションが終了した旨を表すＹｅｓを含むレスポンスを、要求元のクライアントに送信する（シーケンスＳＱ１５）。
【００２２】
クライアントは、サーバより、オペレーションが終了した旨を表すＹｅｓを含むレスポンスを受信すると、ＧｅｔＤｏｃＬｉｓｔオペレーションの結果を取得するＧｅｔＲｅｓｕｌｔオペレーションを呼び出すＧｅｔＲｅｓｕｌｔリクエストを、サーバに送信する（シーケンスＳＱ１６）。
【００２３】
サーバは、クライアントより、ＧｅｔＲｅｓｕｌｔリクエストを受信すると、結果取得処理（ＧｅｔＲｅｓｕｌｔオペレーション）を実行し、ＧｅｔＤｏｃＬｉｓｔオペレーションの結果を取得すると、ＧｅｔＲｅｓｕｌｔオペレーションの戻り値であるＧｅｔＤｏｃＬｉｓｔＲｅｓｐｏｎｓｅを、要求元のクライアントに送信する（シーケンスＳＱ１７）。
【００２４】
図４に示したように、サーバが、非同期オペレーションに対応していると、クライアントは、リクエストに対応するレスポンスを直ぐにサーバより取得し、文書取得処理の間に他の処理を実行することができる。
【００２５】
以下、一般的な非同期オペレーションを、コールドバックの場合を例にとって図５に示す。図５は、一般的な非同期オペレーション（コールドバック）の例を示す図である。
【００２６】
図５に示されるようにクライアントは、例えば、文書の一覧を取得する非同期オペレーションであるＧｅｔＤｏｃＬｉｓｔオペレーションを呼び出すＧｅｔＤｏｃＬｉｓｔリクエストを、非同期オペレーションもサポートするサーバに送信する（シーケンスＳＱ２０）。
【００２７】
サーバは、クライアントからＧｅｔＤｏｃＬｉｓｔリクエストを受信すると、Ａｃｋをクライアントに返し（シーケンスＳＱ２１）、文書の一覧の取得処理（ＧｅｔＤｏｃＬｉｓｔオペレーション）を実行する。
【００２８】
クライアントは、リクエストを送信すると、直ぐにサーバよりＡｃｋを受け取ることによって、他の処理を実行することができるようになる。
【００２９】
サーバは、文書の一覧の取得処理（ＧｅｔＤｏｃＬｉｓｔオペレーション）が終了すると、ＧｅｔＤｏｃＬｉｓｔオペレーションの戻り値であるＧｅｔＤｏｃＬｉｓｔＲｅｓｐｏｎｓｅを、要求元のクライアントに送信する（シーケンスＳＱ２２）。
【００３０】
クライアントは、サーバからＤｏｃＬｉｓｔＲｅｓｐｏｎｓｅを受信すると、Ａｃｋをサーバに返す（シーケンスＳＱ２３）。
【００３１】
図５に示したように、サーバが、非同期オペレーションに対応していると、クライアントは、リクエストに対応するレスポンスを直ぐにサーバより取得し、文書取得処理の間に他の処理を実行することができる。
【課題を解決するための手段】
【００３２】
そこで、上記課題を解決するため、本発明は、サービスに係る同期オペレーションをサポートし、サービスに係る非同期オペレーションをサポートしていないサービス提供手段が提供するサービスを利用するサービス利用手段に対して、前記サービスに係る非同期オペレーションを提供可能とするプロキシ装置であって、前記サービス利用手段からのリクエストを受信するリクエスト受信手段と、前記サービス利用手段からの、前記サービスに係る非同期オペレーションの利用リクエストに応じて生成され、非同期に係る処理を実行する非同期実行手段と、前記サービス利用手段からのリクエストに応じて、前記サービス利用手段にレスポンスを送信する一方、前記非同期オペレーションの利用リクエストに応じて、前記サービス提供手段が実行した同期オペレーションの処理結果を一時的に保持し、非同期オペレーションの処理結果として、前記サービス利用手段に送信するレスポンス保持・送信手段と、を有することを特徴とする。
【００３３】
本発明によれば、サービスに係る同期オペレーションをサポートし、サービスに係る非同期オペレーションをサポートしていないサービス提供手段が提供するサービスを利用するサービス利用手段に対して、前記サービスに係る非同期オペレーションを提供可能とするプロキシ装置であって、前記サービス利用手段からのリクエストを受信するリクエスト受信手段と、前記サービス利用手段からの、前記サービスに係る非同期オペレーションの利用リクエストに応じて生成され、非同期に係る処理を実行する非同期実行手段と、前記サービス利用手段からのリクエストに応じて、前記サービス利用手段にレスポンスを送信する一方、前記非同期オペレーションの利用リクエストに応じて、前記サービス提供手段が実行した同期オペレーションの処理結果を一時的に保持し、非同期オペレーションの処理結果として、前記サービス利用手段に送信するレスポンス保持・送信手段と、を有することにより、同期オペレーションをサポートし、非同期オペレーションをサポートしていないサービスでも、クライアントに対して、非同期オペレーションを提供可能にすることができる。
【００３４】
また、本発明は、サービスに係る同期オペレーションをサポートし、サービスに係る非同期オペレーションをサポートしていないサービス提供手段が提供するサービスを利用するサービス利用手段に対して、前記サービスに係る非同期オペレーションを提供可能とするプロキシ装置であって、前記サービス利用手段からのリクエストを受信するリクエスト受信手段と、前記サービス利用手段からの、前記サービスに係る非同期オペレーションの利用リクエストに応じて生成され、非同期に係る処理を実行する非同期実行手段と、前記サービス利用手段からのリクエストに応じて、前記サービス利用手段にレスポンスを送信する一方、前記非同期オペレーションの利用リクエストに応じて、前記サービス提供手段が実行した同期オペレーションの処理結果を、非同期オペレーションの処理結果として、前記サービス利用手段に送信するレスポンス送信手段と、を有することを特徴とする。
【００３５】
本発明によれば、サービスに係る同期オペレーションをサポートし、サービスに係る非同期オペレーションをサポートしていないサービス提供手段が提供するサービスを利用するサービス利用手段に対して、前記サービスに係る非同期オペレーションを提供可能とするプロキシ装置であって、前記サービス利用手段からのリクエストを受信するリクエスト受信手段と、前記サービス利用手段からの、前記サービスに係る非同期オペレーションの利用リクエストに応じて生成され、非同期に係る処理を実行する非同期実行手段と、前記サービス利用手段からのリクエストに応じて、前記サービス利用手段にレスポンスを送信する一方、前記非同期オペレーションの利用リクエストに応じて、前記サービス提供手段が実行した同期オペレーションの処理結果を、非同期オペレーションの処理結果として、前記サービス利用手段に送信するレスポンス送信手段と、を有することにより、同期オペレーションをサポートし、非同期オペレーションをサポートしていないサービスでも、クライアントに対して、非同期オペレーションを提供可能にすることができる。
【００３６】
また、上記課題を解決するための手段として、サービス利用装置、プロキシプログラム、サービス利用プログラム、記録媒体及び非同期オペレーション提供方法としてもよい。
【００３７】
なお、特許請求の範囲に記載のリクエスト受信手段は、例えば後述するリクエスト受信部４１又はリクエスト受信部５１に対応する。また、特許請求の範囲に記載の非同期実行手段は、例えば後述する非同期スレッド４３又は非同期スレッド５３に対応する。また、特許請求の範囲に記載のレスポンス保持・送信手段は、例えば後述するレスポンス保持・送信部４２に対応する。また、特許請求の範囲に記載のレスポンス送信手段は、例えば後述するレスポンス送信部５２に対応する。また、特許請求の範囲に記載のプロキシ管理部は、例えば後述するサービス・プロキシ対応表１０２又はオペレーション・プロキシ対応表１０４に対応する。
【発明の効果】
【００３８】
本発明によれば、同期オペレーションをサポートし、非同期オペレーションをサポートしていないサービスでも、クライアントに対して、非同期オペレーションを提供可能にすることができる。
【発明を実施するための最良の形態】
【００３９】
以下、本発明の実施の形態について図面に基づいて説明する。
【実施例１】
【００４０】
初めに、クライアント１０がインストールされたクライアント装置１の一例のハードウェア構成を、図６に示す。図６は、クライアント装置の一例のハードウェア構成図である。
【００４１】
図６に示されるように、クライアント装置１は、入力装置１１と、表示装置１２と、ドライブ装置１３と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１５と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１６と、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１７と、インターフェース装置１８と、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）１９と、を含む。
【００４２】
入力装置１１は、クライアント装置１の利用者が操作するキーボード及びマウス等で構成され、クライアント装置１に各種操作信号を入力するのに用いられる。表示装置１２は、クライアント装置１の利用者が利用するディスプレイ等で構成され、各種情報を表示する。インターフェース装置１８は、クライアント装置１をネットワーク等に接続するインターフェースである。
【００４３】
クライアント（クライアントサービス）１０に対応するプログラム（以下、クライアントプログラムという）等は、例えばＣＤ−ＲＯＭ等の記録媒体１４によってクライアント装置１に提供されるか、ネットワークを通じてダウンロードされる。記録媒体１４は、ドライブ装置１３にセットされ、クライアントプログラムが記録媒体１４からドライブ装置１３を介してＨＤＤ１９にインストールされる。
【００４４】
ＲＯＭ１５は、データ等を格納する。ＲＡＭ１６は、クライアント装置１の起動時にＨＤＤ１９からクライアントプログラム等を読み出して格納する。ＣＰＵ１７は、ＲＡＭ１６に読み出され格納されたクライアントプログラム等に従って処理を実行する。
【００４５】
ＨＤＤ１９は、クライアントプログラムや、データ等を格納する。
【００４６】
以下、プロキシサービス（以下、単にプロキシという）２０がインストールされたプロキシ装置２の一例のハードウェア構成を、図７に示す。図７は、プロキシ装置の一例のハードウェア構成図である。
【００４７】
図７に示されるように、プロキシ装置２は、ドライブ装置２３と、ＲＯＭ２５と、ＲＡＭ２６と、ＣＰＵ２７と、インターフェース装置２８と、ＨＤＤ２９と、を含む。
【００４８】
インターフェース装置２８は、プロキシ装置２をネットワーク等に接続するインターフェースである。
【００４９】
プロキシ（プロキシサービス）２０に対応するプログラム（以下、プロキシプログラムという）等は、例えばＣＤ−ＲＯＭ等の記録媒体２４によってプロキシ装置２に提供されるか、ネットワークを通じてダウンロードされる。記録媒体２４は、ドライブ装置２３にセットされ、プロキシプログラムが記録媒体２４からドライブ装置２３を介してＨＤＤ２９にインストールされる。
【００５０】
ＲＯＭ２５は、データ等を格納する。ＲＡＭ２６は、プロキシ装置２の起動時にＨＤＤ２９からプロキシプログラム等を読み出して格納する。ＣＰＵ２７は、ＲＡＭ２６に読み出され格納されたプロキシプログラム等に従って処理を実行する。
【００５１】
ＨＤＤ２９は、プロキシプログラムや、データ等を格納する。
【００５２】
以下、サーバ（サービス）３０がインストールされたサーバ装置３の一例のハードウェア構成を、図８に示す。図８は、サーバ装置の一例のハードウェア構成図である。なお、以下に示すサーバ３０は、同期オペレーションをサポートし、非同期オペレーションをサポートしていないものとする。
【００５３】
図８に示されるように、サーバ装置３は、ドライブ装置３３と、ＲＯＭ３５と、ＲＡＭ３６と、ＣＰＵ３７と、インターフェース装置３８と、ＨＤＤ３９と、を含む。
【００５４】
インターフェース装置３８は、サーバ装置３をネットワーク等に接続するインターフェースである。
【００５５】
サーバ３０に対応するプログラム（以下、サーバプログラムという）等は、例えばＣＤ−ＲＯＭ等の記録媒体３４によってサーバ装置３に提供されるか、ネットワークを通じてダウンロードされる。記録媒体３４は、ドライブ装置３３にセットされ、サーバプログラムが記録媒体３４からドライブ装置３３を介してＨＤＤ３９にインストールされる。
【００５６】
ＲＯＭ３５は、データ等を格納する。ＲＡＭ３６は、サーバ装置３の起動時にＨＤＤ３９からサーバプログラム等を読み出して格納する。ＣＰＵ３７は、ＲＡＭ３６に読み出され格納されたサーバプログラム等に従って処理を実行する。
【００５７】
ＨＤＤ３９は、サーバプログラムや、データ等を格納する。なお、サーバ装置３を、画像形成装置等とした場合、図８に示されるハードウェア構成に加え、オペレーションパネル等の表示・入力装置や、スキャンを実行する読み取り装置、プリントを実行する印刷装置等が含まれる。
（ポーリング）
以下、ポーリングの場合のプロキシ２０の機能構成の一例を、図９に示す。図９は、プロキシの機能構成図（その１）である。
【００５８】
図９に示されるように、プロキシ２０は、リクエスト受信部４１と、レスポンス保持・送信部４２と、非同期スレッド４３と、同期メッセージ送受信部４４と、を含む。
【００５９】
リクエスト受信部４１は、クライアント１０より、同期オペレーション又は非同期オペレーションに係るリクエストを受信する受信部である。また、リクエスト受信部４１は、クライアント１０より、非同期オペレーションの開始に係るリクエストを受信すると、非同期スレッド４３を生成する。
【００６０】
レスポンス保持・送信部４２は、クライアント１０からのリクエストに応じて、Ａｃｋ等を要求元のクライアントに送信する一方、サーバ３０が実行した非同期オペレーションの実行結果を一時的に保持し、クライアント１０からの要求に応じて、同期オペレーションの実行結果として要求元のクライアント１０に送信する。
【００６１】
非同期スレッド４３は、非同期オペレーションに係る処理を実行するスレッドであって、同期メッセージ送受信部４４を実行する。
【００６２】
同期メッセージ送受信部４４は、サーバ３０と、同期メッセージを送受信する送受信部４４である。
【００６３】
以下、プロキシ２０を介した非同期オペレーションの提供処理を、ポーリングの場合を例に図１０に示す。図１０は、プロキシを介した非同期オペレーション提供処理を、ポーリングの場合を例に示すシーケンス図である。
【００６４】
図１０に示されるようにクライアント１０は、例えば、文書の一覧を取得する非同期オペレーションであるＧｅｔＤｏｃＬｉｓｔＡｓｙｎｃオペレーションを呼び出すＧｅｔＤｏｃＬｉｓｔＡｓｙｎｃリクエストを、プロキシ２０に送信する（シーケンスＳＱ３０）。なお、以下、「Ａｓｙｎｃ」の文字列が含まれるリクエスト又はレスポンスは、特に言及しない限り、非同期メッセージを表す。
【００６５】
プロキシ２０は、クライアント１０からＧｅｔＤｏｃＬｉｓｔＡｓｙｎｃリクエストを受信すると、Ａｃｋをクライアント１０に返す（シーケンスＳＱ３１）一方、同期オペレーションであるＧｅｔＤｏｃＬｉｓｔオペレーションを呼び出すＧｅｔＤｏｃＬｉｓｔリクエストを、サーバ３０に送信する（シーケンスＳＱ３２）。
【００６６】
プロキシ２０は、クライアント１０より非同期オペレーションの利用要求を受け取り、後述するように、サーバ３０とは同期メッセージをやり取りしつつ、クライアント３０とは非同期メッセージをやりとりする。
【００６７】
クライアント１０は、リクエストを送信すると、直ぐにプロキシ２０よりＡｃｋを受け取ることによって、他の処理を実行することができるようになる。
【００６８】
サーバ３０は、プロキシ２０より、ＧｅｔＤｏｃＬｉｓｔリクエストを受信すると、文書の一覧の取得処理（ＧｅｔＤｏｃＬｉｓｔオペレーション）を実行する。
【００６９】
また、クライアント１０は、暫くすると、ＧｅｔＤｏｃＬｉｓｔオペレーションが終了したか否かを確かめるＩｓＣｏｍｐｌｅｔｅｄオペレーションを呼び出すＩｓＣｏｍｐｌｅｔｅｄリクエストを、プロキシ２０に送信する（シーケンスＳＱ３３）。
【００７０】
プロキシ２０は、クライアント１０より、ＩｓＣｏｍｐｌｅｔｅｄリクエストを受信した際、まだ、ＧｅｔＤｏｃＬｉｓｔオペレーションが終了していないと判断すると、ＧｅｔＤｏｃＬｉｓｔオペレーションが終了していない旨を表すＮｏを含むレスポンスを、要求元のクライアント１０に送信する（シーケンスＳＱ３４）。
【００７１】
プロキシ２０は、ＧｅｔＤｏｃＬｉｓｔオペレーションの戻り値である、文書の一覧を含むＧｅｔＤｏｃＬｉｓｔＲｅｓｐｏｎｓｅをサーバ３０より受信したか否かに基づいて、ＧｅｔＤｏｃＬｉｓｔオペレーションが終了しているか否かを判定する。
【００７２】
ここで、例えばプロキシ２０は、サーバ３０より、ＧｅｔＤｏｃＬｉｓｔＲｅｓｐｏｎｓｅを受信する。
【００７３】
一方、クライアント１０は、また、ＧｅｔＤｏｃＬｉｓｔオペレーションが終了したか否かを確かめるＩｓＣｏｍｐｌｅｔｅｄオペレーションを呼び出すＩｓＣｏｍｐｌｅｔｅｄリクエストを、プロキシ２０に送信する（シーケンスＳＱ３６）。
【００７４】
プロキシ２０は、ＧｅｔＤｏｃＬｉｓｔＲｅｓｐｏｎｓｅをサーバ３０より受信していた場合、ＧｅｔＤｏｃＬｉｓｔオペレーションが終了したと判断し、ＧｅｔＤｏｃＬｉｓｔオペレーションが終了した旨を表すＹｅｓを含むレスポンスを、要求元のクライアント１０に送信する（シーケンスＳＱ３７）。
【００７５】
クライアント１０は、プロキシ２０より、オペレーションが終了した旨を表すＹｅｓを含むレスポンスを受信すると、ＧｅｔＤｏｃＬｉｓｔオペレーションの結果を取得する、非同期オペレーションであるＧｅｔＲｅｓｕｌｔオペレーションを呼び出すＧｅｔＲｅｓｕｌｔリクエストを、プロキシ２０に送信する（シーケンスＳＱ３８）。
【００７６】
プロキシ２０は、クライアント１０より、ＧｅｔＲｅｓｕｌｔリクエストを受信すると、シーケンスＳＱ３５においてサーバ３０より受信し、保持していた文書の一覧を含む非同期のＧｅｔＤｏｃＬｉｓｔＡｓｙｎｃＲｅｓｐｏｎｓｅを、要求元のクライアント１０に送信する（シーケンスＳＱ３９）。
【００７７】
サーバ３０が、同期オペレーションをサポートし、非同期オペレーションをサポートしていなくても、プロキシ２０が、図９に示したような構成をとり、図１０に示したように、クライアント１０とプロキシ２０との間は非同期メッセージのやりとりを行い、プロキシ２０とサーバ３０とは同期メッセージのやり取りを行うことによって、プロキシ２０及び／又はサーバ３０は、クライアント１０に対して非同期オペレーションを提供することができる。
（コールバック）
以下、コールバックの場合のプロキシ２０の機能構成の一例を、図１１に示す。図１１は、プロキシの機能構成図（その２）である。
【００７８】
図１１に示されるように、プロキシ２０は、リクエスト受信部５１と、レスポンス送信部５２と、非同期スレッド５３と、同期メッセージ送受信部５４と、を含む。
【００７９】
リクエスト受信部５１は、クライアント１０より、同期オペレーション又は非同期オペレーションに係るリクエストを受信する受信部である。また、リクエスト受信部５１は、クライアント１０より、非同期オペレーションの開始に係るリクエストを受信すると、非同期スレッド５３を生成する。
【００８０】
レスポンス送信部５２は、クライアント１０からのリクエストに応じて、Ａｃｋ等を要求元のクライアントに送信する一方、サーバ３０が実行した非同期オペレーションの実行結果を、同期オペレーションの実行結果としてクライアント１０に送信する。
【００８１】
非同期スレッド５３は、非同期オペレーションに係る処理を実行するスレッドであって、同期メッセージ送受信部４４を実行する。
【００８２】
同期メッセージ送受信部４４は、サーバ３０と、同期メッセージを送受信する送受信部４４である。
【００８３】
以下、プロキシ２０を介した非同期オペレーションの提供処理を、コールバックの場合を例に図１２に示す。図１２は、プロキシを介した非同期オペレーション提供処理を、コールバックの場合を例に示すシーケンス図である。
【００８４】
図１２に示されるようにクライアント１０は、例えば、文書の一覧を取得する非同期オペレーションであるＧｅｔＤｏｃＬｉｓｔＡｓｙｎｃオペレーションを呼び出すＧｅｔＤｏｃＬｉｓｔＡｓｙｎｃリクエストを、プロキシ２０に送信する（シーケンスＳＱ４０）。プロキシ２０は、クライアント１０より非同期オペレーションの利用要求を受け取り、後述するように、サーバ３０とは同期メッセージをやり取りしつつ、クライアント３０とは非同期メッセージをやりとりする。
【００８５】
プロキシ２０は、クライアント１０からＧｅｔＤｏｃＬｉｓｔＡｓｙｎｃリクエストを受信すると、Ａｃｋをクライアント１０に返す（シーケンスＳＱ４１）一方、同期オペレーションであるＧｅｔＤｏｃＬｉｓｔオペレーションを呼び出すＧｅｔＤｏｃＬｉｓｔリクエストを、サーバ３０に送信する（シーケンスＳＱ４２）。
【００８６】
クライアント１０は、リクエストを送信すると、直ぐにサーバ３０よりＡｃｋを受け取ることによって、他の処理を実行することができるようになる。
【００８７】
サーバ３０は、プロキシ２０より、ＧｅｔＤｏｃＬｉｓｔリクエストを受信すると、文書の一覧の取得処理（ＧｅｔＤｏｃＬｉｓｔオペレーション）を実行する。サーバ３０は、ＧｅｔＤｏｃＬｉｓｔオペレーションが終了すると、ＧｅｔＤｏｃＬｉｓｔオペレーションの戻り値である、文書の一覧を含むＧｅｔＤｏｃＬｉｓｔＲｅｓｐｏｎｓｅを、要求元のプロキシ２０に送信する（シーケンスＳＱ４３）。
【００８８】
プロキシ２０は、サーバ３０より、ＧｅｔＤｏｃＬｉｓｔＲｅｓｐｏｎｓｅを受信すると、文書の一覧を含むＧｅｔＤｏｃＬｉｓｔＡｓｙｎｃＲｅｓｐｏｎｓｅを、要求元のクライアント１０に送信する（シーケンスＳＱ４４）。
【００８９】
クライアント１０は、プロキシ２０からＧｅｔＤｏｃＬｉｓｔＡｓｙｎｃＲｅｓｐｏｎｓｅを受信すると、Ａｃｋをサーバ３０に返す（シーケンスＳＱ４５）。
【００９０】
サーバ３０が、同期オペレーションをサポートし、非同期オペレーションをサポートしていなくても、プロキシ２０が、図１１に示したような構成をとり、図１２に示したように、クライアント１０とプロキシ２０との間は非同期メッセージのやりとりを行い、プロキシ２０とサーバ３０とは同期メッセージのやり取りを行うことによって、プロキシ２０及び／又はサーバ３０は、クライアント１０に対して非同期オペレーションを提供することができる。
【００９１】
以下、図１３から図３８を用いて、クライアント１０による、プロキシ２０の使い方及びプロキシ２０の指定方法等について説明する。
（ＷＳＤＬ（プロキシのアドレスだけ）−全オペレーションをプロキシ経由）
以下、非同期オペレーション提供システムの機能構成の一例を、図１３に示す。図１３は、非同期オペレーション提供システムの機能構成図（その１）である。
【００９２】
図１３に示されるように、サーバ３０は、プロキシ２０のアドレス（識別子）が記述されているサーバ（サービス）３０のＷＳＤＬ（Ｗｅｂ  Ｓｅｒｖｉｃｅｓ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）ファイル１００を有する。
【００９３】
なお、図１３において、プロキシ２０は、図１１に示したような構成としているが、図９に示したような構成であってもよい。後述する図１６、図１９、図２３、図３０、図３２、図３７等においても同様である。
【００９４】
クライアント１０は、サーバ３０が有するＷＳＤＬファイル１００に記述されているプロキシ２０のアドレスを取得し、該アドレスに基づいて、プロキシ２０とメッセージのやり取りを行い、全オペレーションを、プロキシ２０を経由して利用する。
【００９５】
以下、ＷＳＤＬファイル１００にプロキシ２０のアドレスが記述されている一例を、図１４に示す。図１４は、ＷＳＤＬファイルにプロキシのアドレスが記述されている例を示す図（その１）である。
【００９６】
図１４に示されるように、プロキシのアドレス１４０が、ＷＳＤＬファイル１００に記述されている。
（ＷＳＤＬ（サービスのアドレスも）−全オペレーションをプロキシ経由）
以下、クライアント１０が、サーバ３０に、プロキシ２０のアドレス（識別子）等を教えてもらってから、プロキシ２０を経由してオペレーションを利用する例の概念を、図１５に示す。図１５は、サーバに、プロキシのアドレスを教えてもらってから、プロキシを経由してオペレーションを利用する例の概念図である。
【００９７】
図１５に示されるように、クライアント１０は、例えば使いたいサーバ３０を検索する（図１５の（１））。
【００９８】
クライアント１０は、使いたいサーバ３０を発見する（図１５の（２））と、該発見の際に、サーバ３０から提供された情報の中に含まれるプロキシ２０のアドレスに基づいて、プロキシ２０を経由して、オペレーションを利用する（図１５の（３））。
【００９９】
以下、非同期オペレーション提供システムの機能構成の他の例を、図１６に示す。図１６は、非同期オペレーション提供システムの機能構成図（その２）である。
【０１００】
図１６に示されるように、サーバ３０は、後述する図１７に示されるような、サーバ３０のＷＳＤＬファイル１００を有する。
【０１０１】
以下、ＷＳＤＬファイル１００にプロキシ２０のアドレスが記述されている他の例を、図１７に示す。図１７は、ＷＳＤＬファイルにプロキシのアドレスが記述されている例を示す図（その２）である。
【０１０２】
図１７に示されるように、ＷＳＤＬファイル１００に、同期オペレーションのみをサポートするポート１７０と、同期オペレーション及び非同期オペレーションの両方をサポートするポート１７１と、が記述されている。
【０１０３】
また、図１７のＷＳＤＬファイル１００には、１７２に示されるように、同期オペレーションには、ｉｎｐｕｔ  ｍｅｓｓａｇｅと、ｏｕｔｐｕｔ  ｍｅｓｓａｇｅと、が存在し、１７３に示されるように、非同期オペレーションには、ｉｎｐｕｔ  ｍｅｓｓａｇｅのみが、また、１７４に示されるように、非同期オペレーションの戻りには、ｏｕｔｐｕｔ  ｍｅｓｓａｇｅのみが記述されている。
【０１０４】
また、図１７のＷＳＤＬファイル１００には、１７５に示されるように、１つのサービス（サーバ）に対して、二つのポートが用意され、非同期オペレーションもサポートするポートには、プロキシ２０のアドレスが記述されている。
【０１０５】
クライアント１０は、サーバ３０が有するＷＳＤＬファイル１００を取得し、同期オペレーション及び非同期オペレーションを利用する場合は、同期オペレーション及び非同期オペレーションをサポートするポートに記述されているプロキシ２０のアドレスを取得し、該アドレスに基づいて、プロキシ２０とメッセージのやり取りを行い、全オペレーションを、プロキシ２０を経由して利用する。
【０１０６】
以下、オペレーションを利用する処理を図１８に示す。図１８は、オペレーションを利用する処理を示すシーケンス図（その１）である。
【０１０７】
図１８に示されるように、クライアント１０は、サーバ３０に対して、ＷＳＤＬファイル１００の取得要求を、送信する（シーケンスＳＱ５０）。
【０１０８】
サーバ３０は、クライアント１０より、ＷＳＤＬファイル１００の取得要求を受信すると、図１７に示したようなＷＳＤＬファイル１００を、クライアント１０に送信する（シーケンスＳＱ５１）。
【０１０９】
クライアント１０は、サーバ３０より、図１７に示したようなＷＳＤＬファイル１００を取得すると、同期オペレーション及び非同期オペレーションを利用する場合、同期オペレーション及び非同期オペレーションをサポートするポートに記述されているプロキシ２０のアドレスを取得し、該アドレスに基づいて、プロキシ２０とメッセージのやり取りを行い、全オペレーションを、プロキシ２０を経由して利用する（シーケンスＳＱ５２）。
（ＷＳ−Ｐｏｌｉｃｙ−全オペレーションをプロキシ経由）
以下、非同期オペレーション提供システムの機能構成の他の例を、図１９に示す。図１９は、非同期オペレーション提供システムの機能構成図（その３）である。
【０１１０】
図１９に示されるように、サーバ３０は、後述する図２０に示されるような、サーバ３０のＷＳ−Ｐｏｌｉｃｙファイル１０１を有する。
【０１１１】
以下、ＷＳ−Ｐｏｌｉｃｙファイル１０１にプロキシ２０のアドレスが記述されている一例を、図２０に示す。図２０は、ＷＳ−Ｐｏｌｉｃｙファイルにプロキシのアドレスが記述されている例を示す図（その１）である。
【０１１２】
図２０に示されるように、２００には、同期オペレーションのみをサポートするサービスのアドレスが記述され、２０１には、同期オペレーション及び非同期オペレーションをサポートするサービス（プロキシ２０）のアドレスが記述されている。
【０１１３】
クライアント１０は、２００に記述されているアドレスか、２０１に記述されているアドレス、どちらか一方を使わなければならない。クライアント１０は、サーバ３０が有するＷＳ−Ｐｏｌｉｃｙファイル１０１を取得し、同期オペレーション及び非同期オペレーションを利用する場合は、２０１に記述されているアドレスを取得し、該アドレスに基づいて、プロキシ２０とメッセージのやり取りを行い、全オペレーションを、プロキシ２０を経由して利用する。
【０１１４】
以下、オペレーションを利用する処理を図２１に示す。図２１は、オペレーションを利用する処理を示すシーケンス図（その２）である。
【０１１５】
図２１に示されるように、クライアント１０は、サーバ３０に対して、ＷＳ−Ｐｏｌｉｃｙファイル１０１の取得要求を、送信する（シーケンスＳＱ６０）。
【０１１６】
サーバ３０は、クライアント１０より、ＷＳ−Ｐｏｌｉｃｙファイル１０１の取得要求を受信すると、図２０に示したようなＷＳ−Ｐｏｌｉｃｙファイル１０１を、クライアント１０に送信する（シーケンスＳＱ６１）。
【０１１７】
クライアント１０は、サーバ３０より、図２０に示したようなＷＳ−Ｐｏｌｉｃｙファイル１０１を取得すると、同期オペレーション及び非同期オペレーションを利用する場合、図２０の２０１に記述されているアドレスを選択、取得し、該アドレスに基づいて、プロキシ２０に対して、非同期オペレーションであるｇｅｔＤｏｃＬｉｓｔＡｓｙｎｃオペレーションを呼び出すｇｅｔＤｏｃＬｉｓｔＡｓｙｎｃリクエストを、送信する（シーケンスＳＱ６２）。
【０１１８】
プロキシ２０は、クライアント１０からｇｅｔＤｏｃＬｉｓｔＡｓｙｎｃリクエストを受信すると、Ａｃｋをクライアント１０に返す（シーケンスＳＱ６３）一方、同期オペレーションであるｇｅｔＤｏｃＬｉｓｔオペレーションを呼び出すｇｅｔＤｏｃＬｉｓｔリクエストを、サーバ３０に送信する（シーケンスＳＱ６４）。
【０１１９】
サーバ３０は、プロキシ２０より、ｇｅｔＤｏｃＬｉｓｔリクエストを受信すると、文書の一覧の取得処理（ｇｅｔＤｏｃＬｉｓｔオペレーション）を実行する。サーバ３０は、ｇｅｔＤｏｃＬｉｓｔオペレーションが終了すると、例えばｇｅｔＤｏｃＬｉｓｔオペレーションの戻り値である、文書の一覧を含むｇｅｔＤｏｃＬｉｓｔＲｅｓｐｏｎｓｅを、要求元のプロキシ２０に送信する（シーケンスＳＱ６５）。
【０１２０】
プロキシ２０は、サーバ３０より、ｇｅｔＤｏｃＬｉｓｔＲｅｓｐｏｎｓｅを受信すると、文書の一覧を含む例えばｇｅｔＤｏｃＬｉｓｔＡｓｙｎｃＲｅｓｐｏｎｓｅを、要求元のクライアント１０に送信する（シーケンスＳＱ６６）。
【０１２１】
また、クライアント１０は、プロキシ２０に対して、同期オペレーションであるｇｅｔＣａｐａｂｉｌｉｔｙオペレーションを呼び出すｇｅｔＣａｐａｂｉｌｉｔｙリクエストを、送信する（シーケンスＳＱ６７）。
【０１２２】
プロキシ２０は、クライアント１０より、同期オペレーションであるｇｅｔＣａｐａｂｉｌｉｔｙオペレーションを呼び出すｇｅｔＣａｐａｂｉｌｉｔｙリクエストを受信すると、該リクエストを、サーバ３０に送信する（シーケンスＳＱ６８）。
【０１２３】
サーバ３０は、プロキシ２０より、ｇｅｔＣａｐａｂｉｌｉｔｙリクエストを受信すると、サーバ３０の能力取得処理（ｇｅｔＣａｐａｂｉｌｉｔｙオペレーション）を実行する。サーバ３０は、ｇｅｔＣａｐａｂｉｌｉｔｙオペレーションが終了すると、ｇｅｔＣａｐａｂｉｌｉｔｙオペレーションの戻り値である、サーバ３０の能力情報を含むｇｅｔＣａｐａｂｉｌｉｔｙＲｅｓｐｏｎｓｅを、要求元のプロキシ２０に送信する（シーケンスＳＱ６９）。
【０１２４】
プロキシ２０は、サーバ３０より、ｇｅｔＣａｐａｂｉｌｉｔｙＲｅｓｐｏｎｓｅを受信すると、該ｇｅｔＣａｐａｂｉｌｉｔｙＲｅｓｐｏｎｓｅを、要求元のクライアント１０に送信する（シーケンスＳＱ７０）。
（サービス・プロキシ対応表−全オペレーションをプロキシ経由）
以下、クライアント１０が、サーバ３０を検索し、サーバ３０を発見してから、自身が有するサービス（サーバ）と、プロキシと、の対応表に基づいて、プロキシ２０を経由してオペレーションを利用する例の概念を、図２２に示す。
【０１２５】
図２２は、クライアントが、サーバを検索し、サーバを発見してから、自身が有するサービス（サーバ）と、プロキシと、の対応表に基づいて、プロキシを経由してオペレーションを利用する例の概念図である。
【０１２６】
図２２に示されるように、クライアント１０は、例えば使いたいサーバ３０を検索する（図２２の（１））。
【０１２７】
クライアント１０は、使いたいサーバ（サービス）３０を発見すると（図２２の（２））、後述する図２４に示されるようなサーバ（サービス）と、プロキシと、の対応表（サービス・プロキシ対応表１０２）に基づいて、図２２の（２）で発見したサーバ３０のアドレスを対応するプロキシ（例えばプロキシ２０）に渡して、非同期オペレーション及び同期オペレーションを利用する（図２２の（３））。
【０１２８】
以下、非同期オペレーション提供システムの機能構成の他の例を、図２３に示す。図２３は、非同期オペレーション提供システムの機能構成図（その４）である。
【０１２９】
図２３に示されるように、クライアント１０は、サーバ（サービス）と、プロキシと、を対応付ける、後述する図２４に示されるようなサービス・プロキシ対応表１０２を有する。
【０１３０】
以下、サービス・プロキシ対応表１０２の一例を、図２４に示す。図２４は、サービス・プロキシ対応表を示す図である。
【０１３１】
図２４に示されるように、サービス・プロキシ対応表１０２は、サービス（サーバ）のタイプと、プロキシのアドレスと、を項目として含む。
【０１３２】
以下、図２４に示されるようなサービス・プロキシ対応表１０２に基づいて、使いたいサーバに対応するプロキシのアドレスを取得したクライアント１０が、プロキシ２０に、使いたいサーバ（ターゲットサービス）を指定する例を、図２５から図２８を用いて説明する。
【０１３３】
以下、ターゲットサービスの指定処理の一例を、図２５に示す。図２５は、ターゲットサービスの指定処理を示すシーケンス図（その１）である。
【０１３４】
図２５に示されるように、クライアント１０は、後述する図２６に示されるような、プロキシ２０に用意されているターゲットサービスを指定するオペレーションを呼ぶ（シーケンスＳＱ８０）。
【０１３５】
プロキシ２０は、クライアント１０によってターゲットサービスを指定するオペレーションを呼ばれると、Ａｃｋをクライアント１０に返す（シーケンスＳＱ８１）一方、ターゲットサービスを設定する。
【０１３６】
Ａｃｋをプロキシ２０より受け取ったクライアント１０は、指定したサービス（サーバ）に係る非同期オペレーション及び同期オペレーションを、プロキシ２０を介して、利用する（シーケンスＳＱ８２）。
【０１３７】
以下、ターゲットサービスを指定するオペレーションの一例を、図２６に示す。図２６は、ターゲットサービスを指定するオペレーションの一例を示す図である。
【０１３８】
図２６に示されるように、２６０には、ターゲットサービスを指定するオペレーションが記述され、２６１には、ターゲットサービスのアドレスが記述されている。
【０１３９】
以下、ターゲットサービスの指定処理の他の例を、図２７に示す。図２７は、ターゲットサービスの指定処理を示すシーケンス図（その２）である。
【０１４０】
図２５に示されるように、クライアント１０は、非同期オペレーション及び同期オペレーションを利用する際に、後述する図２８に示されるように、ターゲットサービスを、ＳＯＡＰヘッダーに含めて、プロキシ２０に送信する（シーケンスＳＱ９０）。
【０１４１】
図２８に示されるようなサーバ（サービス）の利用リクエストを受け取ったプロキシ２０は、ＳＯＡＰヘッダーに含まれるターゲットサービスのアドレスに従って、サーバ３０に接続する（シーケンスＳＱ９１）。
【０１４２】
以下、ＳＯＡＰヘッダーにターゲットサービスを記述する一例を、図２８に示す。図２８は、ＳＯＡＰヘッダーにターゲットサービスを記述した例を示す図である。
【０１４３】
図２８に示されるように、２８０には、ターゲットサービスのアドレスが記述され、２８１には、非同期オペレーションのオペレーション名が記述されている。
（一部のオペレーションをプロキシ経由）
以下、同期オペレーションは、直接サーバ３０と通信を行って利用し、非同期オペレーションは、プロキシ２０経由で利用する例を、図２９に示す。図２９は、同期オペレーションは、直接サーバと通信を行って利用し、非同期オペレーションは、プロキシ経由で利用する例を示す概念図である。
【０１４４】
図２９に示されるように、クライアント１０は、例えば使いたいサーバ３０を検索する（図２９の（１））。
【０１４５】
クライアント１０は、使いたいサーバ（サービス）３０を発見すると（図２９の（２））、同期オペレーションを利用する際は、直接サーバ３０と通信を行って利用し（図２９の（３））、非同期オペレーションを利用する際は、プロキシ２０を介して（図２９の（４））、利用する。
（ＷＳＤＬ−一部のオペレーションをプロキシ経由）
以下、非同期オペレーション提供システムの機能構成の他の例を、図３０に示す。図３０は、非同期オペレーション提供システムの機能構成図（その５）である。
【０１４６】
図３０に示されるように、サーバ３０は、後述する図３１に示されるようなＷＳＤＬファイル１００と、サービスインターフェース１０３と、を含む。
【０１４７】
サービスインターフェース１０３は、クライアント１０及びプロキシ２０と、サーバ３０と、のインターフェースを表す。
【０１４８】
以下、ＷＳＤＬファイル１００にプロキシ２０のアドレスが記述されている他の例を、図３１に示す。図３１は、ＷＳＤＬファイルにプロキシのアドレスが記述されている例を示す図（その３）である。
【０１４９】
図３１に示されるように、３１０には、プロキシのアドレスが記述されている。  クライアント１０は、サーバ３０が有するＷＳＤＬファイル１００を取得し、非同期オペレーションを利用する場合は、３１０に示されるプロキシのアドレスを取得し、該アドレスに基づいて、プロキシ２０とメッセージのやり取りを行い、非同期オペレーションを、プロキシ２０を経由して利用する。
（ＷＳ−Ｐｏｌｉｃｙ−一部のオペレーションをプロキシ経由）
以下、非同期オペレーション提供システムの機能構成の他の例を、図３２に示す。図３２は、非同期オペレーション提供システムの機能構成図（その６）である。
【０１５０】
図３２に示されるように、サーバ３０は、後述する図３３に示されるようなＷＳ−Ｐｏｌｉｃｙファイル１０１と、サービスインターフェース１０３と、を含む。
（ＷＳ−Ｐｏｌｉｃｙ（オペレーション毎）−一部のオペレーションをプロキシ経由）
以下、ＷＳ−Ｐｏｌｉｃｙファイル１０１にプロキシ２０のアドレスが記述されている他の例を、図３３に示す。図３３は、ＷＳ−Ｐｏｌｉｃｙファイルにプロキシのアドレスが記述されている例を示す図（その２）である。
【０１５１】
図３３に示されるように、ＷＳ−Ｐｏｌｉｃｙファイル１０１には、オペレーション毎のポリシーとして、プロキシ２０又はサーバのアドレスが記述されている。同期オペレーションのｌｏｃａｔｉｏｎには、サーバのアドレス３３０が記述され、非同期オペレーションのｌｏｃａｔｉｏｎには、プロキシ（例えば、プロキシ２０）のアドレス３３１が記述されている。
【０１５２】
以下、オペレーションを利用する処理の他の例を、図３４に示す。図３４は、オペレーションを利用する処理を示すシーケンス図（その３）である。
【０１５３】
図３４に示されるように、クライアント１０は、サーバ３０に対して、ＷＳ−Ｐｏｌｉｃｙファイル１０１の取得要求を、送信する（シーケンスＳＱ１００）。
【０１５４】
サーバ３０は、クライアント１０より、ＷＳ−Ｐｏｌｉｃｙファイル１０１の取得要求を受信すると、図３３に示したようなＷＳ−Ｐｏｌｉｃｙファイル１０１を、クライアント１０に送信する（シーケンスＳＱ１０１）。
【０１５５】
クライアント１０は、サーバ３０より、図３３に示したようなＷＳ−Ｐｏｌｉｃｙファイル１０１を取得すると、非同期オペレーションを利用する場合、図３３の３３１に記述されているアドレスを選択、取得し、該アドレスに基づいて、プロキシ２０に対して、非同期オペレーションであるｇｅｔＤｏｃＬｉｓｔＡｓｙｎｃオペレーションを呼び出すｇｅｔＤｏｃＬｉｓｔＡｓｙｎｃリクエストを、送信する（シーケンスＳＱ１０２）。
【０１５６】
プロキシ２０は、クライアント１０からｇｅｔＤｏｃＬｉｓｔＡｓｙｎｃリクエストを受信すると、Ａｃｋをクライアント１０に返す（シーケンスＳＱ１０３）一方、同期オペレーションであるｇｅｔＤｏｃＬｉｓｔオペレーションを呼び出すｇｅｔＤｏｃＬｉｓｔリクエストを、サーバ３０に送信する（シーケンスＳＱ１０４）。
【０１５７】
サーバ３０は、プロキシ２０より、ｇｅｔＤｏｃＬｉｓｔリクエストを受信すると、文書の一覧の取得処理（ｇｅｔＤｏｃＬｉｓｔオペレーション）を実行する。サーバ３０は、ｇｅｔＤｏｃＬｉｓｔオペレーションが終了すると、例えばｇｅｔＤｏｃＬｉｓｔオペレーションの戻り値である、文書の一覧を含むｇｅｔＤｏｃＬｉｓｔＲｅｓｐｏｎｓｅを、要求元のプロキシ２０に送信する（シーケンスＳＱ１０５）。
【０１５８】
プロキシ２０は、サーバ３０より、ｇｅｔＤｏｃＬｉｓｔＲｅｓｐｏｎｓｅを受信すると、例えば文書の一覧を含むｇｅｔＤｏｃＬｉｓｔＡｓｙｎｃＲｅｓｐｏｎｓｅを、要求元のクライアント１０に送信する（シーケンスＳＱ１０６）。
【０１５９】
また、クライアント１０は、同期オペレーションを利用する場合、図３３の３３０に記述されているアドレスを選択、取得し、該アドレスに基づいて、サーバ３０に対して、同期オペレーションであるｇｅｔＣａｐａｂｉｌｉｔｙオペレーションを呼び出すｇｅｔＣａｐａｂｉｌｉｔｙリクエストを、送信する（シーケンスＳＱ１０７）。
【０１６０】
サーバ３０は、クライアント１０より、ｇｅｔＣａｐａｂｉｌｉｔｙリクエストを受信すると、サーバ３０の能力取得処理（ｇｅｔＣａｐａｂｉｌｉｔｙオペレーション）を実行する。サーバ３０は、ｇｅｔＣａｐａｂｉｌｉｔｙオペレーションが終了すると、ｇｅｔＣａｐａｂｉｌｉｔｙオペレーションの戻り値である、サーバ３０の能力情報を含むｇｅｔＣａｐａｂｉｌｉｔｙＲｅｓｐｏｎｓｅを、要求元のクライアント１０に送信する（シーケンスＳＱ１０８）。
（ＷＳ−Ｐｏｌｉｃｙ（サーバごと）−一部のオペレーションをプロキシ経由）
以下、ＷＳ−Ｐｏｌｉｃｙファイル１０１にプロキシ２０のアドレスが記述されている他の例を、図３５に示す。図３５は、ＷＳ−Ｐｏｌｉｃｙファイルにプロキシのアドレスが記述されている例を示す図（その３）である。
【０１６１】
図３５に示されるように、ＷＳ−Ｐｏｌｉｃｙファイル１０１には、サーバ（サービス）毎のポリシーとして、プロキシ２０又はサーバのアドレスが記述されている。同期オペレーションのｌｏｃａｔｉｏｎには、サーバのアドレス３４０が記述され、非同期オペレーションのｌｏｃａｔｉｏｎには、プロキシ（例えば、プロキシ２０）のアドレス３４１が記述されている。
【０１６２】
以下、オペレーションを利用する処理の他の例を、図３６に示す。図３６は、オペレーションを利用する処理を示すシーケンス図（その４）である。
【０１６３】
図３６に示されるように、クライアント１０は、サーバ３０に対して、ＷＳ−Ｐｏｌｉｃｙファイル１０１の取得要求を、送信する（シーケンスＳＱ１１０）。
【０１６４】
サーバ３０は、クライアント１０より、ＷＳ−Ｐｏｌｉｃｙファイル１０１の取得要求を受信すると、図３５に示したようなＷＳ−Ｐｏｌｉｃｙファイル１０１を、クライアント１０に送信する（シーケンスＳＱ１１１）。
【０１６５】
クライアント１０は、サーバ３０より、図３６に示したようなＷＳ−Ｐｏｌｉｃｙファイル１０１を取得すると、非同期サービス（サーバ）を利用する場合、図３６の３４１に記述されているアドレスを選択、取得し、該アドレスに基づいて、プロキシ２０に対して、非同期オペレーションであるｇｅｔＤｏｃＬｉｓｔＡｓｙｎｃオペレーションを呼び出すｇｅｔＤｏｃＬｉｓｔＡｓｙｎｃリクエストを、送信する（シーケンスＳＱ１１２）。
【０１６６】
プロキシ２０は、クライアント１０からｇｅｔＤｏｃＬｉｓｔＡｓｙｎｃリクエストを受信すると、Ａｃｋをクライアント１０に返す（シーケンスＳＱ１１３）一方、同期オペレーションであるｇｅｔＤｏｃＬｉｓｔオペレーションを呼び出すｇｅｔＤｏｃＬｉｓｔリクエストを、サーバ３０に送信する（シーケンスＳＱ１１４）。
【０１６７】
サーバ３０は、プロキシ２０より、ｇｅｔＤｏｃＬｉｓｔリクエストを受信すると、文書の一覧の取得処理（ｇｅｔＤｏｃＬｉｓｔオペレーション）を実行する。サーバ３０は、ｇｅｔＤｏｃＬｉｓｔオペレーションが終了すると、例えばｇｅｔＤｏｃＬｉｓｔオペレーションの戻り値である、文書の一覧を含むｇｅｔＤｏｃＬｉｓｔＲｅｓｐｏｎｓｅを、要求元のプロキシ２０に送信する（シーケンスＳＱ１１５）。
【０１６８】
プロキシ２０は、サーバ３０より、ｇｅｔＤｏｃＬｉｓｔＲｅｓｐｏｎｓｅを受信すると、例えば、文書の一覧を含むｇｅｔＤｏｃＬｉｓｔＡｓｙｎｃＲｅｓｐｏｎｓｅを、要求元のクライアント１０に送信する（シーケンスＳＱ１１６）。
【０１６９】
また、クライアント１０は、同期サービスを利用する場合、図３６の３４０に記述されているアドレスを選択、取得し、該アドレスに基づいて、サーバ３０に対して、同期オペレーションであるｇｅｔＣａｐａｂｉｌｉｔｙオペレーションを呼び出すｇｅｔＣａｐａｂｉｌｉｔｙリクエストを、送信する（シーケンスＳＱ１１７）。
【０１７０】
サーバ３０は、クライアント１０より、ｇｅｔＣａｐａｂｉｌｉｔｙリクエストを受信すると、サーバ３０の能力取得処理（ｇｅｔＣａｐａｂｉｌｉｔｙオペレーション）を実行する。サーバ３０は、ｇｅｔＣａｐａｂｉｌｉｔｙオペレーションが終了すると、ｇｅｔＣａｐａｂｉｌｉｔｙオペレーションの戻り値である、サーバ３０の能力情報を含むｇｅｔＣａｐａｂｉｌｉｔｙＲｅｓｐｏｎｓｅを、要求元のクライアント１０に送信する（シーケンスＳＱ１１８）。
（オペレーション・プロキシ対応表−一部のオペレーションをプロキシ経由）
以下、非同期オペレーション提供システムの機能構成の他の例を、図３７に示す。図３７は、非同期オペレーション提供システムの機能構成図（その７）である。
【０１７１】
図３７に示されるように、クライアント１０は、オペレーションと、プロキシと、を対応付ける、後述する図３８に示されるようなオペレーション・プロキシ対応表１０４を有する。また、サーバ３０は、サービスインターフェース１０３を含む。
【０１７２】
以下、オペレーション・プロキシ対応表１０４の一例を、図３８に示す。図３８は、オペレーション・プロキシ対応表を示す図である。
【０１７３】
図３８に示されるように、オペレーション・プロキシ対応表１０４は、オペレーションと、プロキシのアドレスと、を項目として含む。
【０１７４】
クライアント１０は、オペレーション・プロキシ対応表１０４に基づいて、オペレーション毎に対応するプロキシのアドレスを取得し、該取得したアドレスのプロキシと接続し、該プロキシを経由してオペレーションを利用する。なお、ターゲットサービスをプロキシに渡す方法は、上述したように、二通りの方法がある。
（大量スキャン処理−全オペレーションをプロキシ経由）
以下、全オペレーションを、プロキシ２０を経由した場合の大量のスキャン処理の一例を、図３９に示す。図３９は、全オペレーションを、プロキシを経由した場合の大量のスキャン処理を示すシーケンス図である。
【０１７５】
初めに、クライアント１０は、例えば同期オペレーションであるｓｔａｒｔＳｃａｎオペレーションを呼び出すｓｔａｒｔＳｃａｎリクエストを、プロキシ２０に送信する（シーケンスＳＱ１２０）。
【０１７６】
プロキシ２０は、クライアント１０より、ｓｔａｒｔＳｃａｎリクエストを受信すると、サーバ３０に対して、該リクエストを送信する（シーケンスＳＱ１２１）。
【０１７７】
サーバ３０は、プロキシ２０より、ｓｔａｒｔＳｃａｎリクエストを受信すると、スキャンを開始し（ｓｔａｒｔＳｃａｎオペレーションを実行し）、スキャンが開始されると、ｓｔａｒｔＳｃａｎオペレーションの戻り値を含むレスポンスを、要求元のプロキシ２０に送信する（シーケンスＳＱ１２２）。
【０１７８】
プロキシ２０は、サーバ３０より、ｓｔａｒｔＳｃａｎオペレーションの戻り値を含むレスポンスを、受信すると、該レスポンスをクライアント１０に送信する（シーケンスＳＱ１２３）。
【０１７９】
クライアント１０は、プロキシ２０より、ｓｔａｒｔＳｃａｎオペレーションの戻り値を含むレスポンスを受信すると、スキャンした最初の１ページを取得する同期オペレーションであるｇｅｔＦｉｒｓｔＰａｇｅオペレーションを呼び出すｇｅｔＦｉｒｓｔＰａｇｅリクエストを、プロキシ２０に送信する（シーケンスＳＱ１２４）。
【０１８０】
プロキシ２０は、クライアント１０より、ｇｅｔＦｉｒｓｔＰａｇｅリクエストを受信すると、サーバ３０に対して、該リクエストを送信する（シーケンスＳＱ１２５）。
【０１８１】
サーバ３０は、プロキシ２０より、ｇｅｔＦｉｒｓｔＰａｇｅリクエストを受信すると、最初の１ページ分のデータだけ取得し（ｇｅｔＦｉｒｓｔＰａｇｅオペレーションを実行し）、ｇｅｔＦｉｒｓｔＰａｇｅオペレーションの戻り値である、最初の１ページ分のデータを含むレスポンスを、要求元のプロキシ２０に送信する（シーケンスＳＱ１２６）。
【０１８２】
プロキシ２０は、サーバ３０より、ｇｅｔＦｉｒｓｔＰａｇｅオペレーションの戻り値を含むレスポンスを、受信すると、該レスポンスをクライアント１０に送信する（シーケンスＳＱ１２７）。
【０１８３】
クライアント１０は、最初の１ページ分だけ取得するので、速やかに取得することができ、例えばユーザからの要求に応じて、取得した最初の１ページ分だけでも速やかにディスプレイ等に表示することができる。
【０１８４】
また、クライアント１０は、残りの全てのページを取得する非同期オペレーションであるｇｅｔＡｌｌＰａｇｅｓＡｓｙｎｃオペレーションを呼び出すｇｅｔＡｌｌＰａｇｅｓＡｓｙｎｃリクエストを、プロキシ２０に送信する（シーケンスＳＱ１２８）。
【０１８５】
プロキシ２０は、クライアント１０からｇｅｔＡｌｌＰａｇｅｓＡｓｙｎｃリクエストを受信すると、Ａｃｋをクライアント１０に返す（シーケンスＳＱ１２９）一方、同期オペレーションであるｇｅｔＡｌｌＰａｇｅｓオペレーションを呼び出すｇｅｔＡｌｌＰａｇｅｓリクエストを、サーバ３０に送信する（シーケンスＳＱ１３０）。
【０１８６】
クライアント１０は、リクエストを送信すると、直ぐにプロキシ２０よりＡｃｋを受け取ることによって、残りの全てのページの取得処理の間、他の処理を実行することができるようになる。
【０１８７】
サーバ３０は、プロキシ２０より、ｇｅｔＡｌｌＰａｇｅｓリクエストを受信すると、残りの全てのページの取得処理（ｇｅｔＡｌｌＰａｇｅｓオペレーション）を実行する。サーバ３０は、ｇｅｔＡｌｌＰａｇｅｓオペレーションが終了すると、ｇｅｔＡｌｌＰａｇｅｓオペレーションの戻り値である、残りの全てのページのデータを含むｇｅｔＡｌｌＰａｇｅｓＲｅｓｕｌｔｓレスポンスを、要求元のプロキシ２０に送信する（シーケンスＳＱ１３１）。
【０１８８】
プロキシ２０は、サーバ３０より、ｇｅｔＡｌｌＰａｇｅｓＲｅｓｕｌｔｓレスポンスを受信すると、残りの全てのページのデータを含むｇｅｔＡｌｌＰａｇｅｓＡｓｙｎｃＲｅｓｕｌｔｓレスポンスを、要求元のクライアント１０に送信する（シーケンスＳＱ１３２）。
【０１８９】
クライアント１０は、プロキシ２０よりｇｅｔＡｌｌＰａｇｅｓＡｓｙｎｃＲｅｓｕｌｔｓレスポンスを受信すると、Ａｃｋをプロキシ２０に返す（シーケンスＳＱ１３３）。
【０１９０】
図３９に示すような処理を行うことによって、大量のスキャン処理であっても、最初のページだけ、同期オペレーションで取得し、後の全てのページは、非同期オペレーションで取得することによって、クライアント１０は、スキャン処理と平行して他の処理を実行することができる。
（大量スキャン処理−一部のオペレーションをプロキシ経由）
以下、非同期オペレーションは、プロキシ２０を経由して利用した場合の大量のスキャン処理の一例を、図４０に示す。図４０は、非同期オペレーションは、プロキシを経由して利用した場合の大量のスキャン処理を示すシーケンス図である。
【０１９１】
初めに、クライアント１０は、例えば同期オペレーションであるｓｔａｒｔＳｃａｎオペレーションを呼び出すｓｔａｒｔＳｃａｎリクエストを、サーバ３０に送信する（シーケンスＳＱ１４０）。
【０１９２】
サーバ３０は、クライアント１０より、ｓｔａｒｔＳｃａｎリクエストを受信すると、スキャンを開始し（ｓｔａｒｔＳｃａｎオペレーションを実行し）、スキャンが開始されると、ｓｔａｒｔＳｃａｎオペレーションの戻り値を含むレスポンスを、要求元のクライアント１０に送信する（シーケンスＳＱ１４１）。
【０１９３】
クライアント１０は、サーバ３０より、ｓｔａｒｔＳｃａｎオペレーションの戻り値を含むレスポンスを受信すると、スキャンした最初の１ページを取得する同期オペレーションであるｇｅｔＦｉｒｓｔＰａｇｅオペレーションを呼び出すｇｅｔＦｉｒｓｔＰａｇｅリクエストを、サーバ３０に送信する（シーケンスＳＱ１４２）。
【０１９４】
サーバ３０は、クライアント１０より、ｇｅｔＦｉｒｓｔＰａｇｅリクエストを受信すると、最初の１ページ分のデータだけ取得し（ｇｅｔＦｉｒｓｔＰａｇｅオペレーションを実行し）、ｇｅｔＦｉｒｓｔＰａｇｅオペレーションの戻り値である、最初の１ページ分のデータを含むレスポンスを、要求元のクライアント１０に送信する（シーケンスＳＱ１４３）。
【０１９５】
クライアント１０は、最初の１ページ分だけ取得するので、速やかに取得することができ、例えばユーザからの要求に応じて、取得した最初の１ページ分だけでも速やかにディスプレイ等に表示することができる。
【０１９６】
また、クライアント１０は、残りの全てのページを取得する場合、非同期オペレーションであるｇｅｔＡｌｌＰａｇｅｓＡｓｙｎｃオペレーションを呼び出すｇｅｔＡｌｌＰａｇｅｓＡｓｙｎｃリクエストを、プロキシ２０に送信する（シーケンスＳＱ１４４）。
【０１９７】
プロキシ２０は、クライアント１０からｇｅｔＡｌｌＰａｇｅｓＡｓｙｎｃリクエストを受信すると、Ａｃｋをクライアント１０に返す（シーケンスＳＱ１４５）一方、同期オペレーションであるｇｅｔＡｌｌＰａｇｅｓオペレーションを呼び出すｇｅｔＡｌｌＰａｇｅｓリクエストを、サーバ３０に送信する（シーケンスＳＱ１４６）。
【０１９８】
クライアント１０は、リクエストを送信すると、直ぐにプロキシ２０よりＡｃｋを受け取ることによって、残りの全てのページの取得処理の間、他の処理を実行することができるようになる。
【０１９９】
サーバ３０は、プロキシ２０より、ｇｅｔＡｌｌＰａｇｅｓリクエストを受信すると、残りの全てのページの取得処理（ｇｅｔＡｌｌＰａｇｅｓオペレーション）を実行する。サーバ３０は、ｇｅｔＡｌｌＰａｇｅｓオペレーションが終了すると、ｇｅｔＡｌｌＰａｇｅｓオペレーションの戻り値である、残りの全てのページのデータを含むｇｅｔＡｌｌＰａｇｅｓＲｅｓｕｌｔｓレスポンスを、要求元のプロキシ２０に送信する（シーケンスＳＱ１４７）。
【０２００】
プロキシ２０は、サーバ３０より、ｇｅｔＡｌｌＰａｇｅｓＲｅｓｕｌｔｓレスポンスを受信すると、残りの全てのページのデータを含むｇｅｔＡｌｌＰａｇｅｓＡｓｙｎｃＲｅｓｕｌｔｓレスポンスを、要求元のクライアント１０に送信する（シーケンスＳＱ１４８）。
【０２０１】
クライアント１０は、プロキシ２０よりｇｅｔＡｌｌＰａｇｅｓＡｓｙｎｃＲｅｓｕｌｔｓレスポンスを受信すると、Ａｃｋをプロキシ２０に返す（シーケンスＳＱ１４９）。
【０２０２】
図４０に示すような処理を行うことによって、大量のスキャン処理であっても、最初のページだけ、同期オペレーションで取得し、後の全てのページは、非同期オペレーションで取得することによって、クライアント１０は、スキャン処理と平行して他の処理を実行することができる。
（大量文書一覧取得処理−全オペレーションをプロキシ経由）
以下、全オペレーションを、プロキシ２０を経由して利用した場合の大量の文書一覧取得処理の一例を、図４１に示す。図４１は、全オペレーションを、プロキシを経由して利用した場合の大量の文書一覧取得処理を示すシーケンス図である。
【０２０３】
初めに、クライアント１０は、例えば同期オペレーションであるｅｘｅｃｕｔｅＳｅａｒｃｈオペレーションを呼び出すｅｘｅｃｕｔｅＳｅａｒｃｈリクエストを、サーバ３０に送信する（シーケンスＳＱ１５０）。
【０２０４】
プロキシ２０は、クライアント１０より、ｅｘｅｃｕｔｅＳｅａｒｃｈリクエストを受信すると、サーバ３０に対して、該リクエストを送信する（シーケンスＳＱ１５１）。
【０２０５】
サーバ３０は、プロキシ２０より、ｅｘｅｃｕｔｅＳｅａｒｃｈリクエストを受信すると、文書の一覧の検索を開始し（ｅｘｅｃｕｔｅＳｅａｒｃｈオペレーションを実行し）、ｅｘｅｃｕｔｅＳｅａｒｃｈオペレーションの戻り値を含むレスポンスを、要求元のプロキシ２０に送信する（シーケンスＳＱ１５２）。
【０２０６】
プロキシ２０は、サーバ３０より、ｅｘｅｃｕｔｅＳｅａｒｃｈオペレーションの戻り値を含むレスポンスを、受信すると、該レスポンスをクライアント１０に送信する（シーケンスＳＱ１５３）。
【０２０７】
クライアント１０は、プロキシ２０より、ｅｘｅｃｕｔｅＳｅａｒｃｈオペレーションの戻り値を含むレスポンスを受信すると、例えば、検索した結果の先頭１０個分のデータを取得する同期オペレーションであるｇｅｔＴｏｐ１０Ｐａｇｅオペレーションを呼び出すｇｅｔＴｏｐ１０Ｐａｇｅリクエストを、プロキシ２０に送信する（シーケンスＳＱ１５４）。
【０２０８】
プロキシ２０は、クライアント１０より、ｇｅｔＴｏｐ１０Ｐａｇｅリクエストを受信すると、サーバ３０に対して、該リクエストを送信する（シーケンスＳＱ１５５）。
【０２０９】
サーバ３０は、プロキシ２０より、ｇｅｔＴｏｐ１０Ｐａｇｅリクエストを受信すると、検索した結果の先頭１０個分のデータ（一覧データ）を取得し（ｇｅｔＴｏｐ１０Ｐａｇｅオペレーションを実行し）、ｇｅｔＴｏｐ１０Ｐａｇｅオペレーションの戻り値である、先頭１０個分のデータを含むレスポンスを、要求元のプロキシ２０に送信する（シーケンスＳＱ１５６）。
【０２１０】
プロキシ２０は、サーバ３０より、ｇｅｔＴｏｐ１０Ｐａｇｅオペレーションの戻り値を含むレスポンスを、受信すると、該レスポンスをクライアント１０に送信する（シーケンスＳＱ１５７）。
【０２１１】
クライアント１０は、先頭１０個分のデータだけ取得するので、速やかに取得することができ、例えばユーザからの要求に応じて、取得した先頭１０個分のデータだけでも速やかにディスプレイ等に表示することができる。
【０２１２】
また、クライアント１０は、残りの全ての一覧データを取得する非同期オペレーションであるｇｅｔＡｌｌＡｓｙｎｃオペレーションを呼び出すｇｅｔＡｌｌＡｓｙｎｃリクエストを、プロキシ２０に送信する（シーケンスＳＱ１５８）。
【０２１３】
プロキシ２０は、クライアント１０からｇｅｔＡｌｌＡｓｙｎｃリクエストを受信すると、Ａｃｋをクライアント１０に返す（シーケンスＳＱ１５９）一方、同期オペレーションであるｇｅｔＡｌｌオペレーションを呼び出すｇｅｔＡｌｌリクエストを、サーバ３０に送信する（シーケンスＳＱ１６０）。
【０２１４】
クライアント１０は、リクエストを送信すると、直ぐにプロキシ２０よりＡｃｋを受け取ることによって、残りの全ての一覧データの取得処理の間、他の処理を実行することができるようになる。
【０２１５】
サーバ３０は、プロキシ２０より、ｇｅｔＡｌｌリクエストを受信すると、残りの全ての一覧の取得処理（ｇｅｔＡｌｌオペレーション）を実行する。サーバ３０は、ｇｅｔＡｌｌオペレーションが終了すると、ｇｅｔＡｌｌオペレーションの戻り値である、残りの全ての一覧データを含むｇｅｔＡｌｌＲｅｓｕｌｔｓレスポンスを、要求元のプロキシ２０に送信する（シーケンスＳＱ１６１）。
【０２１６】
プロキシ２０は、サーバ３０より、ｇｅｔＡｌｌＲｅｓｕｌｔｓレスポンスを受信すると、残りの全ての一覧データを含むｇｅｔＡｌｌＡｓｙｎｃＲｅｓｕｌｔｓレスポンスを、要求元のクライアント１０に送信する（シーケンスＳＱ１６２）。
【０２１７】
クライアント１０は、プロキシ２０よりｇｅｔＡｌｌＡｓｙｎｃＲｅｓｕｌｔｓレスポンスを受信すると、Ａｃｋをプロキシ２０に返す（シーケンスＳＱ１６３）。
【０２１８】
図４１に示すような処理を行うことによって、大量の文書一覧取得処理であっても、最初の１０個分だけ、同期オペレーションで取得し、後の全てのページは、非同期オペレーションで取得することによって、クライアント１０は、文書一覧取得処理と平行して他の処理を実行することができる。
（大量文書一覧取得処理−一部のオペレーションをプロキシ経由）
以下、非同期オペレーションは、プロキシ２０を経由して利用した場合の大量の文書一覧取得処理の一例を、図４２に示す。図４２は、非同期オペレーションは、プロキシを経由して利用した場合の大量の文書一覧取得処理を示すシーケンス図である。
【０２１９】
初めに、クライアント１０は、例えば同期オペレーションであるｅｘｅｃｕｔｅＳｅａｒｃｈオペレーションを呼び出すｅｘｅｃｕｔｅＳｅａｒｃｈリクエストを、サーバ３０に送信する（シーケンスＳＱ１７０）。
【０２２０】
サーバ３０は、クライアント１０より、ｅｘｅｃｕｔｅＳｅａｒｃｈリクエストを受信すると、文書の一覧の検索を開始し（ｅｘｅｃｕｔｅＳｅａｒｃｈオペレーションを実行し）、文書の一覧の検索が開始されると、ｅｘｅｃｕｔｅＳｅａｒｃｈオペレーションの戻り値を含むレスポンスを、要求元のクライアント１０に送信する（シーケンスＳＱ１７１）。
【０２２１】
クライアント１０は、サーバ３０より、ｅｘｅｃｕｔｅＳｅａｒｃｈオペレーションの戻り値を含むレスポンスを受信すると、検索した結果の先頭１０個分のデータを取得する同期オペレーションであるｇｅｔＴｏｐ１０Ｐａｇｅオペレーションを呼び出すｇｅｔＴｏｐ１０Ｐａｇｅリクエストを、サーバ３０に送信する（シーケンスＳＱ１７２）。
【０２２２】
サーバ３０は、クライアント１０より、ｇｅｔＴｏｐ１０Ｐａｇｅリクエストを受信すると、検索した結果の先頭１０個分のデータ（一覧データ）を取得し（ｇｅｔＴｏｐ１０Ｐａｇｅオペレーションを実行し）、ｇｅｔＴｏｐ１０Ｐａｇｅオペレーションの戻り値である、先頭１０個分のデータを含むレスポンスを、要求元のクライアント１０に送信する（シーケンスＳＱ１７３）。
【０２２３】
クライアント１０は、先頭１０個分のデータだけ取得するので、速やかに取得することができ、例えばユーザからの要求に応じて、取得した先頭１０個分のデータだけでも速やかにディスプレイ等に表示することができる。
【０２２４】
また、クライアント１０は、残りの全ての一覧データを取得する場合、非同期オペレーションであるｇｅｔＡｌｌＡｓｙｎｃオペレーションを呼び出すｇｅｔＡｌｌＡｓｙｎｃリクエストを、プロキシ２０に送信する（シーケンスＳＱ１７４）。
【０２２５】
プロキシ２０は、クライアント１０からｇｅｔＡｌｌＡｓｙｎｃリクエストを受信すると、Ａｃｋをクライアント１０に返す（シーケンスＳＱ１７５）一方、同期オペレーションであるｇｅｔＡｌｌオペレーションを呼び出すｇｅｔＡｌｌリクエストを、サーバ３０に送信する（シーケンスＳＱ１７６）。
【０２２６】
クライアント１０は、リクエストを送信すると、直ぐにプロキシ２０よりＡｃｋを受け取ることによって、残りの全ての一覧データの取得処理の間、他の処理を実行することができるようになる。
【０２２７】
サーバ３０は、プロキシ２０より、ｇｅｔＡｌｌリクエストを受信すると、残りの全ての一覧データの取得処理（ｇｅｔＡｌｌオペレーション）を実行する。サーバ３０は、ｇｅｔＡｌｌオペレーションが終了すると、ｇｅｔＡｌｌオペレーションの戻り値である、残りの全ての一覧データの取得を含むｇｅｔＡｌｌＲｅｓｕｌｔｓレスポンスを、要求元のプロキシ２０に送信する（シーケンスＳＱ１７７）。
【０２２８】
プロキシ２０は、サーバ３０より、ｇｅｔＡｌｌＲｅｓｕｌｔｓレスポンスを受信すると、残りの全てのページのデータを含むｇｅｔＡｌｌＡｓｙｎｃＲｅｓｕｌｔｓレスポンスを、要求元のクライアント１０に送信する（シーケンスＳＱ１７８）。
【０２２９】
クライアント１０は、プロキシ２０よりｇｅｔＡｌｌＡｓｙｎｃＲｅｓｕｌｔｓレスポンスを受信すると、Ａｃｋをプロキシ２０に返す（シーケンスＳＱ１７９）。
【０２３０】
図４２に示すような処理を行うことによって、大量の文書一覧取得処理であっても、最初の１０個分だけ、同期オペレーションで取得し、後の全てのページは、非同期オペレーションで取得することによって、クライアント１０は、文書一覧取得処理と平行して他の処理を実行することができる。
（システム構成その１）
以下、非同期オペレーション提供システムの一例のシステム構成を、図４３に示す。図４３は、非同期オペレーション提供システムのシステム構成図（その１）である。
【０２３１】
図４３に示されるような、非同期オペレーション提供システムでは、クライアント１０と、プロキシ２０と、サーバ３０と、がそれぞれ別の装置に含まれている。例えば、図４３の非同期オペレーション提供システムでは、クライアント１０は、図６に示したクライアント装置１等に含まれ、プロキシ２０は、図７に示したプロキシ装置２等に含まれ、サーバ３０は、図８に示したサーバ装置３等に含まれる。
【０２３２】
以下、クライアント１０と、プロキシ２０と、サーバ３０と、がそれぞれ別の装置に含まれている場合に、有効な例を、図４４に示す。図４４は、図４３に示す非同期オペレーション提供システムが有効な例を示す図である。
【０２３３】
図４４に示されるように、既に古いシステムが存在する環境に、新しく、プロキシ２０を有するシステムを導入する場合に、図４３に示されるようなシステムが有効である。
【実施例２】
【０２３４】
（システム構成その２）
以下、非同期オペレーション提供システムの他の例のシステム構成を、図４５に示す。図４５は、非同期オペレーション提供システムのシステム構成図（その２）である。
【０２３５】
図４５に示されるような、非同期オペレーション提供システムでは、クライアント１０と、プロキシ２０と、が同じ装置に含まれている。例えば、図４５の非同期オペレーション提供システムでは、クライアント１０と、プロキシ２０とは、例えば図６に示したクライアント装置１等に含まれ、サーバ３０は、図８に示したサーバ装置３等に含まれる。
【０２３６】
クライアント１０と、プロキシ２０と、が同じ装置に含まれている場合に、有効な例を、図４６に示す。図４６は、図４５に示す非同期オペレーション提供システムが有効な例を示す図である。
【０２３７】
図４６に示されるように、既に古いクライアント−サーバのシステムが存在する環境に、サーバ３０及びサーバ装置３を変更せず、新しく、プロキシ２０を有するクライアント装置１をシステムに導入する場合に、図４３に示されるようなシステムが有効である。
【実施例３】
【０２３８】
（システム構成その３）
以下、非同期オペレーション提供システムの他の例のシステム構成を、図４７に示す。図４７は、非同期オペレーション提供システムのシステム構成図（その３）である。
【０２３９】
図４７に示されるような、非同期オペレーション提供システムでは、プロキシ２０と、サーバ３０と、が同じ装置に含まれている。例えば、図４７の非同期オペレーション提供システムでは、クライアント１０は、図６に示したクライアント装置１等に含まれ、プロキシ２０と、サーバ３０と、は、図８に示したサーバ装置３等に含まれる。
【０２４０】
プロキシ２０と、サーバ３０と、が同じ装置に含まれている場合に、有効な例を、図４８に示す。図４８は、図４７に示す非同期オペレーション提供システムが有効な例を示す図である。
【０２４１】
図４８に示されるように、既に古いクライアント−サーバのシステムが存在する環境に、古いクライアント１０及びクライアント装置１を変更せず、新しく、クライアント１０及びクライアント装置１等をシステムに導入する場合に、図４７に示されるようなシステムが有効である。
【０２４２】
上述したように、本発明によれば、同期オペレーションをサポートし、非同期オペレーションをサポートしていないサービスでも、クライアントに対して、非同期オペレーションを提供可能にすることができる。
【０２４３】
以上、本発明の好ましい実施例について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【図面の簡単な説明】
【０２４４】
【図１】同期オペレーションしかサポートしていないサービスの一例を示す図である。
【図２】非同期オペレーションもサポートしているサービスの一例を示す図です。
【図３】一般的な同期オペレーションの例を示す図である。
【図４】一般的な非同期オペレーション（ポーリング）の例を示す図である。
【図５】一般的な非同期オペレーション（コールドバック）の例を示す図である。
【図６】クライアント装置の一例のハードウェア構成図である。
【図７】プロキシ装置の一例のハードウェア構成図である。
【図８】サーバ装置の一例のハードウェア構成図である。
【図９】プロキシの機能構成図（その１）である。
【図１０】プロキシを介した非同期オペレーション提供処理を、ポーリングの場合を例に示すシーケンス図である。
【図１１】コールバックの機能構成図（その２）である。
【図１２】プロキシを介した非同期オペレーション提供処理を、コールバックの場合を例に示すシーケンス図である。
【図１３】非同期オペレーション提供システムの機能構成図（その１）である。
【図１４】ＷＳＤＬファイルにプロキシのアドレスが記述されている例を示す図（その１）である。
【図１５】サーバに、プロキシのアドレスを教えてもらってから、プロキシを経由してオペレーションを利用する例の概念図である。
【図１６】非同期オペレーション提供システムの機能構成図（その２）である。
【図１７】ＷＳＤＬファイルにプロキシのアドレスが記述されている例を示す図（その２）である。
【図１８】オペレーションを利用する処理を示すシーケンス図（その１）である。
【図１９】非同期オペレーション提供システムの機能構成図（その３）である。
【図２０】ＷＳ−Ｐｏｌｉｃｙファイルにプロキシのアドレスが記述されている例を示す図（その１）である。
【図２１】オペレーションを利用する処理を示すシーケンス図（その２）である。
【図２２】クライアントが、サーバを検索し、サーバを発見してから、自身が有するサービス（サーバ）と、プロキシと、の対応表に基づいて、プロキシを経由してオペレーションを利用する例の概念図である。
【図２３】非同期オペレーション提供システムの機能構成図（その４）である。
【図２４】サービス・プロキシ対応表を示す図である。
【図２５】ターゲットサービスの指定処理を示すシーケンス図（その１）である。
【図２６】ターゲットサービスを指定するオペレーションの一例を示す図である。
【図２７】ターゲットサービスの指定処理を示すシーケンス図（その２）である。
【図２８】ＳＯＡＰヘッダーにターゲットサービスを記述した例を示す図である。
【図２９】同期オペレーションは、直接サーバと通信を行って利用し、非同期オペレーションは、プロキシ経由で利用する例を示す概念図である。
【図３０】非同期オペレーション提供システムの機能構成図（その５）である。
【図３１】ＷＳＤＬファイルにプロキシのアドレスが記述されている例を示す図（その３）である。
【図３２】非同期オペレーション提供システムの機能構成図（その６）である。
【図３３】ＷＳ−Ｐｏｌｉｃｙファイルにプロキシのアドレスが記述されている例を示す図（その２）である。
【図３４】オペレーションを利用する処理を示すシーケンス図（その３）である。
【図３５】ＷＳ−Ｐｏｌｉｃｙファイルにプロキシのアドレスが記述されている例を示す図（その３）である。
【図３６】オペレーションを利用する処理を示すシーケンス図（その４）である。
【図３７】非同期オペレーション提供システムの機能構成図（その７）である。
【図３８】オペレーション・プロキシ対応表を示す図である。
【図３９】全オペレーションを、プロキシを経由した場合の大量のスキャン処理を示すシーケンス図である。
【図４０】非同期オペレーションは、プロキシを経由して利用した場合の大量のスキャン処理を示すシーケンス図である。
【図４１】全オペレーションを、プロキシを経由して利用した場合の大量の文書一覧取得処理を示すシーケンス図である。
【図４２】非同期オペレーションは、プロキシを経由して利用した場合の大量の文書一覧取得処理を示すシーケンス図である。
【図４３】非同期オペレーション提供システムのシステム構成図（その１）である。
【図４４】図４３に示す非同期オペレーション提供システムが有効な例を示す図である。
【図４５】非同期オペレーション提供システムのシステム構成図（その２）である。
【図４６】図４５に示す非同期オペレーション提供システムが有効な例を示す図である。
【図４７】非同期オペレーション提供システムのシステム構成図（その３）である。
【図４８】図４７に示す非同期オペレーション提供システムが有効な例を示す図である。
【符号の説明】
【０２４５】
１      クライアント装置
２      プロキシ装置
３      サーバ装置
１０    クライアント（クライアントサービス）
２０    プロキシ（プロキシサービス）
３０    サーバ（サービス）
４１    リクエスト受信部
４２    レスポンス保持・送信部
４３    非同期スレッド
４４    同期メッセージ送受信部
５１    リクエストジュシンブ
５２    レスポンス受信部
５３    非同期スレッド
５４    同期メッセージ送受信部
【図１】
2006085365.tif 000003
【図２】
2006085365.tif 000004
【図３】
2006085365.tif 000005
【図４】
2006085365.tif 000006
【図５】
2006085365.tif 000007
【図６】
2006085365.tif 000008
【図７】
2006085365.tif 000009
【図８】
2006085365.tif 000010
【図９】
2006085365.tif 000011
【図１０】
2006085365.tif 000012
【図１１】
2006085365.tif 000013
【図１２】
2006085365.tif 000014
【図１３】
2006085365.tif 000015
【図１４】
2006085365.tif 000016
【図１５】
2006085365.tif 000017
【図１６】
2006085365.tif 000018
【図１７】
2006085365.tif 000019
【図１８】
2006085365.tif 000020
【図１９】
2006085365.tif 000021
【図２０】
2006085365.tif 000022
【図２１】
2006085365.tif 000023
【図２２】
2006085365.tif 000024
【図２３】
2006085365.tif 000025
【図２４】
2006085365.tif 000026
【図２５】
2006085365.tif 000027
【図２６】
2006085365.tif 000028
【図２７】
2006085365.tif 000029
【図２８】
2006085365.tif 000030
【図２９】
2006085365.tif 000031
【図３０】
2006085365.tif 000032
【図３１】
2006085365.tif 000033
【図３２】
2006085365.tif 000034
【図３３】
2006085365.tif 000035
【図３４】
2006085365.tif 000036
【図３５】
2006085365.tif 000037
【図３６】
2006085365.tif 000038
【図３７】
2006085365.tif 000039
【図３８】
2006085365.tif 000040
【図３９】
2006085365.tif 000041
【図４０】
2006085365.tif 000042
【図４１】
2006085365.tif 000043
【図４２】
2006085365.tif 000044
【図４３】
2006085365.tif 000045
【図４４】
2006085365.tif 000046
【図４５】
2006085365.tif 000047
【図４６】
2006085365.tif 000048
【図４７】
2006085365.tif 000049
【図４８】
2006085365.tif 000050