JP5980430B2 - コンピュータ・システムのためのデータ・キャッシュを管理するための方法、装置、コンピュータ・プログラム製品、およびコンピュータ・プログラム(コンピュータ・システムのためのデータ・キャッシュの管理) - Google Patents

コンピュータ・システムのためのデータ・キャッシュを管理するための方法、装置、コンピュータ・プログラム製品、およびコンピュータ・プログラム(コンピュータ・システムのためのデータ・キャッシュの管理) Download PDF

Info

Publication number
JP5980430B2
JP5980430B2 JP2015527982A JP2015527982A JP5980430B2 JP 5980430 B2 JP5980430 B2 JP 5980430B2 JP 2015527982 A JP2015527982 A JP 2015527982A JP 2015527982 A JP2015527982 A JP 2015527982A JP 5980430 B2 JP5980430 B2 JP 5980430B2
Authority
JP
Japan
Prior art keywords
request
response
data resource
data
cached
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.)
Active
Application number
JP2015527982A
Other languages
English (en)
Other versions
JP2015527674A (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 JP2015527674A publication Critical patent/JP2015527674A/ja
Application granted granted Critical
Publication of JP5980430B2 publication Critical patent/JP5980430B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • 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
    • 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]

Description

本発明は、コンピュータ・システムのためのデータ・キャッシュの管理に関する。
コンピュータ・システムは一般に、システム全体にわたるデータのプロビジョンを加速させるように構成された1つまたは複数のキャッシュを備える。キャッシュには、元のデータ・ソースからのデータのコピーが記憶される。データを求める要求に応答して、元のデータ・ソースからのデータの代わりに、要求されたデータがキャッシュから提供される。したがって、データ・ソースがデータ要求元に対してローカルでない場合、要求元に対してローカルに設けられたキャッシュが、当該データのプロビジョンを加速させることができる。
ウェブ・ページなど、いくらかのデータには、データがキャッシュされるのを防ぐように構成されたメカニズム(ディレクティブと一般に呼ばれる)を設けることができる。データをウェブ・ページの形でネットワークにまたがって通信するのに使用されるハイパーテキスト転送プロトコル(HTTP)は、予想されるまたは要求される挙動を設定するようなディレクティブを指定するのに使用できるヘッダ・フィールドを含む。このようなヘッダの1つは、所与のページがキャッシュされるべきか否かを指定するためにウェブ・ページ・プロバイダによって使用できるキャッシュ制御ヘッダである。しかし、このようなキャッシュ制御は一般に、そうしたキャッシュ制御にもかかわらずキャッシングから利益を得る可能性があるデータもあるという点で、過度に指定される。
したがって、前述の問題に対処することが、当技術分野で必要とされている。
第1の態様から見ると、本発明は、コンピュータ・システムのためのデータ・キャッシュを管理する方法を提供する。前記方法は、クライアント・プロセスによって要求された1つまたは複数のデータ・リソースのためのキャッシュを維持するステップと、前記クライアント・プロセスからの、キャッシュ済みデータ・リソースを求める要求に応答して、前記データ・リソースを求める第1の要求をサーバ・プロセスに送り、前記データ・リソースが一番最近にキャッシュされてから前記データ・リソースが修正されたか否かの指示を求める第2の要求を前記サーバ・プロセスに送るステップと、前記第1または第2の要求に対する前記サーバ・プロセスからの応答を、キャッシュ済みデータ・リソースと比較して、前記第2の要求に対する前記応答が不正確かどうかを識別するステップであって、前記第2の要求に対する前記応答が、前記データ・リソースが変化していないことの指示を含むのに応答して、前記データ・リソースの前記キャッシュ済みコピーを、前記第1の要求に応答して返された前記データ・リソースのコピーと比較して、前記第2の要求に対する前記応答が不正確かどうか判定し、前記第2の要求に対する前記応答が前記データ・リソースのコピーを含むのに応答して、次いで、前記データ・リソースの前記キャッシュ済みコピーを、前記第2の要求に応答して返された前記データ・リソースのコピーと比較して、前記第2の要求に対する前記応答が不正確かどうか判定することを含む前記識別するステップと、前記データ・リソースに関連する不正確な応答が所定数識別された場合に、前記データ・リソースのキャッシングをディセーブルにするステップとを含む。
第1および第2の要求は、キャッシュ済みデータ・リソースに関連する所定の初期化段階にわたり、キャッシュ済みデータ・リソースを求める要求に応答してサーバ・プロセスに送られてよい。そして、初期化段階の後、データ・リソースに関連する不正確な応答が所定数よりも少なく識別された場合は、データ・リソースのキャッシングがイネーブルにされてよい。データ・リソースのキャッシングがディセーブルにされた場合は、初期化段階の後、キャッシュ済みデータ・リソースを求める後続の要求に応答して第1の要求だけがサーバ・プロセスに送られてよく、データ・リソースのキャッシングがイネーブルにされた場合は、初期化段階の後、キャッシュ済みデータ・リソースを求める後続の要求に応答して第2の要求だけがサーバ・プロセスに送られてよい。
初期化段階の継続時間は、所定の時間期間に依存してよい。初期化段階の継続時間は、関連するデータ・リソースを求める要求の所定数に依存してよい。初期化段階は、データ・リソースに関連する不正確な応答が所定数識別されるのに応答して終了してよい。第2の要求は、HTTP if−modified−since(IMS)要求を含んでよい。
さらに他の態様から見ると、本発明は、コンピュータ・システムのためのデータ・キャッシュを管理するための装置を提供する。前記装置は、クライアント・プロセスによって要求された1つまたは複数のデータ・リソースのためのキャッシュを維持すること、前記クライアント・プロセスからの、キャッシュ済みデータ・リソースを求める要求に応答して、前記データ・リソースを求める第1の要求をサーバ・プロセスに送り、前記データ・リソースが一番最近にキャッシュされてから前記データ・リソースが修正されたか否かの指示を求める第2の要求を前記サーバ・プロセスに送ること、前記第1または第2の要求に対する前記サーバ・プロセスからの応答を、キャッシュ済みデータ・リソースと比較して、前記第2の要求に対する前記応答が不正確かどうかを識別することであって、前記第2の要求に対する前記応答が、前記データ・リソースが変化していないことの指示を含むのに応答して、前記データ・リソースの前記キャッシュ済みコピーを、前記第1の要求に応答して返された前記データ・リソースのコピーと比較して、前記第2の要求に対する前記応答が不正確かどうか判定し、前記第2の要求に対する前記応答が前記データ・リソースのコピーを含むのに応答して、次いで、前記データ・リソースの前記キャッシュ済みコピーを、前記第2の要求に応答して返された前記データ・リソースのコピーと比較して、前記第2の要求に対する前記応答が不正確かどうか判定する、前記識別すること、および、前記データ・リソースに関連する不正確な応答が所定数識別された場合に、前記データ・リソースのキャッシングをディセーブルにすることを行うように動作可能である。
さらに他の実施形態は、コンピュータ・システムのためのデータ・キャッシュを管理するためのコンピュータ・プログラム製品を提供する。コンピュータ・プログラム製品は、コンピュータ可読プログラム・コードが組み入れられたコンピュータ可読記憶媒体を含み、コンピュータ可読プログラム・コードは、クライアント・プロセスによって要求された1つまたは複数のデータ・リソースのためのキャッシュを維持すること、キャッシュ済みデータ・リソースを求めるクライアント・プロセスからの要求に応答して、データ・リソースを求める第1の要求をサーバ・プロセスに送り、データ・リソースが一番最近にキャッシュされてからデータ・リソースが修正されたか否かの指示を求める第2の要求をサーバ・プロセスに送ること、第1または第2の要求に対するサーバ・プロセスからの応答を、キャッシュ済みデータ・リソースと比較して、第2の要求に対する応答が不正確かどうかを識別すること、および、データ・リソースに関連する不正確な応答が所定数識別された場合に、データ・リソースのキャッシングをディセーブルにすることを行うように構成される。
さらに他の態様から見ると、本発明は、コンピュータ・システムのためのデータ・キャッシュを管理するためのコンピュータ・プログラム製品を提供する。コンピュータ・プログラム製品は、処理回路によって読取可能なコンピュータ可読記憶媒体であって、本発明のステップを実施する方法を実施するために処理回路によって実行される命令を記憶したコンピュータ可読記憶媒体を含む。
さらに他の態様から見ると、本発明は、コンピュータ可読媒体に記憶されディジタル・コンピュータの内蔵メモリにロード可能なコンピュータ・プログラムを提供し、コンピュータ・プログラムは、前記プログラムがコンピュータ上で実行されたときに本発明のステップを実施するためのソフトウェア・コード部分を含む。
本発明の実施形態は、所与のデータ・ソースのキャッシングが有益となるかどうかを自動的に決定することを可能にする。本発明の実施形態は、非キャッシュ・ディレクティブに逆らって、通常ならキャッシュされないデータ・ソースを有益にキャッシュするように構成されてよい。本発明の実施形態は、データ・ソースの1つまたは複数が動的な内容を含む場合であって、if−modified−since(IMS)応答が不正確である可能性がある場合に、適用されてよい。
次に、以下の図面を参照しながら、本発明の好ましい実施形態について単なる例として述べる。
従来技術による、かつ本発明の好ましい一実施形態をその中で実施できる、データ・キャッシュを提供するプロキシ・サーバを含むコンピュータ・システムの概略図である。 本発明の好ましい一実施形態による、図1のプロキシ・サーバによるキャッシュ管理のためのデータを含むテーブルである。 本発明の好ましい一実施形態による、図1のコンピュータ・システム中でデータのキャッシュを開始するときに図1のプロキシ・サーバ中で実施される処理を示すフローチャートである。 本発明の好ましい一実施形態による、図1のコンピュータ・システム中でデータに対する要求を管理するときに図1のプロキシ・サーバ中で実施される処理を示すフローチャートである。
図1を参照すると、コンピュータ・システム100は、第1、第2、および第3のコンピュータ101、102、103を含み、各コンピュータには、1つまたは複数のアプリケーション・プログラムを実行するための処理プラットフォームまたは環境を提供するように構成されたそれぞれのオペレーティング・システム104がロードされている。第1のコンピュータ101は、ユーザがウェブ・ページをロードおよび閲覧するのを可能にするように構成されたウェブ・ブラウザ・アプリケーション・プログラム105の形のクライアント・アプリケーション・プログラムを実行している。第2のコンピュータ102は、プロキシ・サーバ・アプリケーション・プログラム106の形のサーバ・アプリケーション・プログラムを実行している。第3のコンピュータ103は、ウェブ・サーバ・アプリケーション・プログラム107の形のサーバ・アプリケーション・プログラムを実行している。第2のコンピュータ102と第3のコンピュータ103とは、ネットワーク108を介して接続される。第1のコンピュータ101には、第2のコンピュータ102によって提供されるプロキシ・サーバ106を介して、ネットワーク108への接続が提供される。第3のコンピュータ103は、ウェブ・ページ110もしくは他のデータ・ファイルの形の、またはこれらの組合せの形のデータを記憶した記憶デバイス109に接続される。本発明の好ましい一実施形態では、クライアント、プロキシ・サーバ、およびウェブ・サーバ・アプリケーション105、106、107は、ハイパーテキスト転送プロトコル(HTTP)を使用してデータを通信する。
本発明の好ましい一実施形態では、プロキシ・サーバ106は、ウェブ・ページ110などの要求されたデータのキャッシュ112を自動的に構築および維持するように構成されたキャッシュ・マネージャ・モジュール111を備える。所与のウェブ・ページ110を閲覧する要求がウェブ・ブラウザ・アプリケーション・プログラム105からあれば、この要求は、プロキシ・サーバ106を介して、ネットワーク108を経由してウェブ・サーバ107に渡される。プロキシ・サーバ106は、それに応答して提供されたウェブ・ページ110のコピーをキャッシュするように構成される。次いで、所与のウェブ・ページ110を求めるウェブ・ブラウザ105からの後続の要求に応えるために、所与のウェブ・ページ110のキャッシュ済みコピーが所定の条件下で使用される。
図2を参照すると、キャッシュ・マネージャ・モジュール111は、キャッシュ候補レコード201、キャッシュ初期化データ202、およびキャッシュ性能基準(performance measure)203を備える。キャッシュ候補レコードは、キャッシュされうるデータのセット(ウェブ・ページ110の形の)ごとのエントリ204を含む。各エントリ204は、当該ウェブ・ページ110のユニフォーム・リソース・ロケータ(URL)205と、ウェブ・ページ110の現キャッシュ・コピーが作成された時刻を示すタイムスタンプ206とを含む。各エントリ204はさらに、当該ウェブ・ページのキャッシングが初期化(I)されているかイネーブル(Y)にされているかディセーブル(N)にされているかを示すように構成されたキャッシング・ステータス207を含む。
キャッシュ初期化データ202は、キャッシュ候補201ごとの初期化段階を司る所定のデータを含み、この初期化段階の間に、キャッシュ候補201のキャッシングをイネーブルにするか否かを決定するための1つまたは複数のチェックが実施される。したがって、初期化段階の間、そのエントリのキャッシング・ステータス207は「I」に設定される。キャッシュ初期化データ202は、初期化段階に関する2つの制限を定義する。第1の制限は、所定の時間期間を含む。第2の制限は、所定の要求数、すなわち、エントリによって識別されるデータ・リソースを求める要求の数を含む。初期化段階は、第1の制限と第2の制限のいずれかが満たされたときに終了する。
所与のエントリ204の初期化段階の間、キャッシュ・マネージャ111は、ウェブ・サーバ107への、所与のウェブ・ページ110を求めるその要求を、重複させるように構成される。これは、ウェブ・ページ110がキャッシュされていないかのようにウェブ・ページ110を要求すること、また、ウェブ・ページ110がキャッシュされているかのように、ウェブ・ページ110が一番最近にキャッシュ・マネージャ111によって受け取られてからウェブ・ページ110が変化したか否かの指示をウェブ・サーバ107に要求することによって行われる。キャッシュされているかのように行われた要求の結果と、キャッシュされていないかのように行われた要求の結果とが比較されて、ウェブ・ページ110のキャッシングが有益となるかどうかが判定される。本発明の好ましい一実施形態では、キャッシングの利益は、ウェブ・ページ110が変化したか否かの指示をウェブ・サーバ107に求める要求に対する、ウェブ・サーバ107の応答の正確さによって決定される。HTTPでは、ウェブ・サーバ107へのこのような要求は、ウェブ・ページ110についてのif−modified−since(IMS)要求によって提供される。このようなIMS要求に応答して、ウェブ・サーバ107は、ウェブ・ページ110が変化していないことを示すコード「304」の形の否定応答を返すか、または、ウェブ・ページ110の更新済みバージョンの形の肯定応答を返すことになる。
上述のように、キャッシュ・マネージャ111は、ウェブ・ページ110についての並行したIMS(キャッシュされているかのような)要求と標準(キャッシュされていないかのような)要求の応答を比較して、所与のIMS応答が正確か否かを判定するように構成される。キャッシュ・マネージャ111がIMS要求に対して「304」応答を受け取った場合は、並行した標準要求に応答して受け取られたウェブ・ページ110のバージョンが、ウェブ・ページ110のキャッシュ済みコピーと比較される。それぞれのコピーが同一ならば、IMS応答は正確であると見なされる。それぞれのコピーが同一でないならば、IMS応答は不正確であると見なされる。キャッシュ・マネージャ111が、IMS要求に応答してウェブ・ページ110の更新済みバージョンを受け取った場合は、この更新済みバージョンが、ウェブ・ページ110のキャッシュ済みコピーと比較される。この場合、それぞれのコピーが同一ならば、IMS応答は不正確であると見なされる。それぞれのコピーが同一でないならば、IMS応答は正確であると見なされる。
キャッシュ初期化データ202はさらに、初期化段階内で所与のウェブ・ページ110について受け取られた不正確なIMS応答の発生率についてのしきい値を定義する。しきい値が満たされる場合は、所与のウェブ・ページ110についてIMS応答メカニズムは不正確であると見なされ、したがって、キャッシングがディセーブルにされて、キャッシング・ステータス207が「I」から「N」に更新される。不正確なIMSの発生率がしきい値を満たさない場合は、所与のウェブ・ページのキャッシングがイネーブルにされて、キャッシング・ステータス207が「I」から「Y」に更新される。本発明の好ましい一実施形態では、初期化段階は、50回のページ要求と、最初のページ要求から500秒とのうちの、いずれか早く発生した方によって定義される。初期化段階についての他の定義を行うこともできることを、当業者なら理解するであろう。本発明の好ましい一実施形態では、不正確なIMS応答のしきい値発生率は0である。言い換えれば、不正確なIMS応答があれば、それは初期化期間中にログされ、次いで、当該キャッシュ候補のキャッシングがディセーブルにされる。
所与のキャッシュ候補についての初期化段階の後、キャッシュ・マネージャ111は、初期化段階で決定されたキャッシング・ステータスに従ってその処理を継続するように構成される。本発明の好ましい一実施形態では、キャッシュ・マネージャ111には、キャッシングがイネーブルにされたウェブ・ページ110と共に使用される性能基準203が提供される。性能基準203は、キャッシングが性能基準203を満たさない場合にウェブ・ページ110などの所与のデータ・セットのキャッシングをディセーブルにするかどうかを決定するように構成される。言い換えれば、キャッシュ・マネージャ111は、キャッシュからの当該データのプロビジョンを測定し、そのようなキャッシングが、データをそのソースから直接取り出すことに勝る性能利益をもたらさない場合には、当該データのキャッシングをディセーブルにするように構成される。
本発明の好ましい一実施形態では、性能基準203は、ソース・データの変化についての所定のしきい値頻度を含む。言い換えれば、ウェブ・サーバ107によって提供された元のウェブ・ページ110が、所与の時間期間にしきい値よりも多くの回数にわたって変化した場合は、このウェブ・ページのキャッシングはディセーブルにされる。本発明の好ましい一実施形態では、変化の頻度は、1分の時間期間内に1回である。性能基準203はまた、ウェブ・サーバ107によって提供されたウェブ・ページ110が変化した結果として、キャッシュ済みコピーの代わりにウェブ・ページ110がウェブ・サーバ107から所定期間内にプロビジョンされた頻度と言うこともできる。したがって、キャッシュ・マネージャ・モジュール111は、所与の初期化されたキャッシュ済みエントリ204についての各要求に応答して、最初に、サーバ107へのIMS要求を介して、ソース・ウェブ・ページ110が変化したか否かを決定するように構成される。いずれかの時点で非304応答の頻度がしきい値を超えた場合は、このキャッシュ・エントリ204についてのキャッシングがディセーブルにされ、したがってそのキャッシング・ステータスが「N」に更新される。
次に、ウェブ・ブラウザ105からのデータ要求に応答してキャッシュ・マネージャ・モジュール111によって実施される処理について、図3のフローチャートを参照しながらさらに述べる。処理は、ステップ301で、クライアント・アプリケーション105などの要求元からページ要求がURLの形で受け取られるのに応答して開始され、ステップ302に進む。ステップ302で、要求されたURLが現在のキャッシュ候補201に対してチェックされ、存在しない場合は、処理はステップ303に進む。新たに要求されたURLはキャッシュ候補に追加され、処理はステップ304に進む。ステップ304で、新しいエントリのキャッシング・ステータスが「I」に設定され、処理はステップ305に進む。ステップ305で、ページ要求はサーバ107に渡され、返された要求ページがキャッシュされて要求元クライアント・アプリケーション105に渡される。次いで、処理はステップ306に進んで終了する。
ステップ302で、要求されたURLが現在のキャッシュ候補201である場合は、処理はステップ307に進む。ステップ307で、当該エントリのキャッシング・ステータスがチェックされ、「I」に設定されている場合は、処理はステップ308に進む。ステップ308で、このURLに対する標準要求と並行して、最後のアクセス時刻206に基づくIMS要求がサーバ107に送られ、処理はステップ309に進む。ステップ309で、標準要求に応答して受け取られたページが要求元クライアント・アプリケーション105に転送され、処理はステップ310に進む。
ステップ310で、IMS要求に応答して、要求されたページに最後のアクセス時刻206から変化がないことを示す「304」応答が受け取られた場合は、処理はステップ311に進む。ステップ311で、標準的なページ要求に応答して受け取られたページがキャッシュ済みコピーと比較され、処理はステップ312に進む。ステップ312で、受け取られたページとキャッシュ済みページとが同じである場合は、処理はステップ313に進む。ステップ312で、受け取られたページとキャッシュ済みページとが同じでない場合は、処理はステップ314に進む。ステップ314で、不正確なIMS応答がログされ、次いで処理はステップ313に進む。
ステップ310で、IMS要求に対する応答が更新済みページを含む場合は、処理はステップ315に進む。ステップ315で、IMS要求に応答して受け取られたページがキャッシュ済みコピーと比較され、処理はステップ316に進む。ステップ316で、受け取られたページとキャッシュ済みページとが同じである場合は、処理はステップ314に進み、前述のように進行する。ステップ316で、受け取られたページとキャッシュ済みページとが同じでない場合は、処理はステップ317に進む。ステップ317で、更新済みページがキャッシュされ、キャッシュ・レコードが相応に更新される。次いで処理はステップ313に進む。
ステップ313で、当該ページが最初にキャッシングされてからの制限時間が経過したかまたはページ要求制限が満たされたせいで、初期化期間が満了した場合は、処理はステップ318に進む。ステップ318で、初期化期間にわたってログされた不正確なIMS応答の数がしきい値と比較され、処理はステップ319に進む。ステップ319で、しきい値が満たされていない場合は、処理はステップ320に進む。ステップ320で、キャッシング・ステータス207が「Y」に設定されて、当該エントリ204についてキャッシングがイネーブルにされ、処理はステップ306に進んで終了する。ステップ319でしきい値が満たされている場合は、処理はステップ321に進む。ステップ321で、キャッシング・ステータス207が「N」に設定されて、当該エントリ204についてキャッシングがディセーブルにされ、処理はステップ306に進んで終了する。
ステップ307で当該エントリのキャッシング・ステータスが「I」に設定されていない場合は、処理は図4のステップ401に進む。ステップ401で、エントリ204についてキャッシングがイネーブルにされていることを、識別されたエントリ204のキャッシング・ステータス207が示す場合は、処理はステップ402に進む。ステップ402で、タイムスタンプ206を表すデータを含むIMS要求がサーバ107に送られ、処理はステップ403に進む。ステップ403で、サーバからの応答が待機され、ウェブ・ページ110が変化していないことを示す「304」応答が受け取られた場合は、処理はステップ404に進む。ステップ404で、ウェブ・ページ110のキャッシュ済みコピーが要求元ウェブ・ブラウザ105に返され、処理はステップ405に進んで終了する。
ステップ403で、更新済みウェブ・ページを含む応答、したがってキャッシュ112中のウェブ・ページのコピーが古いことを示す応答が受け取られた場合は、処理はステップ406に進む。ステップ406で、キャッシュ中のデータのコピーが作成されてからの時間がタイムスタンプ206から確立され、所定期間(本発明の好ましい一実施形態では1分)未満である場合は、処理はステップ407に進む。ステップ407で、キャッシュ候補テーブル201中のキャッシング・ステータス207を介して、このURLについてのキャッシングがディセーブルにされ、処理はステップ408に進む。ステップ408で、ウェブ・ページ110の更新済みコピーが要求元ウェブ・ブラウザ105に転送される。次いで、処理はステップ405に進んで終了する。ステップ406で、データのキャッシュ済みコピーが保存されてからの時間が所定期間よりも長い場合は、処理はステップ409に進む。ステップ409で、ウェブ・ページ110の更新済みコピーが、古いコピーの代わりにキャッシュ112に記憶され、キャッシュ候補レコード201中の当該エントリ204のタイムスタンプ206が相応に更新され、次いで、処理はステップ408に進んで前述のように進行する。
ステップ401で、要求されたURLの当該エントリ204のキャッシング・ステータス207が、キャッシングがディセーブルにされていることを示す場合は、処理はステップ410に進み、要求はサーバ107への非キャッシュ済み要求として処理され、サーバ応答が要求元ウェブ・ブラウザ105に直接返される。次いで、処理はステップ405に進んで終了する。
別の実施形態では、初期化期間の満了前に、不正確なIMS応答の発生率がチェックされ、しきい値を超える場合は、当該データ・リソースについてキャッシングはディセーブルにされ初期化プロセスは停止する。不正確なIMS応答の発生率は、当該データが要求される度に、しきい値に対してチェックされてよい。
さらに他の実施形態では、キャッシュ候補のセットは、手動で修正することができる。別の実施形態では、1つまたは複数の所定の基準に従うデータ・ソースのみが、キャッシュ候補として選択される。さらに他の実施形態では、初期化段階は、キャッシュされないものとして指定されたデータ・ソース、すなわち、非キャッシュ・ディレクティブまたはポリシに関連するデータ・ソースに適用される。
別の実施形態では、初期化段階は、時間期間のみに左右される。さらに他の実施形態では、初期化段階は、データ・リソースを求める要求のしきい値数のみに左右される。別の実施形態では、不正確なIMS応答のしきい値発生率は、当該データ・ソースを求める要求の総数に比例する。さらに他の実施形態では、不正確なIMS応答のしきい値発生率は、当該データ・ソースについての不正確なIMS応答のレートを含む。
さらに他の実施形態では、キャッシュ・マネージャは、所定の性能基準が満たされるのに応答して、前にディセーブルにされたデータ・ソースのキャッシングを再度イネーブルにするように構成される。キャッシングを再度イネーブルにするための性能基準は、キャッシングをディセーブルにするための性能基準と同じとすることができる。例えば、所与のデータ・ソースのキャッシングは、データが1分よりも長く不変のままである場合に再度イネーブルにすることができる。再度イネーブルにされたキャッシュ候補は、さらに初期化段階にかけられてよい。
別の実施形態では、所定の性能基準は、所与の期間中のリソース要求の総数に対する所与のデータ・ソースの変化の比率を含む。
当業者には理解されるであろうが、本発明の所与の応用例に適する任意の性能基準を指定することができる。例えば、実質的に無限の時間期間を含めて、任意の時間期間を性能測定において指定することができる。言い換えれば、性能基準は、キャッシュがセットアップされてからの、リソースの変化の総数、または、リソースを求める要求の数に対する変化の比率を含んでよい。
さらに他の実施形態では、キャッシュ・マネージャは、データが変化していないことをデータ・ソースに対してチェックした後でデータをキャッシュから取り出す場合のサイズまたは速度と比較した、データをデータ・ソースに要求する場合のサイズまたは速度を測定するように構成される。要求されたデータ・セットが比較的小さい場合、または、キャッシュ済みデータの取出しと比較してデータ・ソースからの応答が比較的速い場合、あるいはこの両方の場合は、当該データ・ソースのキャッシングをディセーブルにすることができる。このようなチェックは、キャッシュのセットアップ時に、またはキャッシュの動作中に定期的に、実施することができる。
当業者には理解されるであろうが、データ・ソースが修正されたかどうかを判定するための他の任意の適切なメカニズムを提供することができる。このような他のメカニズムは、所与のデータ通信プロトコル内で提供されてもよく、またはそうしたどんなプロトコルからも独立して提供されてもよい。
当業者には理解されるであろうが、データ・ソースは、URLもしくはユニバーサル・リソース識別子(URI)、またはいずれか他の適切な識別子、ロケータ、ファイル名、もしくはファイル・パスなど、任意の適切な手段によって参照または識別されてよい。
当業者には理解されるであろうが、キャッシュは、データのローカル・コピーを記憶することが、元のソースからのそのようなデータにアクセスすることと比較して有益であるような、任意のタイプのデータを記憶するのに使用することができる。キャッシュの使用は、ウェブ・ページ・データに限定されない。
当業者には理解されるであろうが、本発明の実施形態は、アプリケーション層、トランスポート層、ネットワーク層、または他の層におけるいずれか他の適切な通信プロトコル(ファイル転送プロトコル(FTP)、インスタント・メッセージ・アクセス・プロトコル(IMAP)、または伝送制御プロトコル(TCP)など)を使用して実施することもできる。
当業者には理解されるであろうが、プロキシ・サーバ・アプリケーション・プログラムおよびそれに関連するキャッシュは、ネットワーク中で、クライアント・コンピュータとサーバ・コンピュータとの間、またはクライアント・コンピュータ上もしくはサーバ・コンピュータ上の、任意の地点に位置することができる。
本発明の実施形態は、所与のデータ・ソースのキャッシングが有益となるかどうかを自動的に決定することを可能にする。実施形態は、非キャッシュ・ディレクティブに逆らって、通常ならキャッシュされないデータ・ソースを有益にキャッシュするように構成されてよい。本発明の実施形態は、データ・ソースの1つまたは複数が動的な内容を含む場合であって、IMS応答が不正確である可能性がある場合に、適用されてよい。
本発明の一部または全部を具体化する装置は、本発明の実施形態の一部または全部を提供するように構成されたソフトウェアを有する汎用デバイスであってよいことは、当業者には理解されるであろう。このデバイスは、単一のデバイスまたは一群のデバイスとすることができ、ソフトウェアは、単一のプログラムまたは1組のプログラムとすることができる。さらに、本発明を実施するのに使用されるソフトウェアのいずれかまたは全ては、ソフトウェアを1つまたは複数のデバイスにロードできるように、任意の適切な伝送手段または記憶手段を介して通信されてよい。
本発明をその実施形態の記述によって例示し、また実施形態をかなり詳細に述べたが、添付の特許請求の範囲をこのような詳細に制限するかまたはいかなる形でも限定することは出願人の意図ではない。追加の利点および修正も当業者には容易に明らかであろう。したがって、本発明は、そのより広範な態様では、代表的な装置および方法の具体的詳細、ならびに図示および記述した例示的な例に限定されない。よって、出願人の一般的な発明概念の範囲を逸脱することなく、このような詳細から逸脱してもよい。
当業者には理解されるであろうが、本発明の態様は、システム、方法、コンピュータ・プログラム製品、またはコンピュータ・プログラムとして具体化することができる。したがって、本発明の態様は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態(ファームウェア、常駐ソフトウェア、マイクロコードなどを含む)、または、ソフトウェアとハードウェアの態様を組み合わせた実施形態の形をとることができ、本明細書ではこれらは全て「回路」、「モジュール」、または「システム」と一般に呼ばれる場合がある。さらに、本発明の態様は、コンピュータ可読プログラム・コードが組み入れられた1つまたは複数のコンピュータ可読媒体において具体化されるコンピュータ・プログラム製品の形をとることもできる。
1つまたは複数のコンピュータ可読媒体の、任意の組合せを利用することができる。コンピュータ可読媒体は、コンピュータ可読信号媒体またはコンピュータ可読記憶媒体とすることができる。コンピュータ可読記憶媒体は、例えば、電子、磁気、光学、電磁、赤外線、もしくは半導体の、システム、装置、もしくはデバイス、またはこれらの適切な組合せとすることができるが、これらに限定されない。コンピュータ可読記憶媒体のより具体的な例(非網羅的なリスト)は、1つもしくは複数のワイヤを有する電気接続、ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM)、読取専用メモリ(ROM)、消去可能プログラム可能な読取専用メモリ(EPROMもしくはフラッシュ・メモリ)、光ファイバ、ポータブル・コンパクト・ディスク読取専用メモリ(CD−ROM)、光学記憶デバイス、磁気記憶デバイス、またはこれらの任意の適切な組合せを含むことになる。この文書のコンテキストでは、コンピュータ可読記憶媒体は、命令実行システム、装置、またはデバイスによって使用されるかまたはそれらに関連して使用されるプログラムを、収録または記憶することのできる、任意の有形媒体とすることができる。
コンピュータ可読信号媒体は、例えばベースバンド中にまたは搬送波の一部として、コンピュータ可読プログラム・コードが組み入れられた伝搬データ信号を含んでよい。このような伝搬信号は、電磁、光学、またはこれらの任意の適切な組合せを含めた(ただしこれらに限定されない)様々な形のいずれかをとることができる。コンピュータ可読信号媒体は、コンピュータ可読記憶媒体でない任意のコンピュータ可読媒体であって、命令実行システム、装置、もしくはデバイスによって使用されるかまたはそれらに関連して使用されるプログラムを、通信または伝搬または搬送できる、任意のコンピュータ可読媒体とすることができる。
コンピュータ可読媒体上に組み入れられたプログラム・コードは、ワイヤレス、有線、光ファイバ・ケーブル、RFなど、またはこれらの任意の適切な組合せを含めた(ただしこれらに限定されない)、任意の適切な媒体を使用して伝送することができる。
本発明の態様に関する動作を実施するためのコンピュータ・プログラム・コードは、Java(R)、Smalltalk(R)、C++などのオブジェクト指向プログラミング言語、および、「C」プログラミング言語または類似のプログラミング言語などの従来の手続き型プログラミング言語を含めた、1つまたは複数のプログラミング言語の任意の組合せで書かれてよい。プログラム・コードは、スタンドアロンのソフトウェア・パッケージとして、完全にユーザのコンピュータ上で実行されるか部分的にユーザのコンピュータ上で実行されるか、一部はユーザのコンピュータ上で実行され一部はリモート・コンピュータ上で実行されるか、または完全にリモート・コンピュータもしくはサーバ上で実行されてよい。後者のシナリオでは、リモート・コンピュータは、ローカル・エリア・ネットワーク(LAN)もしくはワイド・エリア・ネットワーク(WAN)を含めた任意のタイプのネットワークを介してユーザのコンピュータに接続されてよく、または、接続は、外部コンピュータに対して(例えばインターネット・サービス・プロバイダを使用してインターネットを介して)行われてもよい。Java(R)、ならびに全てのJava(R)ベースの商標およびロゴは、Oracleまたはその関連会社あるいはその両方の、商標または登録商標である。
本発明の態様を、本発明の実施形態による方法、装置(システム)、およびコンピュータ・プログラム製品のフローチャート説明またはブロック図あるいはその両方に関して以上に述べた。フローチャート説明またはブロック図あるいはその両方の各ブロック、ならびに、フローチャート説明またはブロック図あるいはその両方の中のブロックの組合せを、コンピュータ・プログラム命令によって実現できることは理解されるであろう。これらのコンピュータ・プログラム命令を、汎用コンピュータ、専用コンピュータ、または他のプログラム可能データ処理装置のプロセッサに提供して、マシンを生み出すことができ、したがって、コンピュータまたは他のプログラム可能データ処理装置のプロセッサを介して実行される命令は、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロック中で指定される機能/行為を実現する手段をもたらす。
これらのコンピュータ・プログラム命令はまた、コンピュータ可読媒体に記憶されてよく、このコンピュータ可読媒体は、コンピュータ、他のプログラム可能データ処理装置、または他のデバイスに、特定の方式で機能するよう指示することができ、したがって、コンピュータ可読媒体に記憶された命令は、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロック中で指定される機能/行為を実現する命令を含む製造品を生み出す。
コンピュータ・プログラム命令はまた、コンピュータ、他のプログラム可能データ処理装置、または他のデバイスにロードされてよく、それにより、コンピュータ、他のプログラム可能装置、または他のデバイス上で一連の動作ステップが実施されて、コンピュータ実装プロセスが生み出され、したがって、コンピュータまたは他のプログラム可能装置上で実行される命令は、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロック中で指定される機能/行為を実現するためのプロセスを提供する。
図中のフローチャートおよびブロック図は、本発明の様々な実施形態によるシステム、方法、およびコンピュータ・プログラム製品の可能な実装形態の、アーキテクチャ、機能、および動作を示す。これに関して、フローチャートまたはブロック図中の各ブロックは、モジュール、セグメント、またはコード部分を表すことができ、これは、指定される論理機能を実現するための1つまたは複数の実行可能命令を含む。また、いくつかの代替実装形態では、ブロック中で示される機能は、図中で示される順序とは異なる順序で生じる場合があることにも留意されたい。例えば、関連する機能に応じて、連続して示される2つのブロックが実際にはほぼ同時に実行される場合もあり、またはこれらのブロックが逆の順序で実行されることもある。また、ブロック図またはフローチャート説明あるいはその両方の各ブロック、および、ブロック図またはフローチャート説明あるいはその両方の中のブロックの組合せは、指定される機能もしくは行為を実施する専用ハードウェアベースのシステムによって、または、専用ハードウェアとコンピュータ命令との組合せによって、実現されてよいことにも気付くであろう。疑念を避けるために、この記述および特許請求の範囲の全体にわたり本明細書で使用される用語「含む、備える(comprising)」は、「〜のみからなる」という意味に解釈されるべきではない。

Claims (16)

  1. コンピュータ・システムのためのデータ・キャッシュを管理する方法であって、
    クライアント・プロセスによって要求された1つまたは複数のデータ・リソースのためのキャッシュを維持するステップと、
    前記クライアント・プロセスからの、キャッシュ済みデータ・リソースを求める要求に応答して、
    前記データ・リソースを求める第1の要求をサーバ・プロセスに送り、
    前記データ・リソースが一番最近にキャッシュされてから前記データ・リソースが修正されたか否かの指示を求める第2の要求を前記サーバ・プロセスに送るステップと、
    前記第1または第2の要求に対する前記サーバ・プロセスからの応答を、前記キャッシュ済みデータ・リソースと比較して、前記第2の要求に対する前記応答が不正確かどうかを識別するステップであって、
    前記第2の要求に対する前記応答が、前記データ・リソースが変化していないことの指示を含むのに応答して、前記データ・リソースの前記キャッシュ済みコピーを、前記第1の要求に応答して返された前記データ・リソースのコピーと比較して、前記第2の要求に対する前記応答が不正確かどうか判定し、
    前記第2の要求に対する前記応答が前記データ・リソースのコピーを含むのに応答して、次いで、前記データ・リソースの前記キャッシュ済みコピーを、前記第2の要求に応答して返された前記データ・リソースの前記コピーと比較して、前記第2の要求に対する前記応答が不正確かどうか判定することを含む前記識別するステップと、
    前記データ・リソースに関連する不正確な応答が所定数識別された場合に、前記データ・リソースのキャッシングをディセーブルにするステップとを含む方法。
  2. 第1および第2の要求が、前記キャッシュ済みデータ・リソースに関連する所定の初期化段階にわたり、前記キャッシュ済みデータ・リソースを求める要求に応答して前記サーバ・プロセスに送られ、
    前記初期化段階の後、前記データ・リソースに関連する不正確な応答が前記所定数よりも少なく識別された場合は、前記データ・リソースのキャッシングがイネーブルにされる、請求項1に記載の方法。
  3. 前記データ・リソースのキャッシングがディセーブルにされた場合は、前記初期化段階の後、前記キャッシュ済みデータ・リソースを求める後続の要求に応答して第1の要求だけが前記サーバ・プロセスに送られ、
    前記データ・リソースのキャッシングがイネーブルにされた場合は、前記初期化段階の後、前記キャッシュ済みデータ・リソースを求める後続の要求に応答して第2の要求だけが前記サーバ・プロセスに送られる、請求項2に記載の方法。
  4. 前記初期化段階の継続時間が、所定の時間期間に依存する、請求項2または3に記載の方法。
  5. 前記初期化段階の継続時間が、前記関連するデータ・リソースを求める要求の所定数に依存する、請求項2ないし4のいずれか1項に記載の方法。
  6. 前記初期化段階が、前記データ・リソースに関連する不正確な応答が前記所定数識別されるのに応答して終了する、請求項2ないし5のいずれか1項に記載の方法。
  7. 前記第2の要求がHTTP if−modified−since(IMS)要求を含む、請求項1ないし6のいずれか1項に記載の方法。
  8. コンピュータ・システムのためのデータ・キャッシュを管理するための装置であって、
    クライアント・プロセスによって要求された1つまたは複数のデータ・リソースのためのキャッシュを維持すること、
    前記クライアント・プロセスからの、キャッシュ済みデータ・リソースを求める要求に応答して、
    前記データ・リソースを求める第1の要求をサーバ・プロセスに送り、
    前記データ・リソースが一番最近にキャッシュされてから前記データ・リソースが修正されたか否かの指示を求める第2の要求を前記サーバ・プロセスに送ること、
    前記第1または第2の要求に対する前記サーバ・プロセスからの応答を、前記キャッシュ済みデータ・リソースと比較して、前記第2の要求に対する前記応答が不正確かどうかを識別することであって、
    前記第2の要求に対する前記応答が、前記データ・リソースが変化していないことの指示を含むのに応答して、前記データ・リソースの前記キャッシュ済みコピーを、前記第1の要求に応答して返された前記データ・リソースのコピーと比較して、前記第2の要求に対する前記応答が不正確かどうか判定し、
    前記第2の要求に対する前記応答が前記データ・リソースのコピーを含むのに応答して、次いで、前記データ・リソースの前記キャッシュ済みコピーを、前記第2の要求に応答して返された前記データ・リソースの前記コピーと比較して、前記第2の要求に対する前記応答が不正確かどうか判定する、前記識別すること、および、
    前記データ・リソースに関連する不正確な応答が所定数識別された場合に、前記データ・リソースのキャッシングをディセーブルにすることを行うように動作可能である装置。
  9. 前記キャッシュ済みデータ・リソースに関連する所定の初期化段階にわたり、前記キャッシュ済みデータ・リソースを求める要求に応答して第1および第2の要求を前記サーバ・プロセスに送り、
    前記初期化段階の後、前記データ・リソースに関連する不正確な応答が前記所定数よりも少なく識別されるのに応答して、前記データ・リソースのキャッシングをイネーブルにするようにさらに動作可能である、請求項8に記載の装置。
  10. 前記データ・リソースのキャッシングがディセーブルにされるのに応答して、前記初期化段階の後、前記キャッシュ済みデータ・リソースを求める後続の要求に応答して第1の要求だけを前記サーバ・プロセスに送り、
    前記データ・リソースのキャッシングがイネーブルにされるのに応答して、前記初期化段階の後、前記キャッシュ済みデータ・リソースを求める後続の要求に応答して第2の要求だけを前記サーバ・プロセスに送るようにさらに動作可能である、請求項9に記載の装置。
  11. 前記初期化段階の継続時間が、所定の時間期間に依存する、請求項9または10に記載の装置。
  12. 前記初期化段階の継続時間が、前記関連するデータ・リソースを求める要求の所定数に依存する、請求項9ないし11のいずれか1項に記載の装置。
  13. 前記データ・リソースに関連する不正確な応答が前記所定数識別されるのに応答して前記初期化段階を終了するようにさらに動作可能である、請求項10ないし12のいずれか1項に記載の装置。
  14. 前記第2の要求がHTTP if−modified−since(IMS)要求を含む、請求項8ないし13のいずれか1項に記載の装置。
  15. 請求項1ないし7のいずれか1項に記載の方法の各ステップを、コンピュータに実行させる、コンピュータ・プログラム。
  16. 請求項15に記載のコンピュータ・プログラムを、コンピュータ可読記憶媒体に記録した記憶媒体。
JP2015527982A 2012-08-20 2013-08-06 コンピュータ・システムのためのデータ・キャッシュを管理するための方法、装置、コンピュータ・プログラム製品、およびコンピュータ・プログラム(コンピュータ・システムのためのデータ・キャッシュの管理) Active JP5980430B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB1214824.3A GB2505179A (en) 2012-08-20 2012-08-20 Managing a data cache for a computer system
GB1214824.3 2012-08-20
PCT/IB2013/056442 WO2014030088A1 (en) 2012-08-20 2013-08-06 Managing a data cache for a computer system

Publications (2)

Publication Number Publication Date
JP2015527674A JP2015527674A (ja) 2015-09-17
JP5980430B2 true JP5980430B2 (ja) 2016-08-31

Family

ID=47017039

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015527982A Active JP5980430B2 (ja) 2012-08-20 2013-08-06 コンピュータ・システムのためのデータ・キャッシュを管理するための方法、装置、コンピュータ・プログラム製品、およびコンピュータ・プログラム(コンピュータ・システムのためのデータ・キャッシュの管理)

Country Status (6)

Country Link
US (1) US9787791B2 (ja)
JP (1) JP5980430B2 (ja)
CN (1) CN104885064B (ja)
DE (1) DE112013004098B4 (ja)
GB (2) GB2505179A (ja)
WO (1) WO2014030088A1 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US10142385B2 (en) * 2015-03-10 2018-11-27 Qualcomm Incorporated Multi-service initialization for adaptive media streaming
US10642657B2 (en) * 2018-06-27 2020-05-05 The Hong Kong Polytechnic University Client-server architecture for multicore computer system to realize single-core-equivalent view
CN110928944B (zh) * 2018-08-30 2024-04-02 阿里巴巴集团控股有限公司 一种数据处理方法及其装置
CN111666516A (zh) * 2020-04-24 2020-09-15 北京奇艺世纪科技有限公司 页面加载方法、装置、电子设备及存储介质
US11960773B2 (en) * 2020-07-31 2024-04-16 Hewlett Packard Enterprise Development Lp Modifying virtual persistent volumes based on analysis of performance metrics
CN112765507B (zh) * 2021-01-27 2023-12-26 上海淇玥信息技术有限公司 一种页面首屏渲染与资源加载方法、装置和电子设备
US11941151B2 (en) * 2021-07-16 2024-03-26 International Business Machines Corporation Dynamic data masking for immutable datastores

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4464717A (en) * 1982-03-31 1984-08-07 Honeywell Information Systems Inc. Multilevel cache system with graceful degradation capability
US6253234B1 (en) 1997-10-17 2001-06-26 International Business Machines Corporation Shared web page caching at browsers for an intranet
US6185608B1 (en) 1998-06-12 2001-02-06 International Business Machines Corporation Caching dynamic web pages
EP1122658A4 (en) 1998-07-21 2005-03-09 Athena Telecom Lab Inc METHOD FOR MANAGING WEB INFORMATION MODIFICATIONS, MANAGEMENT DEVICE, AND RECORDING MEDIUM
ATE268027T1 (de) 1999-03-31 2004-06-15 America Online Inc Behandlung einer anfrage nach informationen, die von einem dienstleisters angeboten werden
US6557076B1 (en) 1999-07-22 2003-04-29 International Business Machines Corporation Method and apparatus for aggressively rendering data in a data processing system
US7240100B1 (en) * 2000-04-14 2007-07-03 Akamai Technologies, Inc. Content delivery network (CDN) content server request handling mechanism with metadata framework support
US6990526B1 (en) 2000-05-22 2006-01-24 Pointred Technologies, Inc. Method and apparatus for web caching
US7035911B2 (en) 2001-01-12 2006-04-25 Epicrealm, Licensing Llc Method and system for community data caching
US20040236824A1 (en) * 2003-05-23 2004-11-25 Millington Bradley D. Post-cache substitution
US7076500B2 (en) 2003-06-30 2006-07-11 David Gallant Selective file caching method
JP4392049B2 (ja) * 2006-02-27 2009-12-24 富士通株式会社 キャッシュ制御装置およびキャッシュ制御プログラム
US7774356B2 (en) 2006-12-04 2010-08-10 Sap Ag Method and apparatus for application state synchronization
JP5068071B2 (ja) * 2006-12-27 2012-11-07 インターナショナル・ビジネス・マシーンズ・コーポレーション サーバ上のデータを、クライアントのキャッシュを利用してバックアップする装置および方法。
US8065275B2 (en) * 2007-02-15 2011-11-22 Google Inc. Systems and methods for cache optimization
US9460229B2 (en) * 2007-10-15 2016-10-04 Viasat, Inc. Methods and systems for implementing a cache model in a prefetching system
US10257016B2 (en) * 2009-06-08 2019-04-09 Wsou Investments, Llc Virtual leased line address resolution protocol cache for customer edge internet protocol addresses
JP5370493B2 (ja) * 2009-10-16 2013-12-18 日本電気株式会社 通信システム、通信装置、通信制御方法及び通信制御プログラム
US20120089700A1 (en) 2010-10-10 2012-04-12 Contendo, Inc. Proxy server configured for hierarchical caching and dynamic site acceleration and custom object and associated method

Also Published As

Publication number Publication date
GB201214824D0 (en) 2012-10-03
JP2015527674A (ja) 2015-09-17
GB2505179A (en) 2014-02-26
US9787791B2 (en) 2017-10-10
DE112013004098B4 (de) 2022-08-11
WO2014030088A1 (en) 2014-02-27
DE112013004098T5 (de) 2015-05-07
CN104885064A (zh) 2015-09-02
GB201500722D0 (en) 2015-03-04
CN104885064B (zh) 2017-11-24
US20150215417A1 (en) 2015-07-30
GB2519688A (en) 2015-04-29

Similar Documents

Publication Publication Date Title
JP5980430B2 (ja) コンピュータ・システムのためのデータ・キャッシュを管理するための方法、装置、コンピュータ・プログラム製品、およびコンピュータ・プログラム(コンピュータ・システムのためのデータ・キャッシュの管理)
JP6517263B2 (ja) 検索結果へのアクセスを改良するシステム、方法及び記憶媒体
US20220006878A1 (en) Method and apparatus for reducing loading time of web pages
US9569400B2 (en) RDMA-optimized high-performance distributed cache
US8572252B2 (en) Extensible dynamic performance instrumentation of pages
RU2017106890A (ru) Способ доступа к веб-узлам, устройство и система веб-узла
US11012339B2 (en) Web site reachability management for content browsing
US9088462B2 (en) Common web accessible data store for client side page processing
TW200935245A (en) System and method for providing visibility for dynamic webpages
US20120102134A1 (en) Cache sharing among branch proxy servers via a master proxy server at a data center
CN103152367A (zh) 一种缓存的动态维护更新方法及系统
US9489306B1 (en) Performing efficient cache invalidation
US9148466B2 (en) Presenting modules in a browser
US8250177B2 (en) Uncached data control in server-cached page
US10432549B1 (en) Method and system for scope-sensitive loading of software resources
US20130212210A1 (en) Rule engine manager in memory data transfers
US9086860B2 (en) Bi-directional linking of product build information

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20151127

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: 20160705

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160726

R150 Certificate of patent or registration of utility model

Ref document number: 5980430

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150