JP2009517724A - サーバ・サイド動的ページの実行のための方法、システム、およびコンピュータ・プログラム - Google Patents

サーバ・サイド動的ページの実行のための方法、システム、およびコンピュータ・プログラム Download PDF

Info

Publication number
JP2009517724A
JP2009517724A JP2008541676A JP2008541676A JP2009517724A JP 2009517724 A JP2009517724 A JP 2009517724A JP 2008541676 A JP2008541676 A JP 2008541676A JP 2008541676 A JP2008541676 A JP 2008541676A JP 2009517724 A JP2009517724 A JP 2009517724A
Authority
JP
Japan
Prior art keywords
execution
dynamic page
client
request
page
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2008541676A
Other languages
English (en)
Other versions
JP4906870B2 (ja
Inventor
ファルキエ、タンヴィール、アフザル
ジンダル、サンディープ
ヴェルマ、アヴィシェク
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2009517724A publication Critical patent/JP2009517724A/ja
Application granted granted Critical
Publication of JP4906870B2 publication Critical patent/JP4906870B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

【課題】複数の要求応答サイクルにまたがった動的ページの単一パス実行に関するシステム(30)および方法を提供すること。
【解決手段】システム(30)は、互いに通信するクライアント(32)およびサーバ(34)を備える。コンテナ(35)はサーバ上に常駐し、動的ページ(36)の結果に関して出された要求を処理する。コンテナは動的ページの処理を制御する。動的ページが処理を継続するために追加情報を必要とする場合、中間要求(44)がクライアントに送信され、クライアントは追加情報を含む中間応答(46)で応答する。通知機能サーブレット(38)は中間応答を受信し、中断なしに実行が再開できるように、この情報を動的ページに渡す。
【選択図】 図2

Description

本発明は、一般にサーバ・サイド動的ページ(server-side dynamic page)に関し、とりわけ、クライアントとサーバとの間での複数の要求応答サイクルにまたがった動的ページの単一パス実行に関する。
インターネットまたはワールド・ワイド・ウェブでは、情報はハイパーテキスト転送プロトコル(HTTP)の要求応答サイクルを介して交換される。たとえばクライアントは、情報に関する要求をサーバに提出することによって、サイクルを開始することができる。この要求は、静的ページ(HTMLまたはVXMLなど)、動的ページ(JSP、ASP、またはPHPなど)、または、戻りページを生成するために特定のアプリケーション(サーブレットなど)を実行するようにとの要求に関するものとすることができる。サーバは、こうした要求をクライアントから受信すると、要求されたページまたはアプリケーションを取り出すこと、必要に応じて実行すること、必要であればデータベースにアクセスすること、他のサーバへの接続を確立することなど、戻りページを生成するために必要なタスクを実行する。サーバは、必要な情報を取得すると、クライアントに応答を送信して要求応答サイクルを完了する。
クライアントとサーバとの間に確立される要求応答シーケンスは「ラウンドトリップ」と呼ばれ、クライアントが要求を出すごとに実行される。サーバは、単一のクライアントからの複数の要求に応じるか、別の方法として、複数のクライアントからの要求を処理するように構成することができる。どちらの場合も、サーバが受信するあらゆる要求に、個別に対応しなければならない。
サーバ・サイド動的ページの単一パス実行については、当分野で知られており、クライアント/サーバ・ネットワークのクライアント・コンピュータから要求を受信するための技法を含む、クライアント/サーバ・ネットワークのローカル・サーバ・コンピュータを動作させるための方法および装置について記載した、公開米国特許出願第2003/0009519号明細書(James A.Gosling、2003年1月9日出願)に開示されている。要求が、クライアント/サーバ・ネットワークのサーブレット・オブジェクトからの動的に生成された情報を必要とするかどうかが判別される。必要とする場合、要求に対応する指定されたサーブレット・オブジェクトを、クライアント/サーバ・ネットワークのリモート・サーバ・コンピュータからアップロードすることができる。その後、要求に対応する動的に生成された情報を取得するために、指定されたサーブレット・オブジェクトが実行される。
ウェブ・アプリケーションを開発するためのサーバ側のページおよびスクリプト記述の能力は、アプリケーションがサーバ側コンポーネントの速度、信頼性、およびセキュリティを強化できるようにするそれらの機能に由来し、音声アプリケーションの開発のための一般的な技法として出現しつつある。サーバ側動的ページは、本明細書ではコンテナと呼ばれる、動的なウェブ・コンテンツ実行環境によって処理することができる。「コンテナ」という用語は一般に、主にサーブレットおよびJSPに関する動的なウェブ・コンテンツ実行環境を言い表す際に使用されるが、以下では、一貫した用語を保証するために、ASPおよびPHPのような他の動的ページを言い表す際にも使用される。同様に、「動的ページ」という用語は、本発明が適用される、ASP、JSP、PHP、ならびにサーブレットなどの、汎用クラスのサーバ側ページを定義する際に使用される。コンテナは、動的ページに関するクライアントからの要求を受信および解析し、動的ページの結果に基づいてクライアントに応答を送信し、サーバ側動的ページの状態を維持する。コンテナは、通常、必要であればコンテナに転送されるHTTP要求をクライアントから受信する、外部ウェブ・サーバに関連して動作する。http://www.onjava.com/pub/a/onjava/2003/05/14/java_webserver.htmlの「How Servlet Containers Work」と題する好適なコンテナの例に、オンラインでアクセスすることができる。
コンテナは、適切なサーブレット、JSP、PHP、またはASPの実行も担当する。一例として具体的にサーブレットの実行を参照すると、サーブレットがサービス実行中となっていることをサーブレットに示すために、サーブレット・クラスがインスタンス化された後に、コンテナによってinitメソッドが1回呼び出される。initメソッドは、サーブレットがいずれかの要求を受信する前に、正常に完了しなければならない。その後、コンテナはserviceメソッドを呼び出して、サーブレットが要求に応答できるようにする。serviceメソッドの実行中は、通常、クライアントがサーブレットの実行に影響を与えることも、サーブレットがいかなる追加の情報をクライアントに要求することも、できない。実行が完了すると、コンテナは、サーブレット・インスタンスをサービスから除去する前に、destroyメソッドを呼び出す。サーブレットのserviceメソッドから戻ると、コンテナは、サーブレットの結果に基づいて応答を構築し、これをクライアントに送信する。その後、ウェブ・サーバへの接続が終了する。
前述の実行メソッドは、グラフィカル・ユーザ・インターフェース(GUI)などの、本来は空間的な情報に関する視覚プロンプトを利用するユーザにとって、有効に働く。残念ながら、音声アプリケーション・インターフェースの一時的な性質は、従来の単一パス実行が好適でないことを意味する。オンライン支払いアプリケーションの場合のように、クライアントが複数分野の情報を提供する必要がある場合、入力されたデータ(クレジット・カード番号および有効期限など)は、しばしば、データベースを呼び出すサーバ側コンポーネントを使用して妥当性検査される。GUIベースのアプリケーションは、情報を空間的に集めることが可能であり、サブミット後、サーバによって妥当性検査される。一部またはすべての情報が有効でない場合、クライアントにその問題を通知するために、別の応答ページが戻される。しかしながら、音声アプリケーションの場合、情報は一連の質疑応答確認ステップを使用し、ある期間にわたって一時的に集められる。この種のインターフェースは、何らかの情報が無効である場合、ユーザに即時に通知されることが必要である。従来の単一パス手法を使用する音声アプリケーションの実行は煩雑であり、検証時に別の試行が発生する前にすべての情報を口頭で再入力することが必要になるため、ユーザに不満を生じさせる。
公開米国特許出願第2003/0009519号明細書 http://www.onjava.com/pub/a/onjava/2003/05/14/java_webserver.htmlの「How Servlet Containers Work」
本発明の目的は、前述の諸問題のうち、少なくとも1つまたは複数を削減することである。
本発明の態様は、クライアント/サーバ環境において、サーバ側コンピュータ上で動的ページを実行するための方法を提供する。当該動的ページの実行のために、クライアントからの要求が受信される。動的ページの実行が開始される。各インスタンスで、実行を継続するためには、実行動的ページが要求側クライアントからの追加情報を必要とする場合、(a)情報に関する中間要求が動的ページからクライアントに送信され、当該実行動的ページが待機状態に入り、(b)クライアントから要求された情報が、通知機能(notifier)エンティティによって受信され、情報が実行動的ページに渡され、(c)情報を使用して、実行動的ページの実行を継続する。動的ページの結果に基づいて、クライアントに応答が送信される。
本発明の他の態様は、動的ページを実行するためのシステムを提供する。第1の受信手段は、動的ページの実行に関する要求をクライアントから受信し、処理手段は、要求された動的ページを処理する。送信手段は、追加情報が必要な場合、こうした追加情報に関する中間要求をクライアントに送信し、第2の受信手段は、要求された追加情報をクライアントから受信する。さらに送信手段は、当該動的ページの処理の結果に基づいて、クライアントに応答を送信するように構成される。
本発明の他の態様は、本明細書に記載された方法に従って動的ページを実行するためのコンピュータ・プログラムが内部に記録されたコンピュータ読み取り可能メディアを備える、コンピュータ・プログラム製品を提供する。
さらに、動的ページを実行するためのシステムが開示される。第1の受信器は、少なくとも、動的ページに関する要求をクライアントから受信し、プロセッサは、要求された動的ページを処理する。送信器は、追加情報に関する中間要求をクライアントに送信し、第2の受信器は、要求された追加情報をクライアントから受信する。送信器は、当該動的ページの処理の結果に基づいて、当該クライアントに応答を送信するように構成される。
他の態様から見ると、本発明は、動的ページを実行するためのコンピュータ・プログラムが内部に記録されたコンピュータ読み取り可能メディアを備える、コンピュータ・プログラム製品を提供し、当該コンピュータ・プログラム製品は、当該動的ページの実行に関する要求をクライアントから受信するためのコンピュータ・プログラム・コード手段と、当該動的ページの実行を開始するためのコンピュータ・プログラム・コード手段と、各インスタンスで、当該動的ページの実行が、実行を継続するために当該要求側クライアントから追加の情報を必要とする場合に、(a)情報に関する中間要求を、当該動的ページから当該クライアントに送信し、当該実行動的ページに関する待機状態に入るため、(b)当該クライアントから当該要求された情報を通知機能サーブレットによって受信し、当該情報を当該実行動的ページに渡すため、および、(c)当該情報を使用する当該実行動的ページの実行を継続するための、コンピュータ・プログラム・コード手段と、当該動的ページの結果に基づいて、当該クライアントに応答を送信するためのコンピュータ・プログラム・コード手段と、を備える。
他の態様から見ると、本発明は、少なくとも、動的ページに関する要求をクライアントから受信するための第1の受信器と、当該要求された動的ページを処理するためのプロセッサと、追加情報に関する中間要求を当該クライアントに送信するための送信器と、当該要求された追加情報を当該クライアントから受信するための第2の受信器と、を備え、当該送信器は、当該動的ページの処理の結果に基づいて、当該クライアントに応答を送信するように構成される、動的ページを実行するためのシステムを提供する。
好ましくは、本発明は、当該送信器が当該中間要求を送信するのに先立って当該動的ページが待機状態に入る、システムを提供する。
好ましくは、本発明は、当該受信器が、受信した当該追加情報を処理中の当該動的ページに渡し、受信した当該追加情報を使用して処理を再開するように当該動的ページに通知するための手段をさらに備える、システムを提供する。
好ましくは、本発明は、当該第2の受信器が通知機能エンティティである、システムを提供する。
好ましくは、本発明は、当該プロセッサが、JavaServer Page(JSP)をサーブレットにコンパイルするための手段をさらに備える、システムを提供する。
好ましくは、本発明は、当該プロセッサが当該動的ページの実行を中断し、待機状態に入るための手段をさらに含む、システムを提供する。
既知の実装環境(implementation)
図1は、クライアント12およびサーバ14を備えるシステム10を示す機能ブロック図である。クライアント12およびサーバ14は、既知の実装環境に従ったラウンドトリップ動作を実行中である。システム10では、クライアント12およびサーバ14は、仲介なしに互いに直接通信する。たとえばサーバ14は、クライアントと通信可能なJ2EE準拠のウェブ・サーバとすることが可能であり、JSPおよびサーブレットを処理するためのコンテナ15を備える。クライアント12は、サーブレット16などの動的ページの結果を必要とする場合、サーバ14に要求20を送信する。要求されたページがJSPの場合、対応するサーブレット16にコンパイルされる。特に、一例としてサーブレット16の実行を参照すると、サーブレット16が最初に実行されている場合、コンテナ15はサーブレット16をロードし、initメソッドを呼び出す。次にコンテナは、サーブレット16のserviceメソッドを実行する。例として、サーブレット16が複数のコード・ブロック18a〜18eを備えるものと考えてみる。サーブレット16を完全に実行するには、コード・ブロック18a〜18eのそれぞれが正常に実行される必要がある。すべてのコード・ブロック18a〜18eが実行されると、serviceメソッドは終了し、最終応答22がクライアント12に送信される。これにより、サーブレット16に対する要求応答サイクルが構成される。同様の従来技術システムを、ASPコンテナ内に常駐するASPの実行に使用することができるが、ASPはコード・ブロックで実行されるようにスクリプト記述されているため、ASPをサーブレット内にコンパイルする必要はない。
システム10では、クライアント12の要求20の実行を完了するために、サーブレット16が追加の情報を必要とする場合がある。従来技術に従ってこれを達成する2つの方法は、(i)サーブレット16の実行を中断してクライアント12に情報を要求し、中断地点から実行を再開するように注意しながら、追加の情報と共にサーブレット16を再訪すること、または、(ii)各コード・ブロック18a〜18eを別々のJSPとして書き込むことである。この第1の方法は、サーブレット16の複雑な状態管理を必要とし(特に、他の情報を取り出す場合)、第2の方法はスケーラブルでない。
実施形態
次に図2を参照すると、複数の要求応答サイクルにまたがった、サーブレット、ASP、およびJSPなどの動的ページの単一パス実行のためのシステム30の、機能ブロック図が示されている。システム30は、仲介の必要なしに互いに直接に通信するクライアント32およびサーバ34を備える。クライアント32が動的ページ36の結果を組み込んだページを要求する場合、初期要求40がサーバ34に送信される。サーバ34は、コンテナ35内に格納され、これによって管理される、複数の動的ページ36を含むことができる。要求されたページがJSPの場合、コンテナ35はJSPを対応するサーブレットにコンパイルする。ASPまたはサーブレット(それらのそれぞれのコンテナに常駐することも可能であるが、図示されていない)への要求は、コンパイルの必要なしに実行される。動的ページ36を、複数の連続するコード・ブロック42a〜42eを有し、サーブレット36の実行を完了するために各ブロックが順番に実行されるものとみなすことが有用である。任意のコード・ブロック42a〜42eの終わりに、実行を継続するために追加の情報が必要な場合、動的ページ36は、サーバ34を介してクライアント32に中間要求44を送信する。中間要求44は、クライアント32によって出された初期要求40から決定された、HTML、XML、VXMLなどの、クライアント32の適切なマークアップで送信される。実行が適切な時点から継続可能であることを保証するために、動的ページ36は、中間要求44を送信するのに先立って待機状態に入る。クライアント32は中間要求44を受信し、要求された情報を入力し、中間応答46を通知機能エンティティに送信する。通知機能は、サーブレットである必要はないが、クライアントから要求を受信し、これを解析し、関連する情報を抽出して、これを待機中の動的ページに渡すことができる任意のエンティティであるため、通知機能エンティティによって渡された情報を使用して実行を再開することができる。サーブレットおよびJSPの場合、実装環境は単純な通知機能サーブレットであるが、一般には、コンテナ内部に実装される任意のソフトウェア・エンティティとすることができる。通知機能エンティティ38は、実行動的ページ36に情報を渡し、処理が継続可能であることを実行動的ページ36に通知する。中間応答46内に含まれる情報が適切でない場合、動的ページ36は中間要求44を再送し、他の中間応答46がクライアント32から受信されるまで、再度待機状態に入る。中間要求44を再送するプロセスは、中間応答46が適切な情報を含むまで継続される。同様に、複数のコード・ブロック72a〜72eがクライアント32から追加の情報を必要とする場合、動的ページ36は、複数の中間要求44を送信することができる。クライアント32が中間応答46を送信するごとに、通知機能エンティティ38はこの応答を受信し、情報を実行動的ページ36に渡して、処理を継続することを実行動的ページ36に通知する。
実行動的ページ36が最終コード・ブロック72eの終わり(すなわち、動的ページ36の終わり)に達すると、実行された動的ページの結果が生成される。結果は、サーバ34によってクライアント32に送信される最終応答48を生成するために、コンテナ35によって使用される。最終応答48は、ラウンドトリップ条件なし(すなわち、単一パス実行)で送信されることになる、実際の応答である。この場合、サーブレット36の作成者は、既存の単一パス実行原理に基づいてサーブレット・コードを生成することが可能であり、依然としてこのアプリケーションは、複数パス実行を必要とする条件(音声など)を使用するアプリケーションに使用することができる。
次に図3を参照すると、好ましい実施形態に従った、動的ページ36を実行する場合に行われるステップの流れ図50が示される。サーバ34は、動的ページ36に関する要求を受信して(ステップ52)、この要求をコンテナ35に渡し、コンテナ35は適切な動的ページ36を取り出す。次にコンテナ35は要求された動的ページ36を実行する(ステップ54)。要求された動的ページがJSPの場合、コンテナ35は、実行の前に対応するサーブレットにJSPをコンパイルすることになる。
実行された各コード・ブロックの終わりに、動的ページ36は、後続のコード・ブロックを実行するために追加情報が必要であるかどうかをチェックする(ステップ56)。実行を継続するために追加情報が必要であると判別された場合、動的ページ36は待機状態に入り、中間要求をクライアント34に送信する(ステップ58)。動的ページ36が要求された情報を受信すると、待機状態に入った時点から実行が継続される(ステップ60)。情報を要求し、情報が受信されるまで動的ページ36の実行を中断するプロセスは、動的ページ36の実行中に複数回発生する可能性がある。動的ページ36の実行が最終コード・ブロックに達し、クライアント32からの情報がそれ以上必要でないと判別されると、動的ページ36の実行は終了する。実行された動的ページ36の結果に基づいて、コンテナ35は最終応答を生成し、サーバ34は最終応答をクライアント32に送信する(ステップ62)。
さらに図4を参照すると、クライアント32に追加の情報を要求し、動的ページ36の実行を停止し、その後、追加情報が受信されると実行を再開するために行われる、ステップ(図3のステップ58および60)を詳細に説明する流れ図70が示される。実行動的ページ36の実行を継続するために追加情報が必要であると判別されると(ステップ72)、動的ページ36は待機状態に入り、追加情報に関する中間要求をクライアント32に送信する(ステップ58)。追加情報を含む中間要求に対する応答が、通知機能エンティティ38によって受信される(ステップ74)。通知機能エンティティ38および実行動的ページ36は、どちらも、複数の動的ページ36を含むコンテナ35内にある。通知機能エンティティ38は追加情報を実行動的ページ36に渡し(ステップ76)、実行が継続可能であることを実行動的ページ36に通知する。実行動的ページ36は、追加情報を受信すると待機状態を出て、後続のコード・ブロック42a〜42eから実行を再開する(ステップ78)。
実装環境
複数の要求応答サイクルにまたがった動的ページの単一パス実行の方法は、好ましくは、図5に示されるような汎用コンピュータ・システム100を使用して実施され、ここでは図3および図4のプロセスを、コンピュータ・システム100内で実行するアプリケーション・プログラムなどのソフトウェアとして実施することができる。特に、複数の要求応答サイクルにまたがった動的ページの単一パス実行の方法の諸ステップは、コンピュータによって実行されるソフトウェア内の命令として実施される。命令は、それぞれが1つまたは複数の特定タスクを実行するためのものである、1つまたは複数のコード・モジュールとして形成することができる。ソフトウェアは、2つの別々の部分に分割することも可能であり、第1の部分は複数の要求応答サイクルにまたがった動的ページの単一パス実行方法を実行し、第2の部分は第1の部分とユーザとの間のユーザ・インターフェースを管理する。ソフトウェアは、たとえば以下で説明するストレージ・デバイスを含む、コンピュータ読み取り可能メディア内に格納することができる。ソフトウェアは、コンピュータ読み取り可能メディアからコンピュータにロードされた後、コンピュータによって実行される。こうしたソフトウェアを有するかまたはコンピュータ・プログラムが記録された、コンピュータ読み取り可能メディアが、コンピュータ・プログラム製品である。コンピュータ・プログラム製品をコンピュータ内で使用することで、好ましくは、複数の要求応答サイクルにまたがった動的ページの単一パス実行に有利な装置がもたらされる。
前述の説明は、主にJavaServer Page(JSP)の実行に焦点を当てたものであるが、当業者であれば、複数の要求応答サイクルにまたがった単一パス実行の方法が、Microsoft Active Server Page(ASP)などの他の動的ページにも等しく適用可能であることが明らかとなろう。
コンピュータ・システム100は、コンピュータ・モジュール101と、キーボード102およびマウス103などの入力デバイスと、プリンタ115、ディスプレイ・デバイス14、およびスピーカ117を含む出力デバイスとで、形成される。たとえば電話回線121または他の機能メディアを介して接続可能な通信ネットワーク120との間の通信のために、コンピュータ・モジュール101によって、変調復調器(モデム)トランシーバ・デバイス116が使用される。モデム116は、インターネット、および、ローカル・エリア・ネットワーク(LAN)またはワイド・エリア・ネットワーク(WAN)などの他のネットワーク・システムへのアクセスを取得するために使用可能であり、一部の実装環境ではコンピュータ・モジュール101に組み込むことが可能である。
コンピュータ・モジュール101は、通常、少なくとも1つのプロセッサ・ユニット105、ならびに、たとえば半導体ランダム・アクセス・メモリ(RAM)および読み取り専用メモリ(ROM)から形成されるメモリ・ユニット106を含む。モジュール101は、ビデオ・ディスプレイ114およびスピーカ117に結合されたオーディオ/ビデオ・インターフェース107と、キーボード102およびマウス103ならびにオプションでジョイスティック(図示せず)用のI/Oインターフェース113と、モデム116およびプリンタ115用のI/Oインターフェース108と、を含む、いくつかの入力/出力(I/O)インターフェースも含む。いくつかの実装環境では、モデム116はコンピュータ・モジュール101内、たとえばインターフェース108内に、組み込むことができる。ストレージ・デバイス109が提供され、典型的にはハード・ディスク・ドライブ110およびフロッピィ・ディスク・ドライブ111を含む。磁気テープ・ドライブ(図示せず)も使用可能である。CD−ROMドライブ112は、通常、データの不揮発性ソースとして提供される。コンピュータ・モジュール101のコンポーネント105から113は、通常、相互接続バス104を介して、結果として当業者に周知のコンピュータ・システム100の従来の動作モードを実行させるように通信する。説明された配置構成が実施可能なコンピュータの例には、IBM−PCおよびそれらの互換機、Sun Sparcstationまたはそれらから展開される同様のコンピュータ・システムが含まれる。
通常、アプリケーション・プログラムはハード・ディスク・ドライブ110に常駐し、プロセッサ105によってその実行中に読み取られ、制御される。プログラムおよびネットワーク120からフェッチされた任意のデータの中間ストレージは、恐らくハード・ディスク・ドライブ110と連携し、半導体メモリ106を使用して実施可能である。場合によっては、アプリケーション・プログラムは、CD−ROMまたはフロッピィ・ディスク上にエンコードしてユーザに供給し、対応するドライブ112または111を介して読み取るか、別の方法として、ユーザがモデム・デバイス116を介してネットワーク120から読み取ることができる。さらにソフトウェアは、他のコンピュータ読み取り可能メディアからコンピュータ・システム100にロードすることもできる。「コンピュータ読み取り可能メディア」という用語は、本明細書で使用される場合、命令あるいはデータまたはその両方を、実行あるいは処理またはその両方のためにコンピュータ・システム100に提供することに関与する、任意のストレージまたは伝送メディアを言い表す。ストレージ・メディアの例には、コンピュータ・モジュール101に内蔵されるかまたは外付けされるかにかかわらず、フロッピィ・ディスク、磁気テープ、CD−ROM、ハード・ディスク・ドライブ、ROMまたは集積回路、光磁気ディスク、あるいは、PCMCIAカードなどのコンピュータ読み取り可能カードが含まれる。伝送メディアの例には、無線または赤外線の伝送チャネル、ならびに他のコンピュータまたはネットワーク・デバイスへのネットワーク接続と、電子メール伝送およびウェブサイトその他に記録された情報を含むインターネットまたはイントラネットとが、含まれる。
従来技術に従った動的ページの実行を示す機能ブロック図である。 本発明の好ましい実施形態に従った、動的ページの実行を示す機能ブロック図である。 本発明の好ましい実施形態に従った、複数の要求応答サイクルにまたがった動的ページの単一パス実行のためのステップを示す流れ図である。 本発明の好ましい実施形態に従った、動的ページが実行を継続するためにさらに情報を必要とする場合に行われるステップを示す流れ図である。 本発明の好ましい実施形態に従った、本明細書に記載された方法を実行することが可能な汎用コンピュータを示す概略ブロック図である。

Claims (12)

  1. クライアント/サーバ環境においてサーバ側コンピュータ上で動的ページを実行するための方法であって、
    前記動的ページの実行のために、クライアントからの要求を受信するステップと、
    前記動的ページの実行を開始するステップと、
    各インスタンスで、実行を継続するために、前記実行動的ページが前記要求側クライアントからの追加情報を必要とする場合、
    (a)情報に関する中間要求を前記動的ページから前記クライアントに送信し、前記実行動的ページが待機状態に入るステップと、
    (b)前記クライアントから要求された前記情報を、通知機能エンティティによって受信し、前記情報を前記実行動的ページに渡すステップと、
    (c)前記情報を使用して前記実行動的ページの実行を継続するステップと、
    前記動的ページの結果に基づいて、前記クライアントに応答を送信するステップと、
    を含む、方法。
  2. 前記要求を受信するステップが、Java(R) Server Page(JSP)に関する要求を受信するステップと、前記JSPをサーブレットにコンパイルするステップとを含む、請求項1に記載の方法。
  3. 前記動的ページがActive Server Page(ASP)である、請求項1に記載の方法。
  4. 前記要求を受信するステップが、前記要求された動的ページの位置を特定するために、前記要求をコンテナに転送する他のステップを含む、請求項1に記載の方法。
  5. 前記情報を前記実行動的ページに渡すステップが、前記実行動的ページが前記待機状態に入った時点から実行を再開するように、前記待機状態にある前記実行動的ページに通知するステップをさらに含む、請求項1に記載の方法。
  6. 動的ページを実行するためのシステムであって、
    動的ページの実行に関する要求をクライアントから受信するための第1の受信手段と、
    前記要求された動的ページを処理するための処理手段と、
    追加情報に関する中間要求をクライアントに送信するための送信手段と、
    前記要求された追加情報を前記クライアントから受信するための第2の受信手段と、
    を備え、さらに前記送信手段は、前記動的ページの処理の結果に基づいて、前記クライアントに応答を送信するように構成される、システム。
  7. 前記送信手段が前記中間要求を送信するのに先立って、前記動的ページが待機状態に入る、請求項6に記載のシステム。
  8. 前記第2の受信手段は、前記受信された追加情報を前記処理中の動的ページに渡し、前記受信された追加情報を使用して処理を再開するように前記動的ページに通知する手段をさらに備える、請求項6に記載のシステム。
  9. 前記第2の受信手段は通知機能エンティティである、請求項7に記載のシステム。
  10. 前記処理手段は、Java(R) Server Page(JSP)をサーブレットにコンパイルするための手段をさらに備える、請求項6に記載のシステム。
  11. 前記処理手段は、前記動的ページの実行を中断し、待機状態に入るための手段をさらに含む、請求項6に記載のシステム。
  12. デジタル・コンピュータの内部メモリにロード可能なコンピュータ・プログラムであって、前記コンピュータ・プログラムがコンピュータ上で実行された場合、請求項1から5に記載されたように本発明を実施するために実行するためのソフトウェア・コード部分を備える、コンピュータ・プログラム。
JP2008541676A 2005-11-29 2006-10-23 サーバ・サイド動的ページの実行のための方法、システム、およびコンピュータ・プログラム Active JP4906870B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/289,147 US8010595B2 (en) 2005-11-29 2005-11-29 Execution of server-side dynamic pages
US11/289,147 2005-11-29
PCT/EP2006/067663 WO2007062927A1 (en) 2005-11-29 2006-10-23 Execution of server-side dynamic pages

Publications (2)

Publication Number Publication Date
JP2009517724A true JP2009517724A (ja) 2009-04-30
JP4906870B2 JP4906870B2 (ja) 2012-03-28

Family

ID=37668027

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008541676A Active JP4906870B2 (ja) 2005-11-29 2006-10-23 サーバ・サイド動的ページの実行のための方法、システム、およびコンピュータ・プログラム

Country Status (9)

Country Link
US (1) US8010595B2 (ja)
EP (1) EP1960876B1 (ja)
JP (1) JP4906870B2 (ja)
CN (1) CN101300549B (ja)
AT (1) ATE456088T1 (ja)
CA (1) CA2631393A1 (ja)
DE (1) DE602006011949D1 (ja)
IL (1) IL193135A (ja)
WO (1) WO2007062927A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090254918A1 (en) * 2008-04-03 2009-10-08 Branda Steven J Mechanism for Performance Optimization of Hypertext Preprocessor (PHP) Page Processing Via Processor Pinning
CN103473106B (zh) * 2013-09-30 2017-02-01 迈普通信技术股份有限公司 一种页面生成的方法及系统
US9858549B2 (en) * 2014-02-03 2018-01-02 Cisco Technology, Inc. Business transaction resource usage tracking
CN104850387B (zh) * 2014-02-13 2018-10-02 深圳市腾讯计算机系统有限公司 动态页面请求并发处理方法和系统
US20150271044A1 (en) * 2014-03-24 2015-09-24 International Business Machines Corporation Browser response optimization

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004086878A (ja) * 2002-08-22 2004-03-18 Internatl Business Mach Corp <Ibm> クライアント‐サーバ環境においてポータブル操作を最適化するための方法、装置およびプログラム製品

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5928323A (en) * 1996-05-30 1999-07-27 Sun Microsystems, Inc. Apparatus and method for dynamically generating information with server-side software objects
US5852717A (en) * 1996-11-20 1998-12-22 Shiva Corporation Performance optimizations for computer networks utilizing HTTP
US6038598A (en) * 1998-02-23 2000-03-14 Intel Corporation Method of providing one of a plurality of web pages mapped to a single uniform resource locator (URL) based on evaluation of a condition
US6769123B1 (en) * 2000-09-07 2004-07-27 Cisco Technology, Inc. Method and apparatus of using a single computer program source code base to provide a program that is operable in either a client-server mode or a standalone mode
US6985956B2 (en) * 2000-11-02 2006-01-10 Sun Microsystems, Inc. Switching system
US7487440B2 (en) * 2000-12-04 2009-02-03 International Business Machines Corporation Reusable voiceXML dialog components, subdialogs and beans
US20020083182A1 (en) * 2000-12-18 2002-06-27 Alvarado Juan C. Real-time streamed data download system and method
US20020111992A1 (en) * 2000-12-18 2002-08-15 Copeland George P. JSP composition in a cache for web applications with dynamic content
TW535081B (en) * 2000-12-20 2003-06-01 Ibm Method and system of fulfilling requests for information from a network client
US6948133B2 (en) * 2001-03-23 2005-09-20 Siemens Medical Solutions Health Services Corporation System for dynamically configuring a user interface display
US6820073B1 (en) * 2001-06-20 2004-11-16 Microstrategy Inc. System and method for multiple pass cooperative processing
US6813641B2 (en) * 2001-07-05 2004-11-02 Sun Microsystems, Inc. Teamware server working over HTTP/HTTPS connections
US20030069906A1 (en) 2001-07-27 2003-04-10 Cichowlas Bruce William Method and system for multi-page web applications with central control
US7752326B2 (en) * 2001-08-20 2010-07-06 Masterobjects, Inc. System and method for utilizing asynchronous client server communication objects
US9137324B2 (en) * 2002-04-10 2015-09-15 International Business Machines Corporation Capacity on-demand in distributed computing environments
US7120666B2 (en) * 2002-10-30 2006-10-10 Riverbed Technology, Inc. Transaction accelerator for client-server communication systems
US7359935B1 (en) * 2002-12-20 2008-04-15 Versata Development Group, Inc. Generating contextual user network session history in a dynamic content environment

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004086878A (ja) * 2002-08-22 2004-03-18 Internatl Business Mach Corp <Ibm> クライアント‐サーバ環境においてポータブル操作を最適化するための方法、装置およびプログラム製品

Also Published As

Publication number Publication date
WO2007062927A1 (en) 2007-06-07
CA2631393A1 (en) 2007-06-07
US20070124479A1 (en) 2007-05-31
US8010595B2 (en) 2011-08-30
EP1960876B1 (en) 2010-01-20
DE602006011949D1 (ja) 2010-03-11
ATE456088T1 (de) 2010-02-15
EP1960876A1 (en) 2008-08-27
JP4906870B2 (ja) 2012-03-28
IL193135A (en) 2012-12-31
IL193135A0 (en) 2009-02-11
CN101300549B (zh) 2010-10-06
CN101300549A (zh) 2008-11-05

Similar Documents

Publication Publication Date Title
US8117258B2 (en) Distributed computing by carrier-hosted agent
JP3777302B2 (ja) 通信振り分け制御装置、および通信振り分けプログラムを記憶した記憶媒体
US8234406B2 (en) Method of redirecting client requests to web services
US7080120B2 (en) System and method for collaborative processing of distributed applications
JPH11282804A (ja) ユーザ認証機能付き通信システム及びユーザ認証方法
JP2005505055A5 (ja)
CA2414376A1 (en) Methods and systems for adaptation, diagnosis, optimization, and prescription technology for network based applications
US20100325262A1 (en) Using transport-independent resource status
US20090172107A1 (en) Proxy content for submitting web service data in the user&#39;s security context
JP4906870B2 (ja) サーバ・サイド動的ページの実行のための方法、システム、およびコンピュータ・プログラム
JP2014534498A (ja) JavaScriptを保護する装置、方法及びコンピューター可読性記憶媒体
WO2011028985A2 (en) Parent playback
US20230315793A1 (en) Automated web page accessing
CN106341434A (zh) 业务处理方法及装置
US20070282851A1 (en) Mapping and communicating data from a user interface to an application program
EP1641217A2 (en) Method, apparatus and system for passing messages to a web browser
CN102571868A (zh) 一种即时通信的方法、装置及系统
JP2004246747A (ja) 既存サービスのラッピング方法および装置
US8433824B2 (en) Thread timeout coordination method and system
CN109698832B (zh) 快速提供Portal认证、快速弹出Portal认证页面的方法及相关设备
WO2013098925A1 (ja) 情報処理装置、情報処理システム、情報処理方法およびプログラム
EP3502925B1 (en) Computer system and method for extracting dynamic content from websites
US20110145723A1 (en) System and method for redirecting client-side storage operations
CN106899652A (zh) 一种推送业务处理结果的方法及装置
CN102918811A (zh) 双向通信系统和用于该系统的服务器装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090722

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110630

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110705

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20110728

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110728

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20110728

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20110801

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111117

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20111118

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111118

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20111213

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20111213

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20111213

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120110

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150120

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4906870

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250