(57)【要約】【課題】複数の要求応答サイクルにまたがった動的ページの単一パス実行に関するシステム（３０）および方法を提供すること。【解決手段】システム（３０）は、互いに通信するクライアント（３２）およびサーバ（３４）を備える。コンテナ（３５）はサーバ上に常駐し、動的ページ（３６）の結果に関して出された要求を処理する。コンテナは動的ページの処理を制御する。動的ページが処理を継続するために追加情報を必要とする場合、中間要求（４４）がクライアントに送信され、クライアントは追加情報を含む中間応答（４６）で応答する。通知機能サーブレット（３８）は中間応答を受信し、中断なしに実行が再開できるように、この情報を動的ページに渡す。【選択図】  図２
2009517724.tif 000002
【特許請求の範囲】
【請求項１】
クライアント／サーバ環境においてサーバ側コンピュータ上で動的ページを実行するための方法であって、
前記動的ページの実行のために、クライアントからの要求を受信するステップと、
前記動的ページの実行を開始するステップと、
各インスタンスで、実行を継続するために、前記実行動的ページが前記要求側クライアントからの追加情報を必要とする場合、
（ａ）情報に関する中間要求を前記動的ページから前記クライアントに送信し、前記実行動的ページが待機状態に入るステップと、
（ｂ）前記クライアントから要求された前記情報を、通知機能エンティティによって受信し、前記情報を前記実行動的ページに渡すステップと、
（ｃ）前記情報を使用して前記実行動的ページの実行を継続するステップと、
前記動的ページの結果に基づいて、前記クライアントに応答を送信するステップと、
を含む、方法。
【請求項２】
前記要求を受信するステップが、Ｊａｖａ（R)  Ｓｅｒｖｅｒ  Ｐａｇｅ（ＪＳＰ）に関する要求を受信するステップと、前記ＪＳＰをサーブレットにコンパイルするステップとを含む、請求項１に記載の方法。
【請求項３】
前記動的ページがＡｃｔｉｖｅ  Ｓｅｒｖｅｒ  Ｐａｇｅ（ＡＳＰ）である、請求項１に記載の方法。
【請求項４】
前記要求を受信するステップが、前記要求された動的ページの位置を特定するために、前記要求をコンテナに転送する他のステップを含む、請求項１に記載の方法。
【請求項５】
前記情報を前記実行動的ページに渡すステップが、前記実行動的ページが前記待機状態に入った時点から実行を再開するように、前記待機状態にある前記実行動的ページに通知するステップをさらに含む、請求項１に記載の方法。
【請求項６】
動的ページを実行するためのシステムであって、
動的ページの実行に関する要求をクライアントから受信するための第１の受信手段と、
前記要求された動的ページを処理するための処理手段と、
追加情報に関する中間要求をクライアントに送信するための送信手段と、
前記要求された追加情報を前記クライアントから受信するための第２の受信手段と、
を備え、さらに前記送信手段は、前記動的ページの処理の結果に基づいて、前記クライアントに応答を送信するように構成される、システム。
【請求項７】
前記送信手段が前記中間要求を送信するのに先立って、前記動的ページが待機状態に入る、請求項６に記載のシステム。
【請求項８】
前記第２の受信手段は、前記受信された追加情報を前記処理中の動的ページに渡し、前記受信された追加情報を使用して処理を再開するように前記動的ページに通知する手段をさらに備える、請求項６に記載のシステム。
【請求項９】
前記第２の受信手段は通知機能エンティティである、請求項７に記載のシステム。
【請求項１０】
前記処理手段は、Ｊａｖａ（R)  Ｓｅｒｖｅｒ  Ｐａｇｅ（ＪＳＰ）をサーブレットにコンパイルするための手段をさらに備える、請求項６に記載のシステム。
【請求項１１】
前記処理手段は、前記動的ページの実行を中断し、待機状態に入るための手段をさらに含む、請求項６に記載のシステム。
【請求項１２】
デジタル・コンピュータの内部メモリにロード可能なコンピュータ・プログラムであって、前記コンピュータ・プログラムがコンピュータ上で実行された場合、請求項１から５に記載されたように本発明を実施するために実行するためのソフトウェア・コード部分を備える、コンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般にサーバ・サイド動的ページ（server-side dynamic page）に関し、とりわけ、クライアントとサーバとの間での複数の要求応答サイクルにまたがった動的ページの単一パス実行に関する。
【背景技術】
【０００２】
インターネットまたはワールド・ワイド・ウェブでは、情報はハイパーテキスト転送プロトコル（ＨＴＴＰ）の要求応答サイクルを介して交換される。たとえばクライアントは、情報に関する要求をサーバに提出することによって、サイクルを開始することができる。この要求は、静的ページ（ＨＴＭＬまたはＶＸＭＬなど）、動的ページ（ＪＳＰ、ＡＳＰ、またはＰＨＰなど）、または、戻りページを生成するために特定のアプリケーション（サーブレットなど）を実行するようにとの要求に関するものとすることができる。サーバは、こうした要求をクライアントから受信すると、要求されたページまたはアプリケーションを取り出すこと、必要に応じて実行すること、必要であればデータベースにアクセスすること、他のサーバへの接続を確立することなど、戻りページを生成するために必要なタスクを実行する。サーバは、必要な情報を取得すると、クライアントに応答を送信して要求応答サイクルを完了する。
【０００３】
クライアントとサーバとの間に確立される要求応答シーケンスは「ラウンドトリップ」と呼ばれ、クライアントが要求を出すごとに実行される。サーバは、単一のクライアントからの複数の要求に応じるか、別の方法として、複数のクライアントからの要求を処理するように構成することができる。どちらの場合も、サーバが受信するあらゆる要求に、個別に対応しなければならない。
【０００４】
サーバ・サイド動的ページの単一パス実行については、当分野で知られており、クライアント／サーバ・ネットワークのクライアント・コンピュータから要求を受信するための技法を含む、クライアント／サーバ・ネットワークのローカル・サーバ・コンピュータを動作させるための方法および装置について記載した、公開米国特許出願第２００３／０００９５１９号明細書（Ｊａｍｅｓ  Ａ．Ｇｏｓｌｉｎｇ、２００３年１月９日出願）に開示されている。要求が、クライアント／サーバ・ネットワークのサーブレット・オブジェクトからの動的に生成された情報を必要とするかどうかが判別される。必要とする場合、要求に対応する指定されたサーブレット・オブジェクトを、クライアント／サーバ・ネットワークのリモート・サーバ・コンピュータからアップロードすることができる。その後、要求に対応する動的に生成された情報を取得するために、指定されたサーブレット・オブジェクトが実行される。
【０００５】
ウェブ・アプリケーションを開発するためのサーバ側のページおよびスクリプト記述の能力は、アプリケーションがサーバ側コンポーネントの速度、信頼性、およびセキュリティを強化できるようにするそれらの機能に由来し、音声アプリケーションの開発のための一般的な技法として出現しつつある。サーバ側動的ページは、本明細書ではコンテナと呼ばれる、動的なウェブ・コンテンツ実行環境によって処理することができる。「コンテナ」という用語は一般に、主にサーブレットおよびＪＳＰに関する動的なウェブ・コンテンツ実行環境を言い表す際に使用されるが、以下では、一貫した用語を保証するために、ＡＳＰおよびＰＨＰのような他の動的ページを言い表す際にも使用される。同様に、「動的ページ」という用語は、本発明が適用される、ＡＳＰ、ＪＳＰ、ＰＨＰ、ならびにサーブレットなどの、汎用クラスのサーバ側ページを定義する際に使用される。コンテナは、動的ページに関するクライアントからの要求を受信および解析し、動的ページの結果に基づいてクライアントに応答を送信し、サーバ側動的ページの状態を維持する。コンテナは、通常、必要であればコンテナに転送されるＨＴＴＰ要求をクライアントから受信する、外部ウェブ・サーバに関連して動作する。http://www.onjava.com/pub/a/onjava/2003/05/14/java_webserver.htmlの「Ｈｏｗ  Ｓｅｒｖｌｅｔ  Ｃｏｎｔａｉｎｅｒｓ  Ｗｏｒｋ」と題する好適なコンテナの例に、オンラインでアクセスすることができる。
【０００６】
コンテナは、適切なサーブレット、ＪＳＰ、ＰＨＰ、またはＡＳＰの実行も担当する。一例として具体的にサーブレットの実行を参照すると、サーブレットがサービス実行中となっていることをサーブレットに示すために、サーブレット・クラスがインスタンス化された後に、コンテナによってｉｎｉｔメソッドが１回呼び出される。ｉｎｉｔメソッドは、サーブレットがいずれかの要求を受信する前に、正常に完了しなければならない。その後、コンテナはｓｅｒｖｉｃｅメソッドを呼び出して、サーブレットが要求に応答できるようにする。ｓｅｒｖｉｃｅメソッドの実行中は、通常、クライアントがサーブレットの実行に影響を与えることも、サーブレットがいかなる追加の情報をクライアントに要求することも、できない。実行が完了すると、コンテナは、サーブレット・インスタンスをサービスから除去する前に、ｄｅｓｔｒｏｙメソッドを呼び出す。サーブレットのｓｅｒｖｉｃｅメソッドから戻ると、コンテナは、サーブレットの結果に基づいて応答を構築し、これをクライアントに送信する。その後、ウェブ・サーバへの接続が終了する。
【０００７】
前述の実行メソッドは、グラフィカル・ユーザ・インターフェース（ＧＵＩ）などの、本来は空間的な情報に関する視覚プロンプトを利用するユーザにとって、有効に働く。残念ながら、音声アプリケーション・インターフェースの一時的な性質は、従来の単一パス実行が好適でないことを意味する。オンライン支払いアプリケーションの場合のように、クライアントが複数分野の情報を提供する必要がある場合、入力されたデータ（クレジット・カード番号および有効期限など）は、しばしば、データベースを呼び出すサーバ側コンポーネントを使用して妥当性検査される。ＧＵＩベースのアプリケーションは、情報を空間的に集めることが可能であり、サブミット後、サーバによって妥当性検査される。一部またはすべての情報が有効でない場合、クライアントにその問題を通知するために、別の応答ページが戻される。しかしながら、音声アプリケーションの場合、情報は一連の質疑応答確認ステップを使用し、ある期間にわたって一時的に集められる。この種のインターフェースは、何らかの情報が無効である場合、ユーザに即時に通知されることが必要である。従来の単一パス手法を使用する音声アプリケーションの実行は煩雑であり、検証時に別の試行が発生する前にすべての情報を口頭で再入力することが必要になるため、ユーザに不満を生じさせる。
【特許文献１】公開米国特許出願第２００３／０００９５１９号明細書
【非特許文献１】http://www.onjava.com/pub/a/onjava/2003/05/14/java_webserver.htmlの「Ｈｏｗ  Ｓｅｒｖｌｅｔ  Ｃｏｎｔａｉｎｅｒｓ  Ｗｏｒｋ」
【発明の開示】
【発明が解決しようとする課題】
【０００８】
本発明の目的は、前述の諸問題のうち、少なくとも１つまたは複数を削減することである。
【課題を解決するための手段】
【０００９】
本発明の態様は、クライアント／サーバ環境において、サーバ側コンピュータ上で動的ページを実行するための方法を提供する。当該動的ページの実行のために、クライアントからの要求が受信される。動的ページの実行が開始される。各インスタンスで、実行を継続するためには、実行動的ページが要求側クライアントからの追加情報を必要とする場合、（ａ）情報に関する中間要求が動的ページからクライアントに送信され、当該実行動的ページが待機状態に入り、（ｂ）クライアントから要求された情報が、通知機能（notifier）エンティティによって受信され、情報が実行動的ページに渡され、（ｃ）情報を使用して、実行動的ページの実行を継続する。動的ページの結果に基づいて、クライアントに応答が送信される。
【００１０】
本発明の他の態様は、動的ページを実行するためのシステムを提供する。第１の受信手段は、動的ページの実行に関する要求をクライアントから受信し、処理手段は、要求された動的ページを処理する。送信手段は、追加情報が必要な場合、こうした追加情報に関する中間要求をクライアントに送信し、第２の受信手段は、要求された追加情報をクライアントから受信する。さらに送信手段は、当該動的ページの処理の結果に基づいて、クライアントに応答を送信するように構成される。
【００１１】
本発明の他の態様は、本明細書に記載された方法に従って動的ページを実行するためのコンピュータ・プログラムが内部に記録されたコンピュータ読み取り可能メディアを備える、コンピュータ・プログラム製品を提供する。
【００１２】
さらに、動的ページを実行するためのシステムが開示される。第１の受信器は、少なくとも、動的ページに関する要求をクライアントから受信し、プロセッサは、要求された動的ページを処理する。送信器は、追加情報に関する中間要求をクライアントに送信し、第２の受信器は、要求された追加情報をクライアントから受信する。送信器は、当該動的ページの処理の結果に基づいて、当該クライアントに応答を送信するように構成される。
【００１３】
他の態様から見ると、本発明は、動的ページを実行するためのコンピュータ・プログラムが内部に記録されたコンピュータ読み取り可能メディアを備える、コンピュータ・プログラム製品を提供し、当該コンピュータ・プログラム製品は、当該動的ページの実行に関する要求をクライアントから受信するためのコンピュータ・プログラム・コード手段と、当該動的ページの実行を開始するためのコンピュータ・プログラム・コード手段と、各インスタンスで、当該動的ページの実行が、実行を継続するために当該要求側クライアントから追加の情報を必要とする場合に、（ａ）情報に関する中間要求を、当該動的ページから当該クライアントに送信し、当該実行動的ページに関する待機状態に入るため、（ｂ）当該クライアントから当該要求された情報を通知機能サーブレットによって受信し、当該情報を当該実行動的ページに渡すため、および、（ｃ）当該情報を使用する当該実行動的ページの実行を継続するための、コンピュータ・プログラム・コード手段と、当該動的ページの結果に基づいて、当該クライアントに応答を送信するためのコンピュータ・プログラム・コード手段と、を備える。
【００１４】
他の態様から見ると、本発明は、少なくとも、動的ページに関する要求をクライアントから受信するための第１の受信器と、当該要求された動的ページを処理するためのプロセッサと、追加情報に関する中間要求を当該クライアントに送信するための送信器と、当該要求された追加情報を当該クライアントから受信するための第２の受信器と、を備え、当該送信器は、当該動的ページの処理の結果に基づいて、当該クライアントに応答を送信するように構成される、動的ページを実行するためのシステムを提供する。
【００１５】
好ましくは、本発明は、当該送信器が当該中間要求を送信するのに先立って当該動的ページが待機状態に入る、システムを提供する。
【００１６】
好ましくは、本発明は、当該受信器が、受信した当該追加情報を処理中の当該動的ページに渡し、受信した当該追加情報を使用して処理を再開するように当該動的ページに通知するための手段をさらに備える、システムを提供する。
【００１７】
好ましくは、本発明は、当該第２の受信器が通知機能エンティティである、システムを提供する。
【００１８】
好ましくは、本発明は、当該プロセッサが、ＪａｖａＳｅｒｖｅｒ  Ｐａｇｅ（ＪＳＰ）をサーブレットにコンパイルするための手段をさらに備える、システムを提供する。
【００１９】
好ましくは、本発明は、当該プロセッサが当該動的ページの実行を中断し、待機状態に入るための手段をさらに含む、システムを提供する。
【発明を実施するための最良の形態】
【００２０】
既知の実装環境（implementation）
図１は、クライアント１２およびサーバ１４を備えるシステム１０を示す機能ブロック図である。クライアント１２およびサーバ１４は、既知の実装環境に従ったラウンドトリップ動作を実行中である。システム１０では、クライアント１２およびサーバ１４は、仲介なしに互いに直接通信する。たとえばサーバ１４は、クライアントと通信可能なＪ２ＥＥ準拠のウェブ・サーバとすることが可能であり、ＪＳＰおよびサーブレットを処理するためのコンテナ１５を備える。クライアント１２は、サーブレット１６などの動的ページの結果を必要とする場合、サーバ１４に要求２０を送信する。要求されたページがＪＳＰの場合、対応するサーブレット１６にコンパイルされる。特に、一例としてサーブレット１６の実行を参照すると、サーブレット１６が最初に実行されている場合、コンテナ１５はサーブレット１６をロードし、ｉｎｉｔメソッドを呼び出す。次にコンテナは、サーブレット１６のｓｅｒｖｉｃｅメソッドを実行する。例として、サーブレット１６が複数のコード・ブロック１８ａ〜１８ｅを備えるものと考えてみる。サーブレット１６を完全に実行するには、コード・ブロック１８ａ〜１８ｅのそれぞれが正常に実行される必要がある。すべてのコード・ブロック１８ａ〜１８ｅが実行されると、ｓｅｒｖｉｃｅメソッドは終了し、最終応答２２がクライアント１２に送信される。これにより、サーブレット１６に対する要求応答サイクルが構成される。同様の従来技術システムを、ＡＳＰコンテナ内に常駐するＡＳＰの実行に使用することができるが、ＡＳＰはコード・ブロックで実行されるようにスクリプト記述されているため、ＡＳＰをサーブレット内にコンパイルする必要はない。
【００２１】
システム１０では、クライアント１２の要求２０の実行を完了するために、サーブレット１６が追加の情報を必要とする場合がある。従来技術に従ってこれを達成する２つの方法は、（ｉ）サーブレット１６の実行を中断してクライアント１２に情報を要求し、中断地点から実行を再開するように注意しながら、追加の情報と共にサーブレット１６を再訪すること、または、（ｉｉ）各コード・ブロック１８ａ〜１８ｅを別々のＪＳＰとして書き込むことである。この第１の方法は、サーブレット１６の複雑な状態管理を必要とし（特に、他の情報を取り出す場合）、第２の方法はスケーラブルでない。
【００２２】
実施形態
次に図２を参照すると、複数の要求応答サイクルにまたがった、サーブレット、ＡＳＰ、およびＪＳＰなどの動的ページの単一パス実行のためのシステム３０の、機能ブロック図が示されている。システム３０は、仲介の必要なしに互いに直接に通信するクライアント３２およびサーバ３４を備える。クライアント３２が動的ページ３６の結果を組み込んだページを要求する場合、初期要求４０がサーバ３４に送信される。サーバ３４は、コンテナ３５内に格納され、これによって管理される、複数の動的ページ３６を含むことができる。要求されたページがＪＳＰの場合、コンテナ３５はＪＳＰを対応するサーブレットにコンパイルする。ＡＳＰまたはサーブレット（それらのそれぞれのコンテナに常駐することも可能であるが、図示されていない）への要求は、コンパイルの必要なしに実行される。動的ページ３６を、複数の連続するコード・ブロック４２ａ〜４２ｅを有し、サーブレット３６の実行を完了するために各ブロックが順番に実行されるものとみなすことが有用である。任意のコード・ブロック４２ａ〜４２ｅの終わりに、実行を継続するために追加の情報が必要な場合、動的ページ３６は、サーバ３４を介してクライアント３２に中間要求４４を送信する。中間要求４４は、クライアント３２によって出された初期要求４０から決定された、ＨＴＭＬ、ＸＭＬ、ＶＸＭＬなどの、クライアント３２の適切なマークアップで送信される。実行が適切な時点から継続可能であることを保証するために、動的ページ３６は、中間要求４４を送信するのに先立って待機状態に入る。クライアント３２は中間要求４４を受信し、要求された情報を入力し、中間応答４６を通知機能エンティティに送信する。通知機能は、サーブレットである必要はないが、クライアントから要求を受信し、これを解析し、関連する情報を抽出して、これを待機中の動的ページに渡すことができる任意のエンティティであるため、通知機能エンティティによって渡された情報を使用して実行を再開することができる。サーブレットおよびＪＳＰの場合、実装環境は単純な通知機能サーブレットであるが、一般には、コンテナ内部に実装される任意のソフトウェア・エンティティとすることができる。通知機能エンティティ３８は、実行動的ページ３６に情報を渡し、処理が継続可能であることを実行動的ページ３６に通知する。中間応答４６内に含まれる情報が適切でない場合、動的ページ３６は中間要求４４を再送し、他の中間応答４６がクライアント３２から受信されるまで、再度待機状態に入る。中間要求４４を再送するプロセスは、中間応答４６が適切な情報を含むまで継続される。同様に、複数のコード・ブロック７２ａ〜７２ｅがクライアント３２から追加の情報を必要とする場合、動的ページ３６は、複数の中間要求４４を送信することができる。クライアント３２が中間応答４６を送信するごとに、通知機能エンティティ３８はこの応答を受信し、情報を実行動的ページ３６に渡して、処理を継続することを実行動的ページ３６に通知する。
【００２３】
実行動的ページ３６が最終コード・ブロック７２ｅの終わり（すなわち、動的ページ３６の終わり）に達すると、実行された動的ページの結果が生成される。結果は、サーバ３４によってクライアント３２に送信される最終応答４８を生成するために、コンテナ３５によって使用される。最終応答４８は、ラウンドトリップ条件なし（すなわち、単一パス実行）で送信されることになる、実際の応答である。この場合、サーブレット３６の作成者は、既存の単一パス実行原理に基づいてサーブレット・コードを生成することが可能であり、依然としてこのアプリケーションは、複数パス実行を必要とする条件（音声など）を使用するアプリケーションに使用することができる。
【００２４】
次に図３を参照すると、好ましい実施形態に従った、動的ページ３６を実行する場合に行われるステップの流れ図５０が示される。サーバ３４は、動的ページ３６に関する要求を受信して（ステップ５２）、この要求をコンテナ３５に渡し、コンテナ３５は適切な動的ページ３６を取り出す。次にコンテナ３５は要求された動的ページ３６を実行する（ステップ５４）。要求された動的ページがＪＳＰの場合、コンテナ３５は、実行の前に対応するサーブレットにＪＳＰをコンパイルすることになる。
【００２５】
実行された各コード・ブロックの終わりに、動的ページ３６は、後続のコード・ブロックを実行するために追加情報が必要であるかどうかをチェックする（ステップ５６）。実行を継続するために追加情報が必要であると判別された場合、動的ページ３６は待機状態に入り、中間要求をクライアント３４に送信する（ステップ５８）。動的ページ３６が要求された情報を受信すると、待機状態に入った時点から実行が継続される（ステップ６０）。情報を要求し、情報が受信されるまで動的ページ３６の実行を中断するプロセスは、動的ページ３６の実行中に複数回発生する可能性がある。動的ページ３６の実行が最終コード・ブロックに達し、クライアント３２からの情報がそれ以上必要でないと判別されると、動的ページ３６の実行は終了する。実行された動的ページ３６の結果に基づいて、コンテナ３５は最終応答を生成し、サーバ３４は最終応答をクライアント３２に送信する（ステップ６２）。
【００２６】
さらに図４を参照すると、クライアント３２に追加の情報を要求し、動的ページ３６の実行を停止し、その後、追加情報が受信されると実行を再開するために行われる、ステップ（図３のステップ５８および６０）を詳細に説明する流れ図７０が示される。実行動的ページ３６の実行を継続するために追加情報が必要であると判別されると（ステップ７２）、動的ページ３６は待機状態に入り、追加情報に関する中間要求をクライアント３２に送信する（ステップ５８）。追加情報を含む中間要求に対する応答が、通知機能エンティティ３８によって受信される（ステップ７４）。通知機能エンティティ３８および実行動的ページ３６は、どちらも、複数の動的ページ３６を含むコンテナ３５内にある。通知機能エンティティ３８は追加情報を実行動的ページ３６に渡し（ステップ７６）、実行が継続可能であることを実行動的ページ３６に通知する。実行動的ページ３６は、追加情報を受信すると待機状態を出て、後続のコード・ブロック４２ａ〜４２ｅから実行を再開する（ステップ７８）。
【００２７】
実装環境
複数の要求応答サイクルにまたがった動的ページの単一パス実行の方法は、好ましくは、図５に示されるような汎用コンピュータ・システム１００を使用して実施され、ここでは図３および図４のプロセスを、コンピュータ・システム１００内で実行するアプリケーション・プログラムなどのソフトウェアとして実施することができる。特に、複数の要求応答サイクルにまたがった動的ページの単一パス実行の方法の諸ステップは、コンピュータによって実行されるソフトウェア内の命令として実施される。命令は、それぞれが１つまたは複数の特定タスクを実行するためのものである、１つまたは複数のコード・モジュールとして形成することができる。ソフトウェアは、２つの別々の部分に分割することも可能であり、第１の部分は複数の要求応答サイクルにまたがった動的ページの単一パス実行方法を実行し、第２の部分は第１の部分とユーザとの間のユーザ・インターフェースを管理する。ソフトウェアは、たとえば以下で説明するストレージ・デバイスを含む、コンピュータ読み取り可能メディア内に格納することができる。ソフトウェアは、コンピュータ読み取り可能メディアからコンピュータにロードされた後、コンピュータによって実行される。こうしたソフトウェアを有するかまたはコンピュータ・プログラムが記録された、コンピュータ読み取り可能メディアが、コンピュータ・プログラム製品である。コンピュータ・プログラム製品をコンピュータ内で使用することで、好ましくは、複数の要求応答サイクルにまたがった動的ページの単一パス実行に有利な装置がもたらされる。
【００２８】
前述の説明は、主にＪａｖａＳｅｒｖｅｒ  Ｐａｇｅ（ＪＳＰ）の実行に焦点を当てたものであるが、当業者であれば、複数の要求応答サイクルにまたがった単一パス実行の方法が、Ｍｉｃｒｏｓｏｆｔ  Ａｃｔｉｖｅ  Ｓｅｒｖｅｒ  Ｐａｇｅ（ＡＳＰ）などの他の動的ページにも等しく適用可能であることが明らかとなろう。
【００２９】
コンピュータ・システム１００は、コンピュータ・モジュール１０１と、キーボード１０２およびマウス１０３などの入力デバイスと、プリンタ１１５、ディスプレイ・デバイス１４、およびスピーカ１１７を含む出力デバイスとで、形成される。たとえば電話回線１２１または他の機能メディアを介して接続可能な通信ネットワーク１２０との間の通信のために、コンピュータ・モジュール１０１によって、変調復調器（モデム）トランシーバ・デバイス１１６が使用される。モデム１１６は、インターネット、および、ローカル・エリア・ネットワーク（ＬＡＮ）またはワイド・エリア・ネットワーク（ＷＡＮ）などの他のネットワーク・システムへのアクセスを取得するために使用可能であり、一部の実装環境ではコンピュータ・モジュール１０１に組み込むことが可能である。
【００３０】
コンピュータ・モジュール１０１は、通常、少なくとも１つのプロセッサ・ユニット１０５、ならびに、たとえば半導体ランダム・アクセス・メモリ（ＲＡＭ）および読み取り専用メモリ（ＲＯＭ）から形成されるメモリ・ユニット１０６を含む。モジュール１０１は、ビデオ・ディスプレイ１１４およびスピーカ１１７に結合されたオーディオ／ビデオ・インターフェース１０７と、キーボード１０２およびマウス１０３ならびにオプションでジョイスティック（図示せず）用のＩ／Ｏインターフェース１１３と、モデム１１６およびプリンタ１１５用のＩ／Ｏインターフェース１０８と、を含む、いくつかの入力／出力（Ｉ／Ｏ）インターフェースも含む。いくつかの実装環境では、モデム１１６はコンピュータ・モジュール１０１内、たとえばインターフェース１０８内に、組み込むことができる。ストレージ・デバイス１０９が提供され、典型的にはハード・ディスク・ドライブ１１０およびフロッピィ・ディスク・ドライブ１１１を含む。磁気テープ・ドライブ（図示せず）も使用可能である。ＣＤ−ＲＯＭドライブ１１２は、通常、データの不揮発性ソースとして提供される。コンピュータ・モジュール１０１のコンポーネント１０５から１１３は、通常、相互接続バス１０４を介して、結果として当業者に周知のコンピュータ・システム１００の従来の動作モードを実行させるように通信する。説明された配置構成が実施可能なコンピュータの例には、ＩＢＭ−ＰＣおよびそれらの互換機、Ｓｕｎ  Ｓｐａｒｃｓｔａｔｉｏｎまたはそれらから展開される同様のコンピュータ・システムが含まれる。
【００３１】
通常、アプリケーション・プログラムはハード・ディスク・ドライブ１１０に常駐し、プロセッサ１０５によってその実行中に読み取られ、制御される。プログラムおよびネットワーク１２０からフェッチされた任意のデータの中間ストレージは、恐らくハード・ディスク・ドライブ１１０と連携し、半導体メモリ１０６を使用して実施可能である。場合によっては、アプリケーション・プログラムは、ＣＤ−ＲＯＭまたはフロッピィ・ディスク上にエンコードしてユーザに供給し、対応するドライブ１１２または１１１を介して読み取るか、別の方法として、ユーザがモデム・デバイス１１６を介してネットワーク１２０から読み取ることができる。さらにソフトウェアは、他のコンピュータ読み取り可能メディアからコンピュータ・システム１００にロードすることもできる。「コンピュータ読み取り可能メディア」という用語は、本明細書で使用される場合、命令あるいはデータまたはその両方を、実行あるいは処理またはその両方のためにコンピュータ・システム１００に提供することに関与する、任意のストレージまたは伝送メディアを言い表す。ストレージ・メディアの例には、コンピュータ・モジュール１０１に内蔵されるかまたは外付けされるかにかかわらず、フロッピィ・ディスク、磁気テープ、ＣＤ−ＲＯＭ、ハード・ディスク・ドライブ、ＲＯＭまたは集積回路、光磁気ディスク、あるいは、ＰＣＭＣＩＡカードなどのコンピュータ読み取り可能カードが含まれる。伝送メディアの例には、無線または赤外線の伝送チャネル、ならびに他のコンピュータまたはネットワーク・デバイスへのネットワーク接続と、電子メール伝送およびウェブサイトその他に記録された情報を含むインターネットまたはイントラネットとが、含まれる。
【図面の簡単な説明】
【００３２】
【図１】従来技術に従った動的ページの実行を示す機能ブロック図である。
【図２】本発明の好ましい実施形態に従った、動的ページの実行を示す機能ブロック図である。
【図３】本発明の好ましい実施形態に従った、複数の要求応答サイクルにまたがった動的ページの単一パス実行のためのステップを示す流れ図である。
【図４】本発明の好ましい実施形態に従った、動的ページが実行を継続するためにさらに情報を必要とする場合に行われるステップを示す流れ図である。
【図５】本発明の好ましい実施形態に従った、本明細書に記載された方法を実行することが可能な汎用コンピュータを示す概略ブロック図である。
【図１】
2009517724.tif 000003
【図２】
2009517724.tif 000004
【図３】
2009517724.tif 000005
【図４】
2009517724.tif 000006
【図５】
2009517724.tif 000007
【国際調査報告】
2009517724.tif 000008
2009517724.tif 000009