JP2004348743A - ポストキャッシュ置換 - Google Patents

ポストキャッシュ置換 Download PDF

Info

Publication number
JP2004348743A
JP2004348743A JP2004152120A JP2004152120A JP2004348743A JP 2004348743 A JP2004348743 A JP 2004348743A JP 2004152120 A JP2004152120 A JP 2004152120A JP 2004152120 A JP2004152120 A JP 2004152120A JP 2004348743 A JP2004348743 A JP 2004348743A
Authority
JP
Japan
Prior art keywords
response
cache
client
content
web 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.)
Pending
Application number
JP2004152120A
Other languages
English (en)
Inventor
Bradley D Millington
ディー.ミリントン ブラッドレイ
Dmitry Robsman
ロブスマン ドミトリー
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.)
Microsoft Corp
Original Assignee
Microsoft 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 Microsoft Corp filed Critical Microsoft Corp
Publication of JP2004348743A publication Critical patent/JP2004348743A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9574Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】 ポストキャッシュ置換システムおよび方法を提供すること。
【解決手段】 クライアント要求に対する応答に動的コンテンツを組み込むために、キャッシュされたコンテンツに置換ブロック304を挿入する。キャッシュされたコンテンツがクライアントへの応答として書き出されるとき、置換ブロックに関連づけられたデリゲートを呼び出して動的コンテンツを生成する。デリゲートは、そのコンテンツが要求されるたびに呼び出されるとともに、クライアント要求に対する応答で提供されるコンテンツは、キャッシュされたコンテンツを求めるクライアント要求ごとに異なることがある動的コンテンツを含む。
【選択図】 図3

Description

本発明は、一般には、ポストキャッシュ置換(post-cache substitution)のためのシステムおよび方法に関する。詳細には、本発明は、出力キャッシュ(output cache)されたウェブページに動的コンテンツ(dynamic content)を挿入(insert)するシステムおよび方法に関する。
インターネットへのアクセスが容易になり、インターネットを介して多量の知識と情報が利用可能になるに伴って、個人や企業はインターネットを、たとえば世界情勢、教育、娯楽に関する情報を検索し、利用するための一次情報源として使用し始めている。さらに、高速化したパーソナルコンピュータや、高性能化したサーバ、通信ネットワークにより、情報を多くの個人に配信することがますます容易になっている。
また、ウェブブラウザを介して、ウェブサーバやデータベースなどの情報リポジトリ(information repository)にアクセスすることもできる。ウェブブラウザは、ユーザのコンピュータ上で稼働し、コンピュータネットワーク(インターネットなど)に接続された様々なサーバから直接、あるいは、1つまたは複数の中間(intermediate)プロキシサーバを経由して、ウェブページを検索(retrieve)し、表示する。ウェブブラウザを使用して、インターネットまたはその他のコンピュータネットワークを介して、他のタイプのコンテンツを検索し、表示することもできる。
サーバコンピュータには多くのユーザがアクセスするため、特定のサーバがユーザ要求(user request)ごとにウェブページを生成する必要がある場合は、それらのユーザ要求に応答する際のサーバのパフォーマンスが影響を受ける可能性がある。データキャッシュ技法(data caching technique)を使用すれば、ユーザがウェブページを要求してからウェブブラウザがページをユーザに提供するまでの応答時間(response time)が短縮される。また、データキャッシュ技法は、サーバのパフォーマンスも向上させ、サーバが単位時間当たりに応答可能な要求数が増える。このようなデータキャッシュ技法は、ウェブページの静的なバージョン(static version)を、ユーザのコンピュータとウェブページ要求に対する応答を生成するウェブサーバとの間にある任意の数の場所のデータキャッシュに格納する。この場所にはユーザのコンピュータとウェブサーバも含まれる。これによって、データキャッシュ技法は、たとえばインターネットを介してアクセスされるサーバコンピュータが、比較的短時間に多数のユーザに同じウェブページを提供することができるようにする。
たとえば、ウェブブラウザは一般に、ウェブブラウザの使用中にネットワークを介して取り出した一時ファイルを格納するローカルキャッシュ(local cache)にアクセスすることができる。ウェブページが要求されると、ブラウザは、要求されたウェブページのコピーがローカルキャッシュ内にあるか否かを調べる。要求されたウェブページの最新版がキャッシュに格納されている場合、ウェブブラウザは、要求されたウェブページをローカルキャッシュから検索することができ、それによって、そのウェブページをウェブサーバに直接要求する必要がなくなる。キャッシュは一般に、ユーザのコンピュータのハードドライブ上、またはユーザのコンピュータの揮発性メモリに、ローカルに配置されているため、ウェブページを検索するのにネットワーク通信は不要である。ウェブページをローカルでキャッシュすることによって、一般には、インターネットを介して要求を送るよりも応答が格段に迅速になる。さらに、ローカルキャッシュからキャッシュされたウェブページ(cached web page)を使用することによって、ウェブサーバの処理効率を低下させる無用なウェブサーバヒット(web server hit)もなくなる。
プロキシウェブサーバを含むウェブサーバも、キャッシュ技法を使用する。ウェブサーバがユーザからウェブページを求める要求を受け取ると、ウェブサーバは、要求されたウェブページの生成を試みる前に、ユーザによって要求されたウェブページがウェブサーバのキャッシュに格納されているか否かを判断する。ウェブページがウェブサーバのキャッシュ内にある場合、ユーザに対するウェブサーバの応答にはキャッシュにあるウェブページが組み込まれる。これにより、ウェブサーバの所要処理量が軽減される。ウェブページがキャッシュされていなければ、ウェブサーバはウェブページを生成するプロセスを行うことになる。これは、計算処理上高くつくことがあり、また、たとえば、ウェブページを生成するのにウェブサーバはデータベースサーバがデータベース照会(database query)に応答するのを待つ必要があるため、より多くの時間を要する可能性がある。
ウェブサーバキャッシュ(web server cache)によって、ウェブサーバは、ウェブページの生成の代わりにウェブページの提供に、より多くの時間を費やせるようになる。キャッシュされたウェブページの1つの欠点は、キャッシュされたウェブページ(cached web page)の内容(content)が静的(static)であり、キャッシュされた静的なウェブページが必ずしも、サーバの効率を最大限にするとは限らず、最新の内容が含まれていない場合もあることである。さらに、キャッシュされたウェブページは、要求ごとに異なるわけではない。キャッシュされたウェブページまたはその他のコンテンツが静的であることと、キャッシュされたコンテンツが静的であるために要求ごとに異なる広告を提供することが困難になるために、場合によってはウェブページの提供による収益が減る可能性もある。
たとえば、ウェブページは、特定のウェブページを提供するたびに変更すべき広告を含むことが多い。ウェブページを静的キャッシュ(static cache)から提供する場合、広告を要求ごとに変更するのは困難な作業である。すなわち、キャッシュされたウェブページは、すでにウェブサーバによって作成されたものであるため、要求ごとに変化しない。この問題を克服するには、ウェブブラウザまたは中間プロキシサーバに、キャッシュされたウェブページ(cached web page)の新たな動的コンテンツ(dynamic content)を強制的に入手させるように、ウェブブラウザに提供される動的コンテンツとウェブページをコーディングするという、複雑なコーディング(complicated coding)を必要とする。
この問題に対処する1つの手法は、ウェブページを部分的にキャッシュ(partially cache)することである。この手法では、ウェブページの一部の領域を動的(dynamic)なものとしてマークし、ウェブページの他の領域は、静的(static)なものとしてマークする。動的領域としてマークされた領域は要求時ごとに実行されるが、静的領域またはキャッシュ領域としてマークされた領域は1回のみ実行され、特定の依存関係が強制されるまでキャッシュに入れられている。しかし、この手法は、ウェブページのコンテンツの大部分が動的である状況を対象としたものである。動的コンテンツ(dynamic content)は一般に、親ページ(parent page)内に留まるか、またはキャッシュ指示(cache directive)のないユーザコントロール(user control)に含まれることが多い。この手法では、ページは依然として要求ごとに実行され、その成功は、各ページのハンドコーディング(hand-coding)と、ページを動的部分(dynamic part)と静的部分(static part)とに分割(split)することにかかっている。このようにしてページをハンドコーディングするのは時間がかかり、誤りも犯しやすい。
上記およびその他の制約は、ポストキャッシュ置換(post-cache substitution)のためのシステムおよび方法に関する本発明によって克服される。ポストキャッシュ置換により、開発者は、ウェブページ全体を出力キャッシュ(output cache)し、その後、そのキャッシュしたウェブページ(cached web page)のうちのキャッシングから除外される領域(region)を識別(identify)することができる。ポストキャッシュ置換の使用により、親ページ(parent page)がキャッシュされている場合であっても、ユーザ要求(user request)ごとに動的コンテンツ(dynamic content)を生成することができる。一実施形態では、本発明をコントロールとして備えることができるため、ウェブページ開発者がウェブページをコーディングする手間が省ける。
キャッシュされたウェブページ(cached web page)は、一般には、応答バッファのチェーン(chain of response buffers)として格納(store)される。ポストキャッシュ置換は、通常の応答バッファのチェーンに挿入(insert)される置換ブロック(substitution block)を使用する。一実施形態では、置換ブロックは、デリゲート(delegate)が呼び出(invoke)されると、動的コンテンツ(dynamic content)を生成(produce)するデリゲートである。キャッシュされたウェブページが要求(request)され、格納された応答バッファのチェーンが書き込まれると、そのウェブページの新たなコンテンツを生成するデリゲートが置換ブロックによって呼び出される。キャッシュされたウェブページが要求されるたびに、デリゲートが再呼出し(re-invoke)されて、新たなコンテンツ(new content)が生成(generate)される。これにより、キャッシュされたウェブページに新たなコンテンツを挿入(insert)することができる。開発者は、ページをキャッシュ領域としてマークする必要がなく、特定のウェブページがどのように機能可能であるかに関するその他の変更も加える必要がないので有利である。
ポストキャッシュ置換は、ユーザコード(user code)またはサーバコントロールを使用して実施することができる。キャッシュされたページ(cached page)の特定の領域(specific region)が、コールバックデリゲート(callback delegate)に関連づけられるため、静的な出力キャッシュウェブページ(static output web page)に動的コンテンツ(dynamic content)を挿入(insert)することができる。ユーザコードを実施する場合、コールバックメソッド(callback method)は、たとえば、ページ(またはユーザコントロール)上の静的メソッド(static method)または、他の任意のオブジェクト上のインスタンスメソッド(instance method)とすることができる。サーバコントロールを使用する場合、サーバのプロパティは、一般には、コントロールに含まれるページ上の静的メソッドに設定される。一実施形態では、ユーザは、デリゲートを設けたり設定したりする必要がなく、ポストキャッシュ置換をコントロールに自動的に備えることができる。
本発明のその他の特徴および利点は、以下の説明に記載され、以下の説明からある程度明らかになるであろうし、本発明を実施すればわかるであろう。本発明の特徴および利点は、特許請求の範囲で具体的に示す手段および組み合せによって実現され、獲得することができる。本発明の上記およびその他の特徴は、以下の説明と特許請求の範囲を読めばよりよくわかるであろうし、以下の記載に従って本発明を実施すればわかるであろう。
本発明の上記およびその他の利点および特徴をどのようにして得ることができるかを説明するために、添付図面に図示されている本発明の特定の実施形態を参照することによって、上記で概要を述べた本発明についてより具体的に説明する。これらの図面には、本発明の典型的な実施形態のみが図示されており、したがって、本発明の範囲を限定するものとみなすべきではなく、添付図面を使用することにより、本発明についてさらに具体的かつ詳細に説明するものであることを理解されたい。
本発明は、出力キャッシュされたウェブページ(output cached web page)などの静的出力キャッシュコンテンツ(static output-cached content)に動的コンテンツ(dynamic content)を挿入する方法とシステムの両方にわたり、本発明の一実施形態では、ポストキャッシュ置換(post-cache substitution)と呼ぶ。ポストキャッシュ置換の1つの利点は、開発作業を向上させることができることである。本発明により、ページ開発者がデータをキャッシュするためにページ領域(ユーザコントロール)をキャッシュ領域としてマークしたり、各ページ上にカスタムコードを書き込んだりする必要がなく、ウェブページを出力キャッシュすることができる。次に、出力キャッシュされたウェブページの一部を、キャッシングから除外するものとして識別し、そのウェブページが要求されてキャッシュから供給されるたびに、識別された部分について新たなコンテンツを生成する。
ポストキャッシュ置換は、典型的な応答バッファのチェーンに挿入される置換ブロックを使用する。応答バッファのチェーンがユーザ要求に対する応答として書き出されると、置換ブロックによってコールバックデリゲートが呼び出される。このデリゲートは、ユーザ要求に対する応答に組み込まれる実際のコンテンツを生成する。キャッシュされたウェブページを供給するたびに、置換ブロックに関連づけられたデリゲートが呼び出されて、応答に挿入される動的コンテンツが生成される。このようにして静的出力キャッシュウェブページに動的コンテンツを組み込むことができる。
図1は、本発明の一実施形態を実施する環境の例を示す。図1には、ネットワーク102を介して通信するクライアント100とサーバ110が図示されている。ネットワーク102は、たとえば、ローカルエリアネットワーク、ワイドエリアネットワーク、インターネット、またはこれらの組合せとすることができる。また、ネットワーク102は、無線および/または有線ネットワークも含むことができる。この例では、クライアント100によって要求されるコンテンツはウェブページである。クライアント100は、典型的には、ブラウザソフトウェアを使用して、サーバ110に対してウェブページを要求し、サーバ110はネットワーク102を介してクライアント100にウェブページを提供する。
サーバ110がクライアント100からウェブページを求める要求を受け取ると、サーバ110は典型的には、そのウェブページがすでにキャッシュ112に格納されているか否かを判断する。ウェブページがキャッシュ112に格納されている場合、ウェブページのキャッシュ版がクライアント100に提供される。ウェブページがキャッシュ112に格納されていない場合、サーバ110は、典型的には、ウェブページを生成し、そのウェブページをクライアント100に提供し、ページがキャッシュ可能ページとしてマークされている場合は、そのウェブページを将来のクライアント要求に備えてキャッシュ112に格納する。
前述のように、サーバ110は典型的には、効率的に応答するためにウェブページをキャッシュ112から提供する方を選ぶ。サーバ110がウェブページを生成しなければならない場合、サーバ110は、要求されたウェブページを生成するためにストレージ114、データベース115、および/またはその他の供給源にアクセスする必要がある場合がある。これらの動作は計算コストが高くつき、(たとえば、データベース照会を完了するのを待つ時間を要するなど)阻害要因となり、あるいは(たとえばウェブページの生成に大量の記憶量を必要とするなど)多くの資源を費やし、サーバ110が他のクライアントからの要求に応答する能力を低下させる可能性がある。さらに、サーバ110の応答時間も長くなる可能性がある。キャッシュ112によって、サーバ110はウェブページをより効率的に提供することができる。
図2は、サーバが提供可能なウェブページの一例である。ウェブページ200は、ニュース204と広告スペース206とを含むことができる。ニュース204は、頻繁には変化しない。したがって、ウェブページ200のこれらの部分をキャッシュすれば、サーバにとって有利である。ウェブページ200の各部分は、キャッシュされたデータの有効期限が切れる時期を決定するキャッシング方針を持つことができる。たとえば、ニュース204は20分ごとに有効期限切れとなることがある。これは、サーバにとって過度の負担とはならない。しかし、サーバは、ウェブページ200を提供するたびに広告スペース206に新たな広告を入れたい。本発明は、開発者が、たとえば広告スペース206を、ウェブページ200全体をキャッシュしながら、広告スペース206の動的コンテンツを生成するために使用されるコールバックデリゲートに関連づけることができるようにする。サーバは、ウェブページ200が要求されるたびにウェブページ200を生成する必要がないと同時に、サーバはウェブページ200が要求されるたびに動的コンテンツを挿入することができるため、有利である。
図3は、図2のウェブページ200をキャッシュ内でどのように表現することができるかを示す。この例では、ウェブサーバのキャッシュを一連の応答バッファチェーン314(および315)として表すことができるが、当業者なら、ウェブサーバのキャッシュを他の方式および構成で表すことも可能であることがわかるであろう。各応答バッファのチェーンは、この例では、典型的にはクライアントが要求することができる特定のウェブページまたはその他のコンテンツに対応する。応答バッファ(response buffer)のチェーン(chain)314は、第1のウェブページに対応し、応答バッファのチェーン312は第2のウェブページに対応する。
この例では、サーバが維持するキャッシュが出力キャッシュされる。この実施形態では、出力キャッシュは、応答バッファがHTMLデータを格納することを示す。それに対して、データキャッシングとは、HTMLはまだ作成されていないが、データはキャッシュされることを示す。本発明は、これらのタイプおよびその他のタイプのキャッシュデータに適用することができる。
図3には、さらに、応答バッファ(response buffer)302と、置換ブロック(substitution block)304と、応答バッファ306とを含む応答バッファのチェーン312が図示されている。1つの応答バッファのチェーン内の応答バッファの数は、様々な数とすることができ、クライアントが要求するウェブページまたはその他のコンテンツに関係する。置換ブロック304は、応答バッファのチェーン312に挿入されるプレースホルダバッファ(placehokder buffer)である。要求に対する応答として応答バッファのチェーン312がクライアントに書き戻されると、置換ブロック304はデリゲート(delegate)308を呼び出(invoke)し、クライアントに書出しまたは送信される応答バッファ310またはその他のコンテンツを生成する。置換ブロックによって、ページが要求されるたびに動的コンテンツの生成が可能になる。1つの典型的な適用例は、ウェブページ200が要求されるたびにウェブページ200の広告スペース(図2参照)に新たな広告を挿入することである。
図3の例では、応答バッファのチェーン312は、出力キャッシュされるウェブページを表す。ウェブページ全体がキャッシュされ、置換ブロックが応答バッファと共に組み込まれている。置換ブロックは、ウェブページのうちのキャッシングから除外される部分を識別する。これによって、図3に示すように、キャッシュされた応答内の指定された場所に動的コンテンツを生成することができる。
図4は、キャッシュされたウェブページの動的コンテンツ(dynamic content)を生成(generate)することができるサーバシステム400の一例を示す。サーバシステム400は、コンテンツを求める要求404をクライアントから受け取る。この例では、クライアントによって要求されたコンテンツはウェブページである。出力パイプラインモジュール402が要求404を受け取る。出力パイプラインモジュール402は、典型的には、要求404を処理するいくつかのモジュールを含む。これらのモジュールは、要求404を処理して、サーバシステム400からの適切な応答を生成する。一実施形態では、モジュールは連続的に動作する。たとえば、モジュールは、要求404が既知のクライアントからのものであるか否かを判断し、クライアントが要求ページ(requested page)にアクセスする権利があるか否かを判断(determine)する認証モジュール(authentication module)を含むことができる。ユーザが認知されない場合、応答は一般にはアクセス拒否を示し、出力パイプラインモジュール402内のそれ以降のモジュールはその要求404を処理する必要がない。その他のモジュールは、たとえば、処理される着信要求のログの維持、問合せ変換を解決して要求内の着信URLを要求されたコンテンツにマップするマッピング、許可されたユーザであるか否かの判断などを行う。
もう1つのモジュールは、要求404内で特定されているウェブページがキャッシュ416に格納されているか否かを判断する要求処理モジュール408である。クライアントによって要求されたウェブページがキャッシュ416に格納されている場合、要求処理モジュール(request processing module)408はキャッシュ416にアクセスして、要求404でクライアントに要求されているウェブページに対応する応答バッファ418を検索する。置換ブロック417が要求処理モジュール408によって認識(recognize)された場合、前述のように、置換ブロック417に関連づけられたデリゲートが呼び出され、新たなコンテンツが生成されて、置換ブロック417の代わりに応答406内に組み込まれる。ウェブページがキャッシュ416内にない場合、ページ生成モジュール410がストレージ412(たとえばローカルおよび/またはリモートのデータソースなど)にアクセスし、クライアントによって要求されたウェブページを作成する。いずれの場合も、要求処理モジュール408は次に、応答406をクライアントに提供する。キャッシュ416には静的データ(static data)が格納され、置換ブロック417によって、応答406内に置換ブロック417の代わりに新たなコンテンツまたは動的コンテンツが挿入される。
図5は、ポストキャッシュ置換すなわち静的キャッシュコンテンツ(static cached content)に動的コンテンツ(dynamic contnt)を挿入することができる機能を詳細に示す流れ図である。サーバシステムは、クライアントから、コンテンツを求めるページ要求(500)またはその他の要求を受け取る。そのページがサーバシステムのキャッシュ(502)内にあるか否かを判断する。ページがキャッシュ内にある場合、キャッシュから応答バッファのチェーンを検索する(506)。次に、応答バッファのチェーン内の置換ブロックに関連づけられたデリゲートを呼び出し(508)、他の応答バッファと共に置換ブロックの代わりに応答に組み込むコンテンツを生成する。最後に、サーバシステムは、その応答をクライアントにライトする(510)。
ページがキャッシュ内にない場合(502)、サーバシステムはそのページを生成する(512)。ページが生成されると(512)、典型的には、キャッシュページを構成する応答バッファのチェーンに置換ブロックが付加される(514)。また、クライアント側のキャッシュアビリティ(client side cache ability)をパブリック(public)からサーバ専用(server only)に低下(degrade)させ(516)、それによってページの生成時にそのページがクライアント上でキャッシュされないようにする。これにより、そのページを求める要求が将来あった場合に、置換ブロックに関連づけられたデリゲートが再呼出しされて新たなコンテンツが生成される。ページが生成された後、(適切な場合には)応答がサーバシステムのキャッシュに出力キャッシュされ(517)、応答がクライアントに書出しまたは送信される(510)。
ポストキャッシュ置換は、ページ開発者にとって、出力キャッシュされたウェブページの開発が簡略化されるいくつかの利点がある。たとえば、開発者は、単一のコンテキストパラメータ(single context parameter)を取って所与の場所で置換されるコンテンツであるストリングを返す、所定のコールバックシグネチャ(callback signature)を使用して、メソッドを作成することができる。その場合、開発者は、「Response.WriteSubstitution」を呼び出し、そのコールバックメソッド(callback method)をパラメータとして渡す。コールバックメソッドは、その包含ページ上の静的メソッドまたはユーザコントロール(UserControl)、あるいは他の任意のオブジェクト上の静的メソッドまたはインスタンスメソッドとすることができる。コールバックメソッドは、同じキャッシュページを求める要求がいくつか同時に着信した場合、いくつかのスレッドから同時に呼び出される可能性があるため、スレッドセーフ(thread-safe)でなければならない。以下の例では、「Response.WriteSubstitution」の使用法を示す。
Figure 2004348743
Figure 2004348743
ウェブページに対する最初の要求時には、デリゲートが関連づけられた置換ブロックが、要求されたページに付加または組み込まれる。次に、ページが生成された後、ページがクライアントに提供される前に、WriteSubstitutionによって、HttpResponseSubstitutionCallbackデリゲートが呼び出され、ページの出力が生成される。次に、要求処理モジュールは、将来の要求のために取り出される応答バッファのチェーンを格納する。その後、そのウェブページに対して要求があった場合、要求処理モジュールは、要求をインタセプトし、置換ブロックを含む、関連づけられた応答バッファを検索する。置換ブロックを書き込むとき、デリゲートが呼び出され、動的コンテンツが生成されて、クライアントに対する応答に書き込まれるかまたは組み込まれる。
他の例では、開発者は、コンテンツを置換すべきページの場所にSubstitutionサーバコントロールを挿入し、MethodNameプロパティをコールバックメソッドに設定することができる。任意のオブジェクト上でコールバックメソッドを受け付けることができるResponse.WriteSubstitutionとは異なり、SubstitutionサーバコントロールのMethodNameプロパティは、コントロール包含PageまたはUserControl上の静的メソッドに設定される。以下の例では、Substitution Serverコントロールの使用法を示す。
Figure 2004348743
本発明の他の利点は、本発明を使用して、親ページがキャッシュされていない場合でも動的コンテンツを生成することができることである。典型的には、開発者はポストキャッシュ置換をサポートする他のサーバコントロールを使用して、ポストキャッシュ置換にアクセスする。これは、そのようなコントロールを使用してポストキャッシュ置換を利用することができる開発者にとって好都合である。
本発明の実施形態は、以下で詳述する様々なコンピュータハードウェアを備える特殊目的コンピュータまたは汎用コンピュータを含むことができる。このコンピュータは、クライアントコンピュータまたはサーバコンピュータとすることができる。コンピュータがサーバコンピュータの場合、図6に示す構成要素の一部は必ずしも使用しない。たとえば、サーバコンピュータは一般に、動作のためにモニタ、フロッピー(登録商標)ディスク、またはシリアルポートを必要としない。したがって、図6に図示されているのは、適合するコンピューティング環境の一例である。本発明の範囲に含まれる実施形態には、コンピュータ実行可能命令またはデータ構造を担持または記憶するコンピュータ可読媒体も含まれる。そのようなコンピュータ可読媒体は、汎用コンピュータまたは特殊目的コンピュータがアクセス可能な任意の利用可能媒体とすることができる。たとえば、そのようなコンピュータ可読媒体は、コンピュータ実行可能命令またはデータ構造の形態の所望のプログラムコード手段を担持または記憶するために使用可能であって、汎用コンピュータまたは特殊目的コンピュータがアクセス可能な、RAM、ROM、EEPROM、CD−ROM、もしくはその他の光ディスクストレージ、磁気ディスクストレージ、もしくはその他の磁気ストレージ、または他の任意の媒体を含むことができるが、これらには限定されない。情報をネットワークまたはその他の通信接続(有線、無線、または有線と無線の組合せ)を介してコンピュータに伝送または供給する場合、コンピュータは、当然ながらその接続をコンピュータ可読媒体とみなす。したがって、そのような接続は適切にはコンピュータ可読媒体と呼ばれる。上記の組合せも、コンピュータ可読媒体の範囲に含めるべきである。コンピュータ実行可能命令は、たとえば、汎用コンピュータ、特殊目的コンピュータ、または特殊目的処理ユニットに、特定の機能または機能群を実行させる命令およびデータを含む。
図6および以下の説明は、本発明を実施することができる適合するコンピュータ環境を概説することを意図したものである。本発明について、ネットワーク環境においてコンピュータによって実行されるプログラムモジュールなどのコンピュータ実行可能命令という一般的状況で説明するが、必ずしもその必要はない。一般に、プログラムモジュールは、特定のタスクを実行、または特定の抽象データタイプを実現する、ルーチン、プログラム、オブジェクト、構成要素、データ構造などを含む。コンピュータ実行可能命令、それに付随するデータ構造、およびプログラムモジュールは、本明細書で開示する方法のステップを実行するプログラムコード手段の例を示すものである。このような実行可能命令の特定のシーケンスおよびそれに付随するデータ構造は、そのようなステップで説明する機能を実施するための対応する動作の例である。
本発明は、パーソナルコンピュータ、手持ち式装置、マルチプロセッサシステム、マイクロプロセッサ内蔵またはプログラム式民生電子機器、ネットワークPC、ミニコンピュータ、メインフレームコンピュータなどを含めて、多くの種類のコンピュータシステム構成を備えたネットワークコンピューティング環境で実施可能であることが、当業者ならわかるであろう。また、本発明は、通信ネットワークを介して(有線リンク、無線リンク、または有線リンクと無線リンクとの組合せによって)リンクされたローカル処理ユニットとリモート処理ユニットによってタスクが実行される、分散コンピューティング環境でも実施することができる。分散コンピューティング環境では、プログラムモジュールをローカルとリモートの両方のメモリストレージに配置することができる。
図6を参照すると、本発明を実施する例示のシステムは、処理ユニット21と、システムメモリ22と、システムメモリ22を処理ユニット21に結合することを含めて様々なシステム構成要素を結合するシステムバス23とを備えた、従来のコンピュータ20の形態の汎用コンピューティング装置を含む。システムバス23は、メモリバスまたはメモリコントローラと、周辺バスと、様々なバスアーキテクチャのいずれかを使用するローカルバスとを含めた数種類のバス構造のいずれかとすることができる。システムメモリは、読取り専用メモリ(ROM)24およびランダムアクセスメモリ(RAM)25を含む。始動時などにコンピュータ20内の要素間での情報伝達を容易にする基本ルーチンを含む基本入出力システム(BIOS)26を、ROM24に記憶することができる。
コンピュータ20は、磁気ハードディスク39の読み書きを行う磁気ハードディスクドライブ27と、取外し可能磁気ディスク29の読み書きを行う磁気ディスクドライブ28と、CD−ROMまたはその他の光媒体などの取外し可能光ディスク31の読み書きを行う光ディスクドライブ30も備えることができる。磁気ハードディスクドライブ27、磁気ディスクドライブ28、および光ディスクドライブ30は、それぞれ、ハードディスクドライブインターフェース32、磁気ディスクドライブインターフェース33、および光ドライブインターフェース34によってシステムバス23に接続されている。これらのドライブとそれに付随するコンピュータ可読媒体は、コンピュータ20に、コンピュータ実行可能命令、データ構造、プログラムモジュール、およびその他のデータの不揮発性記憶域を提供する。本明細書で説明する例示の環境では、磁気ハードディスク39と、取外し可能磁気ディスク29と、取外し可能光ディスク31とを使用するが、磁気カセット、フラッシュメモリカード、デジタル多用途ディスク、ベルヌーイカートリッジ、RAM、ROMなどを含めて、データを記憶するその他の種類のコンピュータ可読媒体も使用可能である。
オペレーティングシステム35、1つまたは複数のアプリケーションプログラム36、その他のプログラムモジュール37、およびプログラムデータ38を含めて、1つまたは複数のプログラムモジュールを含むプログラムコード手段を、ハードディスク39、磁気ディスク29、光ディスク31、ROM24、またはRAM25に記憶することができる。ユーザは、キーボード40、ポインティングデバイス42、または、マイクロフォン、ジョイスティック、ゲームパッド、衛星アンテナ、スキャナなどその他の入力装置(図示せず)を介して、コンピュータ20にコマンドと情報を入力することができる。これらの入力装置およびその他の入力装置は、システムバス23に結合されたシリアルポートインターフェース46を介して処理ユニット21に接続されることが多い。あるいは、入力装置は、パラレルポート、ゲームポート、またはユニバーサルシリアルバス(USB)など、その他のインターフェースによって接続することできる。システムバス23には、ビデオアダプタ48などのインターフェースを介してモニタ47またはその他の表示装置も接続される。モニタに加えて、パーソナルコンピュータは一般に、スピーカやプリンタなど、その他の周辺出力装置(図示せず)も備える。
コンピュータ20は、リモートコンピュータ49aおよび49bなど、1または複数のリモートコンピュータへの論理接続を使用して、ネットワーク環境で動作することができる。リモートコンピュータ49aおよび49bは、それぞれ他のパーソナルコンピュータ、サーバ、ルータ、ネットワークPC、ピア装置、またはその他の共通ネットワークノードとすることができ、一般には、コンピュータ20に関して上述した要素の多くまたは全部を含むが、図6にはメモリストレージ50aおよび50bとそれに付随するアプリケーションプログラム36aおよび36bのみが図示されている。図6に図示する論理接続は、ローカルエリアネットワーク(LAN)51とワイドエリアネットワーク(WAN)52とを含むが、これらは例示に過ぎず、限定的なものではない。このようなネットワーク環境は、事務所規模または企業規模のコンピュータネットワーク、イントラネット、およびインターネットでは一般的なものである。
LANネットワーク環境で使用する場合、コンピュータ20は、ネットワークインターフェースまたはアダプタ53を介してローカルネットワーク51に接続される。WANネットワーク環境で使用する場合、コンピュータ20は、インターネットなどのワイドエリアネットワーク52を介した通信を確立するためのモデム54、無線リンク、またはその他の手段を含むことができる。モデム54は、内蔵モデムまたは外付けモデムとすることができ、シリアルポートインターフェース46を介してシステムバス23に接続される。ネットワーク環境では、コンピュータ20に関連して図示されているプログラムモジュールまたはその一部を、リモートメモリストレージに記憶することもできる。図のネットワーク接続は例示的なものであり、ワイドエリアネットワーク52を介した通信を確立するその他の手段も使用可能であることがわかるであろう。
本発明は、本発明の主旨および本質的特性から逸脱することなく、他の特定の形態でも実施可能である。本明細書に記載の実施形態は、あらゆる面で例示的なものに過ぎず、限定的なものではないとみなされるべきである。したがって、本発明の範囲は、以上の説明によってではなく、特許請求の範囲によって示される。特許請求と同等の主旨および範囲に含まれるすべての変更は、特許請求の範囲に含めるべきである。
ポストキャッシュ置換を実施するシステムの一例を示す図である。 キャッシュから提供され、動的コンテンツを含むコンテンツの一例を示す図である。 要求されたコンテンツに対応するキャッシュ内の応答バッファのチェーンを示し、新たなコンテンツを生成する置換ブロックに関連づけられたデリゲートを示す図である。 キャッシュされたコンテンツに動的コンテンツを挿入するサーバシステムの一実施形態を示す図である。 キャッシュされたコンテンツ内の動的コンテンツを提供する方法の一実施形態を示す流れ図である。 本発明に適合する動作環境を実現するシステムの一例を示す図である。
符号の説明
20 コンピュータ
21 処理ユニット
22 システムメモリ
23 システムバス
24 ROM
25 RAM
26 BIOS
27 磁気ハードディスクドライブ
28 磁気ディスクドライブ
29 取外し可能磁気ディスク
30 光ディスクドライブ
31 取外し可能光ディスク
32 ハードディスクドライブインターフェース
33 磁気ディスクドライブインターフェース
34 光ドライブインターフェース
39 磁気ハードディスク
40 キーボード
42 ポインティングデバイス
47 モニタ
48 ビデオアダプタ
49a、49b リモートコンピュータ
50a、50b メモリストレージ
51 ローカルエリアネットワーク
52 ワイドエリアネットワーク
53 ネットワークインターフェースまたはアダプタ
54 モデム
100 クライアント
102 ネットワーク
110 サーバ
112 キャッシュ
114 ストレージ
115 データベース
200 ウェブページ
204 ニュース
206 広告スペース
302 応答バッファ
304 置換ブロック
306 応答バッファ
308 デリゲート
310 応答バッファ
312 応答バッファのチェーン
314 応答バッファのチェーン
400 サーバシステム
402 出力パイプラインモジュール
404 要求
408 要求処理モジュール
410 ページ生成モジュール
412 ストレージ
416 キャッシュ
417 置換ブロック
418 応答バッファ

Claims (29)

  1. クライアント要求に応答してコンテンツのキャッシュからコンテンツを提供するサーバを有するシステムにおいて、キャッシュされた前記コンテンツをクライアントに提供するときに、キャッシュされた前記コンテンツに動的コンテンツを挿入する方法であって、
    コンテンツを求める要求をクライアントから受け取るステップと、
    デリゲートを有する置換ブロックを含む応答バッファのチェーンであって、前記クライアントによって要求された前記コンテンツに対応する該応答バッファのチェーンをキャッシュから検索するステップと、
    前記置換ブロックに関連づけられた前記デリゲートを呼び出すステップであって、前記置換ブロックは、前記クライアント要求に対する応答により提供される前記応答バッファのチェーンに含まれる前記動的コンテンツを生成するステップと、
    を含むことを特徴とする方法。
  2. 前記クライアントに対する前記応答において前記動的コンテンツを含む前記コンテンツを提供するステップをさらに含むことを特徴とする請求項1に記載の方法。
  3. 前記コンテンツを求める要求をクライアントから受け取るステップは、前記クライアントによって要求された前記コンテンツが前記キャッシュに格納されているか否かを判断するステップを含むことを特徴とする請求項1に記載の方法。
  4. 前記クライアントによって要求された前記コンテンツが前記キャッシュに格納されているか否かを判断するステップは、前記コンテンツが前記キャッシュに格納されていない場合に前記コンテンツを生成するステップを含むことを特徴とする請求項3に記載の方法。
  5. 前記コンテンツが前記キャッシュに格納されていない場合に前記コンテンツを生成するステップは、
    前記応答に前記置換ブロックを付加するステップと、
    前記置換ブロックを有する前記応答を前記キャッシュに格納するステップと、
    新たな前記コンテンツを含む前記コンテンツのキャッシャビリティをサーバ専用に低下させるステップと、
    を含むことを特徴とする請求項4に記載の方法。
  6. 前記置換ブロックに関連づけられた前記デリゲートを呼び出すステップであって、前記置換ブロックは、前記クライアント要求に対する応答により提供される前記応答バッファのチェーンに含まれる前記動的コンテンツを生成するステップは、
    前記動的コンテンツを有する前記コンテンツを、前記クライアントに送られる前記応答に書き込むステップを含む、
    ことを特徴とする請求項1に記載の方法。
  7. 前記置換ブロックに関連づけられた前記デリゲートを呼び出すステップであって、前記置換ブロックは、前記クライアント要求に対する応答により提供される前記応答バッファのチェーンに含まれる前記動的コンテンツを生成するステップは、
    前記置換ブロックの代わりに前記応答バッファのチェーンに前記動的コンテンツを挿入するステップを含む、
    ことを特徴とする請求項1に記載の方法。
  8. 1または複数のクライアントにキャッシュからコンテンツを提供するサーバを含むシステムにおいて、キャッシュされたコンテンツをクライアント要求に応答してクライアントに提供するとき、前記キャッシュされたコンテンツがクライアント要求ごとに変化する動的コンテンツを含むようにコンテンツをキャッシュする方法であって、
    動的コンテンツを生成するデリゲートを保存する置換ブロックを、キャッシュされる応答に付加するステップと、
    前記応答をキャッシュに格納し、それによって、将来のクライアント要求において前記応答を前記キャッシュから提供するとき、前記置換ブロックにより保存される前記デリゲートが呼び出され、前記応答に挿入される新たな動的コンテンツが生成されるようにするステップと、
    を含むことを特徴とする方法。
  9. 前記キャッシュに格納された前記応答に対応するコンテンツを求める後続のクライアント要求を受け取るステップと、
    前記置換バッファを含む前記応答を前記キャッシュから検索するステップと、
    前記置換バッファに関連づけられた前記デリゲートを呼び出して、前記後続のクライアント要求に対する前記応答に含める前記動的コンテンツを生成するステップと、
    をさらに含むことを特徴とする請求項8に記載の方法。
  10. 前記動的コンテンツを含む前記応答を提供するステップをさらに含むことを特徴とする請求項9に記載の方法。
  11. 前記キャッシュに格納された前記応答に対応するコンテンツを求める後続のクライアント要求を受け取るステップは、
    前記後続のクライアント要求において要求された前記コンテンツが前記キャッシュに格納されているか否かを判断するステップを含む、
    ことを特徴とする請求項9に記載の方法。
  12. 前記デリゲートを呼び出して、クライアント要求に対する応答に含まれる動的コンテンツを生成するステップをさらに含むことを特徴とする請求項8に記載の方法。
  13. ユーザコントロールを介して前記デリゲートを呼び出すステップをさらに含むことを特徴とする請求項12に記載の方法。
  14. 前記デリゲートを呼び出して、クライアント要求に対する応答に含まれる動的コンテンツを生成するステップは、
    サーバコントロールを介して前記デリゲートを呼び出すステップを、
    さらに含むことを特徴とする請求項12に記載の方法。
  15. 前記動的コンテンツを生成するデリゲートを保存する置換ブロックを、キャッシュされる応答に付加するステップは、
    前記応答に対応する応答バッファのチェーンに前記置換バッファを挿入するステップを含む、
    ことを特徴とする請求項8に記載の方法。
  16. 請求項8に記載の方法を実行するコンピュータ実行可能命令を有することを特徴とするコンピュータプログラムプロダクト。
  17. ウェブページを求める1または複数のクライアントからの要求に応答して前記1または複数のクライアントにキャッシュから前記ウェブページを提供するサーバを含むシステムにおいて、前記ウェブページが前記キャッシュから提供されるときに動的コンテンツを含むように前記ウェブページを完全にキャッシュする方法であって、
    あるサーバにおいて、あるウェブページを求める要求をクライアントから受け取るステップと、
    前記クライアントによって要求された前記ウェブページが前記サーバのキャッシュに完全に格納されているか否かを判断するステップと、
    1または複数の応答バッファと置換ブロックとを含む応答バッファのチェーンであって前記クライアントによって要求された前記ウェブページに対応する応答バッファのチェーンを、前記キャッシュから検索するステップと、
    前記応答バッファのチェーン内の各応答バッファを、前記クライアントに提供する応答に書き込むステップと、
    前記置換ブロックを書き込むときに、前記置換ブロックに関連づけられたデリゲートを呼び出し、前記置換ブロックの代わりに前記クライアントに対する前記応答に組み込まれている前記ウェブページのための動的コンテンツを生成するステップと、
    を含むことを特徴とする方法。
  18. 前記クライアントによって要求された前記ウェブページが前記サーバのキャッシュ内に完全にキャッシュされているか否かを判断するステップは、
    前記ウェブページを生成するステップと、
    前記ウェブページを前記応答バッファのチェーンとして前記キャッシュに格納するステップと、
    を含むことを特徴とする請求項17に記載の方法。
  19. 前記ウェブページを前記応答バッファのチェーンとして前記キャッシュに格納するステップは、キャッシュされる前記ウェブページに前記置換ブロックを挿入するステップを含むことを特徴とする請求項18に記載の方法。
  20. キャッシュされる前記ウェブページのキャッシャビリティをサーバ専用に低下させ、それによって前記ウェブページが前記クライアントにおいてキャッシュされないようにするステップをさらに含むことを特徴とする請求項19に記載の方法。
  21. 前記1または複数の応答バッファと置換ブロックとを含む応答バッファのチェーンであって前記クライアントによって要求された前記ウェブページに対応する応答バッファのチェーンを、前記キャッシュから検索するステップは、
    ユーザコントロールを使用して前記デリゲートを呼び出すステップを、
    含むことを特徴とする請求項17に記載の方法。
  22. 前記1または複数の応答バッファと置換ブロックとを含む応答バッファのチェーンであって前記クライアントによって要求された前記ウェブページに対応する応答バッファのチェーンを、前記キャッシュから検索するステップは、
    サーバコントロールを使用して前記デリゲートを呼び出すステップを、
    含むことを特徴とする請求項17に記載の方法。
  23. 前記1または複数の応答バッファと置換ブロックとを含む応答バッファのチェーンであって前記クライアントによって要求された前記ウェブページに対応する応答バッファのチェーンを、前記キャッシュから検索するステップは、
    既存のサーバコントロールを使用して前記デリゲートを呼び出すステップを、
    含むことを特徴とする請求項17に記載の方法。
  24. 前記ウェブページが前記キャッシュに格納されていない場合であっても、要求された前記ウェブページにおける新たな動的コンテンツを提供するステップをさらに含むことを特徴とする請求項17に記載の方法。
  25. コンテンツを求める1または複数のクライアントからの要求に応答して前記1または複数のクライアントにキャッシュから前記コンテンツを提供するサーバを含むシステムにおいて、前記コンテンツが前記キャッシュから提供されるときに動的コンテンツを含むように前記コンテンツを完全にキャッシュする方法を実施するコンピュータプログラムプロダクトであって、
    前記方法を実行するコンピュータ実行可能命令を有するコンピュータ可読媒体を含み、前記方法は、
    あるサーバにおいてあるウェブページを求めるクライアントからの要求を受け取るステップと、
    前記クライアントによって要求された前記ウェブページが前記サーバのキャッシュに格納されているか否かを判断するステップと、
    1または複数の応答バッファと置換ブロックとを含む応答バッファのチェーンであって前記クライアントによって要求された前記ウェブページに対応する応答バッファのチェーンを、前記キャッシュから検索するステップと、
    前記応答バッファのチェーン内の各応答バッファを、前記クライアントに提供する応答に書き込むステップと、
    前記置換ブロックを書き込むときに、関連づけられたデリゲートを呼び出し、前記クライアントに対する前記応答に組み込まれる前記ウェブページのための動的コンテンツを生成するステップと、
    を含むことを特徴とするコンピュータプログラムプロダクト。
  26. キャッシュされる前記ウェブページのキャッシャビリティをサーバ専用に低下させ、それによって前記ウェブページが前記クライアントにおいてキャッシュされないようにするステップを、さらに含むことを特徴とする請求項25に記載のコンピュータプログラムプロダクト。
  27. 前記1または複数の応答バッファと置換ブロックとを含む応答バッファのチェーンであって前記クライアントによって要求された前記ウェブページに対応する応答バッファのチェーンを前記キャッシュから検索するステップは、
    ユーザコントロールを使用して前記デリゲートを呼び出すステップを、
    含むことを特徴とする請求項25に記載のコンピュータプログラムプロダクト。
  28. 前記1または複数の応答バッファと置換ブロックとを含む応答バッファのチェーンであって前記クライアントによって要求された前記ウェブページに対応する応答バッファのチェーンを前記キャッシュから検索するステップは、
    サーバコントロールを使用して前記デリゲートを呼び出すステップを、
    含むことを特徴とする請求項25に記載のコンピュータプログラムプロダクト。
  29. 前記ウェブページが前記キャッシュに格納されていない場合であっても、要求された前記ウェブページにおける新たな動的コンテンツを提供するステップを、さらに含むことを特徴とする請求項25に記載のコンピュータプログラムプロダクト。
JP2004152120A 2003-05-23 2004-05-21 ポストキャッシュ置換 Pending JP2004348743A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/444,834 US20040236824A1 (en) 2003-05-23 2003-05-23 Post-cache substitution

Publications (1)

Publication Number Publication Date
JP2004348743A true JP2004348743A (ja) 2004-12-09

Family

ID=33098037

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004152120A Pending JP2004348743A (ja) 2003-05-23 2004-05-21 ポストキャッシュ置換

Country Status (9)

Country Link
US (1) US20040236824A1 (ja)
EP (1) EP1480131A3 (ja)
JP (1) JP2004348743A (ja)
KR (1) KR20040101055A (ja)
CN (1) CN100471113C (ja)
AU (1) AU2004201945A1 (ja)
CA (1) CA2468001A1 (ja)
MX (1) MXPA04004898A (ja)
RU (1) RU2358306C2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007200311A (ja) * 2006-01-24 2007-08-09 Internatl Business Mach Corp <Ibm> ウェブ・サービス要求をキャッシュする方法、システム、及びコンピュータ・プログラム(ウェブ・サービス要求のキャッシュ)
JP2015035162A (ja) * 2013-08-09 2015-02-19 株式会社日立ソリューションズ東日本 文書閲覧システム及び文書閲覧方法

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7096418B1 (en) * 2000-02-02 2006-08-22 Persistence Software, Inc. Dynamic web page cache
US8145908B1 (en) * 2004-10-29 2012-03-27 Akamai Technologies, Inc. Web content defacement protection system
US7711799B2 (en) * 2004-11-22 2010-05-04 Alcatel-Lucent Usa Inc. Method and apparatus for pre-packetized caching for network servers
US8037127B2 (en) 2006-02-21 2011-10-11 Strangeloop Networks, Inc. In-line network device for storing application-layer data, processing instructions, and/or rule sets
US8166114B2 (en) 2006-02-21 2012-04-24 Strangeloop Networks, Inc. Asynchronous context data messaging
WO2008154084A1 (en) * 2007-06-11 2008-12-18 Dulcian, Inc. Method and architecture supporting high performance web applications
US8219752B1 (en) 2008-03-31 2012-07-10 Amazon Technologies, Inc. System for caching data
US20090254707A1 (en) * 2008-04-08 2009-10-08 Strangeloop Networks Inc. Partial Content Caching
US9906620B2 (en) * 2008-05-05 2018-02-27 Radware, Ltd. Extensible, asynchronous, centralized analysis and optimization of server responses to client requests
US8250177B2 (en) * 2008-06-27 2012-08-21 Microsoft Corporation Uncached data control in server-cached page
US9549039B2 (en) 2010-05-28 2017-01-17 Radware Ltd. Accelerating HTTP responses in a client/server environment
US8489772B2 (en) * 2010-03-09 2013-07-16 At&T Intellectual Property I, L.P. Method for mechanically generating content for messages
US20110231482A1 (en) * 2010-03-22 2011-09-22 Strangeloop Networks Inc. Automated Optimization Based On Determination Of Website Usage Scenario
WO2012101585A1 (en) 2011-01-28 2012-08-02 Strangeloop Networks, Inc. Prioritized image rendering based on position within a web page
CA2738290C (en) * 2011-04-28 2019-03-05 Ibm Canada Limited-Ibm Canada Limitee Exclusion of irrelevant data from a dom equivalence
US8935705B2 (en) 2011-05-13 2015-01-13 Benefitfocus.Com, Inc. Execution of highly concurrent processing tasks based on the updated dependency data structure at run-time
US10157236B2 (en) 2011-05-23 2018-12-18 Radware, Ltd. Optimized rendering of dynamic content
CN103907113A (zh) * 2011-09-14 2014-07-02 诺基亚公司 用于分布式脚本处理的方法和装置
WO2013038320A1 (en) * 2011-09-16 2013-03-21 Strangeloop Networks, Inc. Mobile resource accelerator
US9110751B2 (en) 2012-02-13 2015-08-18 Microsoft Technology Licensing, Llc Generating and caching software code
US20130282859A1 (en) * 2012-04-20 2013-10-24 Benefitfocus.Com, Inc. System and method for enabling the styling and adornment of multiple, disparate web pages through remote method calls
GB2505179A (en) * 2012-08-20 2014-02-26 Ibm Managing a data cache for a computer system
CN104519081A (zh) * 2013-09-27 2015-04-15 阿里巴巴集团控股有限公司 一种页面访问的方法和装置
EP2953313A1 (en) * 2014-06-05 2015-12-09 Thomson Licensing Method for operating a cache arranged along a transmission path between client terminals and at least one server, and corresponding cache
US9977743B2 (en) * 2016-08-31 2018-05-22 Intel Corporation Managing enclave memory pages

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020004813A1 (en) * 2000-03-08 2002-01-10 Alok Agrawal Methods and systems for partial page caching of dynamically generated content
EP1187040A2 (en) * 2000-07-26 2002-03-13 International Business Machines Corporation Caching customized information

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5835712A (en) * 1996-05-03 1998-11-10 Webmate Technologies, Inc. Client-server system using embedded hypertext tags for application and database development
US6021426A (en) * 1997-07-31 2000-02-01 At&T Corp Method and apparatus for dynamic data transfer on a web page
US6185608B1 (en) * 1998-06-12 2001-02-06 International Business Machines Corporation Caching dynamic web pages
US6606525B1 (en) * 1999-12-27 2003-08-12 Motorola, Inc. System and method of merging static data in web pages
US6505169B1 (en) * 2000-01-26 2003-01-07 At&T Corp. Method for adaptive ad insertion in streaming multimedia content
US7096418B1 (en) * 2000-02-02 2006-08-22 Persistence Software, Inc. Dynamic web page cache
EP1182589A3 (en) * 2000-08-17 2002-07-24 International Business Machines Corporation Provision of electronic documents from cached portions
US6988142B2 (en) * 2000-08-24 2006-01-17 Red Hat, Inc. Method and apparatus for handling communication requests at a server without context switching
US7117436B1 (en) * 2000-08-31 2006-10-03 Oracle Corporation Generating a Web page by replacing identifiers in a preconstructed Web page
JP4029581B2 (ja) * 2000-11-15 2008-01-09 トヨタ自動車株式会社 内燃機関運転停止時回転制御装置
US20030004998A1 (en) * 2001-06-29 2003-01-02 Chutney Technologies, Inc. Proxy-based acceleration of dynamically generated content

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020004813A1 (en) * 2000-03-08 2002-01-10 Alok Agrawal Methods and systems for partial page caching of dynamically generated content
EP1187040A2 (en) * 2000-07-26 2002-03-13 International Business Machines Corporation Caching customized information

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007200311A (ja) * 2006-01-24 2007-08-09 Internatl Business Mach Corp <Ibm> ウェブ・サービス要求をキャッシュする方法、システム、及びコンピュータ・プログラム(ウェブ・サービス要求のキャッシュ)
JP2015035162A (ja) * 2013-08-09 2015-02-19 株式会社日立ソリューションズ東日本 文書閲覧システム及び文書閲覧方法

Also Published As

Publication number Publication date
EP1480131A2 (en) 2004-11-24
CN1574747A (zh) 2005-02-02
CA2468001A1 (en) 2004-11-23
US20040236824A1 (en) 2004-11-25
MXPA04004898A (es) 2005-08-26
CN100471113C (zh) 2009-03-18
RU2004115491A (ru) 2005-11-10
AU2004201945A1 (en) 2004-12-09
KR20040101055A (ko) 2004-12-02
EP1480131A3 (en) 2006-05-10
RU2358306C2 (ru) 2009-06-10

Similar Documents

Publication Publication Date Title
JP2004348743A (ja) ポストキャッシュ置換
US10798127B2 (en) Enhanced document and event mirroring for accessing internet content
JP4868590B2 (ja) ウェブ・サービス要求をキャッシュする方法、システム、及びコンピュータ・プログラム
US6347316B1 (en) National language proxy file save and incremental cache translation option for world wide web documents
JP3978185B2 (ja) フラグメント・リンキングおよびフラグメント・キャッシングの方法およびシステム
US7778987B2 (en) Locally storing web-based database data
US6704797B1 (en) Method and system for distributing image-based content on the internet
JP4818253B2 (ja) ウェブ・ページの適時更新
US7702800B2 (en) Detecting and handling affinity breaks in web applications
US20060230059A1 (en) Method and apparatus to select and deliver portable portlets
US7082454B1 (en) Dynamic content caching framework
JPH10116236A (ja) 遅延コード化データ伝送
JP2007200331A (ja) 構成可能な期間に関するプライベート・データをキャッシュする方法及び装置
US11468175B2 (en) Caching for high-performance web applications
JP5137479B2 (ja) 異機種環境においてメッセージのサーバ・ベースのレンダリングを管理するためにコンピュータを利用する方法およびシステム
US20090024632A1 (en) Method of and System for Controlling Private Data in Web-Based Applications
US8019884B2 (en) Proxy content for submitting web service data in the user&#39;s security context
US7873707B1 (en) Client-side URL rewriter
JP4554723B2 (ja) ネットワーク応答バッファリング動作の管理
JP5235504B2 (ja) 動的にウェブ・コンテンツを生成するサーバ
US7904574B1 (en) Managing locally stored web-based database data
Sebastine A Scalable Content Distribution Service for Dynamic Web Content
Hvelplund A distributed CMS based on LAMP

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070417

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090710

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091009

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100518