(57)【要約】【課題】  非同期的に要求を処理すること。【解決手段】  本発明によれば、サーバ上で、ユニフォーム・リソース・ロケータ（ＵＲＬ）についての要求がクライアントから受け取られる。受け取り後、対応するセッション・オブジェクトが取得され、応答識別子が生成される。応答識別子に基づいて、このＵＲＬが以前にクライアントにより要求されたものであるかどうかが判断される。以前に要求されたものではない場合には、最終応答の生成が始まる。応答が生成されているとき、応答リフレッシュ・ヘッダが生成され、暫定的応答と共に、クライアントに戻される。応答リフレッシュ・ヘッダは、クライアントが、ＵＲＬについての後続の要求を自動的に送るようにするための時間値を含む。最終応答の生成が完成した後、これは応答識別子に応じたキャッシュ内に格納される。次いで、後続の要求がクライアントから受け取られ、最終応答がキャッシュから検索されて、該クライアントに供給される。【選択図】      図１
2007500889.tif 000002
【特許請求の範囲】
【請求項１】
クライアントからの非同期的に要求をサーバが処理するための方法であって、  クライアントから受け取ったユニフォーム・リソース・ロケータ（ＵＲＬ）についてのセッション・オブジェクトを取得するステップと、  前記サーバと前記クライアントとの間のセッションを識別するセッション識別子と前記ＵＲＬとに基づいて、応答識別子を生成するステップと、  前記応答識別子に基づいて、前記ＵＲＬが以前に前記クライアントにより要求されたものであるかどうかを判断するステップと、  前記クライアントに、前記ＵＲＬについての後続の要求を自動的に送るようにさせるための時間値を含む応答リフレッシュ・ヘッダを生成するステップと、を含む方法。
【請求項２】
前記要求に対する暫定的応答と前記応答リフレッシュ・ヘッダとを前記クライアントに送るステップをさらに含む、請求項１に記載の方法。
【請求項３】
前記要求を命令と共に前記サーバの応答キャッシング・システムに送り、前記応答識別子により、該要求に対する最終応答を前記サーバのキャッシュからキャッシュするステップをさらに含む、請求項１又は請求項２に記載の方法。
【請求項４】
前記要求がウェブ要求である、前記請求項１乃至３のいずれか１項に記載の方法。
【請求項５】
前記応答識別子が、前記セッション識別子と前記ＵＲＬのハッシュとを含む、前記請求項１乃至４のいずれか１項に記載の方法。
【請求項６】
前記リフレッシュ・ヘッダを生成するステップの前に、前記要求に対する最終応答が完成しているかどうかを判断するステップと、  前記最終応答が完成している場合には、該最終応答を前記クライアントに送るステップであって、前記最終応答が完成している場合には、前記リフレッシュ・ヘッダを生成せずに、前記応答リフレッシュ・ヘッダと前記暫定的応答とを共に該クライアントに送らないるようにするステップと、をさらに含む、前記請求項１乃至５のいずれか１項に記載の方法。
【請求項７】
前記要求に対する最終応答の生成を開始するステップと、  前記最終応答が完成している場合には、該最終応答を前記応答識別子に応じた前記サーバのキャッシュ内に格納するステップと、を含む、前記請求項１乃至６のいずれか１項に記載の方法。
【請求項８】
前記応答リフレッシュ・ヘッダにおける前記時間値の満了後、前記ＵＲＬについての後続の要求を前記クライアントから受け取るステップと、  前記セッション・オブジェクトを取得するステップと、  前記応答識別子を生成するステップと、  前記応答識別子に基づいて、前記ＵＲＬが以前に要求されたものであるかどうかを判断するステップと、  前記応答識別子に基づいて、前記要求に対する最終応答について前記キャッシュをチェックするステップと、  前記最終応答が完成している場合には、該最終応答を前記クライアントに送り、るステップであって、該最終応答が完成していない場合には、新たな新しいリフレッシュ・ヘッダを生成し、新しい新たな暫定的応答と共に該クライアントに送るようにするステップと、をさらに含む、請求項７に記載の方法。
【請求項９】
前記判断するステップが、前記応答識別子について前記セッション・オブジェクトにおける前記サーバの情報格納装置内の表をチェックして、前記ＵＲＬが以前に前記クライアントにより要求されたものであるかどうかを判断することを含む、前記請求項１乃至８のいずれか１項に記載の方法。
【請求項１０】
ユニフォーム・リソース・ロケータ（ＵＲＬ）についての要求をクライアントから受け取るステップをさらに含む、前記請求項１乃至９のいずれか１項に記載の方法。
【請求項１１】
前記ＵＲＬが以前に前記クライアントにより要求されたものであった場合には、前記応答識別子に基づいて、前記要求に対する前記最終応答について前記サーバのキャッシュをチェックするステップをさらに含む、請求項２乃至から請求項１０までのいずれか１項に記載の方法。
【請求項１２】
クライアントからの非同期的に要求を処理するためのシステムサーバであって、  クライアントから受け取ったユニフォーム・リソース・ロケータ（ＵＲＬ）についての要求のセッション・オブジェクトを取得するためのオブジェクト・システムと、  セッション識別子と前記ＵＲＬとに基づいて、応答識別子を生成するための応答識別子システムと、  前記ＵＲＬが以前に前記クライアントにより要求されたものであるかどうかを判断するための要求チェッキング・システムと、  前記クライアントに、前記ＵＲＬに対する後続の要求を自動的に送るようにさせるための時間値を含む応答リフレッシュ・ヘッダを生成するためのヘッダ生成システムと、を含むシステムサーバ。
【請求項１３】
前記要求に対する最終応答を、前記応答識別子に応じた前記サーバのキャッシュ内に格納するための応答キャッシング・システムをさらに含む、請求項１２に記載のサーバシステム。
【請求項１４】
前記応答識別子に基づいて、前記要求に対する最終応答についてキャッシュをチェックするためのキャッシュ・チェッキング・システムをさらに含み、最終応答が完成している場合には、該最終応答が前記クライアントに送られる、請求項１２又は請求項１３に記載のサーバシステム。
【請求項１５】
前記応答リフレッシュ・ヘッダと前記要求に対する暫定的応答とを前記クライアントに送るための出力システムをさらに含む、請求項１２乃至３から請求項１４までのいずれか１項に記載のサーバシステム。
【請求項１６】
前記応答識別子が、前記セッション識別子と前記ＵＲＬのハッシュとを含む、請求項１２乃至３から請求項１５までのいずれか１項に記載のサーバシステム。
【請求項１７】
前記要求チェッキング・システムが、前記セッション・オブジェクトの表をチェックして、前記ＵＲＬが以前に前記クライアントにより要求されたものであるかどうかを判断する、請求項１２乃至３から請求項１６までのいずれか１項に記載のシステムサーバ。
【請求項１８】
前記要求を受け取るための入力システムをさらに含む、請求項１３１２乃至から請求項１７までのいずれか１項に記載のシステムサーバ。
【請求項１９】
前記応答リフレッシュ・ヘッダにおける前記時間値の満了後、前記ＵＲＬについての後続の要求を前記クライアントから受け取るための入力システムをさらに含む、請求項１２乃至３から請求項１８までのいずれか１項に記載のシステムサーバ。
【請求項２０】
前記セッション・オブジェクトを取得するための手段と、  前記応答識別子を生成するための手段と、  前記応答識別子に基づいて、前記ＵＲＬが以前に要求されたものかどうかを判断するための手段と、  前記応答識別子に基づいて、前記要求に対する前記最終応答について前記キャッシュをチェックするための手段と、  前記最終応答が完成している場合には、該最終応答を前記クライアントに送り、該最終応答が完成していない場合には、新しいリフレッシュ・ヘッダを生成し、新しい暫定的応答と共に該クライアントに送る手段と、をさらに含む請求項１９に記載のシステムサーバ。
【請求項２１】
プログラムがコンピュータ上で動かされたとき、請求項１から請求項１１までのいずれか１項に記載のステップのすべてを実行するようにされたプログラム・コード手段を含むコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】  本発明は、一般に、非同期的に要求を処理するための方法、システム、及びプログラムに関する。具体的には、本発明は、クライアントとの定常的接続を維持することなく、ネットワーク・ベースの要求（例えば、ウェブ要求）が、アプリケーション・サーバにより処理されることを可能にする。
【背景技術】
【０００２】  インターネットの使用がより一般的になるにつれて、ウェブ・ユーザは、情報源として、ますますワールド・ワイド・ウェブに頼るようになってきている。典型的な実施においては、ユーザは、クライアント上でウェブ・ブラウザを動作させ、特定のウェブ・ページについての「要求」をサーバにサブミットする。サーバ上の１つ又はそれ以上の「サーブレット」（など）は、要求を処理し、適切なウェブ・ページをブラウザに戻す。この点では、使用が広範囲に及ぶようになってきている１つの特定の技術は、ウェブのポータル・ページの概念である。一般に、ウェブのポータル・ページは、ユーザが、目標の個別設定されたコンテンツを受け取るための機構を提供する。典型的には、ポータル・ページは、ユーザの好みによって選択され、フォーマットされた、各々が特定のポータル・コンテンツを含むセクション又はビジュアル・ポートレットを含む。例えば、ユーザは、ニュース、天気、及びスポーツのセクションを有する彼／彼女ユーザ自身のポータル・ページを確立することができる。ポータル・ページが要求された場合には、サーバ上のポータル・プログラムが、適切なコンテンツ・プロバイダから所望のコンテンツを取得する。取得されると、ポータル・コンテンツは集約され、次いで、ウェブのポータル・ページとして、適切なセクションにおいて表示される。この技術は、個々のウェブ・ユーザにおいて個別設定された「ホーム」ページの爆発的増加をもたらした。
【発明の開示】
【発明が解決しようとする課題】
【０００３】  残念なことに、これらの場合の各々においては、要求及び応答の取り扱いが同期的に行われる。すなわち、要求がサーバに送られ、クライアントとサーバとの間の接続は、応答が戻されるまで維持される。この方法により接続を維持することは、クライアントが他の作業を実行する能力を制限又は阻止するだけでなく、さらに、サーバが他のクライアントと接続する能力も制限又は阻止することになる。このことは、特に、応答がサーブレット／ポートレットにより処理されねばならない場合に生じる。例えば、ポータル・ページの場合においては、要求に対する応答を作成することは、幾多のコンテンツ源とインターフェースすることを要求することになる。すなわちその結果、応答の作成には、数秒かかることになるもある。クライアントとサーバとの間の接続が、この時間全体において維持される場合には、上述の問題が生じることになる。【０００４】  当該技術分野で知られるように、ハイパーテキスト・トランスファー・プロトコル（ＨＴＴＰ）の下では、サーバは、一般に、クライアントとの接続を開始することができない。逆に、クライアントが、サーバとの接続を開始せねばならない。したがって、要求が処理されている間に、クライアントとサーバとの間の接続が終了した場合には、クライアントだけが新しい接続を開始して、応答を受け取ることができる。現在、クライアントが後で接続を再確立するために、意図的な／人為的な修正をする必要なしに、要求が処理されているときに、クライアントとサーバとの間の接続を終了させることを可能にする既存の技術はない。
【課題を解決するための手段】
【０００５】  有利なことに、本発明は、クライアントからの要求が処理されている間に、該クライアントとサーバとの間の接続を終了させることを可能にし、後で、該クライアントの側から修正又は意図的な動作を行う必要なしに、該クライアントが、自動的に該サーバとの新しい接続を確立することを可能にする。【０００６】  一般に、本発明は、非同期的に要求を処理するための方法、システム、及びプログラムを提供する。具体的には、本発明によれば、サーバ上で、ユニフォーム・リソース・ロケータ（ＵＲＬ）についての要求がクライアントから受け取られる。受け取り後、対応するセッション・オブジェクトが取得され、応答識別子が生成される。応答識別子に基づいて、このＵＲＬが以前にクライアントにより要求されたものであるかどうかが判断される。以前に要求されたものではない場合には、最終応答の生成が開始される。応答が生成されているときには、応答リフレッシュ・ヘッダが生成され、暫定的応答と共にクライアントに戻される。応答リフレッシュ・ヘッダは、クライアントに、ＵＲＬについての後続の要求を自動的に送るようにさせるための時間値を含む。最終応答の生成が完成した後、これは、応答識別子に応じたキャッシュ内に格納される。次いで、応答リフレッシュ・ヘッダにおける時間値の満了後に、後続の要求がクライアントから受け取られた場合には、最終応答が、応答識別子に基づいてキャッシュから検索され、該クライアントに供給される。【０００７】  本発明の第１の態様は、非同期的に要求を処理するための方法を提供し、この方法は、クライアントからユニフォーム・リソース・ロケータ（ＵＲＬ）についての要求を受け取るステップと、該要求に対応するセッション・オブジェクトを取得するステップと、セッション識別子と該ＵＲＬとに基づいて応答識別子を生成するステップと、該応答識別子に基づいて、該ＵＲＬが以前にクライアントにより要求されたかものであるかどうかを判断するステップと、該クライアントに、該ＵＲＬについての後続の要求を自動的に送るようにさせるための時間値を含む応答リフレッシュ・ヘッダを生成するステップと、を含む。【０００８】  本発明の第２の態様は、非同期的に要求を処理するための方法を提供し、この方法は、クライアントからユニフォーム・リソース・ロケータ（ＵＲＬ）についての要求を受け取るステップと、該要求に対応するセッション・オブジェクトを取得するステップと、セッション識別子と該ＵＲＬとに基づいて応答識別子を生成するステップと、該応答識別子に基づいて、該ＵＲＬが以前にクライアントにより要求されたかものであるかどうかを判断するステップと、該ＵＲＬが以前に該クライアントにより要求されたものである場合には、該応答識別子に基づいて、該要求に対する最終応答についてキャッシュをチェックするステップと、最終応答が完成していない場合には、該クライアントに、該ＵＲＬについての後続の要求を自動的に送るようにさせるための時間値を含む応答リフレッシュ・ヘッダを生成するステップと、を含む。【０００９】  本発明の第３の態様は、非同期的に要求を処理するためのシステムを提供し、このシステムは、クライアントから受け取ったユニフォーム・��ソース・ロケータ（ＵＲＬ）についての要求に対するセッション・オブジェクトを取得するためのオブジェクト・システムと、セッション識別子と該ＵＲＬとに基づいて、応答識別子を生成するための応答識別子システムと、該ＵＲＬが以前にクライアントにより要求されたものであるかどうかを判断するための要求チェッキング・システムと、クライアントに、該ＵＲＬについての後続の要求を自動的に送るようにさせるための時間値を含む応答リフレッシュ・ヘッダを生成するためのヘッダ生成システムと、を含む。【００１０】  本発明の第４の態様は、記録可能媒体上に格納され、非同期的に要求を処理するためのプログラムを提供するもので、このプログラムは、実行されたとき、クライアントから受け取ったユニフォーム・リソース・ロケータ（ＵＲＬ）についての要求に対するセッション・オブジェクトを取得するためのプログラム・コードと、セッション識別子と該ＵＲＬとに基づいて、応答識別子を生成するためのプログラム・コードと、該ＵＲＬが以前にクライアントにより要求されたものであるかどうかを判断するためのプログラム・コードと、該クライアントに、該ＵＲＬについての後続の要求を自動的に送るようにさせるための時間値を含む応答リフレッシュ・ヘッダを生成するためのプログラム・コードと、を含む。
【発明の効果】
【００１１】  有利なことに、本発明は、クライアントからの要求が処理されている間に、該クライアントとサーバとの間の接続を終了させることを可能にし、後で、該クライアントの側から修正又は意図的な動作を行う必要なしに、該クライアントが、自動的に該サーバとの新しい接続を確立することを可能にする。
【発明を実施するための最良の形態】
【００１２】  ここで、本発明を、単なる一例に過ぎないものとして、図面に示されるその好ましい実施形態を参照して述べる。  これらの図は、概略的な表現に過ぎないものでありず、本発明の特定のパラメータを表現することを意図するものではない。これらの図は、本発明の典型的な実施形態を示すことを意図するに過ぎず、したがって、本発明の範囲を制限すると考慮されるべきではない。これらの図においては、同様の番号は、同様の要素を表わす。【００１３】  上述のように、本発明は、非同期的に要求を処理するための方法、システム、及びプログラムを提供する。具体的には、本発明によれば、ユニフォーム・リソース・ロケータ（ＵＲＬ）についての要求がサーバ上のクライアントから受け取られる。受け取り後、対応するセッション・オブジェクトが取得され、応答識別子が生成される。応答識別子に基づいて、このＵＲＬが以前にクライアントにより要求されたものであるかどうかが判断される。以前に要求されたものではない場合には、最終応答の生成が開始される。応答が生成されているときには、応答リフレッシュ・ヘッダが生成され、暫定的応答と共にクライアントに戻される。応答リフレッシュ・ヘッダは、クライアントに、ＵＲＬについての後続の要求を自動的に送るようにさせるための時間値を含む。最終応答の生成が完成した後、これは、応答識別子に応じたキャッシュ内に格納される。次いで、応答リフレッシュ・ヘッダにおける時間値の満了後に、後続の要求がクライアントにより受け取られた場合には、最終応答が、応答識別子に基づいてキャッシュから検索され、クライアントに供給される。したがって、ここでの教示は、ハイパーテキスト・トランスファー・プロトコル（ＨＴＴＰ）をサポートする、すべてのブラウザ／システムと併せて実施することができる。【００１４】  ここで用いられる「要求」という用語は、ウェブ要求のように、クライアントからサーバに発行されるネットワーク・ベースの要求を指すことが意図されることを前もって理解すべきである。典型的には、この要求は、特定のユニフォーム・リソース・ロケータ（ＵＲＬ）についてのものである。この点では、さらに以下に述べられるように、この要求は、１つ又はそれ以上のサーブレット、ポートレットなどにより、サーバ上で処理することができる。【００１５】  図１を参照すると、非同期的に要求を処理するためのシステム１０が示されている。本発明によれば、クライアント１２及びサーバ１４は、あらゆる種類のコンピュータ化システムを表わすことができる。例えば、クライアント１２及び／又はサーバ１４は、パーソナル・コンピュータ、ワークステーション、ラップトップ、手持ち式装置などとすることができる。一般に、クライアント１２は、ネットワーク上でサーバ１４と通信する。また、以下でさらに述べられるように、クライアント１２とサーバ１４との間の通信は、インターネットといったあらゆる種類のパブリック・ネットワーク、又は、ローカル・エリア・ネットワーク（ＬＡＮ）、ワイド・エリア・ネットワーク（ＷＡＮ）、バーチャル・プライベート・ネットワーク（ＶＰＮ）などといったあらゆる種類のプライベート広く知れ渡った・ネットワーク上で生じるこ��ができる。一実施形態においては、サーバ１４は、ポータル・ページをクライアント１２に送達するポータル・サーバのようなアプリケーション・サーバである。どのような場合であっても、ユーザ１６は、クライアント１２上のウェブ・ブラウザ１８を動作させて、ウェブ・ページをサーバ１４から要求する。サーバ１４は、コンテンツを種々のコンテンツ源２０から取得することにより、ウェブ・ページ（例えば、要求に対する最終応答）を生成する。生成されると、ウェブ・ページは要求側クライアント１２に送り戻される。【００１６】  図示のように、サーバ１４は、一般に、中央演算処理装置（ＣＰＵ）２２、メモリ２４、バス２６、入力／出力（Ｉ／Ｏ）インターフェース２８、外部装置／リソース３０、及び格納ユニット３２を含む。ＣＰＵ２２は、単一の処理装置を含んでいてもよいし、又は、例えば、クライアント及びコンピュータ・システム上の１つ又はそれ以上の位置における１つ又はそれ以上の処理装置にわたり分散されていてもよい。メモリ２４は、磁気媒体、光学媒体、ランダム・アクセス・メモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、データ・キャッシュ４０、データ・オブジェクトなどのあらゆる既知の種類のデータ格納装置及び／又は伝送媒体を含むことができる。さらに、ＣＰＵ２２と同様に、メモリ２４は、１つ又はそれ以上の種類のデータ格納装置を含む単一の物理的な位置に常駐していてもよいし、又は、種々の形態において、複数の物理的なシステムにわたり分散されていてもよい。【００１７】  Ｉ／Ｏインターフェース２８は、外部ソースに／外部ソースから、情報を交換するためのあらゆるシステムを含むことができる。外部装置／リソース３０は、スピーカ、ＣＲＴ、ＬＣＤスクリーン、手持ち式装置、キーボード、マウス、音声認識システム、音声出力システム、プリンタ、モニタ／ディスプレイ、ファクシミリ、ページャなどを含むあらゆる既知の種類の外部装置を含むことができる。バス２６は、サーバ１４における部品の各々の間に通信リンクを与え、同様に、電気、光学、無線などを含むあらゆる既知の種類の伝送リンクを含むことができる。【００１８】  格納ユニット３２は、本発明によれば、情報のための格納装置を与えることができるあらゆるシステム（例えば、データベース）とすることができる。このような情報は、とりわけ、セッション・オブジェクト、応答識別子、暫定的応答などを含むことができる。すなわち、格納ユニット３２は、磁気ディスク・ドライブ又は光学ディスク・ドライブのような１つ又はそれ以上の格納装置を含むことができる。別の実施形態においては、格納ユニット３２は、例えば、ローカル・エリア・ネットワーク（ＬＡＮ）、ワイド・エリア・ネットワーク（ＷＡＮ）又はストレージ・エリア・ネットワーク（ＳＡＮ）（図示せず）にわたり分散されるデータを含む。【００１９】  上述のように、本発明の教示は、典型的には、インターネット、ワイド・エリア・ネットワーク（ＷＡＮ）、ローカル・エリア・ネットワーク（ＬＡＮ）、バーチャル・プライベート・ネットワーク（ＶＰＮ）などの上のようなネットワーク環境において実施される。この点では、クライアント１２とサーバ１４との間の通信は、直接配線接続（例えば、シリアル・ポート）によってであるか、又は、ワイヤーライン及び／又は無線伝送方法のあらゆる組み合わせを使用することができるアドレス可能な接続によって生じることができる。サーバ１４とクライアント１２は、トークン・リング、イーサネット、ＷｉＦｉ又は他の通常の通信規格のような通常のネットワーク接続性を使用することができる。さらに、接続性は、通常のＴＣＰ／ＩＰソケット・ベースのプロトコルにより提供することができる。この場合においては、クライアント１２は、インターネット・サービス・プロバイダを使用して、サーバ１４に対する接続性を確立する。【００２０】  メモリ２４においては、要求処理システム３６、サーブレット／ポートレット３８、及びキャッシュ４０が示される。一般に、要求処理システム３６は、クライアント１２又はブラウザ１８の側から修正又は動作を要求することなく、該クライアント１２からの要求が非同期的に処理されることを可能にする。さらに、要求処理システム３６は、現在のポータル又はアプリケーション・サーバ・プログラムのコンポーネントの幾つか又はすべてを含むことができる。例えば、要求処理システム３６は、ＷｅｂＳｐｈｅｒｅ  Ａｐｐｌｉｃａｔｉｏｎ  Ｓｅｒｖｅｒ及び／又はＷｅｂＳｐｈｅｒｅ  Ｐｏｒｔａｌ  Ｓｅｒｖｅｒのコンポーネントを組み入れることができる（ＷｅｂＳｐｈｅｒｅは、インターナショナル・ビジネル・マシーンズ・コーポレーションの登録商標である）。【００２１】  図１及び図２を総合的に参照すると、本発明の教示がより詳細に述べられている。図２に示す要求処理システム３６の実施形態は、例示的なものに過ぎないことが意図されることを前もって理解すべきである。すなわち、そのサブシステムは、より多くの又はより少ないサブシステムとして実施することができる。例えば、入力システム５０及び出力システム６８を組み合わせて、単一の「通信システム」にすることができる。どのような場合であっても、本発明によれば、要求がクライアント１２から送られた場合には、これは入力システム５０により受け取られる。受け取り後に、オブジェクト・システム５２が、クライアント１２とサーバ１４との間のセッションに対応するセッション・オブジェクトを取得する。セッション・オブジェクトは、典型的には、とりわけ、セッションに対応するセッション識別子を示す。セッションが新しいセッションである場合には、オブジェクト・システム５２は、セッション・オブジェクトを作成し、同じものを格納ユニット３２内に格納する。対照的に、セッションが以前に作成されたものである場合には、オブジェクト・システム５２は、該セッション・オブジェクトを格納ユニット３２から検索することができる。それにも関わらず、セッション・オブジェクトが取得されると、応答識別子システム５４は、応答識別子を生成する。典型的には、応答識別子は、セッション・オブジェクトからのセッション識別子と、要求されたユニフォーム・リソース・ロケータ（ＵＲＬ）のハッシュとを含む。このことは、特定のセッション及び要求されたＵＲＬの両方を参照することを可能にする。【００２２】  応答識別子が生成されると、要求チェッキング・シス���ム５６は、そのＵＲＬが以前にクライアント１２により要求されたものであるかどうかを判断する。具体的には、要求チェッキング・システム５６は、セッション・オブジェクトにおける「要求」表にアクセスする。応答識別子がそこにリスト表示されている場合には、そのＵＲＬは以前にクライアント１２によって要求されたものであることを意味する。この場合においては、キャッシュ・チェッキング・システム５８がキャッシュ４０をチェックして、要求に対する最終応答が完成したかどうかを判断する。一般には、要求に対する最終応答は、応答識別子によって、応答キャッシング・システム６６によりキャッシュされる。したがって、キャッシュ・チェッキング・システムは、適合する応答識別子について、キャッシュ４０をチェックすることができる。最終応答が完成している場合には、これは、出力システム６８により、クライアント１２に戻される。【００２３】  しかし、応答識別子がセッション・オブジェクトの要求表にリスト表示されていないと要求チェッキング・システム５６が判断した場合（すなわち、ＵＲＬが以前にクライアント１２によって要求されていない場合）には、該システムは、要求を命令と共に応答キャッシング・システムに通信する。この命令は、要求に対する最終応答が、応答識別子に応じたキャッシュ４０内に格納されるべきであることを示す。同時に、又はほぼ同時に、応答生成システム６４が最終応答の生成を開始する。典型的な実施形態においては、応答生成システム６４は、コンテンツ源２０から対応するコンテンツを取得する１つ又はそれ以上のサーブレット／ポートレット３８（図１）を呼び出す。この点では、サーブレット／ポートレット３８は、標準的な又は遠隔のポートレット（例えば、遠隔ポータルのためのウェブ・サービス）を含むことができ、コンテンツ源２０は、独立した組織、データ構造、格納ユニットなどを含むことができる。どのような場合であっても、最終応答が生成されているときには、ヘッダ生成システム６０は、クライアント１２に、同じＵＲＬについての後続の要求を自動的に送るようにさせるための時間値を含む応答リフレッシュ・ヘッダを生成する。この時間値は、プログラマ４４（図１）により確立することができ、これは、ほぼ、最終応答を作成するのにかかる時間の量である。例えば、この要求に対する最終応答を生成し、これを戻すのに１０秒かかる場合には、応答リフレッシュ・ヘッダにおける時間値は、１１秒とすることができる。このことは、クライアント１２とサーバ１４との間の接続を、最終応答が生成されている間に終了させることを可能にする。【００２４】  応答リフレッシュ・ヘッダは、出力システム６８によって、暫定的応答システム６２により生成される暫定的応答と共にクライアントに戻される。時間値と同様に、暫定的応答は、プログラマ４４により定義することが可能である。例えば、暫定的応答は、「要求が処理されています」と示すページとすることができる。最終応答が完成すると、応答キャッシング・システム６６が、これを応答識別子に応じたキャッシュ４０内に格納して、容易に相互参照できるようにする。【００２５】  クライアント１２は、ブラウザ１８において暫定的応答���び応答リフレッシュ・ヘッダを受け取る。応答リフレッシュ・ヘッダにおける時間値の満了後、ブラウザ１８は、ＵＲＬについての後続の要求を自動的にサーバ１４に送る。具体的には、ＨＴＴＰの下では、ブラウザ１８は、ユーザ１６側からはどのような意図的な又は人為的な動作もなしに、本発明の応答リフレッシュ・ヘッダのようなヘッダを取り扱い、処理して、自動的に要求を生成し、送るように構成することができる。したがって、応答リフレッシュ・ヘッダは、どのようなクライアント１２又はブラウザ１８の修正もなしで、要求処理を非同期的にすることを可能にする。【００２６】  後続の応答が入力システム５０により受け取られる。以前の要求と同様に、オブジェクト・システム５２が、対応するセッション・オブジェクトを取得する。これは後続の応答であるため、セッション・オブジェクトは、既に存在しているはずである。したがって、オブジェクト・システム５２は、格納ユニット３２から同じものを検索することができる。セッション・オブジェクトを取得した後、応答識別子が、応答識別子システム５４により再生される。上述のように、応答識別子は、セッション識別子と要求されたＵＲＬのハッシュとを含む。応答識別子を用いることにより、要求チェッキング・システム５６は、このＵＲＬが以前に要求されたものであるかどうか判断する。具体的には、要求チェッキング・システム５６は、セッション・オブジェクトにおける要求表をチェックする。このＵＲＬは以前にクライアントにより要求されたものであるため、応答識別子は、要求表にリスト表示されているはずである。したがって、キャッシュ・チェッキング・システム５８はキャッシュ４０をチェックして、最終応答が完成したかどうかを判断する。具体的には、キャッシュ・チェッキング・システム５８は、応答識別子を用いて、最終応答をチェックする。最終応答が完成している場合には、これはキャッシュ・チェッキング・システム５８によりキャッシュ４０から検索され、出力システム６８によりクライアント１２に送られて、ブラウザ１８において表示される。しかし、最終応答が依然として完成していない場合には、ヘッダ生成システム６０が、時間値をもつ新しい応答リフレッシュ・ヘッダを生成する。この時間値は、以前の応答リフレッシュ・ヘッダと同じであってもよいし、又は、新しい異なる時間であってもよい。どのような場合であっても、新しい応答リフレッシュ・ヘッダは、出力システム６８により、新しい暫定的応答と共にクライアント１２に送られる。新しい応答リフレッシュ・ヘッダにおける時間値の満了後、クライアント１２は、ＵＲＬについての別の要求をサブミットし、これも同様な方法により処理される。【００２７】  ここで図３を参照すると、本発明のフロー図１００が示されている。図示のように、ＵＲＬについての要求がステップＳ１で受け取られる。ステップＳ２では、セッション・オブジェクトが取得され、ステップＳ３では、応答識別子が生成される。ステップＳ４では、応答識別子に基づいて、このＵＲＬが以前にクライアントによって要求されたものであるかどうかが判断される。このＵＲＬが以前に要求されたものではない場合には、最終応答の生成がステップＳ５において開始される。ステップＳ６では、命令が要求と共にキャッシング・システムに通されて、完成した場合には、最終応答を応答識別子に応じたキャッシュに格納する。最終応答が生成されているとき、応答リフレッシュ・ヘッダがステップＳ７で生成される。応答リフレッシュ・ヘッダは、ステップＳ８において、暫定的応答と共にクライアントに戻される。【００２８】  応答リフレッシュ・ヘッダにおける時間値の満了後、クライアントは、ステップＳ９で、ＵＲＬについての後続の要求を送る。ステップＳ１での受け取り後、ステップＳ２ないしＳ４が繰り返される。具体的には、セッション・オブジェクトが取得され、応答識別子が生成されて、このＵＲＬが以前にクライアントにより要求されたものであるかどうか判断される。このＵＲＬは以前にクライアントに要求されたものであるため、ステップＳ１０でキャッシュがチェックされて、要求に対する最終応答が完成しているかどうかが判断される。完成している場合には、ステップＳ１１で、最終応答がキャッシュから検索され、クライアントに戻される。最終応答が依然として完成していない場合には、新しい応答リフレッシュ・ヘッダが、ステップＳ７において生成され、ステップＳ８で、新しい暫定的応答と共に、クライアントに戻される。このプロセスは、最終応答がクライアントに戻されるまで繰り返される。【００２９】  本発明は、ハードウェア、ソフトウェア、又はハードウェアとソフトウェアの組み合わせにより実現することができることを理解すべきである。どのような種類のコンピュータ／コンピュータ・システム、又はここに述べられる方法を実行するようにされた他の装置も適している。典型的なハードウェアとソフトウェアの組み合わせは、ロードされ、実行された場合には、ここに述べられたそれぞれの方法を実行するコンピュータ・プログラムをもつ汎用コンピュータ・システムとすることができる。或いは、本発明の機能的タスクの１つ又はそれ以上を実行するための特殊化ハードウェアを含む特定用途コンピュータを使用してもよい。本発明は、さらに、ここに述べられる方法の実施を可能にする、すべてのそれぞれの特徴を含み、コンピュータ・システムにロードされた場合には、これらの方法を実行することができるコンピュータ・プログラムに埋め込むことができる。本明細書の文脈においては、コンピュータ・プログラム、ソフトウェア・プログラム、プログラム、又はソフトウェアは、情報処理能力を有するシステムに、直接に、或いは、（ａ）別の言語、コード、又は表記への変換、及び／又は、（ｂ）異なる材料形態での再生成、の一方又は両方の後に、特定の機能を実行させるようにすることが意図された一組の命令についての、なんらかの言語、コード、又は注釈による、なんらかの表現を意味する。【００３０】  本発明の好ましい実施形態の上記の説明は、例示目的及び説明目的のために与えられている。これは、網羅的なものを意図するものでもないし、又は開示される精密な形態に本発明を限定することを意図するものでもなく、明らかに、多くの修正及び変形態様が可能である。当業者には明らかである、このような修正及び変形態様は、特許請求の範囲により定義される本発明の範囲内に含まれることが意図される。
【図面の簡単な説明】
【００３１】
【図１】本発明による、非同期的に要求を処理するためのシステムを示す。
【図２】図１の要求処理システムをより詳細に示す。
【図３】本発明による方法のフロー図を示す。
【図１】
2007500889.tif 000003
【図２】
2007500889.tif 000004
【図３】
2007500889.tif 000005
【国際調査報告】
2007500889.tif 000006
2007500889.tif 000007
2007500889.tif 000008