JP3620448B2 - 動的に作られかつ静的であるウェブコンテントの知的キャッシュとリフレッシュのためのシステムと方法 - Google Patents

動的に作られかつ静的であるウェブコンテントの知的キャッシュとリフレッシュのためのシステムと方法 Download PDF

Info

Publication number
JP3620448B2
JP3620448B2 JP2000400915A JP2000400915A JP3620448B2 JP 3620448 B2 JP3620448 B2 JP 3620448B2 JP 2000400915 A JP2000400915 A JP 2000400915A JP 2000400915 A JP2000400915 A JP 2000400915A JP 3620448 B2 JP3620448 B2 JP 3620448B2
Authority
JP
Japan
Prior art keywords
query
web page
memory
data
database
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.)
Expired - Fee Related
Application number
JP2000400915A
Other languages
English (en)
Other versions
JP2002032261A (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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Publication of JP2002032261A publication Critical patent/JP2002032261A/ja
Application granted granted Critical
Publication of JP3620448B2 publication Critical patent/JP3620448B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99932Access augmentation or optimizing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99939Privileged access
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99944Object-oriented database structure
    • Y10S707/99945Object-oriented database structure processing

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)

Description

【0001】
【発明の属する技術分野】
本発明は、広くコンテント配布ネットワークに関し、また、実施形態において、コンテント配布サービスを改善する、動的に作られかつ静的であるウェブコンテントの知的キャッシュとリフレッシュのためのシステムと方法に関する。
【0002】
本発明の実施形態は、2000年7月14日出願の米国仮出願第60/218418号 ”Method and Apparatus for Intelligent Caching and Refresh of Dynamically Generated and Static Web Contents”から優先権主張しており、その内容は、ここに取り込まれるものとする。
【0003】
【従来の技術及び発明が解決しようとする課題】
ウェブの性能は、コンテントプロバイダ間の差別化にとって大事な点である。主要なウェブサイト内で起こるクラッシュと速度低下は、ウェブ通信を高速で行おうとする際に企業が直面する問題点を示している。インターネットのバックボーン技術が発達したので、サービス管理の領域の多くの新機軸によって帯域幅とウェブコンテント読み出し応答時間が改善された。しかし、これらの改善によって、インターネット内の全ての点における通信の問題を解決することはできない。
【0004】
例えば、図1において、日本のネットワーク14のエンドユーザー12が、米国のネットワーク18内のウェブサイト16からの、あるページにアクセス要求を出したとする。この要求は、ウェブサイト16に届く前にいくつかのゲートウェイ20,22,24を通過しなくてはならない。ウェブサイト16は、大きな帯域幅を持つこと(大量のデータを瞬時にやり取りする能力)ができるが、日本のネットワーク14を米国のネットワーク18にに接続するゲートウェイは、遅いことが多く、そして、エンドユーザー12がウェブサイト16から該当ページにアクセスしようとするときに、ゲートウェイにボトルネックが生じる。そのようなボトルネックは、データ1ページのアクセス時間が10秒あるいはそれ以上の単位となることがある。ゲートウェイのボトルネックゆえに、また、エンドユーザー12からウェブサイト16への/からのインターネットの通り道に沿って不確実な点が多いために、コンテント配布のネットワークあるいはシステムが、現在開発されている。
【0005】
基本的には、コンテント配布システムは、少なくとも2つの大きな目的のために、設計され開発される:1つは付加のバランスを達成すること、他は応答時間を減少することである。コンテント配布システムは、全てのゲートウェイを迂回するか伝送路内のインターネットゲートウェイの数を減らす間にコンテントを配布するために、高速専用回線を用いて実現することができる。しかし、そのような専用ネットワークは高価であり、全てのネットワークに対して展開することはできない。コンテント配布システムを実現する他の方法は、知的キャッシュやミラーリングや代理サーバーを用いるか、希望するコンテントを含み、エンドユーザーの近くにあるかアクセスが容易な、エンドユーザーが高速な応答時間を保証するような利用可能サーバーに向け直す他の技術を用いて行われる。向け直されたいくつかの通信によって、通信のサージが減少し、エンドユーザーは高速応答時間の恩恵を受ける。そのようなネットワークやシステムのアーキテクチャや機能性を示すのに使用される用語は、コンテント配布サービス(CDS)である。
【0006】
CDSに対して、多くの研究方法とアーキテクチャとが提案されており、これらのサービスとシステムとアーキテクチャの殆どは、静的コンテントに照準を合わせている。例えば、CachePortalTMは、CDSを提供するシステムであり、係属中の米国特許出願第09/545805号2000年4月7日出願の ”System and Method for Efficient Content Delivery” に記載されており、その内容は、ここに参考として取り込まれるものとする。CachePortalは、コンテントをエンドユーザーにネットワークの遅延を少なく提供するエッジキャッシュとして使用されるミラーサーバーにアクセスする。CachePortalは、ミラーサーバー内のコンテントを取り除いたりリフレッシュしたり無効化したりするのと同様にミラーサーバー間にコンテントを配布することができる。また、CachePortalは、ミラーサーバー内のコンテントのアトリビュートを変更することができる。例えば、CachePortalは、オブジェクトが更新されたかどうかを確認することができる。もし、CachePortalが、更新されていないと知ると、CachePortalは、リフレッシュ時刻のログされた値や最後に変更された日付ログを変えることができる。
【0007】
しかし、多くのeビジネスのサイトにとっては、アプリケーションのサーバーとデータベースとにおいて表現されるビジネス処理の現在の状況に基づいて、ウェブページが動的に作られる。ここで必要とされる技術は、静的なコンテント配布に必要とされるものよりもさらに複雑である。現在の技術に基づいて、ウェブページを配布するアプリケーションサーバーやデータベースやウェブサーバーあるいはウェブサーバーが独立した構成要素であるという事実によって、キャッシュされたウェブページのデータベースコンテントが変更されたことを反映する効率的な機構はなかった。その結果として、従来のアプリケーションサーバーは、一般に、動的に作られたウェブページをキャッシュができないようにするか、その場で無効にするよう定める。そうすることによって、そのような要求の処理時間は、現在のデータを供給するのに必要な計算を実行するために、ネットワークを一回りするのに必要な時間であり、ウェブサーバーから現在のデータを受信する時間であり、またバックエンドシステム(すなわちアプリケーションサーバーとデータベース)のための時間である。
【0008】
図2は、バックエンドシステムを備えたウェブサイトのための、典型的な現在のウェブページ配布機構24の概略を示している。例えば、eビジネスサイトは、eビジネスサイトがウェブサイトを通じて得る全ての製品の価格や品目明細や量を維持するためのデータベース管理システム(DBMS)26を利用することができる。ここで記載されるDBMSには、コンテントを記憶するデータベースのようなメモリが含まれる。図2に示すようにエンドユーザー28は、インターネットにアクセスし、eビジネスサイトにおける製品の情報を要求するために、ウェブブラウザ30とやりとりを行う。そのような要求には、製品名や製品番号のようなパラメータが含まれ得、またクッキー34のような他のものが含まれうる。
【0009】
クッキーは特定のウェブサイトにより送られ、今はエンドユーザーのコンピュータにある小さなファイルである。クッキーは、エンドユーザーが何をしているかを追跡し続け、またユーザーを識別するのにウェブサイトにより使用される。例えば、エンドユーザーが特定のウェブサイトでボタンをクリックすると、ウェブサイトは、クッキーをエンドユーザーのコンピュータに送る。このクッキーは、エンドユーザーがウェブサイトを渡っていく様子をモニターすることができる。ユーザーが次にそのウェブサイトにログするとき、ウェブサイトは特定の位置のクッキーを捜すことができる。もし、クッキーが見つかれば、エンドユーザーが2度目以上の顧客であると分かる。ウェブサイトは、また、ウェブページをエンドユーザーのためにカスタマイズするために、クッキーからの上記のウェブサイトを渡っていく様子に関する情報を使用することができる。
【0010】
再び図2を参照して、ウェブページ要求32は、顧客ブラウザ30からキャッシュ36に送られることができる。図2において、キャッシュブロック36は、異なる種類のキャッシュのうちのいずれか一つであることを示す点線で識別される。キャッシュの一つの種類は、エッジキャッシュ(edge cache)と呼ばれる。エッジキャッシュは、また代理キャッシュと呼ばれ、通常 CashePortalTM のようなサードパーティのコンピュータ配布サービスプロバイダによって管理され維持される。コンテントプロバイダは、コンテントをこのエッジキャッシュに記憶することができ、エンドユーザーに近い位置でこれを利用可能にすることができる。他の種類のキャッシュは、反転キャッシュと呼ばれ、これは、エンドユーザーに近いエンティティによって所有され、普通エンドユーザーに近いところに置かれるキャッシュである。他の種類のキャッシュは、サーバー側キャッシュと呼ばれ、これはコンテントプロバイダによって所有されるキャッシュである。さらに他の種類のキャッシュにウェブサーバーキャッシュと呼ばれるものがある。ウェブサーバーキャッシュは、典型的にはウェブサーバーのコンテントをディスクからユーザーへ配布する機械の中にある。しかし、ディスクのアクセスは遅いので、ディスクからのコンテントは、該ウェブサーバー内の他の場所へとコピーすることができる。この場所は、そのコンテントへのアクセスがディスクよりも高速である。これらの記憶装置の場所は、ウェブサーバーキャッシュとして知られている。
【0011】
再び図2を参照して、もしキャッシュ36内にページが見つからない、あるいはキャッシュ36内で期限切れか無効になったと言う理由でキャッシュ36によってウェブページ要求32がサービスされないときは、この要求はeビジネスウェブサーバー38へと回送される。いくつかのeビジネスアプリケーションにおいて、カタログページのように頻繁にアクセスされるいくつかのページは、あらかじめ作られて前もってウェブサーバー38に載せられる。例えば、ウェブサーバーマシン38は、HTTPDと呼ばれるサブディレクトリを持つことができる。静的なウェブページ(頻繁には変更されない)は、そのサブディレクトリの中に記憶される。もし、それらのページが顧客ブラウザ30によって要求され、かつHTTPDサブディレクトリが最新のウェブページのコピーを含んでいれば、それらのページは、ウェブサーバー38から顧客ブラウザ30へとアプリケーションサーバー40へは決して行かずに直接に送り返されるであろう。
【0012】
しかし、製品情報や利用可能ページのようなページは、動的であり頻繁に変更される。そのようなページは、典型的にはウェブサーバー38内に記憶されないが、そのようなページが要求されるときにバックエンドシステムによって動的に作られ、アプリケーションサーバー40やDBMS26や“ファイルシステム+ネットワーク”あるいは外部データ源42を含むことができる。動的に作られたウェブページに対する要求44が受信されると、ウェブサーバー38は、その要求をアプリケーションサーバー40が理解できる新しい要求46(URLと他のパラメータを含む)へと変換するCGI(common gateway interface)と呼ばれるサブディレクトリを利用することができる。アプリケーションサーバー40は、ウェブページ要求38とウェブサーバー38からの他のパラメータを受信し、必要な計算を実行し、もし必要なら照会240を介してDBMS26にアクセスする。DBMS26は、それから情報46をアプリケーションサーバー40に戻し、そこでは、アプリケーションサーバー40は、このデータを使ってHTML内に動的に作られたウェブページ48に合わせる。
【0013】
理解しておきたいのは、アプリケーションサーバー40は、ウェブサーバー38とは異なるマシンでよいか、あるいはウェブサーバー38と実質的に同じマシンでも良く、ウェブサーバー38とは異なる機能を実行することである。さらに広く理解しておきたいのは、この明細書において図示されているウェブサーバー38やアプリケーションサーバー40やAPIハンドラ(次の図を参照)やDBMS26やコンテント変更監視部品(次の図を参照)は、別々の機能ブロックとして示されているが、これらの機能要素の全ては、一つのサーバーに結合されるか、多数のサーバーに分けることができるということである。さらに、図2と本明細書のいくつかの他の図に図示されるのは、Filesystem + Network 42 と名付けられた機能ブロックである。理解しておきたいのは、このブロック42は、DBMSブロック26を一般化したものであり、DBMSおよび/あるいは他のデータの外部ソースを含んでも良いということである。
【0014】
プログラムがアプリケーションサーバー40上で実行されるとき、一つの照会240をDBMS26へ発し、その結果46を受け取り、さらに実行を続け、要求されたウェブページ48を作るのにさらに情報が必要であれば、次の照会240を発して追加情報46を受け取ることができる。例えば、航空便予約情報システムの例において、第1の照会240は、特定の日における利用可能な便を決定するのに発せられ、次の照会240は、それらの便の価格を決定するのに発せられる。そうするうちに、異なるDBMS26あるいは42にアクセスする必要が出てくるかも知れない。一旦、アプリケーションサーバー40が動的に生成されるウェブページ48を組み立ててしまうと、そのウェブページは、参照番号48で示されるようにウェブサーバー38に送り返される。ウェブサーバー38は、それから、受け取ったウェブページを参照番号50で示すようにウェブブラウザ30へと送り返す。
【0015】
追加すると、ウェブサーバー38が、この動的に作られたページ50をウェブブラウザ30に送るとき、このページをキャッシュ36に記憶することもできる。他のユーザーが同じ情報を要求したとき、キャッシュ36内の動的に作られたページ50に対して、ウェブページ50は、キャッシュ36からエンドユーザーへ直接に配布されることができ、このときもしウェブページがバックエンドシステムによって動的に作られるべきものであったなら、必要であろう処理時間の追加は無い。
【0016】
しかし、動的に作られたウェブページは、しばしば変更され、そしてキャッシュ36内あるいはウェブサーバー38内の記憶装置は、ビジネスがエンドユーザーに最新の情報を渡す事にかかっているような、あるeビジネスウェブサイトにとって問題である。しかし、非常に最新のウェブページ情報を得ることは、キャッシュ36やウェブサーバー38やアプリケーションサーバー40やDBMS26,42が異なるマシン内にあり、それぞれ独立した存在であることから難しい。さらに、キャッシュ36あるいはウェブサーバー38内に記憶されたウェブページが最新のものであることを保証するのに、独立に動作するこれらのマシン間には、少ししかあるいは全く同格なものがない。
【0017】
キャッシュ36内のウェブページが新しいものである確率を高める一つの方法は、ウェブサーバー38を通じて定期的にページをリフレッシュすることである。しかし、これは、ウェブサーバー38やアプリケーションサーバー40やDBMS26への不必要な多くの要求となり、定期的なリフレッシュをもってしても、キャッシュ36内のウェブページは新しいものであるという保証はできない。キャッシュ36内に記憶されたデータが新しいことを保証するのが難しいことから、キャッシュ36内に記憶される重要な動的ウェブページは、典型的には、即刻削除されるように設定される。代わりに、そのようなウェブページは、キャッシュ不可能として指定される。
【0018】
こうして、動的なウェブページに対する典型的な要求は、ウェブサーバー38やアプリケーションサーバー40やDBMS26あるいは外部データソース42を通り、最後に、生成されたウェブページは、エンドユーザー28のところへ送り返される。このネットワークを巡るための時間には、バックエンドシステム(すなわち、アプリケーションサーバー40とDBMS26と外部データソース42)が、現在のデータを供給するのに必要な計算を実行するための時間が含まれている。その時間は10〜20秒の間であり、非常に遅い。たとえ、いくつかの動的なウェブページが1時間に1回しか変化しなかったとしても、変化する可能性があるという事実は、ビジネスがコンテントとキャッシュ不可能にするか、即刻削除するように設定するのに充分であろう。こうして、たとえ、変更しようとするデータの前に多くの要求があったとしても、従来のシステムは、バックエンドシステムでの処理の実行を併せて、それらの要求にネットワークを巡らせるであろう。
【0019】
【課題を解決するための手段】
本発明の請求項1は、ウェブページを記憶するための少なくとも一つの第1のメモリと、ウェブページを生成するのに使用するデータを記憶するための少なくとも一つの第2のメモリを含むメモリ管理システムと、を有するシステムであって、上記メモリ管理システムは、上記の少なくとも一つの第2のメモリ内に記憶されたデータのうち変更されたデータを識別することができ、かつ、上記の少なくとも一つの第2のメモリへの全ての処理を順番に含む少なくとも一つのデータベースのログを維持することができ、上記少なくとも一つの第2のメモリ内に記憶されたデータへの変更に基づいて、上記少なくとも一つの第1のメモリに記憶されたウェブページを更新するためのシステムにおいて、上記システムは、さらに、少なくとも一つのサーバーを有し、上記少なくとも一つのサーバーは、上記少なくとも一つの第1のメモリに記憶された各ウェブページと、当該ウェブページを生成するのに使用される上記少なくとも一つの第2のメモリ内に記憶されたデータとの間のウェブページ−データ関係を維持し、上記メモリ管理システムからどのデータが変更されたかを識別する情報を受信し、受信した変更されたデータを識別する情報と上記ウェブページ−データ関係とから、上記記憶されたウェブページのいずれが上記変更されたデータと関係があるかを決定し、上記変更されたデータに関係あるウェブページを含む上記少なくとも一つの第1のメモリに対して当該ウェブページを更新するための更新命令を伝えるようにプログラムされたことを特徴とする。
【0020】
【発明の効果】
従って、キャッシュやウェブサーバ内に記憶されるデータをDBMSや外部データソース内に記憶されるデータと同期を取る、ウェブコンテントの知的キャッシュとリフレッシュのためのシステムと方法を提供するのが、本発明の実施形態の利点である。
【0021】
DBMSあるいは外部データソース内のデータが変化したときに、そのデータを利用するキャッシュあるいはウェブサーバー内に記憶されるウェブページが無効化されるような、ウェブコンテントの知的キャッシュとリフレッシュのためのシステムと方法を提供するのが、本発明の実施形態のさらなる利点である。
【0022】
DBMSあるいは外部データソース内のデータが変化したときに、そのデータを利用するキャッシュあるいはウェブサーバー内に記憶されるウェブページがリフレッシュされるような、ウェブコンテントの知的キャッシュとリフレッシュのためのシステムと方法を提供するのが、本発明の実施形態のさらなる利点である。すなわち、キャッシュ等に記憶されるウェブページは、その構成要素となる元のデータが変化すると、リフレッシュされ、変化後のデータに基づいた最新のウェブページを再度キャッシュ等に記憶することができる。その結果として、エンドユーザは、たとえ動的に作られたページでも、フロントエンドキャッシュあるいはエッジキャッシュから得ることができる
【0023】
多くのコンテントの要求がキャッシュから出され得るので、バックエンドシステムへの負荷が軽減され得るような、ウェブコンテントの知的キャッシュとリフレッシュのためのシステムと方法を提供するのが、本発明の実施形態のさらなる利点である。
【0024】
これらの利点及び他の利点は、DBMS内あるいは外部のデータソース内に記憶されるデータへの変更に基づいて、キャッシュあるいはウェブサーバー内に記憶されるウェブページを更新するためのシステムによって得られる。更新には、ウェブページの無効化とリフレッシュが含まれうる。記憶されたウェブページを更新するためのシステムは、ウェブページを生成するのに使用されるデータを記憶するためのDBMSを持つ、より大きなシステムの一部であってよい。DBMSは、データベース内に記憶される変更済みデータを識別することができる。
【0025】
記憶されたウェブページを更新するためのシステムは、一つあるいは二つ以上のサーバーからできており、これは、記憶済みのウェブページと記憶済みのデータとの間の関係を維持し、データベース管理システムからの変更済みデータの同一性を受信するようにプログラムされている。加えて、サーバーは、識別された変更済みデータと維持されている関係とから、記憶済みのウェブページのいずれが識別済みの変更済みデータと関係があるかを決定する事ができる。さらに、サーバーは、記憶済みウェブページを更新する目的で、識別済みの変更済みデータと関係する、記憶済みウェブページを含むキャッシュに更新命令を送ることができる。
【0026】
本発明の実施形態のこれらのそして他の目的と特徴と利点は、図面と添付の請求の範囲を読めば、以下の本発明の実施形態の詳細な説明から、当業者には明らかであろう。
【0027】
【発明の実施の形態】
好ましい実施形態に関する以下の説明において、本明細書の一部を形成する添付図面について言及し、かつ、その内容を、これらの図面において本発明を実施できる特定の例示的実施形態によって示す。本発明の好ましい実施形態の範囲から逸脱することなく、他の実施形態を利用でき、かつ、構造的変更がなされ得ることが理解されるべきである。
【0028】
ウェブ性能は、コンテントプロバイダ間の区別化のキーポイントである。主要なウェブサイト内におけるクラッシュやスローダウンは、会社が高速のウェブトラフィックを処理する場合に直面する問題点を明示する。インターネットのバックボーン技術が発展するにつれて、サービス管理領域における革新は、帯域およびウェブコンテントの検索応答時間を改善してきた。しかしながら、インフラストラクチャに対するこれらの改善は、インターネット内の全ての地点におけるトラフィック問題を解決することができない。ゲートウェイのボトルネックは、1ページのデータに対して約10秒以上のアクセス時間という結果となり得る。ゲートウェイのボトルネックのために、また、エンドユーザーからウェブサイトへのインターネット経路に伴う多くの不確実性が存在するので、コンテント配布ネットワークまたはシステムが現在も開発されている。
【0029】
基本的に、コンテント配布システムは、2つの主要な目的(一方は、ロードのバランスを達成することであり、他方は、応答およびアクセス時間を短縮することである)のために設計される。本明細書において説明される本発明の実施形態は、コンテント配布システムを介して応答およびアクセス時間を短縮する。前記コンテント配布システムは、有効なサーバーへユーザーを向け直すために、インテリジェントキャッシュおよびプロキシサーバーを用いる。前記有効なサーバーとは、所望のコンテントを有し、かつ、ユーザーに近いかまたはユーザーにとって容易にアクセス可能であるサーバーである。向け直されたトラフィックのうちの幾つかによって、トラフィックサージは減少し、かつ、エンドユーザーは、より高速の応答時間からの恩恵を受ける。
【0030】
本発明の実施形態は、ウェブサーバー内の他に、キャッシュ内で動的に発生されたウェブコンテントをインテリジェントリフレッシュするための方法およびシステムを有する。これらの方法およびシステムアーキテクチャについては、キャッシュ内の全てのコンテントがアプリケーション内およびDBMS内のコンテントと一致することを確実にするために、静的コンテントのリフレッシュに適用することもできる。
【0031】
ウェブコンテントのインテリジェントキャッシュおよびリフレッシュ
<インテリジェントキャッシュおよびリフレッシュ機構1>
図3は、本発明の好ましい実施形態によるインテリジェントウェブページキャッシュおよびリフレッシュ機構10を例示する。図3に示すように、キャッシュ54に記憶されていないかまたはキャッシュ54において無効なウェブページをエンドユーザー52が要求すれば、該要求56がウェブサーバー58上に渡される。エンドユーザーによるウェブページ要求60がウェブサーバー58により受信されると、ウェブサーバー58は、要求された各々のウェブページ66のための要求時間62と配布時間64とを記憶するログ68を保持する。例えば、ログ68は、前記要求に関するURLと、このような要求の到着に関するタイムスタンプと、ウェブサーバー58へのウェブページの返信に関するタイムスタンプとを有することができる。したがって、図3の例においては、ウェブサーバーログ68は、時刻0と時刻5との間にURL1に関する要求が処理されたことを示す。また、時刻4と時刻6との間に、URL2に関する要求が処理されたことになる。ウェブサーバー58が要求60を受信した後に、該ウェブサーバー58は、該要求60を、幾つかのオプションパラメータとともにアプリケーションサーバー70へ送信する。
【0032】
アプリケーションサーバー70がウェブサーバー58からの要求72を受信した後に、該アプリケーションサーバー70は、該要求72を処理し、かつ、必要に応じて、下方にあるDBMS74へ(照会76を介してDBMS74へ)アクセスする。DBMS74がアプリケーションサーバー70から1つまたは複数の照会76を受信すると、該DBMS74は、いつ照会82がDBMS74上で実行されたのかに関するタイムスタンプ80を記憶するためのデータベース照会ログ78を保持することができる。例えば、図3において、SQL1として識別されるSQL(structured query language)がT=1において実行され、SQL2がT=2において実行され、SQL3がT=3において実行され、かつ、SQL4がT=4.5において実行されたことになる。
【0033】
アプリケーションサーバー70が、1つのまたは多数のDBMS74に対する照会76に制約されるものではないことが理解されるべきである。アプリケーションサーバー70は、幾つかの必要な外部呼、API呼、またはhttp要求84を、他のファイルシステム、DBMS、またはサーバー86へ発することもできる。概して、本明細書における説明の大部分がDBMS74を参照して与えられているが、本発明の実施形態においては、この説明における全ての図面において”File system + network”というラベルを付されたブロックにより表される外部データソースに対して、アクセス84がなされ得ることが理解されるべきである。したがって、いつ処理92が外部データソース86上で実行されたのかに関するタイムスタンプ90を記憶できる処理ログ88についても、データベース照会ログ78と同様に維持することができる。
【0034】
本発明の好ましい実施形態において、コンテント配布サービスプロバイダ(本明細書において、例示的目的のみのためにCachePortalサーバーとして例示される)は、ウェブサーバーログ68と、データベース照会ログ78と、任意に処理ログ情報88とを受信する。この情報によって、CachePortal94は、URL/関連処理マッピングテーブル96を発生しかつ維持することができ、該URL/関連処理マッピングテーブル96は、URL98と処理または照会100との関連を記憶する。例えば、ウェブサーバーログ68は、URL1に関する要求が時刻T=0と時刻T=5との間に発生することを示すので、SQL1,2,3は、URL1に関する要求と結びついて行われた可能性が高い。しかしながら、URL1,2は両方とも時刻T=4と時刻T=5との間に処理されるので、どちらの要求が、時刻T=4.5において発生したSQL4に関連しているのかは不明である。(ウェブサーバーを多重処理またはマルチスレッドすることができ、このことが、ウェブページに関する多数の要求を同時に処理することを可能にすることが理解されるべきである。)したがって、URL/関連処理マッピングテーブル96において、URL1とSQL1〜4との関連が生じ、かつ、URL2とSQL4との関連が生じる。同様に、URL/関連処理マッピングテーブル96において、他の関連が生じ、かつ、記憶される。
【0035】
コンテント変更モニター部品104(本明細書において後述する)は、DBMS記録と照会との関連を維持するか、または、該関連にアクセスする必要がある。さらに、コンテント変更モニター部品104は、外部データソース内またはDBMS内のデータに対する変更を監視しかつ検出する。データの変更が検出されると、コンテント変更モニター部品104は、その既知の関連から、変更されたデータによりどの照会または処理が影響を受けるのかを決定することができる。例えば、照会SQL1,2がDBMS74内における組1,2のアクセスという結果となると仮定する。これらの組の1つにおける任意のデータが変更されれば、この変更は、コンテント変更モニター部品104により検出され、かつさらに、該コンテント変更モニター部品104は、変更されたデータにより照会SQL1,2が影響を受け得ると決定する。結果的に、これらの照会を用いて発生されたウェブページは廃れたものとなり得る。好ましい実施形態においては、潜在的に影響を受けた照会102が、CachePortal94に対して呈される。
【0036】
次に、前記CachePortal94は、どのURLが前記潜在的に影響を受けた照会102に関連するのかを決定するために、URL/関連処理マッピングテーブル96を用いる。次に、これらのURLに関連するウェブページについては、無効にするかまたはリフレッシュする必要がある。コンテント配布サービスプロバイダとして、CachePortal94は、ウェブページがどこに記憶されたのかに関する痕跡を保持する。これにより、ウェブページをリフレッシュするかまたは無効にすることが必要となったときに、CachePortal94は、無効化(またはリフレッシュ)要求(またはメッセージ)242を適切な位置へ送信する。
【0037】
リフレッシュ要求と無効化要求との違いは、リフレッシュ要求によって、キャッシュ54がウェブサーバー58から新たなページを要求することである。次に、ウェブサーバー58は、そのバックエンドシステムを用いて、要求されたウェブページを検索し、かつ、該ウェブページをキャッシュ54内に戻して記憶する。あるいはまた、アプリケーションサーバー70、DBMS74、またはCachePortal94により、新たなページを準備することもできる。これに対し、キャッシュ54内のウェブページを無効にすることにより、該ウェブページは、単に、無効、期限切れ、または、削除予定というタグを付され、新たなウェブページのために何の要求も行われない。代わりに、新たなウェブページは、次のエンドユーザーによりその無効なウェブページに関する要求がなされるまで発生されない。エンドユーザー52が無効なウェブページを要求すると、該エンドユーザーの要求は、向け直されたウェブページ要求をウェブサーバー58に対して発生するが、このことは、処理するのに長い時間がかかることがある。しかしながら、それと同じウェブページを要求する後続ユーザーが多数存在すれば、この長いアクセス時間は全体として問題ではない。最初の要求を行ったエンドユーザーが長いアクセス時間を我慢する一方で、後続の要求が、最初のエンドユーザーの要求の恩恵を受けることになる。その理由は、これらの後続の要求が、キャッシュ54から新たなコンテントに直接的にアクセスできるためである。したがって、全体として、無効化方法は、多数のエンドユーザー52にとって好ましい。
【0038】
ウェブページを無効にすべきかまたはリフレッシュすべきかに関する決定は、とりわけ、ウェブページがアクセスされる頻度とシステムリソースとの関数である。例えば、ウェブページが稀にしかアクセスされなければ、ウェブページをリフレッシュする意味がない。一定期間にわたってウェブページを何度もリフレッシュする必要はなく、かつ、該期間の間に該ウェブページに関する要求が何も発生しなければリソースの浪費となる。このような場合には、ウェブページをリフレッシュする前に新たな要求まで待機することが有益であり得る。これに対し、ウェブページに対して頻繁なアクセスが予測されれば、直ちにコンテントをリフレッシュすることが有益であり得る。その理由は、このようなリフレッシュは、近い将来に必要とされる可能性が高いためである。
【0039】
リフレッシュが最適な代替案ではあり得ない他の理由は、キャッシュが、しばしば置き換え計画を用いることである。すなわち、キャッシュは限られた量のコンテントを記憶するだけであり、かつ、多量のコンテントがキャッシュに記憶されることになれば、キャッシュは、記憶されたオブジェクトのうちどれを捨てて新たなコンテントに置き換えることができるのかを決定する必要がある。キャッシュは、最も稀にしか用いられないコンテントまたは最近では最も利用されていないコンテントを、該キャッシュから捨てるように決定することができる。しかしながら、キャッシュ内のウェブページを、該ウェブページに関連するデータが変更される度に自動的にリフレッシュすることにより、キャッシュ内においてリフレッシュされたウェブページは、常に最近用いられたように見える。これにより、ウェブページは、たとえエンドユーザーにより稀にしかアクセスされなくても、キャッシュから捨てられることはない。
【0040】
リフレッシュメッセージの代替案として、CachePortal94からウェブサーバー58へ直接的にコマンドを送信することができ、このことは、ウェブサーバー58には、エンドユーザーから目標とされたウェブページに関する要求であるかのように見える。このコマンドによって、ウェブサーバー58は、そのバックエンドシステムを用いて、新たに発生された動的ウェブページを取ってくる。キャッシュ54が遠隔的に配置されれば、ウェブページをリフレッシュするようにキャッシュに命令することは不適切に遅くなり得るので、この代替案はより効率的であり得る。さらに、キャッシュ54については、異なるエンティティが所有することができ、または、該キャッシュ54は、コンテントを記憶する以外の処理能力をほとんど持たないキャッシュであってもよい。
【0041】
この説明に関する多くの図においてキャッシュブロック54が例示されかつ説明されているが、静的および動的に作られたウェブページについては必ずしもキャッシュ54に記憶されるとは限らず、追加的にまたは他にウェブサーバー58に記憶できることが理解されるべきである。無効とすべきまたはリフレッシュすべきウェブページがウェブサーバー58に記憶されれば、CachePortal94は、該ウェブページを無効としてマーキングするウェブサーバー58に要求を向けるかまたは新たなウェブページを取ってくることができる。あるいはまた、CachePortal94は、新たなウェブページを発生するために、アプリケーションサーバー70へ直接的に要求を送信することができる。
【0042】
本明細書における説明がCachePortal94に言及しているが、任意のコンテント配布システムを用いることもできることが理解されるべきである。
【0043】
本発明の好ましい実施形態によれば、コンテント変更モニター部品104は、ウェブサーバーログ68へアクセスすることができ、かつこれにより、URL/関連処理マッピングテーブル96を作り出すことができ、かつ、どのウェブページを無効にすべきかまたは維持すべきかを決定することができる。コンテント変更モニター部品104が、さらに、キャッシュ54または他のウェブサーバー58に記憶されたコンテントの位置を識別すれば、該コンテント変更モニター部品104は、無効化メッセージまたはリフレッシュメッセージをその位置へ送信することさえできる。したがって、コンテント変更モニター部品104またはCachePortal94のいずれかが、無効化メッセージまたはリフレッシュメッセージを送信することが可能となり得る。さらに、コンテント配布サービスプロバイダの機能性とコンテント変更モニター部品104の機能性(本明細書において、より詳細に後述する)とを同じサーバーに合併できることもまた理解されるべきである。
【0044】
前述したように、前記アプリケーションサーバー70、DBMS74、外部データソース86、ウェブサーバー58、キャッシュ54は、独立型の構成要素であることがあり、したがって、これら全てのシステム上におけるクロックを同期させることはできない。これらのシステムを同期させるためには、既知の照会または処理を備えた特定のURL要求をウェブサーバー58へ発することができる。ウェブサーバー58内、アプリケーションサーバー70内、DBMS74内、または、外部データソース内におけるログファイルのタイムスタンプを検査することができる。この情報に基づいて、全てのシステム間の時間差を計算することができ、かつ、適切な調整を行うことができる。
【0045】
<インテリジェントキャッシュおよびリフレッシュ機構2>
エンドユーザーが最新のウェブページにアクセスできることを確実にする鍵は、特定のデータと要求されたウェブページのURLとの関連を理解することである。ウェブサーバーを全体的に見ると、該ウェブサーバーは、ウェブページのURLを内部に有する要求をエンドユーザーから受信する。これにより、ウェブサーバーは、要求されたウェブページを識別する。しかしながら、ウェブサーバーは、どのデータベースの照会が、特定の要求されたウェブページに関連するのかを識別することができない。これに対し、DBMSは、アプリケーションサーバーから照会を受信するが、これらの照会は、その内部にURL情報を埋め込まれていない。純粋に機能的な観点から見て、このことは、どのウェブページが特定のデータ片を必要としているのかをデータベース管理システムが識別する必要がないので意味をなす。DBMSは、単に、データに関する要求を照会形式で受信し、かつ、結果をアプリケーションサーバーへ返信する。このことは、幾分問題を呈するが、ウェブサーバーがURLを識別する一方でデータベース管理システムが照会を識別するので、該URLを該照会に明確にリンクさせるものは何も存在しない。
【0046】
この関連を構成する鍵は、アプリケーションサーバーにある。万一ウェブサーバーがアプリケーションサーバーへ要求を送信すれば、アプリケーションサーバーは、ウェブサーバーからの要求から、要求されたページのURLを識別する。アプリケーションサーバーは、幾つかの計算を行うことができ、次に、どの照会をDBMSに対して構成すべきかを決定することができる。これにより、URLおよびDBMS照会の関連は、アプリケーションサーバーの動作において明白となる。
【0047】
それでもなお、URLおよびデータベース照会の関係が明らかにアプリケーションサーバーの動作から得られるので、アプリケーションサーバーがURL/関連処理マッピングテーブルを作り出しかつ維持することが可能である。したがって、図4において、本発明の他の実施形態106が例示されており、この実施形態においては、アプリケーションサーバー108は、要求されたURLおよびDBMS SQL呼と外部呼との間のマッピングを記憶するURL/関連処理マッピングテーブル110を保持する。アプリケーションサーバーによるURL/関連処理マッピングテーブルの作成は、図5に例示されている。
【0048】
いったん、コンテント変更モニター部品112が、DBMSの変更を検出し、関連する照会を決定し、かつ、CachePortal116に通知114を行うと、CachePortal116は、URL/関連処理マッピングテーブル110にアクセスして、照会に関連するURLを識別し、かつ、キャッシュ118内のページを無効にするかまたはリフレッシュする。同様に、ページがウェブサーバー120内に存在すれば、CachePortal116は、アプリケーションサーバー108に新たなページを発生するように要求することができ、または、最新のデータを有する新たなページを取ってくるかまたは要求するために、アプリケーションサーバー108に、ウェブサーバー120に対して照会または要求を発するように要求することができる。
【0049】
<インテリジェントキャッシュおよびリフレッシュ機構3>
アプリケーションサーバーが照会を発するときに、該アプリケーションサーバーは、API形式の"直接的な呼"SQLexecストリングであってもよい。このストリングまたは照会については、アプリケーションサーバー内のプログラムが実行されている間に発することができる。結局は、このプログラムがアプリケーションサーバー内で実行されている間に、幾つかの照会をこのストリング形式で発することができる。このSQLexec照会は、照会ストリングおよびハンドラカーソルという2つのパラメータを有する。照会ストリングは照会それ自体を識別し、その一方で、ハンドラカーソルは、DBMS内または外部ソース内に配置された結果を指すポインタである。URL必ずしもDBMSに渡される照会内パラメータの1つではないことが理解されるべきである。
【0050】
しかしながら、図6に例示した本発明の他の実施形態122において、このような“直接的な呼”は、CachePortalAPI呼124に置き換えられる。図6の実施形態において、アプリケーションサーバー126は、CachePortalAPI呼124を実行し、該CachePortalAPI呼124は、図6に示すように、パラメータの一部としてURL情報を有する。CachePortalAPI呼124は、CachePortalAPIハンドラ128により実行され、該CachePortalAPIハンドラ128は、URL情報を除去し、かつ次に、SQLexecストリングと等価なもの130を、DBMS132または外部ソース134へ送信する。CachePortalAPIハンドラ128は、さらに、URL/関連処理マッピングテーブル136を維持する。CachePortalAPIハンドラ128によるURL/関連処理マッピングテーブルの作成は、図7に例示されている。
【0051】
いったん、コンテント変更モニター部品138が、DBMSの変更を検出し、関連する照会を決定し、かつ、CachePortalシステム142に通知140を行うと、CachePortalシステム142は、URL/関連処理マッピングテーブル136にアクセスして、照会に関連するURLを識別し、かつ、キャッシュ144内のページを無効にするかまたはリフレッシュする。同様に、ページがウェブサーバー146内に存在すれば、CachePortal142は、アプリケーションサーバー126に、新たなページを発生するように要求することができ、または、該アプリケーションサーバー126は、最新のデータを有する新たなページを取ってくるように、ウェブサーバー146に対して照会または要求を発することができる。
【0052】
<インテリジェントキャッシュおよびリフレッシュ機構4>
しかしながら、図8に例示した本発明の他の実施形態148において、アプリケーションサーバーによる“直接的な呼”は、CachePortalにより記憶された手順150、または、CachePortalによりサポートされた他の記憶された手順の実行に置き換えられ、これらの手順は、アプリケーションサーバー、DBMS、または外部ソースにより実行できる関数を有する。記憶された手順は、ある一定の目的に従いかつDBMS154内のソースコードとなる共通の関数である。CachePortalにより記憶された手順は、アプリケーションサーバー152、DBMS154、または外部ソース156のために書き込まれ、かつ、これらにより実行される。図8の実施形態において、アプリケーションサーバー152は、CachePortalにより記憶された手順150を実行し、該CachePortalにより記憶された手順150は、パラメータの1つとしてURL情報を有する。前記記憶された手順は、照会158または処理160を、関連するDBMS154または外部ソース156へ発する。DBMS154または外部ソース156からのデータは、記憶された手順150を介してアプリケーションサーバー152へ戻される。
【0053】
CachePortalにより記憶された手順150は照会およびURL情報の両方を有するので、該記憶された手順は、データベース照会ログ162および/または処理ログ164を維持し、これらのログは、CachePortal166によりアクセスされて、URL/関連処理マッピングテーブル168を作り出す。CachePortalによるURL/関連処理マッピングテーブルの作成は、図9に例示されている。図6においては、CachePortalAPIハンドラが、照会がDBMSまたは外部ソースのいずれかに分割される前に、これらの照会をインターセプトしたことを特筆しておく。しかしながら、図8においては、要求は、DBMS154または外部ソースのいずれかに分割されるが、インターセプトされない。したがって、CachePortal166により、別個のログ162,164は書き込まれ、かつ次に、合併される必要がある。
【0054】
いったん、コンテント変更モニター部品168が、DBMSの変更を検出し、関連する照会を決定し、かつ、CachePortalシステム166に通知170を行うと、CachePortalシステム166は、URL/関連処理マッピングテーブル168にアクセスして、照会に関連するURLを識別し、かつ、キャッシュ172内のページを無効にするかまたはリフレッシュする。同様に、ページがウェブサーバー174内に存在すれば、CachePortal166は、アプリケーションサーバー152に、新たなページを発生するように要求することができ、または、該アプリケーションサーバー152は、最新のデータを有する新たなページを取ってくるようにウェブサーバー174に対して照会または要求を発することができる。
【0055】
<インテリジェントキャッシュおよびリフレッシュ機構5>
図10に例示した本発明の他の実施形態において、アプリケーションサーバー176は、アプリケーションサーバープロキシ200により“包囲”される。好ましい実施形態においてはCachePortalサーバー178の一部であるアプリケーションサーバープロキシ200は、ウェブサーバー182から要求180を受信し、かつ、要求184をアプリケーションサーバー176へ回送する。さらに、アプリケーションサーバープロキシ200は、DBMS194または外部ソース196から結果190,192を受信する他に照会186または外部要求188を発するために、アプリケーションサーバー176用のプロキシとして作用する。アプリケーションサーバープロキシ200は、さらに、結果をDBMSまたは外部ソース198からアプリケーションサーバー176へ回送する。
【0056】
したがって、ある意味では、前記アプリケーションサーバープロキシ200は、アプリケーションサーバー176への入力に従い、かつ、該アプリケーションサーバー176の出力を監視する。こうすることにより、アプリケーションサーバープロキシ200は、要求されたページのURLを、該URLがアプリケーションサーバー176内に入ったときに決定し、かつ、アプリケーションサーバー176がDBMS194または外部ソース196を呼び出したときにURLに関連づけることができる特定の照会186を決定する。したがって、アプリケーションサーバープロキシ200は、その時のURLと照会との関係を識別する。アプリケーションサーバー176による照会および外部呼の他に該アプリケーションサーバー176への要求をインターセプトする際に、アプリケーションサーバープロキシ200は、要求されたURLおよびDBMS SQL呼と外部呼との間におけるマッピング202を作り出すことができる。
【0057】
図10の実施形態の利点は、アプリケーションサーバープロキシ200が、アプリケーションサーバー176を変更してCachePortalAPI呼を発生させる必要なしにURL/関連処理マッピングテーブル202を発生できることである。したがって、この代替的実施形態による利点は、アプリケーションサーバー176の所有者とCachePortal178との間において必要とされる協力が少なくて済むことである。この機構については、ネットワークを通過するメッセージとストリングとに従うことができる“スニッファ(sniffer)”のようなハードウェア装置を用いて実施することもできることを特筆しておく。この機構については、本明細書において前述した機構1とともに用いることができることも特筆しておく。
【0058】
コンテント変更監視
<コンテント変更監視機構1>
図11は、本発明の実施形態によるコンテント変更モニター部品204を例示する。図11の実施形態において、DBMS208に発せられた照会206または外部ソース212に発せられた処理210は、コンテント変更モニター部品へも伝達される。次に、コンテント変更モニター部品204は、各々の照会206または処理210に関するビュー定義214を作り出し、該ビュー定義214は、これら特定の照会または処理に関連するデータを識別するための基準を確立する。次に、ビュー定義214は、前記照会または処理に関連するビューテーブル216を発生するために用いられ、該ビューテーブル216は、前記照会または処理に関連する全てのデータに対するポインタのリストである。
【0059】
例えば、住宅管理用途のためのDBMSが、家および代理店の属性リストである下記の表1と表2とを有すると仮定する。
【表1】
Figure 0003620448
【表2】
Figure 0003620448
【0060】
図11を参照すると、この住宅用途に頻繁に発せられる照会SQL1(下記参照)が、コンテント変更モニター部品204により受信されると仮定する。概して、照会は、“[照会条件のリストが満たされる]場合の[データソース]から[データまたは属性]を選択する”という形式である。本例において、SQL1は、以下のように定義される。
【表3】
Figure 0003620448
【0061】
SQL1がコンテント変更モニター部品204により受信された後に、ビューテーブルを作り出すための文(この文は、ビュー定義214を有する)が実行される。本例において、文は以下の通りである。
【表4】
Figure 0003620448
【0062】
この文は、照会SQL1の基準(ビュー定義)を満たす表1における入力に対するポインタのリストを有するビューテーブル216を作り出す。この例において、SQL1のビュー定義は、house.agentid = agent.id, house.price<50, and house.price>20 という特定の代理店および指定された価格範囲である。この例において、VIEW1として定義されるビューテーブル216が作り出される。さらに、ビューログ218は、各々のビューテーブル216のために維持され、該ビューテーブル216に対する全ての処理の記録を保持する。
【0063】
各々のビューテーブルの入力(ポインタ)は、ビューテーブル216とその関連データとの関係を確立する。したがって、特定のデータを更新するためのコマンドをDBMS208が受信すれば、データを更新させた前後のいずれかに、DBMS208は、さらに、データ更新により潜在的に影響を受けるあらゆるビューテーブル216を識別する。次に、DBMS208は、適切なビューテーブル216を無効にするかまたは維持する。
【0064】
無効化のために、DBMS208は、特定のビューテーブル216を無効としてマーキングする。このことについては、ビューテーブル216の属性を設定し、“無効”処理をビューログ218に記録することなどにより行うことができる。さらに、このシステムは、ビューテーブル216の“最後に変更された日付”属性を更新することもできる。しかしながら、ビューテーブル216それ自体は、更新されない。あるいはまた、ビューテーブル216内の全ての入力を削除することもできる。
【0065】
したがって、前記コンテント変更モニター部品204は、特定のビューテーブル216が無効にされたことを上述の指示から決定することができる。無効化が検出されれば、コンテント変更モニター部品204は、特定のビューテーブル216に関連する照会または処理をCachePortalへ伝達することができる。次に、前記システムは、前記照会または処理に関連する1つ以上のURLを識別することができ、かつ、これらのURLに関連するウェブページがキャッシュに記憶されれば、前記システムは、該ウェブページを無効としてマーキングすることができる。無効化は、単に、どのウェブページを無効にすべきかを識別することに関連していることが理解されるべきである。したがって、前記システムは、特定のビューテーブル216を維持するための作用が生じる必要があることを検出するが、その作用を開始することはない。このことは、ビューテーブル216を更新する費用を節減する。
【0066】
ビューテーブル216の維持について、以下に説明する。前述したように、ビューログ218は、各々のビューテーブル216のために維持され、該ビューテーブル216に対する全ての処理の記録を保持する。ビューログの入力は、ビューテーブル216が変更されたという明確な表示を何も与えない“照会”と、ビューテーブル216(したがって、DBMS208)が変更されたという表示をもたらす“更新”、“挿入”または“削除”とを有する。維持のために、前記システムは、“更新”、“挿入”または“削除”処理にしたがって、ビューテーブル216を更新し、これらの処理は、ビューログ218に記録され、かつさらに、“最後に更新された日付”属性を更新する。
【0067】
ビューログ218において“更新”、“挿入”または“削除”入力を検出することにより、コンテント変更モニター部品204は、ビューテーブル216の維持が発生したと決定することができる。ビューテーブル216の維持が検出されれば、コンテント変更モニター部品204は、特定のビューテーブル216に関連する照会または処理をCachePortalへ伝達することができる。次に、前記システムは、前記照会または処理に関連する1つ以上のURLを識別することができ、かつ、これらのURLに関連するウェブページがキャッシュに記憶されれば、前記システムは、該ウェブページを無効としてマーキングすることができる。しかしながら、特定のビューテーブル216が維持(更新)されるときに、DBMS208または外部ソース212を更新する費用の多くが発生するので、他の実施形態においては、たとえウェブページに対してユーザーの要求がなかったとしても、新たなデータをアプリケーションサーバーへ渡して該ウェブページをリフレッシュすることにより、費用効率を高くすることができる。
【0068】
ビューテーブルについては包含的ポインタとして説明したが、本発明の他の実施形態において、ビューテーブルは、追加的にまたは他に、ビューテーブルにより表された特定の照会に実際のデータが関連づけたコピーを有することができる。照会が発せられたときにDBMSからのデータにアクセスするためにポインタが用いられるので、ビューテーブル内にデータのコピーを有することは、照会の応答時間を改善する。しかしながら、不都合な点は、データベースが変更されると常に、ビューテーブル内のデータのコピーも変更する必要があることである。
【0069】
再び図11を参照すると、DBMSではなく外部ソース212がアクセスされれば、外部ソース212に対する変更を監視するためにデーモン220を初期化することができる。例えば、デーモン220は、処理とその関連データとの関連を識別しかつこの関連データが変更されたかどうかを所定の間隔で検査するプログラムであってもよい。外部ソース212内のデータが変更されたことをデーモン220が検出すれば、デーモン220は、コンテント変更モニター部品204に通知し、かつ、無効化または維持が上記に定義したように進行することができる。
【0070】
さらに他の実施形態においては、全ての照会または処理が、ビューまたはデーモン定義220を有しているわけではない。ビュー定義214またはデーモン定義220については、最も頻繁に発せられる照会のみのために、かつ/または、より頻繁に更新される結果を有する照会または処理のために、選択的に定義することができる。
【0071】
<コンテント変更監視機構2>
図12は、本発明の他の実施形態によるコンテント変更モニター部品222を例示する。図12の実施形態において、DBMSまたは外部データソースに対して発せられた照会224または処理244は、コンテント変更モニター部品222へも伝達される。次に、コンテント変更モニター部品222は、トリガ定義を作り出し、該トリガ定義は、ある一定の照会条件が満たされたときにアクティブ状態となるように定義されたトリガ文を有する。
【0072】
例えば、上記に定義したように、住宅管理用途のためのDBMSが表1と表2とを有すると仮定する。図12を参照して、さらに、上記に定義したように、照会SQL1がコンテント変更モニター部品222により受信されると仮定する。SQL1が受信された後に、1つ以上のトリガ文を有するトリガ定義226が作り出される。概して、トリガ定義は、“[データソースのリストを][更新する/挿入する/削除する][と同時に/前に/後に][トリガ文のリストを実行する]”という形式のものである。本例において、トリガ定義226は、以下の通りに作り出される。
【表5】
Figure 0003620448
【0073】
上記に与えた例示的トリガ定義226において、トリガ文は、IF−THEN−ELSEIF節に包含される。上述したように、トリガ文は、ある一定の照会条件が満たされたときにアクティブ状態となるように定義される。トリガ文は、特定のデータに対する変更が、ある一定の照会に対して影響力を有するか、かつ次に、これらの照会と特定のデータとの関連を確立するかどうかを決定する。本発明の実施形態において、トリガ文は、“[照会条件が満たされれば][作用を行う]”という形式を有することができるが、これに制約されるものではない。トリガ文がアクティブ状態であれば、データを更新させた前後のいずれかに、指定された作用が行われる。例えば、作用は、キャッシュ内、アプリケーションサーバー内、ウェブサーバー内、CachePortal内、またはコンテント変更モニター部品内の特定のウェブページを無効にするためのコマンドの発行を有することができる。本例において、トリガ定義226内のトリガ文は、20〜50の価格によってDBMSへの挿入、削除、または更新を検出し、かつ、このようなDBMS変更が検出されれば、トリガ定義が満たされたことを示すメッセージを送信しようとする。
【0074】
本発明の他の実施形態において、多数の照会を表す多数のトリガ文を、1つのトリガ定義に合併することができる。例えば、“[照会条件1が満たされれば][照会1に関連するウェブサーバーを無効にする]、[または他に、照会条件2が満たされれば][照会に関連するウェブサーバーを無効にする]、[または他に、…]”というトリガ文を有するトリガ定義を作り出すことができる。例示目的のみのために本例を継続し、照会SQL2(下記を参照)がコンテント変更モニター部品222により受信されると仮定する。SQL2は、以下のように定義される。
【表6】
Figure 0003620448
【0075】
この第2照会に関するトリガ定義を実施する1つの方法は、別個のトリガ定義を作り出すことである。本例においては、別個のトリガ定義を以下の通りに作り出すことができる。
【表7】
Figure 0003620448
【0076】
しかしながら、あるいはまた、2つのトリガ定義を1つに合併することもでき、このことは、DBMSが処理しかつ監視するために、より効率的かつ低費用であり得る。本例においては、pricemvテーブルが更新されたときに、条件検査を行うために、より少数のトリガ定義が活性化状態にされる必要がある。本例においては、合併されたトリガを以下の通りに定義することができる。
【表8】
Figure 0003620448
【0077】
トリガ20−40−50において、SQL2のためのトリガ文が最初に実行され、その後に、SQL1のためのトリガ文が実行されることを特筆しておく。SQL2の照会条件(20〜40の価格)を満たす価格はSQL1の照会条件(20〜50の価格)をも満たすので、SQL2のためのトリガ文が満たされれば、検査は直ちに中止される。したがって、トリガ定義が全て行われる必要がないようにトリガ定義を順番に並べることにより、さらなる効率性を実現することができる。
【0078】
合併されたトリガ定義については、重複する条件を備えた照会が多数存在する状況に適用することもでき、かつ、望ましい作用は、変更されたデータに関連するウェブページを無効にすることである。例えば、以下の3つの一般化された照会がコンテント変更モニター部品により受信されると仮定する。
【表9】
Figure 0003620448
【0079】
一般的な合併されたトリガ定義については、以下の通りに作り出すことができる。
【表10】
Figure 0003620448
【0080】
照会条件2に対する変更が、SQL4,5,6に関連するウェブページに影響を及ぼすことができるので、照会条件2が満たされれば、検査は直ちに中止される。したがって、前述のように、トリガ定義が全て行われる必要がないようにトリガ定義を順番に並べることにより、さらなる効率を実現することができる。本例の照会においては単純なAND文が用いられたが、これらの照会における複雑なブール代数または関連する代数が、トリガ定義におけるトリガ文の複雑さに対応する効果を有することが理解されるべきである。
【0081】
図3〜図10に関連して上述したように、本発明の実施形態において、URL/関連処理マッピングテーブルは、コンテント変更モニター部品により維持されない。むしろ、図11および図12に関連して上述したように、コンテント変更モニター部品は、照会/処理とこれらに関連するデータとの関係を維持するだけである。好ましい実施形態において、コンテント変更モニター部品がデータに対する変更を検出すると、該コンテント変更モニター部品は、変更されたデータに関連する照会/処理が他の構成要素(ウェブサーバー、CachePortal、または他のコンテント配布システム/サービスプロバイダなどであり得る)に対して無効であることを示すメッセージを伝達する。これにより、これらの構成要素は、URL/関連処理マッピングテーブルにアクセスし、無効な照会/処理に関連するウェブページのURLを決定し、かつ、無効化メッセージまたはリフレッシュメッセージを、これらのウェブページを記憶しているキャッシュまたはウェブサーバーへ伝達することができる。
【0082】
しかしながら、本発明の他の実施形態においては、URL/関連処理マッピングテーブルに包含される情報を、種々の異なる実施手段において維持できることが理解されるべきである。例えば、コンテント変更モニター部品は、URL/関連処理マッピングテーブルを維持することができる。コンテント変更モニター部品がデータに対する変更を検出すると、該コンテント変更モニター部品は、変更されたデータに関連する照会/処理を識別し、URL/関連処理マッピングテーブルにアクセスし、無効な照会/処理に関連するウェブページのURLを決定し、かつ、関連する照会/処理が他の構成要素(ウェブサーバー、CachePortal、または他のコンテント配布システム/サービスプロバイダなどであり得る)に対して無効であることを示すメッセージを伝達する。これにより、これらの構成要素は、無効化メッセージまたはリフレッシュメッセージを、これらのウェブページを記憶しているキャッシュまたはウェブサーバーへ伝達することができる。他の実施形態において、コンテント変更モニター部品は、無効化メッセージまたはリフレッシュメッセージを、これらのウェブページを記憶しているキャッシュまたはウェブサーバーへ直接的に伝達することができる。
【0083】
再び図12を参照すると、DBMS230ではなく外部ソース228がアクセスされれば、外部ソース228に対する変更を監視するためにデーモン232を初期化することができる。例えば、デーモン232は、処理とその関連データとの関連を識別しかつこの関連データが変更されたかどうかを所定の間隔で検査するプログラムであってもよい。トリガと同様に、デーモン232は、ある一定のデータまたはテーブルが変更されるかまたは変更される予定であるときにアクティブ状態となるように定義され、かつ、照会とその関連データとの関連を確立する。デーモン232がアクティブ状態であれば、データを更新させた前後のいずれかに、デーモン定義が実行される。デーモン定義については、概して、“[条件があれば][作用を行う]”として記述することができる。この条件は、特定のデータの更新が、これに関連する照会に対して影響力を有するかどうかを検査する。条件が満たされれば、何らかの作用が行われる。例えば、デーモン定義において定義された作用は、新たなページを発生するために新たなデータをアプリケーションサーバーへ渡す他に、CachePortal、キャッシュ、アプリケーションサーバー、ウェブサーバー、またはコンテント変更モニター部品222へ、特定のウェブページの無効化を信号で伝えることができる。
【0084】
さらに他の実施形態において、全ての照会および処理がトリガ定義またはデーモン定義を有するわけではない。トリガまたはデーモンについては、最も頻繁に発せられる照会/処理のみのために、および/または、より頻繁に更新される結果を有する照会/処理のために、選択的に定義することができる。
【0085】
<コンテント変更監視機構3>
図13は、本発明の他の実施形態によるコンテント変更モニター部品を例示する。図13の実施形態は、ビュー定義および/またはトリガ定義を、DBMS236または外部ソース238とは別個のサーバー234に合併し、該サーバー234は、CachePortalサーバーまたは他のコンテント配布サービスプロバイダ用サーバーを有することができるが、これに制約されるものではない。
【0086】
本発明の他の実施形態において、関連するスキーマおよびDBMS236および外部データソースからの制約の他に、DBMS236および外部データソース238全体については、模写仕様を用いてサーバー234上に模写を取ることができる。別個のサーバー234は、DBMS236または外部データソース238において用いられるものと同じ形式のデータ管理システムを必ずしも有しているとは限らないことを特筆しておく。模写仕様においては、自動化されたデータ同期化についても指定することができ、これにより、DBMS236または外部データソース238においてデータ変更が発生したときに、このような変更は、別個のサーバー234へ自動的に伝達される。さらに他の実施形態においては、DBMS236または外部データソース238に対する挿入、更新、削除処理を検出するために、模写仕様を用いるのではなくビューログを監視することができる。これらの処理については、別個のサーバー234内のコピーデータを一致させるために、該コピーデータ上において行うことができる。
【0087】
一致したコピーデータによって、上述したコンテント変更監視機構1またはコンテント変更監視機構2を適用することができる。本発明の好ましい実施形態においては、更新、挿入、削除作用が、特定のURL要求に関連する照会または処理に対して影響力を有しているかどうかを決定するために、ビュー文、ビュー定義、ビューテーブル、ビューログについても別個のサーバー234内に維持することができる。他の実施形態においては、これらのデータ構造を、DBMS236または外部データソース238により維持することができ、かつ、この情報を、コンテント変更モニター部品234へ送信することができる。DBMS236または外部データソース238に対する変更が検出されると、キャッシュまたはウェブサーバーに記憶された関連するウェブページを、別個のサーバー234により送信されたメッセージ246により無効にするかまたはリフレッシュすることができる。
【0088】
図13の実施形態によって、ビューテーブルとビューログとを維持する費用を、別個のサーバーにより生じさせることが可能となり、かつ、顧客のウェブサーバー、DBMS、外部データソースに対して要求される変更は最小限となる。この自由なシステムの結合は、自分たちの機械を変更することが厄介な会社のために好ましいものであり得る。
【0089】
インテリジェント無効化器/リフレッシュ器
本発明の他の実施形態においては、一致したデータのコピーを別個のサーバー内に維持するのではなく、必要なデータのみが別個のサーバー上にコピーされる。コンテント変更モニター部品に関するこの実施形態は、以後本明細書においてインテリジェント無効化器/リフレッシュ器と称するものを有することができる。しかしながら、インテリジェント無効化器/リフレッシュ器の機能性を、別個のサーバー、コンテント変更モニター部品、CachePortal、または、他のコンテント配布サービスプロバイダ、ウェブサーバー、アプリケーションサーバーなどの中に組み込めることが理解されるべきである。さらに、以下の説明は無効化に焦点を当てているが、他の実施形態においてはリフレッシュも実行できることを特筆しておく。
【0090】
<インテリジェント無効化器/リフレッシュ器の機能的概観>
インテリジェント無効化器/リフレッシュ器に関する説明については、例によって最適に呈することができる。DBMSが以下のテーブルを有すると仮定する。
car(make, model, price)
mileage(model, mpg)
【0091】
さらに、ウェブページURL1を発生するために、以下の照会QUERY1がDBMSに対して発せられたと仮定する。
【表11】
Figure 0003620448
【0092】
無効化器/リフレッシュ器もまたこの照会を受信するので、該無効化器/リフレッシュ器は、URL1とQUERY1との関連を維持することができる。以下に、一連の対応ビューログ入力により明白なように、新たな組(Toyota, Avalon, 25000)がテーブル”car”内に挿入されたと仮定する。QUERY1は1つのテーブル(car)にアクセスしさえすればよいので、QUERY1に記述された照会条件(make = ”Toyota”)を新たな組の値が満たすかどうかを決定することができる。本例においては、新たな組の値が照会条件を満たすので、QUERY1に関する結果が影響を与えられ、かつこれにより、URL1を無効にするかまたはリフレッシュする必要がある。同様に、組(Toyota, Avalon, 25000)が、テーブル”car”から削除されれば、この組はQUERY1に記述された照会条件を満たすので、QUERY1に関する結果が影響を与えられ、かつこれにより、URL1を無効にするかまたはリフレッシュする必要がある。さらに、挿入処理の前の削除処理として更新処理を調べることができるので、更新処理を扱うために、今述べた手順を実施することができる。概して、本明細書における説明は、説明の目的のために、“挿入”のような1つの形式のデータベースに言及しているが、この説明が、削除処理および更新処理にも概念的に適用可能であることが理解されるべきである。
【0093】
同じテーブルを必要とする他の例において、ウェブページURL2を発生するために、以下の照会QUERY2が発せられたと仮定する。
【表12】
Figure 0003620448
【0094】
この照会が1つ以上のテーブルを必要とし、かつ、結合照会条件(多数のデータテーブルに対してアクセスを要求する照会条件)が存在することを特筆しておく。明確には、”where”という語の後に定義される照会条件において、テーブル”car”は、car.makeとcar.modelとに関する値を決定するためにアクセスされる必要があり、テーブル”mileage”は、mileage.modelに関する値を決定するためにアクセスされる必要がある。以下に、一連の対応するビューログ入力により明白なように、新たな組(Toyota, Avalon, 25000)がテーブル”car”内に挿入されたと仮定する。QUERY1は2つのテーブルにアクセスする必要があるので、テーブル”car”に関連するQUERY2に記述された照会条件の一部分のみを新たな組の値が満たすことができるかどうかが最初に決定される。照会条件の一部分が満たされなければ、照会条件の他の部分はテストされる必要がなく、かつ、新たな挿入処理はQUERY2の結果に対して影響力を有していないことと、URL2は無効にされる必要もリフレッシュされる必要もないこととが識別される。
【0095】
しかしながら、新たに挿入された組が、テーブル”car”に関連する照会条件の一部分を満たせば、テーブル”mileage”に関連する照会条件の残りが検査されるまで、QUERY2の結果が影響を受けるのかどうかをなおも決定することができない。部分的な照会条件car.model = mileage.modelが満たされるかどうかを検査するためには、テーブル”mileage”にアクセスする必要がある。部分的な照会条件を検査するためには、以下の副照会QUERY3を、コンテント変更モニター部品により発生し、かつ、DBMSへ発することができる。
【表13】
Figure 0003620448
【0096】
この副照会については、テーブル”mileage”に関連していない全ての条件を除去することと、結合処理において必要とされるテーブル”car”内の全ての属性を、新たに挿入された組における該全ての属性に対応する値に置き換えることとにより、準備することができる。本例においては、car.modelは、ストリング”Avalon”に置き換えられる。その理由は、これが、属性mileage.modelの値と結合するために用いられる唯一の値であるためである。QUERY3に関する結果が存在すれば、新たな挿入処理がQUERY2の結果に対して影響力を有し、かつこれにより、URL2を無効にするかまたはリフレッシュする必要がある。
【0097】
属性mileage.modelについてはテーブル”mileage”から検索する必要があるので、属性mileage.modelの値を、索引構造または結合索引としてインテリジェント無効化器/リフレッシュ器にセーブできることを特筆しておく。この後に、属性mileage.modelの値を要求する後続の照会が発せられれば、結合索引にアクセスすることができ、かつ、QUERY3を再び発する必要がない。その理由は、QUERY2を処理するために必要とされる全ての情報は、既に有効であるためである。結合索引については、データベース更新ログに列挙された処理を行うことにより維持することができる。
【0098】
より複雑な例においては、DBMSが以下の2つのテーブルを有すると仮定する。
car(make, model, price)
mileage(make, model, mpg)
【0099】
さらに、ウェブページURL4を発生するために、以下の照会QUERY4が発せられたと仮定する。
【表14】
Figure 0003620448
【0100】
この照会が1つ以上のテーブルを必要とし、かつ、結合照会条件が存在することを特筆しておく。以下に、新たな組(Toyota, Avalon, 25000)が、テーブル”car”内に挿入されたと仮定する。QUERY4は2つのテーブルにアクセスする必要があるので、テーブル”car”に関連する照会条件の一部分のみを新たな組の値が満たすことができるかどうかが最初に決定される。前記照会条件の一部分が満たされなければ、照会条件の他の部分はテストされる必要がなく、かつ、新たな挿入処理はQUERY4の結果に対して影響力を有していないことと、URL4は無効にされる必要もリフレッシュされる必要もないこととが識別される。
【0101】
しかしながら、たとえ、新たに挿入された組が、テーブル”car”に関連する照会条件の一部分を満たしても、テーブル”mileage”に関連する照会条件の残りが検査されるまで、QUERY4の結果が影響を与えられるのかどうかをなおも決定することができない。部分的な照会条件car.model = mileage.modelが満たされるかどうかを検査するためには、テーブル”mileage”にアクセスする必要がある。部分的な照会条件を検査するためには、以下の副照会QUERY5を、DBMSへ発することができる。
【表15】
Figure 0003620448
【0102】
この副照会については、テーブル”mileage”に関連していない全ての条件を除去することと、結合処理において必要とされるテーブル”car”内の全ての属性を、新たに挿入された組に対応する値に置き換えることとにより、準備することができる。本例においては、car.modelは、ストリング”Avalon”に置き換えられ、かつ、car.makeは、ストリング”Toyota”に置き換えられる。その理由は、これらが、属性mileage.model,mileage.makeの値に結合するために用いられる唯一の値であるためである。QUERY5に関する結果が存在すれば、新たな挿入処理がQUERY4の結果に対して影響力を有し、かつこれにより、URL4を無効にするかまたはリフレッシュする必要がある。
【0103】
属性mileage.modelの値およびmileage.makeの値については、結合索引としてインテリジェント無効化器/リフレッシュ器にセーブできることを特筆しておく。この後に、属性mileage.modelまたはmileage.makeの値を要求する後続の照会が発せられれば、結合索引にアクセスすることができ、かつ、QUERY5を再び発する必要がない。その理由は、QUERY5を処理するために必要とされる全ての情報は、既に有効であるためである。
【0104】
さらに他の例においては、上記に定義したQUERY2,4がDBMSへ発せられ、かつ、新たな組(Toyota, Avalon, 25000)がテーブル”car”内に挿入されたと仮定する。コンテント変更モニター部品は、副照会を特定の順番で作り出しかつ発することにより、ある程度の効率を達成することができる。本例においては、最初にQUERY3がDBMSへ発せられ、かつ、副照会に関する結果が何も存在しなければ、URL2,4の両方とも無効にする必要はないと決定することができる。しかしながら、QUERY3に関する結果が存在すれば、コンテント変更モニター部品は、最初にURL2を無効にし、かつ次に、QUERY5をDBMSへ発することができる。QUERY5に関する結果を、QUERY2,4の両方に関する結合索引としてセーブできることを特筆しておく。
【0105】
本発明の実施形態においては、本明細書において“挿入”の例によって前述した技術を、DBMSに対する削除処理と更新処理とを扱うように拡張でき、かつさらに、関連する演算子の他に”or”または”not”または他のブール演算子を用いる照会に拡張できることを特筆しておく。
【0106】
DBMSへ副照会を発するのではなく結合索引を構築するための計画を定義することができる。例えば、結合索引が適度に小さければ、または、DBMSの照会頻度が高ければ、結合索引をセーブしかつ維持することが好ましい。しかしながら、DBMSに関する多くの属性を結合索引にセーブする必要があり、結合索引を頻繁に更新する必要があり、または、DBMSの照会頻度が低ければ、副照会を発する方がより効率的であり得る。
【0107】
<インテリジェント無効化器/リフレッシュ器のアーキテクチャ>
図14は、本発明の好ましい実施形態による動的コンテントキャッシュおよび無効化およびリフレッシュシステム248に関する全体的アーキテクチャを示す。図14に示すように、システム内には、動的コンテント要求処理、DBMS更新処理、URL/関連処理決定処理(“スニッフィング(sniffing)”)、DBMS変更検出および無効化処理(“無効化”)という、4つの独立した処理(矢印により示されている)が存在する。
【0108】
前記アーキテクチャの主要な構成要素は、スニッファ250と、無効化器/リフレッシュ器252とを有する。スニッファ250は、ユーザーによるウェブページ要求を検出し、かつ、照会例(query instance:QI)マッピング254(本明細書においては、URL/関連処理マッピングまたはQI/URLマップと称する)に対するURL+クッキー+ポストデータを作り出す。本明細書において定義したURL情報が、要求されたウェブページのURLと、ウェブページに伴うことができるクッキーと、ウェブサーバーからアプリケーションサーバーへ送信されたポストデータ情報とを有することが理解されるべきである。スニッファ250は、QIを収集するが、これらのQIを解釈しない。無効化器/リフレッシュ器252は、DBMSに対する更新に“従い”、かつ、QI/URLマップ254を用いて、関連するキャッシュ256またはウェブサーバーに対し、特定の記憶されたページの無効化について通知する。こうするために、インテリジェント無効化器/リフレッシュ器252は、QIを解釈することを必要とし、かつ、QI/QTテーブルにアクセスする必要があり、これにより、これらの照会形式(QT)が、より効率的な無効化のために、コンパイル/登録の間に決定される。
【0109】
スニッファ250および無効化器/リフレッシュ器252のいずれも、ボトルネックになるべきではないことが理解されるべきである。スニッファ250は、ウェブサーバー258に匹敵する速度で動作する必要があるが、このことは、通常は問題ではない。その理由は、ウェブサーバー258が、動的コンテントにのための要求を供給するために、スニッファ250よりも多くの処理を行う必要があるためである。無効化器/リフレッシュ器252もまた、ボトルネックになるべきではない。その理由は、無効化器/リフレッシュ器252が、DBMS260の外部で動作し、かつ、無効化に費やすべき所要時間を管理するためである。しかしながら、無効化器/リフレッシュ器252が、無効化のための関連データを集めるために余分の照会をDBMSへ送信する必要があれば、該無効化器/リフレッシュ器252がDBMS260に対する負荷を増加できることを特筆しておく。
【0110】
説明のみの目的のために、本明細書においてインテリジェントキャッシュおよびリフレッシュ機構1〜5のいずれかに関連して上述したアーキテクチャをネットワークトラフィックに従うために用いることができ、かつ、該アーキテクチャはURL/関連処理マッピングテーブルを発生できるが、図14に示したアーキテクチャは、インテリジェント無効化器/リフレッシュ器248を説明する例として用いられることが理解されるべきである。
【0111】
図14を参照すると、矢印(1)〜(6)は、通常の動的コンテント要求が進み得る段階を説明する。スニッファ250および無効化器/リフレッシュ器252は、動的コンテント要求を妨げも変更もしない。その代わりに、これらは、3つのログ(2つのHTTP要求/配布ログ262、および、照会例/配布ログ264)に依存して、全ての関連情報を集める。矢印(Upd)266は、DBMS260に対する更新を示す。これらの更新266は、照会268から独立している。スニッファ250および無効化器/リフレッシュ器252は、DBMS更新処理も変更しない。その代わりに、これらは、DBMS更新ログに依存して、全ての関連情報を集める。
【0112】
矢印(a)〜(c)は、スニッファ照会例/URLマップ発生処理を示し、その一方で、矢印(A)〜(C)は、キャッシュコンテント無効化処理を示す。これら2つの処理は、非同期であるが相補的である。
【0113】
「このアーキテクチャの特性」
インテリジェント無効化器/リフレッシュ器のアーキテクチャは、ウェブサーバー258、アプリケーションサーバー270、またはDBMS260に対する変更がほとんどまたは全く必要とされないように設計される。しかしながら、好ましい実施形態においては、これらのエンティティからの協同は、アーキテクチャの性能を向上させることができる。
【0114】
前記アーキテクチャについては幾つかのモードに展開することができ、かつ、これらのモードは、コールドスタート、ウォームスタート、ホットスタートを有するが、これらに制約されるものではない。コールドスタートモードにおいては、顧客は、システムを得て、ソフトウェアをインストールし、かつ直ちに、動作を開始させることができる。システムは、関連ログを発生し始め、かつ、自己同調を行って性能を向上させる。コールドスタートモードは迅速な展開をもたらすが、システムが初期同調されていないので、システムが高性能を達成するためには時間がかかることがある。
【0115】
ウォームスタートモードにおいては、顧客は、システムを得て、ソフトウェアをインストールし、かつ、システムに既存のログを供給することができる。システムは、初期の性能方針を生じさせるために3つのログを用いる。したがって、ウォームスタートモードは、比較的迅速な展開と、ある程度の初期性能とをもたらす。
【0116】
ホットスタートモードにおいては、顧客と、CachePortalまたは他のコンテント配布サービスプロバイダのようなインテリジェント無効化器/リフレッシュ器の所有者とは、展開前に、関連するドメインの専門知識を交換することができ、かつ次に、初期の性能方針を、コンテント配布サービスプロバイダの技術的表示により高性能用に同調させることができる。前記システムは、初期の性能方針を無効化/改善するために、既存のログを用いることもできる。このオプションは、高度な初期性能をもたらすが、顧客との対話を必要とする。
【0117】
「用語」
主要な構成要素についてさらに詳細に説明する前に、関連する用語について多少理解すべきである。照会形式(QT)は、照会の定義である。これは、変数を有しても有していなくてもよい有効なSQL文である。照会形式については、Q(V,...,V)として示され、ここで、各々のVは、照会がDBMSに渡される前に、アプリケーションにより例示する必要がある変数である。
【0118】
結合照会形式は、変数を有していない有効なSQL文である。結合照会形式については、Q(a,...,a)として示され、ここで、各々のaは、変数Vのために例示される値である。アプリケーションサーバーによりDBMSに渡される照会は、結合照会である。
【0119】
照会例(QI)は、関連する要求タイムスタンプを備えた結合照会形式である。結合照会形式については、Q(a,...,a)として示され、ここで、tは、アプリケーションサーバーが要求をDBMSに渡した時刻である。
【0120】
したがって、多数の照会例は、同じ結合照会形式を有することができ、かつ、同じ結合照会形式は、同じ照会形式を有することができる。
【0121】
「スニッファ」
“スニッファ”は、ネットワークトラフィックに“従う”ようにネットワーク上に配置することができるハードウェアまたはソフトウェア装置である。スニッファについては、イーサネット上に配置することができ、該イーサネットを介して、ウェブサーバー、アプリケーションサーバー、およびDBMSが通信する。スニッファは、照会例QIマッピング(URL/関連処理マッピングテーブル)に対するURL+クッキー+ポストデータを作り出す。スニッファは、照会の発生を収集するが、これらを解釈しない。URL+クッキー+ポストデータ情報については、着信HTTP要求に従うモジュールを用いて、ウェブサーバーへの入力において収集することができる。さらに、URL+クッキー+ポストデータ情報については、アプリケーションサーバーにより設定された環境変数セットを用いるモジュールを用いて、アプリケーションサーバーへの入力において収集することができる。例えば、URL情報については、QUERY_STRINGの前のHTTP_HOST環境変数を用いて収集することができ、かつ、クッキー情報については、HTTP_COOKIE環境変数を用いて収集することができ、かつ、ポストデータ情報については、HTTPメッセージ主要部を用いて収集することができる。
【0122】
「無効化器/リフレッシュ器」
図15に例示するように、無効化器/リフレッシュ器272は、登録モジュール274,情報管理モジュール276、無効化モジュール278という3つの堅く結合されたモジュールからなる。
【0123】
「登録モジュール」
登録モジュール274は、補助索引およびデータ構造280の作成のために、無効化方針の作成と、関連照会の統計の収集と、これらの方針および統計を情報管理モジュール276に渡すこととに対して責任を有する。すなわち、登録モジュール274は、“何を無効にすべきか”についての質問に応答する。
【0124】
オフラインモードで動作するときに、システム管理者は、無効化器/リフレッシュ器272が検出する必要がある照会形式(QT)を登録することができる。これらのQTについては識別することができる。その理由は、アプリケーションサーバー282により発生することができるQTは限られた数しか存在しないためである。ホットスタートの間に、ドメインの専門家は、どちらの形式(結合または非結合)の照会がアプリケーションサーバー282により作り出されるのかを宣言することができる。登録モジュール274は、この情報を、無効化器/リフレッシュ器または補助データ構造280内に登録する。照会形式については、ウェブサイトのアプリケーションサーバー設計者により供給することができる。その理由は、どの形式の照会をアプリケーションサーバー282から発することができるのかを前記設計者が知っているためである。
【0125】
オンラインモードで動作するときに、登録モジュール274は、QI/URLマップ284を走査し、かつ、新たなQTおよびQIを登録する。照会形式のディレクトリに関して、無効化器/リフレッシュ器272は、該無効化器/リフレッシュ器272が既知の照会形式と関連づけることができない照会例が存在するかどうかを調べるために、常に、QI/URLマップ284に従う。このような照会例に遭遇すれば、無効化器/リフレッシュ器272は、これらの照会例を解釈して、その照会形式を識別する。例えば、無効化器/リフレッシュ器272がログ内に以下の3つの照会例を観測すれば、
【表16】
Figure 0003620448
照会形式を、以下のように得ることができる。
【表17】
Figure 0003620448
【0126】
さらに、ハードコードされた(hard−coded)無効化方針286は、このモードにおいて登録される。無効化方針登録に関して、ホットスタートの間に、ドメインの専門家およびCachePortalの技術者は、無効化処理を管理する指針を確立する。これらの指針については、無効化器/リフレッシュ器の内部データ構造内にまたは補助データ構造280内に登録することができる。例えば、登録された無効化方針286は、“最も頻繁にアクセスされる100個のページのみをキャッシュする(cache)かまたは無効化する”ことであってもよい。
【0127】
無効化方針を見つけるために、無効化器/リフレッシュ器272は、無効化処理を管理する性能指針を、常に確立/更新することができる。考慮すべき幾つかのパラメータは、本明細書において説明するように、データベースポーリング(無効化/リフレッシュ処理において必要とされる余分の情報を集める目的による、データベースへのアクセス)頻度と、結合索引のサイズと、結合索引維持の頻度などを有することができる。例えば、結合索引については、特定の照会のために最初に作り出すことができるが、時間の経過とともに、無効化器/リフレッシュ器272は、結合索引の更新頻度が、該結合索引の維持を保証するのに十分高いと決定することができる。同様に、オンラインモードにおいて、登録モジュール274は、照会統計を動的に作り出し、かつ、無効化方針を作り出す/更新することもできる。
【0128】
「無効化モジュール」
無効化モジュール278は、“いつ無効にすべきか”という質問に応答する責任を有する。QI/URLマップ284に従う登録モジュール274とは違い、無効化モジュールは、補助データ構造280(QI/QT、結合索引などをマッピングし続けるために必要とされる貯蔵所)を作り出すために、データベース更新ログに従い、更新情報を情報管理ユニットに渡し、かつ、無効化方針286を修正するために、更新情報を登録ユニットへ渡す。さらに、無効化モジュール278は、DBMS288(データベースポーリング)へ送信される副照会をスケジューリングするために無効化方針286と補助データ構造280とを用い、かつ、無効化メッセージ290を適切なキャッシュ292またはウェブサーバーへ送信する。無効化モジュール278は、データベースポーリング要求のスケジューリングと、要求の発生/結果の解釈とを行うことができる。
【0129】
通常は、無効化器/リフレッシュ器272は、どのキャッシュページを無効にすべきかを決定するために内部補助構造280を用いる。しかしながら、幾つかの場合には、内部的に維持された情報が、この目的のために十分ではないことがある。これらの場合には、無効化モジュールは、どの情報ポーリング要求を発生する必要があるのかと、いつこれらの要求がDBMS288へ渡されるべきなのかとを識別することにより、データベースポーリング要求のスケジューリングを行うことができる。
【0130】
さらに、前記無効化モジュール278は、情報要求を、DBMSにとって理解可能な形式(すなわち、照会)に変換することと、照会結果を、無効化器/リフレッシュ器272が用いることができる形式に変換することとにより、要求の発生/結果の解釈を行うことができる。
【0131】
「情報管理モジュール」
情報管理モジュール276は、無効化モジュール278が意思決定の目的のために用いる補助データ構造280を作り出す。この決定は、照会形式または照会例のいずれかに基づくことができることを特筆しておく。例えば、照会形式に基づく決定は、無効化のために単独のテーブル照会がデータベース(データベースポーリング)へのさらなるアクセスを要求しない決定であってもよい。他の例においては、QIに基づく決定は、照会のドメインが小さければ、更新管理中に前記照会に低い優先順位を与えるものであってもよい。すなわち、所定の照会に関して、インテリジェント無効化器/リフレッシュ器272は、いくつのウェブページが潜在的に影響を与えられるのかを識別し、潜在的な影響が大きいほど、そのQIに関する優先順位は高い。
【0132】
更新時間と照会時間とは相関しないので、無効化スケジュールの最適化において、この遅延から何らかの恩恵を得ることができる。したがって、照会管理のための決定パラメータは、照会形式/定義を有することができる。その理由は、あまりに多くのオーバーヘッドを必要とする照会形式をキャッシュすることできないためである。他の決定パラメータは、変数値(照会例)であってもよい。その理由は、それほど頻繁に要求されない照会例をキャッシュすることできないためである。適切な関係の更新速度についても考慮することができる。その理由は、頻繁な更新を必要とするページをキャッシュすることできないためである。
【0133】
情報管理モジュール276は、QI/QT合併と、更新合併とを行うことができる。維持すべきQT,QIの数は大きくてもよいので、各々のQIを個々に処理する代わりに、無効化器/リフレッシュ器272は、関連する例を見出すこととこれらをグループとして処理することとにより、QI/QT合併を行うことができる。同様に、多数の照会形式が互いに類似/関連した部分を有していれば、これらの部分は、調和した方法で処理される。さらに、処理すべきDBMS更新、削除、または挿入の数は大きくてもよいので、各々の変更を個々に処理する代わりに、無効化器/リフレッシュ器272は、関連する更新を見出し、かつ、これらをグループとして処理する。このことは、特に、範囲更新を処理するときに重要である。
【0134】
<情報ポーリングの量を低減させるための技術>
範囲の照会は多くの類似した組を有することができる。範囲更新の例は、データベース内の全ての製品価格を5%増加させる処理である。関連するウェブページを無効にする必要があるかどうかを決定するために、無効化器/リフレッシュ器は、各々の更新を1度に1つ検出し、かつ、1度に1つの更新を処理することができる。しかしながら、このことは時間の浪費となり、かつ、データベース情報ポーリング(副照会)の作成が過剰となり得る。本発明の好ましい実施形態においては、インテリジェント無効化器/リフレッシュ器は、全ての更新が終了するまで待機し、かつ、全ての更新を、単一の仮想テーブルに対する更新として処理することができる。このセクションにおいては、特に、更新、挿入、および削除DBMS処理に関する範囲照会が発せられる際の、情報ポーリングの量を低減させるための技術について説明する。
【0135】
図16は、時間線294と、イベントのシーケンスとを示す。”sync”イベントは、無効化器/リフレッシュ器が更新ログから更新を回収する時刻である。syncイベントが頻繁であれば、無効化処理はよりリアルタイムなものとなるが、意思決定のための時間はより短くなる。”up”イベントは、データベースに対して発生する更新を示す。”qi”イベントは、スニッファにより記録された照会例を示す。syncとsyncとの間にログをとられた更新は、syncの後に処理されることを特筆しておく。
【0136】
例示のみの目的のために、cond(qi)→cond(qi)(qiの条件は、qiの条件を包含する)、かつ、qiがまだ無効化されていない(図16に示したように、qiがsyncの後に発生した、または、いかなる関連する更新もsyncの前に発生しなかった)と仮定する。これらの環境の下では、qiを無効化する必要があれば、qiについてもまた無効化する必要がある。
【0137】
同様の例においては、cond(qi)→cond(qi)、かつ、qiがまだ無効化されていないと仮定する。これらの環境の下では、qiを無効化する必要があれば、qiについてもまた無効化する必要がある。
【0138】
したがって、照会例を無効化する必要がある部分的順番を記述する照会例格子(lattices)を形成することができる。この概念については、以下の説明において一般化することができる。無効化器/リフレッシュ器が、内部データ構造に登録された以下の照会形式を有していると仮定する。
QT=F AGΠAPσ(R×...×R)[V,...,V
ここで、σは選択演算子、Πは投影演算子、Fはグループバイ(group−by)演算子、×は直積演算子、Rは関係、Cは照会条件、Vは照会変数/パラメータ、APは投影属性のセット、AGはグループバイ属性のセット、および、fは集合関数である。
【0139】
この形式による全ての既知照会例のセットについては、以下の属性との関係(QITblQT)として示すことができる。
【表18】
Figure 0003620448
ここで、QIDはテーブルQITblQT内における属性、Mはこの照会形式を形成する変数の数、Req_timeは照会が最後に発せられた際のタイムスタンプである。
【0140】
ここまでは実行されておらず、かつ、無効化もされていない全ての照会例のセット(およびこれらの結果)については、以下のように公式化することができる。
AGΠAPvσCv(R×...×R×QITblQT
ここで、APv=AP ∪ {QID}、Cは、QITblQTにおいて、対応する属性名により各々のVが置き換えられるように増大された条件Cである。
【0141】
「正の照会格子」
正の照会格子は、”and”ブール演算子により関連づけられた照会条件のシーケンスである。正の照会格子は、いつデータベースの変更が照会に影響を及ぼさなくなるのかを決定するための効率的な機構であり得る。その理由は、ある照会条件が満たされなければすぐに、データベースの変更が照会結果に影響を及ぼさなくなることが識別され、かつ、残りの照会条件を検査する必要がなくなるためである。
【0142】
概して、条件Cを、連言標準形で以下の通りに再書き込みできることを特筆しておく。
= C∧...∧C
ここで、Cは副条件または副照会(where節などにおいて用いられる集合)である。したがって、照会を、以下のように再書き込みすることもできる。
AGΠAPv(σC1(R×...×QITblQT)∩...∩(σCc(R×...×QITblQT))
または、
AGΠAPv(σC1(R×...×QITblQT)∩...∩ΠAPvσCc(R×...×QITblQT))
【0143】
(sync)が、syncにおける関係Rの状態を表すものとする。これにより、syncにおける関係Rの状態を、以下のように示すことができる。
(sync) = R(sync)+Δ(R)−Δ(R
ここで、Δ(R)は関係Rに追加された新たな組であり、かつ、Δ(R)は関係Rに追加された削除組である。qidに等しいIDを備えた照会例が与えられると、全てのCに関して、
qid ∈ ΠQIDσCj(Δ(R)×...×QITblQT)、または、
qid ∈ ΠQIDσCj(Δ(R)×...×QITblQT
であることを包含する十分な証拠が存在すれば、qidというIDを備えた照会例を無効にする必要がある。余分の情報を保持することにより、過剰な無効化量を低減させるために関数fの意味を用いることができることを特筆しておく。例えば、集合関数をavg(A)とすれば、avg(A)およびsyncにおけるcount(AG)の値が既知であれば、Δ(R)とΔ(R)とを用いて、syncにおけるavg(A)の値を決定することができる。
【0144】
Q={q,...,q}が全ての照会定義を示すものとする。これにより、L(V,E)(正の照会格子)は、方向をもつ非環式グラフとなり、ここで、Vにおける頂点は、照会(必ずしもQにあるとは限らない)に対応し、かつ、Eにおける縁部は、(これらの照会間の)無効化関係に対応しており、これらの関係は以下の通りに定義される。
【数1】
Figure 0003620448
したがって、正の照会格子については、照会例を無効にしないという決定を伝達するために用いることができる。
【0145】
図17は、例示的な正の照会格子を示す。この例においては、更新が左上の照会296(下記)に影響を及ぼさないことが既知であると仮定する。
【表19】
Figure 0003620448
これにより、さらなる処理を行わずに、照会298(下記)もまた更新により影響を受けないと決定することができる。
【表20】
Figure 0003620448
【0146】
以下の例は、新たに挿入、削除、または更新された組により、どの照会結果が影響を与えられたのかを識別することが可能となる方法を例示する。この例においては、本明細書において前述したように、照会QUERY2(下記)がウェブページ(URL2と称する)を生じさせるために発せられたと仮定する。
【表21】
Figure 0003620448
【0147】
この照会が、1つ以上のテーブルを必要としかつ結合処理を備えることを特筆しておく。以下に、データベースログに基づいて、範囲挿入が行われかつ少数の組がテーブル”car”内に挿入されたと仮定する。挿入された組は、
(Acura, TL, 30,000)
(Acura, RL, 40,000)
(Toyota, Avalon, 25,000)
(Toyota, Camry, 20,000)
(Toyota, 4Runner, 30,000)
を有する。
【0148】
Δ(car)は、{(Acura, TL, 30,000),(Acura, RL, 40,000),(Toyota, Avalon, 25,000),(Toyota, Camry, 20,000),(Toyota, 4Runner, 30,000)}のセットである。一時的テーブルTEMPがΔ(car)のために作り出されると仮定する。照会QUERY2については、QUERY6(下記)に変換することができる。
【表22】
Figure 0003620448
【0149】
mileage.modelの値が有効であれば、Δ(car)のための一時的テーブルTEMPを無効化器内において作り出すことができ、かつ、照会処理をQUERY6のために行えることを特筆しておく。照会結果が空白でなければ、URL2は範囲挿入処理により影響を与えられたことになる。しかしながら、mileage.modelの値が有効でなければ、一時的テーブルTEMPをΔ(car)のためのDBMS上において作り出すことができ、かつ、QUERY6のため照会処理をDBMS上において行うことができる。同様に、照会結果が空白でなければ、URL2は範囲挿入処理により影響を与えられたことになる。あるいはまた、mileage.model値に関する値が有効でなければ、該値をDBMSから要求することができる。DBMSからデータをポーリングする照会は、以下の通りであってもよい。
【表23】
Figure 0003620448
【0150】
他の例においては、以下のQUERY7〜9が、ウェブページURL7〜9を生じさせるために発せられたと仮定する。
【表24】
Figure 0003620448
これら3つの照会が同じ形式のものであるので、照会例テーブルQITblQTについては、以下の通りに、この照会形式のために作り出すことができる。
【表25】
Figure 0003620448
ここで、照会形式は、以下の通りである。
【表26】
Figure 0003620448
【0151】
これは、要求時間が示されていない簡略化されたテーブルであることを特筆しておく。さらに、データベースログに基づいて、範囲挿入が行われかつ少数の組がDBMSにおけるテーブル”CAR”内に挿入されたと仮定する。挿入された組は、
(Acura, TL, 30000)
(Acura, RL, 40000)
(Toyota, Avalon, 25000)
(Toyota, Camry, 20000)
(Toyota, 4Runner, 30000)
である。
【0152】
挿入された組のための一時的テーブルについては、temp1として作り出すことができ、かつ、QUERY7〜9のためのQITblQTについては、temp2として作り出すことができるとする。QUERY7〜9については、以下の照会に変換することができる。
【表27】
Figure 0003620448
【0153】
照会の結果は、QUERY7,9であり、このことは、これら2つの照会を用いるウェブページを無効にする必要があることを意味する。
【0154】
照会形式が、以下の
【表28】
Figure 0003620448
という照会形式に関して、
【表29】
Figure 0003620448
であれば、これらの照会例および挿入された組については、以下の単一の照会表示に変換することができる。
【表30】
Figure 0003620448
【0155】
この照会表示が、テーブルTEMP1,2に基づいて応答できない照会条件temp1.model=mileage.modelを有していることを特筆しておく。mileage.model情報が有効でなければ、代わりに、以下の照会を、必要とする情報を回収するためにDBMSへ発することができる。
【表31】
Figure 0003620448
【0156】
この照会の結果が、ただ1つの属性modelを有するTEMP3として記憶されると仮定する。これにより、無効化を検査するための上記の照会表示を、以下のように再書き込みすることができる。
【表32】
Figure 0003620448
【0157】
照会結果は、範囲挿入により影響を与えられた結果を有する照会となる。完全かつ正式な記述は、照会Q($a,$b,$c)を用いる例(本明細書において後述する)において与えられる。
【0158】
「負の照会格子」
負の照会格子は、”or”ブール演算子により関連づけられた照会条件のシーケンスである。負の照会格子は、いつデータベースの変更が照会に影響を及ぼすのかを決定するための効率的な機構であり得る。その理由は、ある照会条件が満たされればすぐに、データベースの変更が照会結果に影響を及ぼすことが識別され、かつ、残りの照会条件を検査する必要がなくなるためである。
【0159】
条件Cを、以下の通りに再書き込みできることを特筆しておく。
= C∨...∨C
ここで、Cは副条件または副照会(where節などにおいて用いられる集合)である。この場合には、照会を、以下のように再書き込みすることもできる。
AGΠAPv(σC1(R×...×QITblQT)∪...∪(σCc(R×...×QITblQT))
または、
AGΠAPv’(σC1(R×...×QITblQT)∪...∪ΠAPv’σCc(R×...×QITblQT))
【0160】
任意のCに関して、
qid ∈ ΠQIDσCj(Δ(R)×...×QITblQT)、または、
qid ∈ ΠQIDσCj(Δ(R)×...×QITblQT
であることを包含するのに十分な証拠が存在すれば、qidというIDを備えた照会例を無効にする必要がある。
【0161】
Q={q,...,q}が全ての照会定義を示すものとする。これにより、L(V,E)(負の照会格子)は、方向をもつ非環式グラフとなり、ここで、Vにおける頂点は、照会(必ずしもQにあるとは限らない)に対応し、かつ、Eにおける縁部は、(これらの照会間の)無効化関係に対応しており、これらの関係は以下の通りに定義される。
【数2】
Figure 0003620448
したがって、負の照会格子については、照会例を無効にするという決定を伝達するために用いることができる。
【0162】
図18は、例示的な負の照会格子を示す。この例においては、更新が左上の照会300(下記)に影響を及ぼすことが既知であると仮定する。
【表33】
Figure 0003620448
【0163】
これにより、さらなる処理を行わずに、照会302(下記)もまた更新により影響を受けると決定することができる。
【表34】
Figure 0003620448
【0164】
<SQL照会に基づくデータベースポーリング>
このセクションは、様々なシンタックスの照会を処理する方法を列挙する。他の照会のように、これらの照会の結果については、結合索引を作り出しかつ維持するために用いることができることが理解されるべきである。
【0165】
「セレクト文」
Q = SELECT A FROM Tbl、または、
Q = SELECT DISTINCT A FROM Tbl
という形式の照会に関し、DBMSの変化ΔTbl,ΔTblが与えられれば、無効化器/リフレッシュ器は、
P1 = SELECT A FROM ΔTbl、および、
P2 = SELECT A FROM ΔTbl
が空白であるかどうかを評価することができる。
【0166】
「条件的セレクト文」
Q = SELECT A FROM Tbl WHERE cond(A, A, ...)
という形式の照会に関し、照会を、以下のような、より小さな2つの照会に分割することができる。
= SELECT * FROM Tbl WHERE cond(A, A, ...)
= SELECT A FROM Q
がDBMSの変化ΔTbl,ΔTblにより影響を受けるかどうかを決定するために、無効化器/リフレッシュ器は、
S1 = SELECT * FROM ΔTbl WHERE cond(A, ...)、および、
S2 = SELECT * FROM ΔTbl WHERE cond(A, ...)
が空白であるかどうかを評価することができる。結果が空白であれば、Qに関して検査する必要はない。結果が空白でなければ、無効化器/リフレッシュ器は、
P1 = SELECT A FROM S1、および、
P2 = SELECT A FROM S2
が空白であるかどうかを評価することができる。
【0167】
「照会変数を備えた条件的セレクト文」
Q(V, V, ...) = SELECT * FROM Tbl WHERE cond(A, A, ..., V, V, ...)
という形式の照会に関し、このパラメータ照会を、以下のような非パラメータ照会として再書き込みすることができる。
QI = SELECT QITbl.QID FROM Tbl, QITbl WHERE cond(A, A, ..., QITbl.V, QITbl.V, ...)
ここで、QITblは、まだ無効化されていない全ての照会例からなるテーブルである。DBMSの変化ΔTbl,ΔTblが与えられれば、
QI = SELECT QITbl.QID FROM ΔTbl, QITbl WHERE cond(A ..., QITbl.V, QITbl.V, ...)
QI = SELECT QITbl.QID FROM ΔTbl, QITbl WHERE cond(A ..., QITbl.V, QITbl.V, ...)
における全ての照会例を無効にすることができる。QI,QIのいずれも、元のDBMSにアクセスする必要がないことを特筆しておく。
【0168】
「照会変数を備えた条件的結合文」
Q(V, V, ...) = SELECT * FROM Tbl, Tbl2 WHERE cond(A, A, ..., V, V, ...)
という形式の照会に関し、このパラメータ照会を、以下のような非パラメータ照会として再書き込みすることができる。
Q’ = SELECT QITbl.QID FROM Tbl1, Tbl2, QITbl WHERE cond(A, A, ..., QITbl.V, QITbl.V, ...)
ここで、QITblは、まだ無効化されていない全ての照会例からなるテーブルである。DBMSの変化ΔTbl,ΔTbl,ΔTbl2,ΔTbl2が与えられれば、
QI = SELECT QITbl.QID FROM Tbl1, ΔTbl2, QITbl WHERE cond(A, ..., QITbl.V, ...)
QI = SELECT QITbl.QID FROM Tbl2, ΔTbl1, QITbl WHERE cond(A, ..., QITbl.V, ...)
QI = SELECT QITbl.QID FROM ΔTbl1, ΔTbl2, QITbl WHERE cond(A, ..., QITbl.V, ...)
QI = SELECT QITbl.QID FROM ΔTbl1, ΔTbl2, QITbl WHERE cond(A, ..., QITbl.V, ...)
QI = SELECT QITbl.QID FROM Tbl1, ΔTbl2, QITbl WHERE cond(A, ..., QITbl.V, ...)
QI = SELECT QITbl.QID FROM Tbl2, ΔTbl1, QITbl WHERE cond(A, ..., QITbl.V, ...)
QI = SELECT QITbl.QID FROM ΔTbl1, ΔTbl2, QITbl WHERE cond(A, ..., QITbl.V, ...)
QI = SELECT QITbl.QID FROM ΔTbl1, ΔTbl2, QITbl WHERE cond(A, ..., QITbl.V, ...)
における全ての照会例を無効にすることができる。QI ,QI ,QI ,QI については、DBMSの外部で完全に実行することができる。これに対し、QI ,QI ,QI ,QI は、元のテーブルへのアクセスを要求する。DBMSへのアクセスを最小限にするために、元のテーブルへの参照を、照会から除去することができる。QIが、無効にすべき照会例を記述していることを特筆しておく。同様に、損なわれない状態に維持される照会例については、
KEEP = SELECT QITbl.QID FROM Tbl11, ΔTbl2, QITbl WHERE not cond(...),
KEEP = SELECT QITbl.QID FROM Tbl12, ΔTbl1, QITbl WHERE not cond(...),
KEEP = SELECT QITbl.QID FROM Tbl11, ΔTbl2, QITbl WHERE not cond(...),
KEEP = SELECT QITbl.QID FROM Tbl2, ΔTbl1, QITbl WHERE not cond(...)
により記述される。
【0169】
損なわれない状態に維持すべき照会例の記述が与えられれば、QI ,QI ,QI ,QI により無効にされる照会例のセットを、以下の通りに見出すことができる。
QIagg = (SELECT QITbl.QID FROM QITbl) MINUS (KEEP UNION KEEP UNION KEEP UNION KEEP
QIaggは、QI ,QI ,QI ,QI の代わりに用いられる。KEEPもまた、少なくとも1つのベーステーブルへのアクセスを必要とするが、速度が必要不可欠であれば、以下のように、さらにΔファイルに制約することができることを特筆しておく。
KEEP = SELECT QITbl.QID FROM ΔTbl2, QITbl WHERE not cond(...),
KEEP = SELECT QITbl.QID FROM ΔTbl1, QITbl WHERE not cond(...),
KEEP = SELECT QITbl.QID FROM ΔTbl2, QITbl WHERE not cond(...),
KEEP = SELECT QITbl.QID FROM ΔTbl1, QITbl WHERE not cond(...)
ここで、cond’は、対応するΔファイルとQITblとを用いて応答できる条件の一部である。この作用は、KEEP ⊇KEEPであれば無効化中(under−validation)という結果となり、したがって、このことは、全てのiに関して、KEEP ⊆KEEPである場合にのみ用いられるべきであることを特筆しておく。
【0170】
「集合を備えたセレクト文」
Q = SELECT func(A), A FROM Tbl GROUPBY A
という形式の照会に関し、DBMSの変化ΔTbl,ΔTblが与えられれば、これらについては、特別な条件で処理することができる。
【0171】
「EXISTSを備えた入れ子状態の副照会」
【表35】
Figure 0003620448
という形式の照会に関し、副照会の状態が空白状態から非空白状態に(またはこの逆方向に)変化した場合にのみ、Qが無効にされる。これは、評価するのに費用がかかりすぎることがあるので、Qの代わりに副照会を無効にすることができる。副照会の結果に何らかの変化が生じれば、Qに関する結果もまた変化すると仮定することができる。このことについては、結合照会と、変数を備えた照会と、より複雑な条件を備えた照会とに拡張することができる。
【0172】
「さらに入れ子状態にされた副照会」
【表36】
Figure 0003620448
という形式の照会に関し(ここで、AはテーブルTbl内の属性)、これらは、評価するのに費用がかかりすぎることがあるので、Qの代わりに副照会を無効にすることができる。副照会の結果に何らかの変化が生じれば、Qの結果もまた変化すると仮定することができる。このことについては、結合照会と、変数を備えた照会とに拡張することができる。
【0173】
「セット処理」
【表37】
Figure 0003620448
という形式の照会に関し、これらは、評価するのに費用がかかりすぎることがあるので、Qの代わりに2つの副照会を無効にすることができる。これらの副照会のいずれかにおいて何らかの変化が生じれば、Qの結果もまた変化すると仮定することができる。このことについては、結合照会と、変数を備えた照会とに拡張することができる。
【0174】
例えば、以下の照会が与えられると、
【表38】
Figure 0003620448
この照会を、以下の照会に変換することができる。
【表39】
Figure 0003620448
次に、この照会を、以下の断片に分割することができる。
【表40】
Figure 0003620448
テーブルR1に対する挿入のセットΔRが存在すると仮定する。これらの断片については、さらに、以下のように、正確なものとすることができる。
【表41】
Figure 0003620448
最後の照会は評価するのに費用がかかりすぎることがあるので、該最後の照会を、以下の通りに分割できることを特筆しておく。
【表42】
Figure 0003620448
【0175】
無効にするための照会例のセットは、全ての照会(すなわち、全ての結果の共通部分)により戻される照会例のセットである。処理速度を上げるために、これらのポーリング照会のうちの幾つかを除去するか、または、より(潜在的に過剰な無効化を引き起こす)安価なポーリング照会に置き換えることができることを特筆しておく。
【0176】
元のDBMSはテーブルΔR1,QIを有していないので、上記の照会については、以下の通りに再書き込みすることができる。
【表43】
Figure 0003620448
したがって、3つのポーリング照会例(PollQ)をDBMSへ発する必要がある(または、関連する情報をDBMSの外部に維持することができる)。
【0177】
「追加のコメント」
前述の記載は、図3〜図10に例示した5つのインテリジェントウェブページキャッシュおよびリフレッシュ機構と、図11〜図13に例示した3つのコンテント変更モニター部品とを説明した。さらに、コンテント変更モニター部品内に存在してもまたは該コンテント変更モニター部品と協同で作用してもよいインテリジェント無効化器/リフレッシュ器について説明してきた。本発明の他の実施形態において、任意のコンテント変更モニター部品を、インテリジェントウェブページキャッシュ/リフレッシュ機構およびインテリジェント無効化器/リフレッシュ器のいずれと協同しても使用できることが理解されるべきである。さらに、本明細書において説明した任意の機能ブロックを、異なるサーバー内または同じサーバー内に物理的に配置することができる。考えられる上述の組み合わせのいずれに関しても、CachePortalまたは他のコンテント配布サービスプロバイダが、コンテント変更モニター部品またはインテリジェント無効化器/リフレッシュ器を有し、かつ、記憶されたコンテントの無効化またはリフレッシュを行うことも可能である。
【0178】
本明細書において説明したコンテント変更モニター部品およびインテリジェント無効化器/リフレッシュ器を、時には、単一システム内で協同して使用できることがさらに理解されるべきである。照会は、より効率的な性能を達成するために、特定の機構を用いることができる。例えば、頻繁に用いられる照会は、概して、データベース内のプログラムの一部であるためにより高速であるトリガ定義の速度に適している。しかしながら、複雑な照会は、概して、ビュー定義に適している。その理由は、トリガ定義を用いて複雑な照会を定義することは非常に困難なためである。さらに、稀にしか用いられない照会例に関しては、何らかの種類の外部サーバーを用いることができる。
【0179】
コンテント変更モニター部品は、特定の照会を検査することができ、かつ、ビュー定義、トリガ定義、または、外部サーバーが用いられるべきかどうかを決定するプログラムを実行することができる。例えば、照会例が単一のデータベースにアクセスすれば、プログラムはトリガ定義を選択することができる。多数のデータベース照会または結合処理に対して、プログラムはビュー定義を選択することができる。稀にしか用いられない照会に関して、プログラムは、外部サーバーを選択することができる。
【0180】
呼び出されるべきDBMSが多数存在する場合に、アクセスすべきDBMSの位置および名前を識別する記憶された手順またはAPI呼に対し、さらなるストリングを追加する必要があることもまた理解されるべきである。多数のデータベースにアクセスすることが必要である追加情報は、ユーザーの氏名およびパスワードのような情報である。
【0181】
したがって、本発明の実施形態は、キャッシュに記憶されたデータとDBMSに記憶されたデータとを同期させるための、ウェブコンテントのインテリジェントキャッシュおよびリフレッシュのためのシステムおよび方法を提供する。本発明の実施形態は、DBMS内のデータが変化すると、該データを利用するウェブページが無効にされるウェブコンテントのインテリジェントキャッシュおよびリフレッシュのためのシステムおよび方法をも提供する。さらに、本発明の実施形態は、DBMS内のデータが変化すると、該データを利用するウェブページがリフレッシュされるウェブコンテントのインテリジェントキャッシュおよびリフレッシュのためのシステムおよび方法をも提供する。
【図面の簡単な説明】
【図1】エンドユーザーとウェブサイトとの間の、従来のコンテント配布パスの一例を図示したブロック図である。
【図2】バックエンドシステムを持つウェブサイトの、典型的なウェブページ配布機構の概略を図示したブロック図である。
【図3】本発明の一実施形態による知的ウェブページのキャッシュとリフレッシュの機構を図示するブロック図である。
【図4】本発明の他の一実施形態による、アプリケーションサーバーが、URLと、関連する照会あるいはオペレーションとの関係を維持する、知的ウェブページのキャッシュとリフレッシュの機構を図示するブロック図である。
【図5】本発明の他の実施形態による、図4の実施形態においてアプリケーションサーバーによってURL/関連動作のマッピング表を作るためのソースコードを含むフローチャートである。
【図6】CachePortalTM APIハンドラが、URLと、関連する照会あるいはオペレーションとの間の関係を、本発明の他の実施形態によって維持する、知的ウェブページのキャッシュとリフレッシュの機構を図示するブロック図である。
【図7】本発明の他の実施形態による、図6の実施形態の CachePortalTMAPIハンドラによるURL/関連動作マッピング表を作るためのソースコードを含むフローチャートである。
【図8】本発明の他の実施形態によって、アプリケーションサーバーがユーザーの要求を記憶済みの手続に変換するような、知的ウェブページのキャッシュとリフレッシュの機構を図示するブロック図である。
【図9】本発明の他の実施形態による、図8の実施形態の CachePortalTMによるURL/関連動作マッピング表を作るためのソースコードを含むフローチャートである。
【図10】アプリケーションサーバー代理が、URLとそれに関連する照会あるいはオペレーション間の関係を、本発明の他の実施形態によって維持するような知的ウェブページのキャッシュとリフレッシュの機構を図示するブロック図である。
【図11】本発明の他の実施形態による、ヴューの定義を利用するコンテント変更監視機構を図示したブロック図である。
【図12】本発明の他の実施形態による、トリガの定義を利用するコンテント変更監視機構を図示したブロック図である。
【図13】本発明の他の実施形態による、外部システム内のコンテント変更監視機構を図示したブロック図である。
【図14】本発明の一実施形態による、動的コンテントキャッシュと無効化とリフレッシュのシステムの全体的なアーキテクチャを図示したブロック図である。
【図15】本発明の一実施形態による、知的無効化器/リフレッシュ器のアーキテクチャを図示したブロック図である。
【図16】本発明の一実施形態による、動的コンテントキャッシュと無効化とリフレッシュのシステム内のスニッファ(sniffer)によりログされたデータベースの更新イベントとログ検索と照会例の時間線と一例としてのシークエンスを図示したものである。
【図17】本発明の一実施形態による、正の照会格子を図示したフローチャートである。
【図18】本発明の一実施形態による、負の照会格子を図示したフローチャートである。
【符号の説明】
10 インテリジェントウェブページキャッシュおよびリフレッシュ機構
54 キャッシュ
52 エンドユーザー
58 ウェブサーバー
70 アプリケーションサーバー
74 DBMS
94 CachePortal
104 コンテント変更モニター部品
108 アプリケーションサーバー
112 コンテント変更モニター部品
116 CachePortal
118 キャッシュ
120 ウェブサーバー
126 アプリケーションサーバー
132 DBMS
134 外部ソース
138 コンテント変更モニター部品
142 CachePortal
144 キャッシュ
146 ウェブサーバー
152 アプリケーションサーバー
154 DBMS
156 外部ソース
166 CachePortal
172 キャッシュ
174 ウェブサーバー
176 アプリケーションサーバー
178 CachePortal
194 DBMS
200 アプリケーションサーバープロキシ
204 コンテント変更モニター部品
208 DBMS
212 外部ソース
214 ビュー定義
216 ビューテーブル
220 デーモン定義
222 コンテント変更モニター部品
226 トリガ定義
228 外部ソース
230 DBMS
232 デーモン定義
236 DBMS
238 外部ソース
248 インテリジェント無効化器/リフレッシュ器
250 スニッファ
252 無効化器/リフレッシュ器
254 QI/URLマップ
256 キャッシュ
258 ウェブサーバー
260 DBMS
270 アプリケーションサーバー
272 無効化器/リフレッシュ器
280 補助データ構造
282 アプリケーションサーバー
288 DBMS

Claims (164)

  1. ウェブページを記憶するための少なくとも一つの第1のメモリと、ウェブページを生成するのに使用するデータを記憶するための少なくとも一つの第2のメモリを含むメモリ管理システムと、を有するシステムであって、上記メモリ管理システムは、上記の少なくとも一つの第2のメモリ内に記憶されたデータのうち変更されたデータを識別することができ、かつ、上記の少なくとも一つの第2のメモリへの全ての処理を順番に含む少なくとも一つのデータベースのログを維持することができ、上記少なくとも一つの第2のメモリ内に記憶されたデータへの変更に基づいて、上記少なくとも一つの第1のメモリに記憶されたウェブページを更新するためのシステムにおいて、
    上記システムは、さらに、少なくとも一つのサーバーを有し、上記少なくとも一つのサーバーは、
    上記少なくとも一つの第1のメモリに記憶された各ウェブページと、当該ウェブページを生成するのに使用される上記少なくとも一つの第2のメモリ内に記憶されたデータとの間のウェブページ−データ関係を維持し、
    上記メモリ管理システムからどのデータが変更されたかを識別する情報を受信し、
    受信した変更されたデータを識別する情報と上記ウェブページ−データ関係とから、上記記憶されたウェブページのいずれが上記変更されたデータと関係があるかを決定し、
    上記変更されたデータに関係あるウェブページを含む上記少なくとも一つの第1のメモリに対して当該ウェブページを更新するための更新命令を伝える
    ようにプログラムされたことを特徴とするウェブページ更新システム。
  2. 上記の少なくとも一つのサーバーは、さらに、
    URLを含むウェブコンテント要求を受信すると当該ウェブコンテント要求に応じて、上記少なくとも一つの第2のメモリに対して少なくとも一つの照会あるいは処理を発し、
    上記ウェブコンテント要求のURLと上記照会あるいは処理との間のURL−照会/処理関係を維持し、
    上記照会あるいは処理と、当該照会あるいは処理によりアクセスされる上記記憶されたデータとの間の照会/処理−データ関係を維持し、
    上記URL−照会/処理関係および上記照会/処理−データ関係から、上記記憶されたウェブページと上記記憶されたデータとの間のウェブページ−データ関係を引き出し、
    上記少なくとも一つの第1のメモリに記憶されたウェブページのうち、上記変更されたデータに関係するウェブページのロケーションを特定する
    ようにプログラムされことを特徴とする請求項1記載のウェブページ更新システム。
  3. 上記の更新命令には、上記記憶されたウェブページを無効化あるいは削除するメッセージが含まれることを特徴とする請求項2記載のウェブページ更新システム。
  4. 上記の更新命令には、上記記憶されたウェブページをリフレッシュするメッセージが含まれることを特徴とする請求項2記載のウェブページ更新システム。
  5. もし、上記記憶されたウェブページがウェブサーバーの中にあれば、上記の更新命令には、新しいウェブページを生成し、上記のウェブサーバー内に上記の新しいウェブページを記憶するメッセージが含まれることを特徴とする請求項4記載のウェブページ更新システム。
  6. 上記の少なくとも一つのサーバーは、さらに、上記の受信したURLに対する要求および配布のタイムスタンプ含むウェブサーバーのログを維持し、
    上記照会あるいは処理に対する発行タイムスタンプを含む照会および処理のログを維持し、
    上記ウェブサーバーのログと上記照会および処理のログとから、上記記憶されたウェブページと上記記憶されたデータとの間のウェブページ−データ関係を引き出し、
    上記変更されたデータの識別情報と上記ウェブページ−データ関係とから、上記記憶されたウェブページのいずれが上記変更されたデータと関係があるかを決定する
    ようにプログラムされることを特徴とする請求項2記載のウェブページ更新システム。
  7. 上記の少なくとも一つのサーバーは、
    上記ウェブコンテント要求を受信し、上記ウェブサーバーのログを維持するようにプログラムされたウェブサーバーと、
    上記ウェブサーバーから回送されたウェブコンテント要求を受信し、上記の回送されたウェブコンテント要求に応えて上記の少なくとも一つの照会あるいは処理を上記の少なくとも一つの第2のメモリに発するようにプログラムされたアプリケーションサーバーと、
    上記の発せられた照会あるいは処理と当該照会あるいは処理によってアクセスされた記憶済みデータとの間の関係を維持し、どの照会あるいは処理が上記変更されたデータと関係があるかを決定するようにプログラムされたコンテント変更モニターと、
    上記照会および処理のログおよび上記ウェブサーバーのログから上記ウェブコンテント要求のURLと上記発せられた照会あるいは処理との関係を決定し、上記のコンテント変更モニターから上記変更されたデータと関係がある照会あるいは処理の識別情報を受信し、記憶されたウェブページのうちどのウェブページが上記変更されたデータと関係のある上記の照会あるいは処理と関係するかを決定し、上記変更されたデータと関係のある上記ウェブページを含む上記少なくとも一つの第1のメモリへ更新命令を送信するようにプログラムされたコンテント配布サービスサーバーと
    を含むことを特徴とする請求項6記載のウェブページ更新システム。
  8. 上記のコンテント変更モニターは、
    上記の少なくとも一つの第2のメモリに送信された照会を受信し、
    特定の照会と関係ある上記の少なくとも一つの第2のメモリ内にある全てのデータを示すポインタを含む各照会に対するビューテーブルを定義し、
    上記のメモリ管理システムから変更されたデータを受信し、
    上記のビューテーブルと上記変更されたデータとから、当該変更されたデータと関係ある照会はどれかを決定する
    ようにプログラムされることを特徴とする請求項7記載のウェブページ更新システム。
  9. 上記のコンテント変更モニターは、
    上記の少なくとも一つの第2のメモリに送信された処理を受信し、
    各処理に対してデーモンを定義し、該デーモンは、特定の処理に関係ある上記の少なくとも一つの第2のメモリ内の変更されたデータに対して基準を確立し、
    上記変更されたデータが上記のデーモンを満足するかどうかを決定することで、上記の変更されたデータと関係ある照会を決定する
    ようにプログラムされることを特徴とする請求項7記載のウェブページ更新システム。
  10. 上記のコンテント変更モニターは、
    上記の少なくとも一つの第2のメモリに送信された照会を受信し、
    各照会に対して、当該照会に関係ある上記の少なくとも一つの第2のメモリ内の記憶されたデータを識別する基準を確立するトリガー定義を生成し
    上記変更されたデータが上記のトリガー定義を満足するかどうかを決定することで、上記変更されたデータと関係ある照会を決定する
    ようにプログラムされることを特徴とする請求項7記載のウェブページ更新システム。
  11. 上記のコンテント変更モニターは、
    少なくとも一つの第3のメモリを持ち、さらに、
    上記の少なくとも一つの第2のメモリから上記の少なくとも一つの第3のメモリにデータを複製して、上記の少なくとも一つの第3のメモリを上記の少なくとも一つの第2のメモリと一致させ、
    照会ごとに、当該照会と関係ある上記の少なくとの一つの第3のメモリ内にある全てのデータを示すポインタを含むビューテーブルを定義する
    ようにプログラムされることを特徴とする請求項7記載のウェブページ更新システム。
  12. 上記のコンテント変更モニターは、
    少なくとも一つの第3のメモリを持ち、さらに、
    上記の少なくとも一つの第3のメモリを上記の少なくとも一つの第2のメモリに一致させために、順番に、上記の少なくとも一つの第3のメモリ上のデータベースのログ内の全ての処理を実行し、
    照会ごとに、当該照会と関係ある上記の少なくとの一つの第3のメモリ内にある全てのデータを示すポインタを含むビューテーブルを定義する
    ようにプログラムされることを特徴とする請求項8記載のウェブページ更新システム。
  13. 要求/配布ログを読むことによってネットワークの通信量を知り、照会例配布ログを読むことによってURL情報と照会あるいは処理を集め、上記のウェブコンテント要求のURLと上記の発せられた照会あるいは処理との間の関係を生成するためのスニッファをさらに含むことを特徴とする請求項6記載のウェブページ更新システム。
  14. 特定の記憶済みウェブページが無効であることを適切なキャッシュあるいはウェブサーバーに知らせるための無効化器/リフレッシュ器をさらに含み、該無効化器/リフレッシュ器は、
    無効化の方針を作り出し、関連のある照会あるいは処理統計を集めるための登録モジュールと、
    データベース更新ログと、上記ウェブコンテント要求のURLと上記の発せられた照会あるいは処理の間の関係とを読み、副照会のスケジューリングをし、適切なキャッシュあるいはウェブサーバーに対して、ある特定の記憶されたウェブページの無効性を知らせるための無効化モジュールと、
    上記無効化モジュールのために予備データ構造を作る情報管理モジュールと
    を含むことを特徴とする請求項6記載のウェブページ更新システム。
  15. 上記の少なくとも一つのサーバーは、さらに
    上記の少なくとも一つの第2のメモリに送信された照会を受信し、該照会は、操作者によってリンクされる一つあるいは二つ以上の照会条件を含み、該リンクされる照会条件は、その照会に関係ある少なくとも一つの第2のメモリ内のデータを識別し、
    上記変更されたデータが上記のリンクされた照会条件を満足するかを決定することにより、上記の照会が上記変更されたデータと関係があるかどうかを決定する
    ようにプログラムされることを特徴とする請求項6記載のウェブページ更新システム。
  16. もし、上記のリンクされた照会条件が上記の少なくとも一つの第2のメモリ内の二つ以上のテーブルにアクセスする必要があるならば、上記の少なくとも一つのサーバーはアクセスが必要である各テーブルに対して、さらに、上記の少なくとも一つのサーバーが、上記変更されたデータが当該テーブルに限られたリンクされた照会条件の該当部分を満足するかどうかを決定するようにプログラムされ、
    上記変更されたデータがある特定のテーブルに限られたリンクされた照会条件の該当部分を満足するかが決定された後に、特定のテーブルに限られたリンクされた照会条件の該当部分は、他の特定のテーブルに限られたリンクされた照会条件の該当部分を評価する前に、ある定められた値によって置き換えられ、
    もし、上記変更されたデータがある特定のテーブルに限られたリンクされた照会条件の該当部分を満足するかどうかが決定される間のいかなる時でも、上記のリンクされた照会条件が満足されると決定されると、上記変更されたデータが上記のリンクされた照会条件を満足する
    ことを特徴とする請求項15記載のウェブページ更新システム。
  17. 特定のテーブルに限られたリンクされた照会条件の該当部分が評価され、それらの部分に対する値が決定した後に、他の特定のテーブルに限られたリンクされた照会条件の該当部分を評価するために、上記の少なくとも一つのサーバーは、さらに
    先に決定された値によって置き換えられた上記のリンクされた照会条件の部分と共に、リンクされた照会条件を含む他の特定のテーブルへ副照会を発する
    ようにプログラムされることを特徴とする請求項16記載のウェブページ更新システム。
  18. 特定のテーブルに発せられた副照会がその副照会のために決定されていた値を返した後に、上記の決定されていた値は索引構造の中に記憶され、
    もし次の照会が、同じ副照会を発する必要がある少なくとも一つのサーバーによって受信されると、上記の索引構造は、上記の少なくとも一つのサーバーによってアクセスされて上記の同じ副照会を発しなくてはならないということを避ける
    ことを特徴とする請求項17記載のウェブページ更新システム。
  19. 上記の少なくとも一つのサーバーは、さらに、
    受信されたウェブコンテント要求に含まれるURLからのURL/関連処理マッピングログと、上記のウェブコンテント要求に応えて上記の少なくとも一つの第2のメモリへ発せられた照会あるいは処理を維持し、
    上記の変更済みデータの同一性と、上記の発せられた照会あるいは処理と記憶済みデータとの間の上記の維持された関係と、上記のURL/関連処理マッピングログとから、どの記憶済みウェブページが上記変更されたデータと関係があるかを決定する
    ようにプログラムされることを特徴とする請求項2記載のウェブページ更新システム。
  20. 上記の少なくとも一つのサーバーは、
    上記のURL/関連処理マッピングログを維持し、回送されたウェブコンテント要求を受信し、上記の回送されたウェブコンテント要求に応えて上記の少なくとも一つの照会あるいは処理を、上記の少なくとも一つの第2のメモリに発するようにプログラムされたアプリケーションサーバーと、
    上記の発せられた照会あるいは処理と、上記の照会あるいは処理によってアクセスされる記憶済みデータとの間の関係を維持し、どの照会あるいは処理が上記変更されたデータと関係があるかを決定するようにプログラムされたコンテント変更モニターと、
    上記のコンテント変更モニターから上記変更されたデータと関係ある照会あるいは処理の識別情報を受信し、上記のURL/関連処理マッピングログを受信し、上記記憶されたウェブページのうちどのウェブページが上記変更されたデータと関係ある上記の照会あるいは処理と関係するかを決定し、上記の更新命令を上記変更されたデータと関係ある上記記憶されたウェブページを含む上記の少なくとも一つの第1のメモリ送信するようにプログラムされるコンテント配布サービスサーバーと
    を含むことを特徴とする請求項19記載のウェブページ更新システム。
  21. 上記のコンテント変更モニターは、
    上記の少なくとも一つの第2のメモリに送られた照会を受信し、
    照会ごとに、当該照会と関係ある上記の少なくとの一つの第2のメモリ内にある全てのデータを示すポインタを含むビューテーブルを定義し、
    上記のメモリ管理システムから上記変更されたデータを受信し、
    上記のビューテーブルと上記変更されたデータとから、上記変更されたデータと関係がある照会を決定する
    ようにプログラムされることを特徴とする請求項19記載のウェブページ更新システム。
  22. 上記のコンテント変更モニターは、
    上記の少なくとも一つの第2のメモリに送られた処理を受信し、
    各処理に対するデーモンを定義し、該デーモンは、当該処理に関係ある上記の少なくとも一つの第2のメモリ内の変更されたデータを識別する基準を確立し、
    上記変更されたデータが上記のデーモンを満足するかどうかを決定することで、上記変更されたデータと関係ある照会を決定する
    ようにプログラムされることを特徴とする請求項20記載のウェブページ更新システム。
  23. 上記のコンテント変更モニターは、
    上記の少なくとも一つの第2のメモリに送信された照会を受信し、
    各照会に対して、当該照会に関係ある上記の少なくとも一つの第2のメモリ内の変更されたデータを識別する基準を確立するトリガー定義を生成し
    上記変更されたデータが上記のトリガー定義を満足するかどうかを決定することで、上記変更されたデータと関係ある照会を決定する
    ようにプログラムされることを特徴とする請求項20記載のウェブページ更新システム。
  24. 上記のコンテント変更モニターは、
    少なくとも一つの第3のメモリを持ち、さらに、
    上記の少なくとも一つの第2のメモリから上記の少なくとも一つの第3のメモリにデータを複製して、上記の少なくとも一つの第3のメモリを上記の少なくとも一つの第2のメモリと一致させ、
    照会ごとに、当該照会と関係ある上記の少なくとの一つの第3のメモリ内にある全てのデータを示すポインタを含むビューテーブルを定義する
    ようにプログラムされることを特徴とする請求項20記載のウェブページ更新システム。
  25. 上記のコンテント変更モニターは、
    少なくとも一つの第3のメモリを持ち、さらに、
    上記の少なくとも一つの第3のメモリを上記の少なくとも一つの第2のメモリに一致させために、順番に、上記の少なくとも一つの第3のメモリ上のデータベースのログ内の全ての処理を実行し、
    照会ごとに、当該照会と関係ある上記の少なくとの一つの第3のメモリ内にある全てのデータを示すポインタを含むビューテーブルを定義する
    ようにプログラムされることを特徴とする請求項21記載のウェブページ更新システム。
  26. 要求/配布ログを読むことによってネットワークの通信量を知るスニッファを含み、照会例配布ログを読むことによってURL情報と照会あるいは処理例とを集め、上記のウェブコンテント要求のURLと上記の発せられた照会あるいは処理との間の関係を生成することを特徴とする請求項19記載のウェブページ更新システム。
  27. 特定の記憶済みウェブページが無効であることを適切なキャッシュあるいはウェブサーバーに知らせるための無効化器/リフレッシュ器をさらに含み、該無効化器/リフレッシュ器は、
    無効化の方針を作り出し、関連のある照会あるいは処理統計を集めるための登録モジュールと、
    データベース更新ログと、上記ウェブコンテント要求のURLと上記の発せられた照会あるいは処理の間の関係とを読み、副照会のスケジューリングをし、適切なキャッシュあるいはウェブサーバーに特定の記憶済みウェブページの無効性を知らせるための無効化モジュールと、
    上記無効化モジュールのために予備データ構造を作る情報管理モジュールと
    を含むことを特徴とする請求項19記載のウェブページ更新システム。
  28. 少なくとも一つのサーバーは、さらに
    上記の少なくとも一つの第2のメモリに送信された照会を受信し、該照会は、操作者によってリンクされる一つあるいは二つ以上の照会条件を含み、該リンクされる照会条件は、その照会に関係ある少なくとも一つの第2のメモリ内のデータを識別し、
    上記変更されたデータが上記のリンクされた照会条件を満足するかを決定することにより、上記の照会が上記変更されたデータと関係があるかどうかを決定する
    ようにプログラムされることを特徴とする請求項19記載のウェブページ更新システム。
  29. もし、上記のリンクされた照会条件が上記の少なくとも一つの第2のメモリ内の二つ以上のテーブルにアクセスする必要があるならば、上記の少なくとも一つのサーバーはアクセスが必要である各テーブルに対して、さらに、上記の少なくとも一つのサーバーは、上記変更されたデータが当該テーブルに限られたリンクされた照会条件の該当部分を満足するかどうかを決定するようにプログラムされ、
    上記変更されたデータが特定のテーブルに限られたリンクされた照会条件の該当部分を満足するかが決定された後に、特定のテーブルに限られたリンクされた照会条件の該当部分は、他の特定のテーブルに限られたリンクされた照会条件の該当部分を評価する前に定められた値によって置き換えられ、
    もし、上記変更されたデータが特定のテーブルに限られたリンクされた照会条件の該当部分を満足するかどうかが決定される間のいかなる時でも、上記のリンクされた照会条件が満足されると決定されると、上記変更されたデータが上記のリンクされた照会条件を満足する
    ことを特徴とする請求項28記載のウェブページ更新システム。
  30. 特定のテーブルに限られたリンクされた照会条件の該当部分が評価され、それらの部分に対する値が決定した後に、他の特定のテーブルに限られたリンクされた照会条件の該当部分を評価するために、上記の少なくとも一つのサーバーは、さらに
    先に決定された値によって置き換えられた上記リンクされた照会条件の該当部分と共に、リンクされた照会条件を含む他の特定のテーブルへ副照会を発する
    ようにプログラムされることを特徴とする請求項29記載のウェブページ更新システム。
  31. 特定のテーブルに発せられた副照会がその副照会のために決定されていた値を返した後に、上記の決定されていた値は索引構造の中に記憶され、
    もし次の照会が、同じ副照会を発する必要がある少なくとも一つのサーバーによって受信されると、上記の索引構造は、上記の少なくとも一つのサーバーによってアクセスされて上記の同じ副照会を発しなくてはならないということを避ける
    ことを特徴とする請求項30記載のウェブページ更新システム。
  32. 上記の少なくとも一つのサーバーは、
    回送されたウェブコンテント要求を受信し、コンテント配布サービスプロバイダAPIコールを発するようにプログラムされたアプリケーションサーバーと、
    コンテント配布サービスプロバイダAPIコールを受信し、URL/関連処理マッピングログを維持し、上記のコンテント配布サービスプロバイダAPIコールに応えて上記の少なくとも一つの照会あるいは処理を上記の少なくとも一つの第2のメモリへ発するようにプログラムされたコンテント配布サービスプロバイダAPIハンドラと、
    上記の発せられた照会あるいは処理と上記照会あるいは処理によってアクセスされる記憶済みデータとの間の関係を維持し、いずれの照会あるいは処理が上記変更されたデータと関係があるかを決定するようにプログラムされたコンテント変更モニターと、
    上記のコンテント変更モニターから上記変更されたデータと関係のある上記の照会あるいは処理の識別情報を受信し、上記のURL/関連処理マッピングログを受信し、上記記憶されたウェブページのうちどのウェブページが上記変更されたデータと関係ある上記の照会あるいは処理と関係するかを決定し、上記の更新命令を上記変更されたデータと関係ある上記の記憶されたウェブページを含む上記の少なくとも一つの第1のメモリ送信するようにプログラムされたコンテント配布サービスサーバーと
    を含むことを特徴とする請求項19記載のウェブページ更新システム。
  33. 上記のコンテント変更モニターは、
    上記の少なくとも一つの第2のメモリに送られた照会を受信し、
    照会ごとに、当該照会と関係ある上記の少なくとの一つの第2のメモリ内にある全てのデータを示すポインタを含むビューテーブルを定義し、
    上記のメモリ管理システムから上記変更されたデータを受信し、
    上記のビューテーブルと上記変更されたデータとから、上記変更されたデータと関係がある照会を決定する
    ようにプログラムされることを特徴とする請求項32記載のウェブページ更新システム。
  34. 上記のコンテント変更モニターは、
    上記の少なくとも一つの第2のメモリに送られた処理を受信し、
    各処理に対するデーモンを定義し、該デーモンは、当該処理に関係ある上記の少なくとも一つの第2のメモリ内の変更されたデータを識別する基準を確立し、
    上記変更されたデータが上記のデーモンを満足するかどうかを決定することで、上記変更されたデータと関係ある照会を決定する
    ようにプログラムされることを特徴とする請求項32記載のウェブページ更新システム。
  35. 上記のコンテント変更モニターは、
    上記の少なくとも一つの第2のメモリに送信された照会を受信し、
    各照会に対して、当該照会に関係ある上記の少なくとも一つの第2のメモリ内の変更されたデータを識別する基準を確立するトリガー定義を生成し、
    上記変更されたデータが上記のトリガー定義を満足するかどうかを決定することで、上記変更されたデータと関係ある照会を決定する
    ようにプログラムされることを特徴とする請求項32記載のウェブページ更新システム。
  36. 上記のコンテント変更モニターは、
    少なくとも一つの第3のメモリを持ち、さらに、
    上記の少なくとも一つの第2のメモリから上記の少なくとも一つの第3のメモリにデータを複製して、上記の少なくとも一つの第3のメモリを上記の少なくとも一つの第2のメモリと一致させ、
    照会ごとに、当該照会と関係ある上記の少なくとの一つの第3のメモリ内にある全てのデータを示すポインタを含むビューテーブルを定義する
    ようにプログラムされることを特徴とする請求項32記載のウェブページ更新システム。
  37. 上記のコンテント変更モニターは、
    少なくとも一つの第3のメモリを持ち、さらに、
    上記の少なくとも一つの第3のメモリを上記の少なくとも一つの第2のメモリに一致させために、順番に、上記の少なくとも一つの第3のメモリ上のデータベースのログ内の全ての処理を実行し、
    照会ごとに、当該照会と関係ある上記の少なくとの一つの第3のメモリ内にある全てのデータを示すポインタを含むビューテーブルを定義する
    ようにプログラムされることを特徴とする請求項33記載のウェブページ更新システム。
  38. 上記の少なくとも一つのサーバーは、さらに
    受信したウェブコンテント要求を記憶済み手順へと変換し、
    上記の記憶済み手順の中に含まれる上記のURLと、上記の記憶済み手順に応じて上記の少なくとも一つの第2のメモリへ発せられた照会と、からデータベース照会ログを維持し、
    上記の記憶済み手順の中に含まれるURLと、上記の記憶済み手順に応じて上記の少なくとも一つの第2のメモリへ発せられた処理と、から処理ログを維持し、
    上記データベース照会ログと上記処理ログとからURL/関連処理マッピングテーブルを生成し、
    上記変更されたデータの識別情報と、上記の発せられた照会あるいは処理と上記の記憶されたデータとの間の維持された関係と、上記のURL/関連処理マッピングテーブルとから、上記記憶されたウェブページのいずれのウェブページが上記変更されたデータと関係があるかを決定する
    ようにプログラムされることを特徴とする請求項2記載のウェブページ更新システム。
  39. 上記の少なくとも一つのサーバーは、
    受信されたウェブコンテント要求を記憶済み手順へと変換し、上記の記憶済み手順に含まれるURLと、上記の記憶済み手順に応えて上記の少なくとも一つの第2のメモリに発せられた照会とから上記のデータベース照会ログを生成し、記憶済み手順に含まれるURLと、上記の記憶済み手順に応えて上記の少なくとも一つの第2のメモリに発せられた処理と、から処理ログを生成するようにプログラムされたアプリケーションサーバーと、
    上記の発せられた照会あるいは処理と上記の照会あるいは処理によってアクセスされた記憶済みデータとの間の関係を維持し、どの照会あるいは処理が上記変更されたデータと関係があるかを決定するようにプログラムされたコンテント変更モニターと、
    上記のデータベース照会ログと上記の処理ログとからURL/関連処理マッピングテーブルを生成し、上記の変更済みデータの識別情報と、上記の発せられた照会あるいは処理と上記の記憶されたデータとの間の維持された関係と、上記のURL/関連処理マッピングテーブルとから、上記記憶されたウェブページのいずれのウェブページが上記変更されたデータと関係があるかを決定し、上記の更新命令を上記変更されたデータと関係ある記憶済みウェブページを含む上記の少なくとも一つの第1のメモリへと送信するためのコンテント配布サービスサーバーと
    を含むことを特徴とする請求項38記載のウェブページ更新システム。
  40. 上記のコンテント変更モニターは、
    上記の少なくとも一つの第2のメモリに送られた照会を受信し、
    照会ごとに、当該照会と関係ある上記の少なくとの一つの第2のメモリ内にある全てのデータを示すポインタを含むビューテーブルを定義し、
    上記のメモリ管理システムから上記変更されたデータを受信し、
    上記のビューテーブルと上記変更されたデータとから、上記変更されたデータと関係がある照会を決定する
    ようにプログラムされることを特徴とする請求項39記載のウェブページ更新システム。
  41. 上記のコンテント変更モニターは、
    上記の少なくとも一つの第2のメモリに送られた照会あるいは処理を受信し、
    各照会あるいは処理に対するデーモンを定義し、該デーモンは、当該照会あるいは処理に関係ある上記の少なくとも一つの第2のメモリ内の記憶されたデータを識別する基準を確立し、
    上記変更されたデータが上記のデーモンを満足するかどうかを決定することで、上記変更されたデータと関係ある照会を決定する
    ようにプログラムされることを特徴とする請求項39記載のウェブページ更新システム。
  42. 上記のコンテント変更モニターは、
    上記の少なくとも一つの第2のメモリに送信された照会を受信し、
    各照会に対して、当該照会に関係ある上記の少なくとも一つの第2のメモリ内の記憶されたデータを識別する基準を確立するトリガー定義を生成し、
    上記変更されたデータが上記のトリガー定義を満足するかどうかを決定することで、上記変更されたデータと関係ある照会を決定する
    ようにプログラムされることを特徴とする請求項39記載のウェブページ更新システム。
  43. 上記のコンテント変更モニターは、
    少なくとも一つの第3のメモリを持ち、さらに、
    上記の少なくとも一つの第2のメモリから上記の少なくとも一つの第3のメモリにデータを複製して、上記の少なくとも一つの第3のメモリを上記の少なくとも一つの第2のメモリと一致させ、
    照会ごとに、当該照会と関係ある上記の少なくとの一つの第3のメモリ内にある全てのデータを示すポインタを含むビューテーブルを定義する
    ようにプログラムされることを特徴とする請求項39記載のウェブページ更新システム。
  44. 上記のコンテント変更モニターは、
    少なくとも一つの第3のメモリを持ち、さらに、
    上記の少なくとも一つの第3のメモリを上記の少なくとも一つの第2のメモリに一致させために、順番に、上記の少なくとも一つの第3のメモリ上のデータベースのログ内の全ての処理を実行し、
    照会ごとに、当該照会と関係ある上記の少なくとの一つの第3のメモリ内にある全てのデータを示すポインタを含むビューテーブルを定義する
    ようにプログラムされることを特徴とする請求項40記載のウェブページ更新システム。
  45. 要求/配布ログを読むことによってネットワークの通信量を知るスニッファを含み、照会例配布ログを読むことによってURL情報と照会あるいは処理例とを集め、上記のウェブコンテント要求のURLと上記の発せられた照会あるいは処理との間の関係を生成することを特徴とする請求項38記載のウェブページ更新システム。
  46. ある特定の記憶されたウェブページが無効であることを適切なキャッシュあるいはウェブサーバーに知らせるための無効化器/リフレッシュ器をさらに含み、該無効化器/リフレッシュ器は、
    無効化の方針を作り出し、関連のある照会あるいは処理統計を集めるための登録モジュールと、
    データベース更新ログと、上記ウェブコンテント要求のURLと上記の発せられた照会あるいは処理の間の関係とを読み、副照会のスケジューリングをし、適切なキャッシュあるいはウェブサーバーに特定の記憶されたウェブページの無効性を知らせるための無効化モジュールと、
    上記無効化モジュールのために予備データ構造を作る情報管理モジュールと
    を含むことを特徴とする請求項38記載のウェブページ更新システム。
  47. 少なくとも一つのサーバーは、さらに
    上記の少なくとも一つの第2のメモリに送信された照会を受信し、該照会は、操作者によってリンクされる一つあるいは二つ以上の照会条件を含み、該リンクされる照会条件は、その照会に関係ある少なくとも一つの第2のメモリ内のデータを識別し、
    上記変更されたデータが上記のリンクされた照会条件を満足するかを決定することにより、上記の照会が上記変更されたデータと関係があるかどうかを決定する
    ようにプログラムされることを特徴とする請求項38記載のウェブページ更新システム。
  48. もし、上記のリンクされた照会条件が上記の少なくとも一つの第2のメモリ内の二つ以上のテーブルにアクセスする必要があるならば、上記の少なくとも一つのサーバーは、アクセスが必要である各テーブルに対して、さらに、上記の少なくとも一つのサーバーが、上記変更されたデータが当該テーブルに限られたリンクされた照会条件の該当部分を満足するかどうかを決定するようにプログラムされ、
    上記変更されたデータが特定のテーブルに限られたリンクされた照会条件の該当部分を満足するかが決定された後に、特定のテーブルに限られたリンクされた照会条件の該当部分は、他の特定のテーブルに限られたリンクされた照会条件の該当部分を評価する前に定められた値によって置き換えられ、
    もし、上記変更されたデータが特定のテーブルに限られたリンクされた照会条件の該当部分を満足するかどうかが決定される間のいかなる時でも、上記のリンクされた照会条件が満足されると決定されると、上記変更されたデータが上記のリンクされた照会条件を満足する
    ことを特徴とする請求項47記載のウェブページ更新システム。
  49. 特定のテーブルに限られたリンクされた照会条件の該当部分が評価され、それらの部分に対する値が決定した後に、他の特定のテーブルに限られたリンクされた照会条件の該当部分を評価するために、上記の少なくとも一つのサーバーは、さらに
    先に決定された値によって置き換えられた上記のリンクされた照会条件の部分と共に、リンクされた照会条件を含む他の特定のテーブルへ副照会を発する
    ようにプログラムされることを特徴とする請求項48記載のウェブページ更新システム。
  50. 特定のテーブルに発せられた副照会がその副照会のために決定されていた値を返した後に、上記の決定されていた値は索引構造の中に記憶され、
    もし次の照会が、同じ副照会を発する必要がある少なくとも一つのサーバーによって受信されると、上記の索引構造は、上記の少なくとも一つのサーバーによってアクセスされて上記の同じ副照会を発しなくてはならないということを避ける
    ことを特徴とする請求項49記載のウェブページ更新システム。
  51. 上記の少なくとも一つのサーバーは、さらに
    上記の受信したウェブコンテント要求からURL情報を抽出し、
    上記の発せられた照会および処理から照会と処理とを抽出し、
    上記の抽出されたURL情報と上記の抽出された照会および処理情報とからURL/関連処理マッピングログを維持し、
    上記変更されたデータの識別情報と、上記の発せられた照会あるいは処理と記憶されたデータとの間の維持される関係と、上記のURL/関連処理マッピングログとから、上記記憶されたウェブページの中でいずれのウェブページが上記変更されたデータと関係あるかを決定する
    ようにプログラムされることを特徴とする請求項2記載のウェブページ更新システム。
  52. 上記の少なくとも一つのサーバーは、
    上記の受信されたウェブコンテント要求からURL情報を抽出し、上記の発せられた照会と処理とから照会情報と処理情報とをそれぞれ抽出し、上記の受信されたウェブコンテント要求を回送し、上記のURL/関連処理マッピングログを維持するためのアプリケーションサーバープロキシと、
    上記アプリケーションサーバープロキシによって回送されるウェブサーバー要求を受信し、上記の回送されたウェブコンテント要求に応えて上記の少なくとも一つの照会あるいは処理を発するためのアプリケーションサーバーと、
    上記の発せられた照会あるいは処理と上記の照会あるいは処理によってアクセスされた記憶済みデータとの間の関係を維持し、どの照会あるいは処理が上記変更されたデータと関係があるかを決定するようにプログラムされたコンテント変更モニターと、
    上記のコンテント変更モニターから上記変更されたデータと関係がある照会あるいは処理の識別情報を受信し、上記のURL/関連処理マッピングログを受信し、上記記憶されたウェブページの中でどのウェブページが、上記変更されたデータと関係のある上記の照会あるいは処理と関係するかを決定し、上記変更されたデータと関係のある上記記憶されたウェブページを含む上記の少なくとも一つの第1のメモリへの更新命令を送信するようにプログラムされたコンテント配布サービスサーバーと
    を含むことを特徴とする請求項51記載のウェブページ更新システム。
  53. 上記のコンテント変更モニターは、
    上記の少なくとも一つの第2のメモリに送信された照会を受信し、
    照会ごとに、当該照会と関係ある上記の少なくとも一つの第2のメモリ内にある全てのデータを示すポインタを含むビューテーブルを定義し、
    上記のメモリ管理システムから上記変更されたデータを受信し、
    上記のビューテーブルと上記変更されたデータとから、上記変更されたデータと関係ある照会はどれかを決定する
    ようにプログラムされることを特徴とする請求項52記載のウェブページ更新システム。
  54. 上記のコンテント変更モニターは、
    上記の少なくとも一つの第2のメモリに送信された処理を受信し、
    各処理に対してデーモンを定義し、該デーモンは、当該処理に関係ある上記の少なくとも一つの第2のメモリ内の記憶されたデータを識別する基準を確立し、
    上記変更されたデータが上記のデーモンを満足するかどうかを決定することで、上記 更されたデータと関係ある照会を決定する
    ようにプログラムされることを特徴とする請求項52記載のウェブページ更新システム。
  55. 上記のコンテント変更モニターは、
    上記の少なくとも一つの第2のメモリに送信された照会を受信し、
    各照会に対して、当該照会に関係ある上記の少なくとも一つの第2のメモリ内の記憶されたデータを識別する基準を確立するトリガー定義を生成し、
    上記変更されたデータが上記のトリガー定義を満足するかどうかを決定することで、上記変更されたデータと関係ある照会を決定する
    ようにプログラムされることを特徴とする請求項52記載のウェブページ更新システム。
  56. 上記のコンテント変更モニターは、
    少なくとも一つの第3のメモリを持ち、さらに、
    上記の少なくとも一つの第2のメモリから上記の少なくとも一つの第3のメモリにデータを複製して、上記の少なくとも一つの第3のメモリを上記の少なくとも一つの第2のメモリと一致させ、
    照会ごとに、当該照会と関係ある上記の少なくとの一つの第3のメモリ内にある全てのデータを示すポインタを含むビューテーブルを定義する
    ようにプログラムされることを特徴とする請求項52記載のウェブページ更新システム。
  57. 上記のコンテント変更モニターは、
    少なくとも一つの第3のメモリを持ち、さらに、
    上記の少なくとも一つの第3のメモリを上記の少なくとも一つの第2のメモリに一致させために、順番に、上記の少なくとも一つの第3のメモリ上のデータベースのログ内の全ての処理を実行し、
    照会ごとに、当該照会と関係ある上記の少なくとも一つの第3のメモリ内にある全てのデータを示すポインタを含むビューテーブルを定義する
    ようにプログラムされることを特徴とする請求項53記載のウェブページ更新システム。
  58. 要求/配布ログを読むことによってネットワークの通信量を知るスニッファを含み、照会例配布ログを読むことによってURL情報と照会あるいは処理例とを集め、上記のウェブコンテント要求のURLと上記の発せられた照会あるいは処理との間の関係を生成することを特徴とする請求項51記載のウェブページ更新システム。
  59. 特定の記憶済みウェブページが無効であることを適切なキャッシュあるいはウェブサーバーに知らせるための無効化器/リフレッシュ器をさらに含み、該無効化器/リフレッシュ器は、
    無効化の方針を作り出し、関連のある照会あるいは処理統計を集めるための登録モジュールと、
    データベース更新ログと、上記ウェブコンテント要求のURLと上記の発せられた照会あるいは処理の間の関係とを読み、副照会のスケジューリングをし、適切なキャッシュあるいはウェブサーバーに特定の記憶済みウェブページの無効性を知らせるための無効化モジュールと、
    上記無効化モジュールのために予備データ構造を作る情報管理モジュールと
    を含むことを特徴とする請求項51記載のウェブページ更新システム。
  60. 少なくとも一つのサーバーは、さらに
    上記の少なくとも一つの第2のメモリに送信された照会を受信し、該照会は、操作者によってリンクされる一つあるいは二つ以上の照会条件を含み、該リンクされる照会条件は、その照会に関係ある少なくとも一つの第2のメモリ内のデータを識別し、
    上記変更されたデータが上記のリンクされた照会条件を満足するかを決定することにより、上記の照会が上記変更されたデータと関係があるかどうかを決定する
    ようにプログラムされることを特徴とする請求項51記載のウェブページ更新システム。
  61. もし、上記のリンクされた照会条件が上記の少なくとも一つの第2のメモリ内の二つ以上のテーブルにアクセスする必要があるならば、上記の少なくとも一つのサーバーはアクセスが必要である各テーブルに対して、さらに、上記の少なくとも一つのサーバーが、上記変更されたデータが当該テーブルに限られたリンクされた照会条件の該当部分を満足するかどうかを決定するようにプログラムされ、
    上記変更されたデータが特定のテーブルに限られたリンクされた照会条件の該当部分を満足するかが決定された後に、特定のテーブルに限られたリンクされた照会条件の該当部分は、他の特定のテーブルに限られたリンクされた照会条件の該当部分を評価する前に定められた値によって置き換えられ、
    もし、上記変更されたデータが特定のテーブルに限られたリンクされた照会条件の該当部分を満足するかどうかが決定される間のいかなる時でも、上記のリンクされた照会条件が満足されると決定されると、上記変更されたデータが上記のリンクされた照会条件を満足する
    ことを特徴とする請求項60記載のウェブページ更新システム。
  62. 特定のテーブルに限られたリンクされた照会条件の該当部分が評価され、それらの部分に対する値が決定した後に、他の特定のテーブルに限られたリンクされた照会条件の該当部分を評価するために、上記の少なくとも一つのサーバーは、さらに
    先に決定された値によって置き換えられた上記のリンクされた照会条件の部分と共に、リンクされた照会条件を含む他の特定のテーブルへ副照会を発する
    ようにプログラムされることを特徴とする請求項61記載のウェブページ更新システム。
  63. 特定のテーブルに発せられた副照会がその副照会のために決定されていた値を返した後に、上記の決定されていた値は索引構造の中に記憶され、
    もし次の照会が、同じ副照会を発する必要がある少なくとも一つのサーバーによって受信されると、上記の索引構造は、上記の少なくとも一つのサーバーによってアクセスされて上記の同じ副照会を発しなくてはならないということを避ける
    ことを特徴とする請求項62記載のウェブページ更新システム。
  64. ウェブページを記憶するための少なくとも一つの第1のメモリと、ウェブページを生成するのに使用するデータを記憶するための少なくとも一つの第2のメモリを含むメモリ管理システムと、を有するシステムにおいて、上記メモリ管理システムは、上記の少なくとも一つの第2のメモリ内に記憶されたデータのうち変更されたデータを識別することができ、かつ、上記の少なくとも一つの第2のメモリへの全ての処理を順番に含む少なくとも一つのデータベースのログを維持することができ、上記少なくとも一つの第2のメモリ内に記憶されたデータへの変更に基づいて、上記少なくとも一つの第1のメモリに記憶されたウェブページを更新するための方法において、
    上記少なくとも一つの第1のメモリに記憶された各ウェブページと、当該ウェブページを生成するのに使用される上記少なくとも一つの第2のメモリ内に記憶されたデータとの間のウェブページ−データ関係を維持する段階と、
    上記メモリ管理システムからどのデータが変更されたかを識別する情報を受信する段階と、
    受信した変更されたデータを識別する情報と上記ウェブページ−データ関係とから、上記記憶されたウェブページのいずれが上記変更されたデータと関係があるかを決定する段階と、
    上記変更されたデータに関係あるウェブページを含む上記少なくとも一つの第1のメモリに対して当該ウェブページを更新するための更新命令を送る段階と
    を備えることを特徴とするウェブページ更新方法
  65. 上記の方法は、さらに、
    URLを含むウェブコンテント要求を受信する段階と、
    上記少なくとも一つの第2のメモリに対して少なくとも一つの照会あるいは処理を発する段階と、
    上記ウェブコンテント要求のURLと上記照会あるいは処理との間のURL−照会/処理関係を維持する段階と、
    上記照会あるいは処理と、当該照会あるいは処理によりアクセスされる上記記憶されたデータとの間の照会/処理−データ関係を維持する段階と、
    上記URL−照会/処理関係および上記照会/処理−データ関係から、上記記憶されたウェブページと上記記憶されたデータとの間のウェブページ−データ関係を引き出す段階と、
    上記少なくとも一つの第1のメモリに記憶されたウェブページのうち、上記変更されたデータに関係するウェブページのロケーションを識別する段階と
    を含むことを特徴とする請求項64記載のウェブページ更新方法。
  66. 更新命令を送る上記の段階は、上記記憶されたウェブページを無効化あるいは削除するメッセージを送ることを含むことを特徴とする請求項65記載のウェブページ更新方法。
  67. 更新命令を送る上記の段階は、上記記憶されたウェブページをリフレッシュするメッセージを送ることを含むことを特徴とする請求項65記載のウェブページ更新方法。
  68. もし上記記憶されたウェブページがウェブサーバーの中にあれば、更新命令を送る上記の段階は、新しいウェブページを生成するメッセージを送り、かつ上記のウェブページをウェブサーバーの中に記憶することを含むことを特徴とする請求項67記載のウェブページ更新方法。
  69. 上記の方法は、さらに、
    上記の受信したURLに対する要求および配布のタイムスタンプ含むウェブサーバーのログを維持する段階と、
    上記照会あるいは処理に対する発行タイムスタンプを含む照会および処理のログを維持する段階と、
    上記ウェブサーバーのログと上記照会および処理のログとから、上記記憶されたウェブページと上記記憶されたデータとの間のウェブページ−データ関係を引き出す段階と、
    上記変更されたデータの識別情報と上記ウェブページ−データ関係とから、上記記憶されたウェブページのいずれが上記変更されたデータと関係があるかを決定する段階と
    を含むことを特徴とする請求項65記載のウェブページ更新方法。
  70. 上記の方法は、さらに
    上記の少なくとも一つの第2のメモリに送信された照会を受信する段階と、
    特定の照会と関係ある上記の少なくとも一つの第2のメモリ内にある全てのデータを示すポインタを含む各照会に対するビューテーブルを定義する段階と、
    上記のメモリ管理システムから変更されたデータを受信する段階と、
    上記のビューテーブルと上記変更されたデータとから、当該変更されたデータと関係ある照会はどれかを決定する段階と
    を含むことを特徴とする請求項69記載のウェブページ更新方法。
  71. 上記の方法は、さらに
    上記の少なくとも一つの第2のメモリに送信された処理を受信する段階と、
    各処理に対してデーモンを定義し、該デーモンは、特定の処理に関係ある上記の少なくとも一つの第2のメモリ内の記憶されたデータを識別する基準を確立する段階と、
    上記変更されたデータが上記のデーモンを満足するかどうかを決定することで、上記変更されたデータと関係ある照会を決定する段階と
    を含むことを特徴とする請求項69記載のウェブページ更新方法。
  72. 上記の方法は、さらに
    上記の少なくとも一つの第2のメモリに送信された照会を受信する段階と、
    各照会に対して、当該照会に関係ある上記の少なくとも一つの第2のメモリ内の記憶されたデータを識別する基準を確立するトリガー定義を生成する段階と、
    上記変更されたデータが上記のトリガー定義を満足するかどうかを決定することで、上記変更されたデータと関係ある照会を決定する段階と
    を含むことを特徴とする請求項69記載のウェブページ更新方法。
  73. 上記の方法は、さらに、
    上記の少なくとも一つの第2のメモリから上記の少なくとも一つの第3のメモリにデータを複製して、上記の少なくとも一つの第3のメモリを上記の少なくとも一つの第2のメモリと一致させる段階と、
    照会ごとに、当該照会と関係ある上記の少なくとの一つの第3のメモリ内にある全てのデータを示すポインタを含むビューテーブルを定義する段階と
    を含むことを特徴とする請求項70記載のウェブページ更新方法。
  74. 上記の方法は、さらに、
    上記の少なくとも一つの第3のメモリを上記の少なくとも一つの第2のメモリに一致させために、順番に、上記の少なくとも一つの第3のメモリ上のデータベースのログ内の全ての処理を実行する段階と、
    照会ごとに、当該照会と関係ある上記の少なくとの一つの第3のメモリ内にある全てのデータを示すポインタを含むビューテーブルを定義する段階と
    を含むことを特徴とする請求項70記載のウェブページ更新方法。
  75. 要求/配布ログを読むことによってネットワークの通信量を知る段階と、
    照会例配布ログを読むことによってURL情報と照会あるいは処理を集める段階と、
    上記のウェブコンテント要求のURLと上記の発せられた照会あるいは処理との間の関係を生成する段階と
    をさらに含むことを特徴とする請求項69記載のウェブページ更新方法。
  76. 上記の方法は、さらに
    無効化の方針を作り出し、関連のある照会あるいは処理統計を集める登録段階と、
    データベース更新ログと、上記ウェブコンテント要求のURLと上記の発せられた照会あるいは処理の間の関係とを読み、副照会のスケジューリングをし、適切なキャッシュあるいはウェブサーバーに対して、ある特定の記憶されたウェブページの無効性を知らせる無効化段階と、
    予備データ構造を作る段階と
    を含むことを特徴とする請求項69記載のウェブページ更新方法。
  77. 上記の方法は、さらに
    上記の少なくとも一つの第2のメモリに送信された照会を受信し、該照会は、操作者によってリンクされる一つあるいは二つ以上の照会条件を含み、該リンクされる照会条件は、その照会に関係ある少なくとも一つの第2のメモリ内のデータを識別する段階と、
    上記変更されたデータが上記のリンクされた照会条件を満足するかを決定することにより、上記の照会が上記変更されたデータと関係があるかどうかを決定する段階と
    を含むことを特徴とする請求項69記載のウェブページ更新方法。
  78. もし、上記のリンクされた照会条件が上記の少なくとも一つの第2のメモリ内の二つ以上のテーブルにアクセスする必要があるならば、上記の方法は、アクセスが必要である各テーブルに対して、上記変更されたデータが当該テーブルに限られたリンクされた照会条件の該当部分を満足するかどうかを決定する段階をさらに含み、
    上記変更されたデータがある特定のテーブルに限られたリンクされた照会条件の該当部分を満足するかが決定された後に、上記方法は、特定のテーブルに限られたリンクされた照会条件のそれらの部分を、他の特定のテーブルに限られたリンクされた照会条件のそれらの部分を評価する前に定められた値によって置き換える段階をさらに含み、
    もし、いかなる時でも、上記のリンクされた照会条件が満足されると、上記変更されたデータが、リンクされた照会条件を満足することを決定する段階をさらに含む
    ことを特徴とする請求項77記載のウェブページ更新方法。
  79. 特定のテーブルに限られたリンクされた照会条件の該当部分が評価され、それらの部分に対する値が決定した後に、他の特定のテーブルに限られたリンクされた照会条件の該当部分を評価するために、上記の方法は、さらに
    先に決定された値によって置き換えられた上記のリンクされた照会条件の部分と共に、リンクされた照会条件を含む他の特定のテーブルへ副照会を発する段階
    を含むことを特徴とする請求項78記載のウェブページ更新方法。
  80. 特定のテーブルに発せられた副照会がその副照会のために決定されていた値を返した後に、上記の方法は定められた値を索引構造の中に記憶する段階をさらに含み、
    もし次の照会が、同じ副照会を発する必要がある少なくとも一つのサーバーによって受信されると、上記の方法は、上記の同じ副照会を発しなくてはならないということを避けるために上記の索引構造にアクセスする段階をさらに含む
    ことを特徴とする請求項79記載のウェブページ更新方法。
  81. 上記の方法は、さらに
    受信されたウェブコンテント要求に含まれるURLからのURL/関連処理マッピングログと、上記のウェブコンテント要求に応えて上記の少なくとも一つの第2のメモリへ発せられた照会あるいは処理を維持する段階と、
    上記の変更済みデータの同一性と、上記の発せられた照会あるいは処理と記憶済みデータとの間の上記の維持された関係と、上記のURL/関連処理マッピングログとから、どの記憶済みウェブページが上記変更されたデータと関係があるかを決定する段階と
    を含むことを特徴とする請求項65記載のウェブページ更新方法。
  82. 上記の方法は、さらに
    上記の少なくとも一つの第2のメモリに送られた照会を受信する段階と、
    照会ごとに、当該照会と関係ある上記の少なくとの一つの第2のメモリ内にある全てのデータを示すポインタを含むビューテーブルを定義する段階と、
    上記のメモリ管理システムから上記変更されたデータを受信し、上記のビューテーブルと上記変更されたデータとから、上記変更されたデータと関係がある照会を決定する段階と
    を含むことを特徴とする請求項81記載のウェブページ更新方法。
  83. 上記の方法は、さらに
    上記の少なくとも一つの第2のメモリに送られた処理を受信する段階と、
    各処理に対するデーモンを定義し、該デーモンは、当該処理に関係ある上記の少なくとも一つの第2のメモリ内の記憶されたデータを識別する基準を確立する段階と、
    上記変更されたデータが上記のデーモンを満足するかどうかを決定することで、上記変更されたデータと関係ある照会を決定する段階と
    を含むことを特徴とする請求項81記載のウェブページ更新方法。
  84. 上記の方法は、さらに
    上記の少なくとも一つの第2のメモリに送信された照会を受信する段階と、
    各照会に対して、当該照会に関係ある上記の少なくとも一つの第2のメモリ内の記憶されたデータを識別する基準を確立するトリガー定義を生成する段階と、
    上記変更されたデータが上記のトリガー定義を満足するかどうかを決定することで、上記変更されたデータと関係ある照会を決定する段階と
    を含むことを特徴とする請求項81記載のウェブページ更新方法。
  85. 上記の方法は、さらに
    少なくとも一つの第3のメモリを持ち、さらに、上記の少なくとも一つの第2のメモリから上記の少なくとも一つの第3のメモリにデータを複製して、上記の少なくとも一つの第3のメモリを上記の少なくとも一つの第2のメモリと一致させる段階と、
    照会ごとに、当該照会と関係ある上記の少なくとの一つの第3のメモリ内にある全てのデータを示すポインタを含むビューテーブルを定義する段階と
    を含むことを特徴とする請求項82記載のウェブページ更新方法。
  86. 上記の方法は、さらに
    上記の少なくとも一つの第3のメモリを上記の少なくとも一つの第2のメモリに一致させために、順番に、上記の少なくとも一つの第3のメモリ上のデータベースのログ内の全ての処理を実行する段階と、
    照会ごとに、当該照会と関係ある上記の少なくとの一つの第3のメモリ内にある全てのデータを示すポインタを含むビューテーブルを定義する段階と
    を含むことを特徴とする請求項82記載のウェブページ更新方法。
  87. 要求/配布ログを読むことによってネットワークの通信量を知る段階を含み、照会例配布ログを読むことによってURL情報と照会あるいは処理例とを集め、上記のウェブコンテント要求のURLと上記の発せられた照会あるいは処理との間の関係を生成する段階を含むことを特徴とする請求項81記載のウェブページ更新方法。
  88. 上記の方法は、さらに
    無効化の方針を作り出し、関連のある照会あるいは処理統計を集める段階と、
    データベース更新ログと、上記ウェブコンテント要求のURLと上記の発せられた照会あるいは処理処理の間の関係とを読み、副照会のスケジューリングをし、適切なキャッシュあるいはウェブサーバーに特定の記憶済みウェブページの無効性を知らせる段階と、
    予備データ構造を作る段階と
    を含むことを特徴とする請求項81記載のウェブページ更新方法。
  89. 上記方法は、さらに
    上記の少なくとも一つの第2のメモリに送信された照会を受信し、該照会は、操作者によってリンクされる一つあるいは二つ以上の照会条件を含み、該リンクされる照会条件は、その照会に関係ある少なくとも一つの第2のメモリ内のデータを識別する段階と、
    上記変更されたデータが上記のリンクされた照会条件を満足するかを決定することにより、上記の照会が上記変更されたデータと関係があるかどうかを決定する段階と
    を含むことを特徴とする請求項81記載のウェブページ更新方法。
  90. もし、上記のリンクされた照会条件が上記の少なくとも一つの第2のメモリ内の二つ以上のテーブルにアクセスする必要があるならば、上記の方法は、アクセスが必要である各テーブルに対して、上記変更されたデータがその特定のテーブルに限られたリンクされた照会条件の該当部分を満足するかどうかを決定する段階をさらに含み、
    上記変更されたデータが特定のテーブルに限られたリンクされた照会条件の該当部分を満足するかが決定された後に、上記方法は、特定のテーブルに限られたリンクされた照会条件の該当部分を、他の特定のテーブルに限られたリンクされた照会条件の該当部分を評価する前に定められた値によって置き換える段階をさらに含み、
    もし、いかなる時でも、上記のリンクされた照会条件が満足されると、上記変更されたデータが、リンクされた照会条件を満足することを決定する段階をさらに含む
    ことを特徴とする請求項89記載のウェブページ更新方法。
  91. 特定のテーブルに限られたリンクされた照会条件の該当部分が評価され、それらの部分に対する値が決定した後に、他の特定のテーブルに限られたリンクされた照会条件の該当部分を評価するために、上記の方法は、さらに
    先に決定された値によって置き換えられた上記のリンクされた照会条件の部分と共に、リンクされた照会条件を含む他の特定のテーブルへ副照会を発する段階
    を含むことを特徴とする請求項90記載のウェブページ更新方法。
  92. 特定のテーブルに発せられた副照会がその副照会のために決定されていた値を返した後に、上記の方法は定められた値を索引構造の中に記憶する段階をさらに含み、
    もし次の照会が、同じ副照会を発する必要がある少なくとも一つのサーバーによって受信されると、上記の方法は、上記の同じ副照会を発しなくてはならないということを避けるために上記の索引構造にアクセスする段階をさらに含む
    ことを特徴とする請求項91記載のウェブページ更新方法。
  93. 上記の方法は、さらに
    受信したウェブコンテント要求を記憶済み手順へと変換する段階と、
    上記の記憶済み手順の中に含まれる上記のURLと、上記の記憶済み手順に応じて上記の少なくとも一つの第2のメモリへ発せられた照会と、からデータベース照会ログを維持する段階と、
    上記の記憶済み手順の中に含まれるURLと、上記の記憶済み手順に応じて上記の少なくとも一つの第2のメモリへ発せられた処理と、から処理ログを維持する段階と、
    上記データベース照会ログと上記処理ログとからURL/関連処理マッピングテーブルを生成する段階と、
    上記変更されたデータの識別情報と、上記の発せられた照会あるいは処理と上記の記憶されたデータとの間の維持された関係と、上記のURL/関連処理マッピングテーブルとから、上記記憶されたウェブページのいずれのウェブページが上記変更されたデータと関係があるかを決定する段階と
    を含むことを特徴とする請求項65記載のウェブページ更新方法。
  94. 上記の方法は、さらに
    上記の少なくとも一つの第2のメモリに送られた照会を受信し、
    照会ごとに、当該照会と関係ある上記の少なくとの一つの第2のメモリ内にある全てのデータを示すポインタを含むビューテーブルを定義し、
    上記のメモリ管理システムから上記変更されたデータを受信し、
    上記のビューテーブルと上記変更されたデータとから、上記変更されたデータと関係がある照会を決定する
    ようにプログラムされることを特徴とする請求項93記載のウェブページ更新方法。
  95. 上記の方法は、さらに
    上記の少なくとも一つの第2のメモリに送られた照会あるいは処理を受信する段階と、
    各照会あるいは処理に対するデーモンを定義し、該デーモンは、当該照会あるいは処理に関係ある上記の少なくとも一つの第2のメモリ内の変更されたデータに対して基準を確立する段階と、
    上記変更されたデータが上記のデーモンを満足するかどうかを決定することで、上記変更されたデータと関係ある照会を決定する段階と
    を含むことを特徴とする請求項93記載のウェブページ更新方法。
  96. 上記の方法は、さらに
    上記の少なくとも一つの第2のメモリに送信された照会を受信する段階と、
    各照会に対して、当該照会に関係ある上記の少なくとも一つの第2のメモリ内の変更されたデータを識別する基準を確立するトリガー定義を生成する段階と、
    上記変更されたデータが上記のトリガー定義を満足するかどうかを決定することで、上記変更されたデータと関係ある照会を決定する段階と
    を含むことを特徴とする請求項93記載のウェブページ更新方法。
  97. 上記の方法は、さらに
    上記の少なくとも一つの第2のメモリから少なくとも一つの第3のメモリにデータを複製して、上記の少なくとも一つの第3のメモリを少なくとも一つの第2のメモリと一致させる段階と、
    特定の照会と関係ある上記の少なくとの一つの第3のメモリ内にある全てのデータを示すポインタを含む各照会に対するビューテーブルを定義する段階と
    を含むことを特徴とする請求項94記載のウェブページ更新方法。
  98. 上記の方法は、さらに、
    上記の少なくとも一つの第3のメモリを上記の少なくとも一つの第2のメモリに一致させために、順番に、上記の少なくとも一つの第3のメモリ上のデータベースのログ内の全ての処理を実行する段階と、
    照会ごとに、当該照会と関係ある上記の少なくとの一つの第3のメモリ内にある全てのデータを示すポインタを含むビューテーブルを定義する段階と
    を含むことを特徴とする請求項94記載のウェブページ更新方法。
  99. 要求/配布ログを読むことによってネットワークの更新を知る段階と、
    照会例配布ログを読むことによってURL情報と照会あるいは処理例を集める段階と、
    上記のウェブコンテント要求のURLと上記の発せられた照会あるいは処理との間の関係を生成する段階と
    をさらに含むことを特徴とする請求項93記載のウェブページ更新方法。
  100. 上記の方法は、さらに
    無効化の方針を作り出し、関連のある照会あるいは処理統計を集める段階と、
    データベース更新ログと、上記ウェブコンテント要求のURLと上記の発せられた照会あるいは処理の間の関係とを読み、副照会のスケジューリングをし、適切なキャッシュあるいはウェブサーバーに特定の記憶されたウェブページの無効性を知らせる段階と、
    予備データ構造を作る段階と
    を含むことを特徴とする請求項93記載のウェブページ更新方法。
  101. 上記の方法は、さらに
    上記の少なくとも一つの第2のメモリに送信された照会を受信し、該照会は、操作者によってリンクされる一つあるいは二つ以上の照会条件を含み、該リンクされる照会条件は、その照会に関係ある少なくとも一つの第2のメモリ内のデータを識別する段階と、
    上記変更されたデータが上記のリンクされた照会条件を満足するかを決定することにより、上記の照会が上記変更されたデータと関係があるかどうかを決定する段階と
    を含むことを特徴とする請求項93記載のウェブページ更新方法。
  102. もし、上記のリンクされた照会条件が上記の少なくとも一つの第2のメモリ内の二つ以上のテーブルにアクセスする必要があるならば、上記の方法は、アクセスが必要である各テーブルに対して、上記変更されたデータが当該テーブルに限られたリンクされた照会条件の該当部分を満足するかどうかを決定する段階をさらに含み、
    上記変更されたデータが特定のテーブルに限られたリンクされた照会条件の該当部分を満足するかが決定された後に、上記方法は、他の特定のテーブルに限られたリンクされた照会条件の該当部分を評価する前に、特定のテーブルに限られたリンクされた照会条件の該当部分を、定められた値によって置き換える段階をさらに含み、
    もし、いかなる時でも、上記のリンクされた照会条件が満足されると、上記変更されたデータが、リンクされた照会条件を満足することを決定する段階をさらに含む
    ことを特徴とする請求項101記載のウェブページ更新方法。
  103. 特定のテーブルに限られたリンクされた照会条件の該当部分が評価され、それらの部分に対する値が決定した後に、他の特定のテーブルに限られたリンクされた照会条件の該当部分を評価するために、上記の方法は、さらに
    先に決定された値によって置き換えられた上記のリンクされた照会条件の部分と共に、リンクされた照会条件を含む他の特定のテーブルへ副照会を発する段階
    を含むことを特徴とする請求項102記載のウェブページ更新方法。
  104. 特定のテーブルに発せられた副照会がその副照会のために決定されていた値を返した後に、上記の方法は定められた値を索引構造の中に記憶する段階をさらに含み、
    もし次の照会が、同じ副照会を発する必要がある少なくとも一つのサーバーによって受信されると、上記の方法は、上記の同じ副照会を発しなくてはならないということを避けるために上記の索引構造にアクセスする段階をさらに含む
    ことを特徴とする請求項103記載のウェブページ更新方法。
  105. 上記の方法は、さらに
    上記の受信したウェブコンテント要求からURL情報を抽出する段階と、
    上記の発せられた照会および処理から照会と処理とを抽出する段階と、
    上記の抽出されたURL情報と上記の抽出された照会および処理情報とからURL/関連処理マッピングログを維持する段階と、
    上記変更されたデータの識別情報と、上記の発せられた照会あるいは処理と記憶されたデータとの間の維持される関係と、上記のURL/関連処理マッピングログとから、上記記憶されたウェブページの中でいずれのウェブページが上記変更されたデータと関係あるかを決定する段階と
    を含むことを特徴とする請求項65記載のウェブページ更新方法。
  106. 上記の方法は、さらに
    上記の少なくとも一つの第2のメモリに送られた照会を受信し、
    照会ごとに、当該照会と関係ある上記の少なくとも一つの第2のメモリ内にある全てのデータを示すポインタを含むビューテーブルを定義し、
    上記のメモリ管理システムから上記変更されたデータを受信し、
    上記のビューテーブルと上記変更されたデータとから、上記変更されたデータと関係がある照会を決定する
    ようにプログラムされることを特徴とする請求項105記載のウェブページ更新方法。
  107. 上記の方法は、さらに
    上記の少なくとも一つの第2のメモリに送られた処理を受信する段階と、
    各処理に対するデーモンを定義し、該デーモンは、当該処理に関係ある上記の少なくとも一つの第2のメモリ内の変更されたデータに対して基準を確立する段階と、
    上記変更されたデータが上記のデーモンを満足するかどうかを決定することで、上記変更されたデータと関係ある照会を決定する段階と
    を含むことを特徴とする請求項105記載のウェブページ更新方法。
  108. 上記の方法は、さらに
    上記の少なくとも一つの第2のメモリに送信された照会を受信する段階と、
    各照会に対して、当該照会に関係ある上記の少なくとも一つの第2のメモリ内の変更されたデータを識別する基準を確立するトリガー定義を生成する段階と、
    上記変更されたデータが上記のトリガー定義を満足するかどうかを決定することで、上記変更されたデータと関係ある照会を決定する段階と
    を含むことを特徴とする請求項105記載のウェブページ更新方法。
  109. 上記の方法は、さらに
    上記の少なくとも一つの第2のメモリから少なくとも一つの第3のメモリにデータを複製して、上記の少なくとも一つの第3のメモリを少なくとも一つの第2のメモリと一致させる段階と、
    照会ごとに、当該照会と関係ある上記の少なくとの一つの第3のメモリ内にある全てのデータを示すポインタを含むビューテーブルを定義する段階と
    を含むことを特徴とする請求項106記載のウェブページ更新方法。
  110. 上記の方法は、さらに、
    上記の少なくとも一つの第3のメモリを上記の少なくとも一つの第2のメモリに一致させために、順番に、上記の少なくとも一つの第3のメモリ上のデータベースのログ内の全ての処理を実行する段階と、
    照会ごとに、当該照会と関係ある上記の少なくとも一つの第3のメモリ内にある全てのデータを示すポインタを含むビューテーブルを定義する段階と
    を含むことを特徴とする請求項106記載のウェブページ更新方法。
  111. 要求/配布ログを読むことによってネットワークの通信量を知る段階と、
    照会例配布ログを読むことによってURL情報と照会あるいは処理例とを集める段階と、
    上記のウェブコンテント要求のURLと上記の発せられた照会あるいは処理との間の関係を生成する段階と
    をさらに含むことを特徴とする請求項105記載のウェブページ更新方法。
  112. 上記の方法は、さらに
    無効化の方針を作り出し、関連のある照会あるいは処理統計を集める段階と、
    データベース更新ログと、上記ウェブコンテント要求のURLと上記の発せられた照会あるいは処理の関係とを読み、副照会のスケジューリングをし、適切なキャッシュあるいはウェブサーバーに特定の記憶済みウェブページの無効性を知らせる段階と、
    予備データ構造を作る段階と
    を含むことを特徴とする請求項105記載のウェブページ更新方法。
  113. 上記の方法は、さらに
    上記の少なくとも一つの第2のメモリに送信された照会を受信し、該照会は、操作者によってリンクされる一つあるいは二つ以上の照会条件を含み、該リンクされる照会条件は、その照会に関係ある少なくとも一つの第2のメモリ内のデータを識別する段階と、
    上記変更されたデータが上記のリンクされた照会条件を満足するかを決定することにより、上記の照会が上記変更されたデータと関係があるかどうかを決定する段階と
    を含むことを特徴とする請求項105記載のウェブページ更新方法。
  114. もし、上記のリンクされた照会条件が上記の少なくとも一つの第2のメモリ内の二つ以上のテーブルにアクセスする必要があるならば、上記の方法は、アクセスが必要である各テーブルに対して、上記変更されたデータが当該テーブルに限られたリンクされた照会条件の該当部分を満足するかどうかを決定する段階をさらに含み、
    上記変更されたデータが特定のテーブルに限られたリンクされた照会条件の該当部分を満足するかが決定された後に、上記方法は、特定のテーブルに限られたリンクされた照会条件の該当部分を、他の特定のテーブルに限られたリンクされた照会条件の該当部分を評価する前に定められた値によって置き換える段階をさらに含み、
    もし、いかなる時でも、上記のリンクされた照会条件が満足されると、上記変更されたデータが、リンクされた照会条件を満足することを決定する段階をさらに含む
    ことを特徴とする請求項113記載のウェブページ更新方法。
  115. 特定のテーブルに限られたリンクされた照会条件の該当部分が評価され、それらの部分に対する値が決定した後に、他の特定のテーブルに限られたリンクされた照会条件の該当部分を評価するために、上記の方法は、さらに
    先に決定された値によって置き換えられた上記のリンクされた照会条件の部分と共に、リンクされた照会条件を含む他の特定のテーブルへ副照会を発する段階
    を含むことを特徴とする請求項114記載のウェブページ更新方法。
  116. 特定のテーブルに発せられた副照会がその副照会のために決定されていた値を返した後に、上記の方法は定められた値を索引構造の中に記憶する段階をさらに含み、
    もし次の照会が、同じ副照会を発する必要がある少なくとも一つのサーバーによって受信されると、上記の方法は、上記の同じ副照会を発しなくてはならないということを避けるために上記の索引構造にアクセスする段階をさらに含む
    ことを特徴とする請求項115記載のウェブページ更新方法。
  117. 上記登録モジュールは、さらに
    オフラインのモードにおいて、上記無効化器/リフレッシュ器が検出しなくてはならないそれらの照会の種類を登録し、かつ予備データ構造の中の登録済み照会の種類を記憶し、
    ウェブコンテント要求のURLと発せられた照会あるいは処理の間の関連を調べ、既知の照会の種類に関連することのない照会例を置き、その照会の種類を識別するのに照会例を分析し、識別された照会の種類をオンラインのモードで登録し、
    結合索引の大きさや更新頻度あるいは照会頻度に基づいて、結合索引を維持するかどうかを決定し、
    上記の記憶済みウェブページを更新することには、上記の記憶済みのウェブページのリフレッシュや無効化や削除が含まれる
    ことを特徴とする請求項14記載のウェブページ更新システム。
  118. 結合索引が維持されるべきかどうかの上記の決定において、もし上記結合索引が所定値より小さいか、上記結合索引の更新頻度が所定頻度より低いか、データベースあるいは外部データソースの照会頻度が所定頻度より高いか、データベースあるいは外部データソースの照会費用が所定値より高いならば、前記結合索引が維持されることを特徴とする請求項117記載のウェブページ更新システム。
  119. 上記の無効化モジュールは、さらに
    いずれのデータベースポーリング要求が生成されなければならないかを識別するために、無効化方針と予備データ構造とを読むことでデータベースポーリング要求のスケジューリングをし、これらの要求がいつメモリ管理システムあるいは外部データソースに送られるべきかを決定し、
    データベースポーリング要求をメモリ管理システムあるいは外部データソースによって読み取り可能な副照会あるいは副処理へと変換する
    ようにプログラムされ、
    上記の記憶済みウェブページを更新することには、上記の記憶済みウェブページをリフレッシュしたり、無効化したり、削除したりすることが含まれることを特徴とする請求項14記載のウェブページ更新システム。
  120. 上記の情報管理モジュールは、さらに
    関係のある照会例を識別し、それらをグループとして処理することにより照会例の合体を実行し、
    関係のある照会例を識別し、それらを整えられた方法で処理することにより照会例の合体を実行し、
    関係のあるデータベースあるいは外部データソースの更新や削除や挿入を識別し、それらをグループとして処理することで更新の合体を実行する
    ようにプログラムされることを特徴とする請求項14記載のウェブページ更新システム。
  121. 上記の無効化器/リフレッシュ器は、さらに
    特定の照会に対して正の照会格子を形成し、この正の照会格子は、もしデータベースあるいは外部のデータソースが検出され一連の照会条件が評価されると、一つの照会条件が満足されない時すぐに、上記のデータベースあるいは外部のデータソースの変更が上記の特定の照会に影響しないと決定することができ、それ以上は照会条件は評価の必要がなくなるような順序で並べられた上記一連の照会条件を備え、
    特定の照会に対して負の照会格子を形成し、この負の照会格子は、もしデータベースあるいは外部のデータソースが検出され一連の照会条件が評価されると、一つの照会条件が満足されない時すぐに、上記のデータベースあるいは外部のデータソースの変更が上記の特定の照会に影響すると決定することができ、それ以上は照会条件は評価の必要がなくなるような順序で並べられた上記一連の照会条件を備え、
    いつデータベースあるいは外部データソースが照会に影響しないかを決定するための上記の正の照会格子を利用し、いつデータベースあるいは外部データソースが照会に影響するかを決定するための上記の負の照会格子を利用する
    ようにプログラムされることを特徴とする請求項14記載のウェブページ更新システム。
  122. 上記の無効化器/リフレッシュ器は、さらに
    特定のウェブページ要求により作られる多くの複雑な照会に基づいて、上記の記憶済みウェブページをキャッシュしたり無効化したりリフレッシュしたりすべきかを決定するようにプログラムされることを特徴とする請求項14記載のウェブページ更新システム。
  123. 上記登録モジュールは、さらに
    オフラインのモードにおいて、上記無効化器/リフレッシュ器が検出しなくてはならないそれらの照会の種類を登録し、かつ予備データ構造の中の登録済み照会の種類を記憶し、
    ウェブコンテント要求URLと発せられた照会あるいは処理の間の関連を調べ、既知の照会の種類に関連しない照会例を置き、その照会の種類を識別するのに照会例を分析し、識別された照会の種類をオンラインのモードで登録し、
    結合索引の大きさや更新頻度あるいは照会頻度に基づいて、結合索引を維持するかどうかを決定し、
    上記の記憶済みウェブページを更新することには、上記の記憶済みのウェブページのリフレッシュや無効化や削除が含まれる
    ことを特徴とする請求項27記載のウェブページ更新システム。
  124. 結合索引が維持されるべきかどうかの上記の決定において、もし上記結合索引が所定値より小さいか、上記結合索引の更新頻度が所定頻度より低いか、データベースあるいは外部データソースの照会頻度が所定頻度より高いか、データベースあるいは外部データソースの照会費用が所定値より高いならば、前記結合索引が維持されることを特徴とする請求項123記載のウェブページ更新システム。
  125. 上記の無効化モジュールは、さらに
    いずれのデータベースポーリング要求が生成されるべきかを識別するために、無効化方針と予備データ構造とを読むことでデータベースポーリング要求のスケジューリングをし、これらの要求がいつメモリ管理システムあるいは外部データソースに送られるべきかを決定し、
    データベースポーリング要求をメモリ管理システムあるいは外部データソースによって読み取り可能な副照会あるいは副処理へと変換する
    ようにプログラムされ、
    上記の記憶済みウェブページを更新することには、上記の記憶済みウェブページをリフレッシュしたり、無効化したり、削除したりすることが含まれることを特徴とする請求項27記載のウェブページ更新システム。
  126. 上記の情報管理モジュールは、さらに
    関係のある照会例を識別し、それらをグループとして処理することにより照会例の合体を実行し、
    関係のある照会例を識別し、それらを整えられた方法で処理することにより照会例の合体を実行し、
    関係のあるデータベースあるいは外部データソースの更新や削除や挿入を識別し、それらをグループとして処理することで更新の合体を実行する
    ようにプログラムされることを特徴とする請求項27記載のウェブページ更新システム。
  127. 上記の無効化器/リフレッシュ器は、さらに特定の照会に対して正の照会格子を形成し、この正の照会格子は、もしデータベースあるいは外部のデータソースが検出され一連の照会条件が評価されると、一つの照会条件が満足されない時すぐに、上記のデータベースあるいは外部のデータソースの変更が上記の特定の照会に影響しないと決定することができ、それ以上は照会条件は評価の必要がなくなるような順序で並べられた上記一連の照会条件を備え、
    特定の照会に対して負の照会格子を形成し、この負の照会格子は、もしデータベースあるいは外部のデータソースが検出され一連の照会条件が評価されると、一つの照会条件が満足されない時すぐに、上記のデータベースあるいは外部のデータソースの変更が上記の特定の照会に影響すると決定することができ、それ以上は照会条件は評価の必要がなくなるような順序で並べられた上記一連の照会条件を備え、
    いつデータベースあるいは外部データソースが照会に影響しないかを決定するための上記の正の照会格子を利用し、いつデータベースあるいは外部データソースが照会に影響するかを決定するための上記の負の照会格子を利用する
    ようにプログラムされることを特徴とする請求項27記載のウェブページ更新システム。
  128. 上記の無効化器/リフレッシュ器は、さらに
    特定のウェブページ要求により作られる多くの複雑な照会に基づいて、上記の記憶済みウェブページをキャッシュしたり無効化したりリフレッシュしたりすべきかを決定するようにプログラムされることを特徴とする請求項27記載のウェブページ更新システム。
  129. 上記登録モジュールは、さらに
    オフラインのモードにおいて、上記無効化器/リフレッシュ器が検出しなくてはならないそれらの照会の種類を登録し、かつ予備データ構造の中の登録済み照会の種類を記憶し、
    ウェブコンテント要求URLと発せられた照会あるいは処理の間の関連を調べ、既知の照会の種類に関連しない照会例を置き、その照会の種類を識別するのに照会例を分析し、識別された照会の種類をオンラインのモードで登録し、
    結合索引の大きさや更新頻度あるいは照会頻度に基づいて、結合索引を維持するかどうかを決定するようにプログラムされ、
    上記の記憶済みウェブページを更新することには、上記の記憶済みのウェブページのリフレッシュや無効化や削除が含まれる
    ことを特徴とする請求項46記載のウェブページ更新システム。
  130. 結合索引が維持されるべきかどうかの上記の決定において、もし上記結合索引が所定値より小さいか、上記結合索引の更新頻度が所定頻度より低いか、データベースあるいは外部データソースの照会頻度が所定頻度より高いか、データベースあるいは外部データソースの照会費用が所定値より高いならば、前記結合索引が維持されることを特徴とする請求項129記載のウェブページ更新システム。
  131. 上記の無効化モジュールは、さらに
    いずれのデータベースポーリング要求が生成されるべきかを識別するために、無効化方針と予備データ構造とを読むことでデータベースポーリング要求のスケジューリングをし、これらの要求がいつメモリ管理システムあるいは外部データソースに送られるべきかを決定し、
    データベースポーリング要求をメモリ管理システムあるいは外部データソースによって読み取り可能な副照会あるいは副処理へと変換する
    ようにプログラムされ、
    上記の記憶済みウェブページを更新することには、上記の記憶済みウェブページをリフレッシュしたり、無効化したり、削除したりすることが含まれることを特徴とする請求項46記載のウェブページ更新システム。
  132. 上記の情報管理モジュールは、さらに
    関係のある照会例を識別し、それらをグループとして処理することにより照会例の合体を実行し、
    関係のある照会例を識別し、それらを整えられた方法で処理することにより照会例の合体を実行し、
    関係のあるデータベースあるいは外部データソースの更新や削除や挿入を識別し、それらをグループとして処理することで更新の合体を実行する
    ようにプログラムされることを特徴とする請求項46記載のウェブページ更新システム。
  133. 上記の無効化器/リフレッシュ器は、さらに
    特定の照会に対して正の照会格子を形成し、この正の照会格子は、もしデータベースあるいは外部のデータソースが検出され一連の照会条件が評価されると、一つの照会条件が満足されない時すぐに、上記のデータベースあるいは外部のデータソースの変更が上記の特定の照会に影響しないと決定することができ、それ以上は照会条件は評価の必要がなくなるような順序で並べられた上記一連の照会条件を備え、
    特定の照会に対して負の照会格子を形成し、この負の照会格子は、もしデータベースあるいは外部のデータソースが検出され一連の照会条件が評価されると、一つの照会条件が満足されない時すぐに、上記のデータベースあるいは外部のデータソースの変更が上記の特定の照会に影響すると決定することができ、それ以上は照会条件は評価の必要がなくなるような順序で並べられた上記一連の照会条件を備え、
    いつデータベースあるいは外部データソースが照会に影響しないかを決定するための上記の正の照会格子を利用し、いつデータベースあるいは外部データソースが照会に影響するかを決定するための上記の負の照会格子を利用する
    ようにプログラムされることを特徴とする請求項46記載のウェブページ更新システム。
  134. 上記の無効化器/リフレッシュ器は、さらに
    特定のウェブページ要求により作られる多くの複雑な照会に基づいて、上記の記憶済みウェブページをキャッシュしたり無効化したりリフレッシュしたりすべきかを決定するようにプログラムされることを特徴とする請求項46記載のウェブページ更新システム。
  135. 上記登録モジュールは、さらに
    オフラインのモードにおいて、上記無効化器/リフレッシュ器が検出しなくてはならないそれらの照会の種類を登録し、かつ予備データ構造の中の登録済み照会の種類を記憶し、
    ウェブコンテント要求URLと発せられた照会あるいは処理の間の関連を調べ既知の照会の種類に関連しない照会例を置き、その照会の種類を識別するのに照会例を分析し、識別された照会の種類をオンラインのモードで登録し、
    結合索引の大きさや更新頻度あるいは照会頻度に基づいて、結合索引を維持するかどうかを決定するようにプログラムされ、
    上記の記憶済みウェブページを更新することには、上記の記憶済みのウェブページのリフレッシュや無効化や削除が含まれる
    ことを特徴とする請求項59記載のウェブページ更新システム。
  136. 結合索引が維持されるべきかどうかの上記の決定において、もし上記結合索引が所定値より小さいか、上記結合索引の更新頻度が所定頻度より低いか、データベースあるいは外部データソースの照会頻度が所定頻度より高いか、データベースあるいは外部データソースの照会費用が所定値より高いならば、前記結合索引が維持されることを特徴とする請求項135記載のウェブページ更新システム。
  137. 上記の無効化モジュールは、さらに
    いずれのデータベースポーリング要求が生成されなければならないかを識別するために、無効化方針と予備データ構造とを読むことでデータベースポーリング要求のスケジューリングをし、これらの要求がいつメモリ管理システムあるいは外部データソースに送られるべきかを決定し、
    データベースポーリング要求をメモリ管理システムあるいは外部データソースによって読み取り可能な副照会あるいは副処理へと変換する
    ようにプログラムされ、
    上記の記憶済みウェブページを更新することには、上記の記憶済みウェブページをリフレッシュしたり、無効化したり、削除したりすることが含まれることを特徴とする請求項59記載のウェブページ更新システム。
  138. 上記の情報管理モジュールは、さらに
    関係のある照会例を識別し、それらをグループとして処理することにより照会例の合体を実行し、
    関係のある照会例を識別し、それらを整えられた方法で処理ことにより照会例の合体を実行し、
    関係のあるデータベースあるいは外部データソースの更新や削除や挿入を識別し、それらをグループとして処理することで更新の合体を実行する
    ようにプログラムされることを特徴とする請求項59記載のウェブページ更新システム。
  139. 上記の無効化器/リフレッシュ器は、さらに
    特定の照会に対して正の照会格子を形成し、この正の照会格子は、もしデータベースあるいは外部のデータソースが検出され一連の照会条件が評価されると、一つの照会条件が満足されない時すぐに、上記のデータベースあるいは外部のデータソースの変更が上記の特定の照会に影響しないと決定することができ、それ以上は照会条件は評価の必要がなくなるような順序で並べられた上記一連の照会条件を備え、
    特定の照会に対して負の照会格子を形成し、この負の照会格子は、もしデータベースあるいは外部のデータソースが検出され一連の照会条件が評価されると、一つの照会条件が満足されない時すぐに、上記のデータベースあるいは外部のデータソースの変更が上記の特定の照会に影響すると決定することができ、それ以上は照会条件は評価の必要がなくなるような順序で並べられた上記一連の照会条件を備え、
    いつデータベースあるいは外部データソースが照会に影響しないかを決定するための上記の正の照会格子を利用し、いつデータベースあるいは外部データソースが照会に影響するかを決定するための上記の負の照会格子を利用する
    ようにプログラムされることを特徴とする請求項59記載のウェブページ更新システム。
  140. 上記の無効化器/リフレッシュ器は、さらに
    特定のウェブページ要求により作られる多くの複雑な照会に基づいて、上記の記憶済みウェブページをキャッシュしたり無効化したりリフレッシュしたりすべきかを決定するようにプログラムされることを特徴とする請求項59記載のウェブページ更新システム。
  141. 上記登録段階は、さらに
    オフラインのモードにおいて、上記無効化器/リフレッシュ器が検出しなくてはならないそれらの照会の種類を登録し、かつ予備データ構造の中の登録済み照会の種類を記憶し、
    ウェブコンテント要求URLと発せられた照会あるいは処理の間の関連を調べ既知の照会の種類に関連しない照会例を置き、その照会の種類を識別するのに照会例を分析し、識別された照会の種類をオンラインのモードで登録し、
    結合索引の大きさや更新頻度あるいは照会頻度に基づいて、結合索引を維持するかどうかを決定する
    段階を含むことを特徴とする請求項76記載のウェブページ更新方法。
  142. 結合索引が維持されるべきかどうかの上記の決定の段階において、もし上記結合索引が所定値より小さいか、上記結合索引の更新頻度が所定頻度より低いか、データベースあるいは外部データソースの照会頻度が所定頻度より高いか、データベースあるいは外部データソースの照会費用が所定値より高いならば、前記結合索引が維持されることを特徴とする請求項141記載のウェブページ更新方法。
  143. 上記の無効化段階は、さらに
    いずれのデータベースポーリング要求が生成されなければならないかを識別するために、無効化方針と予備データ構造とを読むことでデータベースポーリング要求のスケジューリングをし、これらの要求がいつメモリ管理システムあるいは外部データソースに送られるべきかを決定する段階と、
    データベースポーリング要求をメモリ管理システムあるいは外部データソースによって読み取り可能な副照会あるいは副処理へと変換する段階と
    を含み、
    上記の記憶済みウェブページを更新することには、上記の記憶済みウェブページをリフレッシュしたり、無効化したり、削除したりすることが含まれることを特徴とする請求項76記載のウェブページ更新方法。
  144. 上記の方法は、さらに
    関係のある照会例を識別し、それらをグループとして処理することにより照会例の合体を実行する段階と、
    関係のある照会例を識別し、それらを整えられた方法で処理ことにより照会例の合体を実行する段階と、
    関係のあるデータベースあるいは外部データソースの更新や削除や挿入し、それらをグループとして処理することで更新の合体を実行する段階と
    を含むことを特徴とする請求項76記載のウェブページ更新方法。
  145. 上記の方法は、さらに
    特定の照会に対して正の照会格子を形成する段階を含み、この正の照会格子は、もしデータベースあるいは外部のデータソースが検出され一連の照会条件が評価されると、一つの照会条件が満足されない時すぐに、上記のデータベースあるいは外部のデータソースの変更が上記の特定の照会に影響しないと決定することができ、それ以上は照会条件は評価の必要がなくなるような順序で並べられた上記一連の照会条件を備え、
    特定の照会に対して負の照会格子を形成する段階を含み、この負の照会格子は、もしデータベースあるいは外部のデータソースが検出され一連の照会条件が評価されると、一つの照会条件が満足されない時すぐに、上記のデータベースあるいは外部のデータソースの変更が上記の特定の照会に影響すると決定することができ、それ以上は照会条件は評価の必要がなくなるような順序で並べられた上記一連の照会条件を備え、
    いつデータベースあるいは外部データソースが照会に影響しないかを決定するための上記の正の照会格子を利用し、いつデータベースあるいは外部データソースが照会に影響するかを決定するための上記の負の照会格子を利用する段階を含む
    ことを特徴とする請求項76記載のウェブページ更新方法。
  146. 上記の方法は、さらに
    特定のウェブページ要求により作られる多くの複雑な照会に基づいて、上記の記憶済みウェブページをキャッシュしたり無効化したりリフレッシュしたりすべきかを決定する段階を含むことを特徴とする請求項76記載のウェブページ更新方法。
  147. 上記登録段階は、さらに
    オフラインのモードにおいて、上記無効化器/リフレッシュ器が検出しなくてはならないそれらの照会の種類を登録し、かつ予備データ構造の中の登録済み照会の種類を記憶する段階と、
    ウェブコンテント要求URLと発せられた照会あるいは処理の間の関連を調べ既知の照会の種類に関連しない照会例を置き、その照会の種類を識別するのに照会例を分析し、識別された照会の種類をオンラインのモードで登録する段階と、結合索引の大きさや更新頻度あるいは照会頻度に基づいて、結合索引を維持するかどうかを決定する段階と
    を含み、
    上記の記憶済みウェブページを更新することには、上記の記憶済みウェブページをリフレッシュしたり、無効化したり、削除したりすることが含まれることを特徴とする請求項88記載のウェブページ更新方法。
  148. 結合索引が維持されるべきかどうかの上記の決定の段階において、もし上記結合索引が所定値より小さいか、上記結合索引の更新頻度が所定頻度より低いか、データベースあるいは外部データソースの照会頻度が所定頻度より高いか、データベースあるいは外部データソースの照会費用が所定値より高いならば、前記結合索引が維持されることを特徴とする請求項147記載のウェブページ更新方法。
  149. 上記の無効化段階は、さらに
    いずれのデータベースポーリング要求が生成されなければならないかを識別するために、無効化方針と予備データ構造とを読むことでデータベースポーリング要求のスケジューリングをし、これらの要求がいつメモリ管理システムあるいは外部データソースに送られるべきかを決定する段階と、
    データベースポーリング要求をメモリ管理システムあるいは外部データソースによって読み取り可能な副照会あるいは副処理へと変換する段階と
    を含み、
    上記の記憶済みウェブページを更新することには、上記の記憶済みウェブページをリフレッシュしたり、無効化したり、削除したりすることが含まれることを特徴とする請求項88記載のウェブページ更新方法。
  150. 上記の方法は、さらに
    関係のある照会例を識別し、それらをグループとして処理することにより照会例の合体を実行する段階と、
    関係のある照会例を識別し、それらを整えられた方法で処理ことにより照会例の合体を実行する段階と、
    関係のあるデータベースあるいは外部データソースの更新や削除や挿入を識別し、それらをグループとして処理することで更新の合体を実行する段階と
    を含むことを特徴とする請求項88記載のウェブページ更新方法。
  151. 上記の方法は、さらに
    特定の照会に対して正の照会格子を形成する段階を含み、この正の照会格子は、もしデータベースあるいは外部のデータソースが検出され一連の照会条件が評価されると、一つの照会条件が満足されない時すぐに、上記のデータベースあるいは外部のデータソースの変更が上記の特定の照会に影響しないと決定することができ、それ以上は照会条件は評価の必要がなくなるような順序で並べられた上記一連の照会条件を備え、
    特定の照会に対して負の照会格子を形成する段階を含み、この負の照会格子は、もしデータベースあるいは外部のデータソースが検出され一連の照会条件が評価されると、一つの照会条件が満足されない時すぐに、上記のデータベースあるいは外部のデータソースの変更が上記の特定の照会に影響すると決定することができ、それ以上は照会条件は評価の必要がなくなるような順序で並べられた上記一連の照会条件を備え、
    いつデータベースあるいは外部データソースが照会に影響しないかを決定するための上記の正の照会格子を利用し、いつデータベースあるいは外部データソースが照会に影響するかを決定するための上記の負の照会格子を利用する段階を含む
    ことを特徴とする請求項88記載のウェブページ更新方法。
  152. 上記の方法は、さらに
    特定のウェブページ要求により作られる多くの複雑な照会に基づいて、上記の記憶済みウェブページを無効化したりリフレッシュしたりすべきかを決定する段階を含むことを特徴とする請求項88記載のウェブページ更新方法。
  153. 上記登録段階は、さらに
    オフラインのモードにおいて、上記無効化器/リフレッシュ器が検出しなくてはならないそれらの照会の種類を登録し、かつ予備データ構造の中の登録済み照会の種類を記憶する段階と、
    ウェブコンテント要求URLと発せられた照会あるいは処理の間の関連を調べ既知の照会の種類に関連しない照会例を置き、その照会の種類を識別するのに照会例を分析し、識別された照会の種類をオンラインのモードで登録する段階と、
    結合索引の大きさや更新頻度あるいは照会頻度に基づいて、結合索引を維持するかどうかを決定する段階と
    を含み、
    上記の記憶済みウェブページを更新することには、上記の記憶済みウェブページをリフレッシュしたり、無効化したり、削除したりすることが含まれることを特徴とする請求項100記載のウェブページ更新方法。
  154. 結合索引が維持されるべきかどうかの上記の決定の段階において、もし上記結合索引が所定値より小さいか、上記結合索引の更新頻度が所定頻度より低いか、データベースあるいは外部データソースの照会頻度が所定頻度より高いか、データベースあるいは外部データソースの照会費用が所定値より高いならば、前記結合索引が維持されることを特徴とする請求項153記載のウェブページ更新方法。
  155. 上記の無効化段階は、さらに
    いずれのデータベースポーリング要求が生成されなければならないかを識別するために、無効化方針と予備データ構造とを読むことでデータベースポーリング要求のスケジューリングをし、これらの要求がいつメモリ管理システムあるいは外部データソースに送られるべきかを決定する段階と、
    データベースポーリング要求をメモリ管理システムあるいは外部データソースによって読み取り可能な副照会あるいは副処理へと変換する段階と
    を含み、
    上記の記憶済みウェブページを更新することには、上記の記憶済みウェブページをリフレッシュしたり、無効化したり、削除したりすることが含まれることを特徴とする請求項100記載のウェブページ更新方法。
  156. 上記の方法は、さらに
    関係のある照会例を識別し、それらをグループとして処理することにより照会例の合体を実行する段階と、
    関係のある照会例を識別し、それらを整えられた方法で処理ことにより照会例の合体を実行する段階と、
    関係のあるデータベースあるいは外部データソースの更新や削除や挿入を識別し、それらをグループとして処理することで更新の合体を実行する段階と
    を含むことを特徴とする請求項100記載のウェブページ更新方法。
  157. 上記の方法は、さらに
    特定の照会に対して正の照会格子を形成する段階を含み、この正の照会格子は、もしデータベースあるいは外部のデータソースが検出され一連の照会条件が評価されると、一つの照会条件が満足されない時すぐに、上記のデータベースあるいは外部のデータソースの変更が上記の特定の照会に影響しないと決定することができ、それ以上は照会条件は評価の必要がなくなるような順序で並べられた上記一連の照会条件を備え、
    特定の照会に対して負の照会格子を形成する段階を含み、この負の照会格子は、もしデータベースあるいは外部のデータソースが検出され一連の照会条件が評価されると、一つの照会条件が満足されない時すぐに、上記のデータベースあるいは外部のデータソースの変更が上記の特定の照会に影響すると決定することができ、それ以上は照会条件は評価の必要がなくなるような順序で並べられた上記一連の照会条件を備え、
    いつデータベースあるいは外部データソースが照会に影響しないかを決定するための上記の正の照会格子を利用し、いつデータベースあるいは外部データソースが照会に影響するかを決定するための上記の負の照会格子を利用する段階を含む
    ことを特徴とする請求項100記載のウェブページ更新方法。
  158. 上記の方法は、さらに
    特定のウェブページ要求により作られる多くの複雑な照会に基づいて、上記の記憶済みウェブページを無効化したりリフレッシュしたりすべきかを決定する段階を含むことを特徴とする請求項100記載のウェブページ更新方法。
  159. 上記登録段階は、さらに
    オフラインのモードにおいて、上記無効化器/リフレッシュ器が検出しなくてはならないそれらの照会の種類を登録し、かつ予備データ構造の中の登録済み照会の種類を記憶する段階と、
    ウェブコンテント要求URLと発せられた照会あるいは処理の間の関連を調べ、既知の照会の種類に関連しない照会例を置き、その照会の種類を識別するのに照会例を分析し、識別された照会の種類をオンラインのモードで登録する段階と、結合索引の大きさや更新頻度あるいは照会頻度に基づいて、結合索引を維持するかどうかを決定する段階と
    を含み、
    上記の記憶済みウェブページを更新することには、上記の記憶済みウェブページをリフレッシュしたり、無効化したり、削除したりすることが含まれることを特徴とする請求項112記載のウェブページ更新方法。
  160. 結合索引が維持されるべきかどうかの上記の決定の段階において、もし上記結合索引が所定値より小さいか、上記結合索引の更新頻度が所定頻度より低いか、データベースあるいは外部データソースの照会頻度が所定頻度より高いか、データベースあるいは外部データソースの照会費用が所定値より高いならば、前記結合索引が維持されることを特徴とする請求項159記載のウェブページ更新方法。
  161. 上記の無効化段階は、さらに
    いずれのデータベースポーリング要求が生成されなければならないかを識別するために、無効化方針と予備データ構造とを読むことでデータベースポーリング要求のスケジューリングをし、これらの要求がいつメモリ管理システムあるいは外部データソースに送られるべきかを決定する段階と、
    データベースポーリング要求をメモリ管理システムあるいは外部データソースによって読み取り可能な副照会あるいは副処理へと変換する段階と
    を含み、
    上記の記憶済みウェブページを更新することには、上記の記憶済みウェブページをリフレッシュしたり、無効化したり、削除したりすることが含まれることを特徴とする請求項112記載のウェブページ更新方法。
  162. 上記の方法は、さらに
    関係のある照会例を識別し、それらをグループとして処理することにより照会例の合体を実行する段階と、
    関係のある照会例を識別し、それらを整えられた方法で処理ことにより照会例の合体を実行する段階と、
    関係のあるデータベースあるいは外部データソースの更新や削除や挿入を識別し、それらをグループとして処理することで更新の合体を実行する段階と
    を含むことを特徴とする請求項112記載のウェブページ更新方法。
  163. 上記の方法は、さらに
    特定の照会に対して正の照会格子を形成する段階を含み、この正の照会格子は、もしデータベースあるいは外部のデータソースが検出され一連の照会条件が評価されると、一つの照会条件が満足されない時すぐに、上記のデータベースあるいは外部のデータソースの変更が上記の特定の照会に影響しないと決定することができ、それ以上は照会条件は評価の必要がなくなるような順序で並べられた上記一連の照会条件を備え、
    特定の照会に対して負の照会格子を形成する段階を含み、この負の照会格子は、もしデータベースあるいは外部のデータソースが検出され一連の照会条件が評価されると、一つの照会条件が満足されない時すぐに、上記のデータベースあるいは外部のデータソースの変更が上記の特定の照会に影響すると決定することができ、それ以上は照会条件は評価の必要がなくなるような順序で並べられた上記一連の照会条件を備え、
    いつデータベースあるいは外部データソースが照会に影響しないかを決定するための上記の正の照会格子を利用し、いつデータベースあるいは外部データソースが照会に影響するかを決定するための上記の負の照会格子を利用する段階を含む
    ことを特徴とする請求項112記載のウェブページ更新方法。
  164. 上記の方法は、さらに
    特定のウェブページ要求により作られる多くの複雑な照会に基づいて、上記の記憶済みウェブページを無効化したりリフレッシュしたりすべきかを決定する段階を含むことを特徴とする請求項112記載のウェブページ更新方法。
JP2000400915A 2000-07-14 2000-12-28 動的に作られかつ静的であるウェブコンテントの知的キャッシュとリフレッシュのためのシステムと方法 Expired - Fee Related JP3620448B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US21841800P 2000-07-14 2000-07-14
US09/639,208 US6591266B1 (en) 2000-07-14 2000-08-14 System and method for intelligent caching and refresh of dynamically generated and static web content
US218.418 2000-08-14
US639.208 2000-08-14

Publications (2)

Publication Number Publication Date
JP2002032261A JP2002032261A (ja) 2002-01-31
JP3620448B2 true JP3620448B2 (ja) 2005-02-16

Family

ID=26912891

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000400915A Expired - Fee Related JP3620448B2 (ja) 2000-07-14 2000-12-28 動的に作られかつ静的であるウェブコンテントの知的キャッシュとリフレッシュのためのシステムと方法

Country Status (2)

Country Link
US (1) US6591266B1 (ja)
JP (1) JP3620448B2 (ja)

Families Citing this family (207)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8156074B1 (en) 2000-01-26 2012-04-10 Synchronoss Technologies, Inc. Data transfer and synchronization system
US8611873B2 (en) 2004-05-12 2013-12-17 Synchronoss Technologies, Inc. Advanced contact identification system
US8620286B2 (en) 2004-02-27 2013-12-31 Synchronoss Technologies, Inc. Method and system for promoting and transferring licensed content and applications
US6671757B1 (en) 2000-01-26 2003-12-30 Fusionone, Inc. Data transfer and synchronization system
US6591266B1 (en) * 2000-07-14 2003-07-08 Nec Corporation System and method for intelligent caching and refresh of dynamically generated and static web content
US7895334B1 (en) 2000-07-19 2011-02-22 Fusionone, Inc. Remote access communication architecture apparatus and method
US8073954B1 (en) 2000-07-19 2011-12-06 Synchronoss Technologies, Inc. Method and apparatus for a secure remote access system
US7571217B1 (en) * 2000-08-16 2009-08-04 Parallel Networks, Llc Method and system for uniform resource locator transformation
US7171455B1 (en) 2000-08-22 2007-01-30 International Business Machines Corporation Object oriented based, business class methodology for generating quasi-static web pages at periodic intervals
US6886004B2 (en) * 2000-08-24 2005-04-26 Red Hat, Inc. Method and apparatus for atomic file look-up
US7069292B2 (en) * 2000-08-29 2006-06-27 Fujitsu Limited Automatic display method and apparatus for update information, and medium storing program for the method
US6853994B1 (en) * 2000-08-30 2005-02-08 International Business Machines Corporation Object oriented based, business class methodology for performing data metric analysis
JP2002091851A (ja) * 2000-09-12 2002-03-29 Toshiba Corp 情報提供方法および中継サーバ装置
US7010578B1 (en) * 2000-09-21 2006-03-07 Akamai Technologies, Inc. Internet content delivery service with third party cache interface support
US7596564B1 (en) * 2000-09-29 2009-09-29 Vignette Corporation Method and system for cache management of a cache including dynamically-generated content
US7111057B1 (en) * 2000-10-31 2006-09-19 Akamai Technologies, Inc. Method and system for purging content from a content delivery network
US7127492B1 (en) * 2000-10-31 2006-10-24 International Business Machines Corporation Method and apparatus for distributed application acceleration
US6834390B2 (en) * 2000-12-06 2004-12-21 Microsoft Corporation System and related interfaces supporting the processing of media content
US7114162B2 (en) 2000-12-06 2006-09-26 Microsoft Corporation System and methods for generating and managing filter strings in a filter graph
US6954581B2 (en) * 2000-12-06 2005-10-11 Microsoft Corporation Methods and systems for managing multiple inputs and methods and systems for processing media content
US6961943B2 (en) * 2000-12-06 2005-11-01 Microsoft Corporation Multimedia processing system parsing multimedia content from a single source to minimize instances of source files
US7287226B2 (en) 2000-12-06 2007-10-23 Microsoft Corporation Methods and systems for effecting video transitions represented by bitmaps
US6882891B2 (en) * 2000-12-06 2005-04-19 Microsoft Corporation Methods and systems for mixing digital audio signals
US7447754B2 (en) 2000-12-06 2008-11-04 Microsoft Corporation Methods and systems for processing multi-media editing projects
US6912717B2 (en) 2000-12-06 2005-06-28 Microsoft Corporation Methods and systems for implementing dynamic properties on objects that support only static properties
US6983466B2 (en) * 2000-12-06 2006-01-03 Microsoft Corporation Multimedia project processing systems and multimedia project processing matrix systems
US6959438B2 (en) * 2000-12-06 2005-10-25 Microsoft Corporation Interface and related methods for dynamically generating a filter graph in a development system
US6768499B2 (en) * 2000-12-06 2004-07-27 Microsoft Corporation Methods and systems for processing media content
US7103677B2 (en) 2000-12-06 2006-09-05 Microsoft Corporation Methods and systems for efficiently processing compressed and uncompressed media content
US6774919B2 (en) * 2000-12-06 2004-08-10 Microsoft Corporation Interface and related methods for reducing source accesses in a development system
US7114161B2 (en) * 2000-12-06 2006-09-26 Microsoft Corporation System and related methods for reducing memory requirements of a media processing system
US7818435B1 (en) * 2000-12-14 2010-10-19 Fusionone, Inc. Reverse proxy mechanism for retrieving electronic content associated with a local network
US6983318B2 (en) * 2001-01-22 2006-01-03 International Business Machines Corporation Cache management method and system for storing dynamic contents
US7107336B2 (en) * 2001-02-23 2006-09-12 International Business Machines Corporation Method and apparatus for enhanced server page execution
US8615566B1 (en) 2001-03-23 2013-12-24 Synchronoss Technologies, Inc. Apparatus and method for operational support of remote network systems
CA2342578A1 (en) * 2001-03-29 2002-09-29 Ibm Canada Limited-Ibm Canada Limitee Method and apparatus for security of a network server
US6931598B2 (en) * 2001-03-30 2005-08-16 Intel Corporation Dynamic web list display
US7398271B1 (en) * 2001-04-16 2008-07-08 Yahoo! Inc. Using network traffic logs for search enhancement
US7000008B2 (en) * 2001-04-16 2006-02-14 Sun Microsystems, Inc. Method, system, and program for providing data updates to a page including multiple regions of dynamic content
US6748386B1 (en) * 2001-04-24 2004-06-08 Nec Corporation System and method for automated construction of URL, cookie, and database query mapping
US6925515B2 (en) * 2001-05-07 2005-08-02 International Business Machines Corporation Producer/consumer locking system for efficient replication of file data
US6813633B2 (en) * 2001-06-19 2004-11-02 Foedero Technologies, Inc. Dynamic multi-level cache manager
JP2003006419A (ja) * 2001-06-22 2003-01-10 Seiko Epson Corp ネットワーク用情報管理システムおよび情報管理方法
US20030004998A1 (en) * 2001-06-29 2003-01-02 Chutney Technologies, Inc. Proxy-based acceleration of dynamically generated content
US6981029B1 (en) 2001-07-17 2005-12-27 Cisco Technology, Inc. System and method for processing a request for information in a network
US7054416B2 (en) * 2001-09-24 2006-05-30 Meyerson Robert F Modular multi-media communication management system
AUPR796701A0 (en) * 2001-09-27 2001-10-25 Plugged In Communications Pty Ltd Database query system and method
US6892277B1 (en) * 2001-09-28 2005-05-10 Lsi Logic Corporation System and method for optimizing remote data content distribution
US6708179B1 (en) * 2001-09-28 2004-03-16 Oracle International Corporation Incremental refresh of materialized views for many-to-many relationships
US6996694B1 (en) * 2001-10-24 2006-02-07 Oracle International Corporation Basing computer memory allocation for aggregate data types on data separate from a type definition
JP2003150594A (ja) * 2001-11-12 2003-05-23 Hitachi Ltd データウェアハウスシステム
US6769048B2 (en) * 2001-12-06 2004-07-27 Sun Microsystems, Inc. Cache synchronization method, system and apparatus for a distributed application and an object located in a client cache
US20030115346A1 (en) * 2001-12-13 2003-06-19 Mchenry Stephen T. Multi-proxy network edge cache system and methods
JP2003223378A (ja) * 2002-01-29 2003-08-08 Fujitsu Ltd コンテンツデリバリネットワークサービス方法及びシステム
US6826602B1 (en) * 2002-09-12 2004-11-30 Bellsouth Intellectual Property Corporation System and method for reverse content distribution
US6909721B2 (en) 2002-10-31 2005-06-21 Nokia Corporation Device detection and service discovery system and method for a mobile ad hoc communications network
WO2004046854A2 (en) * 2002-11-15 2004-06-03 Erick Von Schweber A method and apparatus for information surveying
JP4282312B2 (ja) * 2002-11-27 2009-06-17 富士通株式会社 Webサーバ、Javaサーブレットの機能を有するWebサーバ、およびコンピュータプログラム
US20040109011A1 (en) * 2002-12-10 2004-06-10 International Business Machines Corporation Method, apparatus, and program for automatic client side refresh of advanced web pages
US7188216B1 (en) 2002-12-13 2007-03-06 Vignette Corporation Method and system for an extensible caching framework
US8312222B1 (en) * 2002-12-13 2012-11-13 Open Text, S.A. Event-driven regeneration of pages for web-based applications
US8463998B1 (en) 2002-12-13 2013-06-11 Open Text S.A. System and method for managing page variations in a page delivery cache
US7860820B1 (en) 2005-05-31 2010-12-28 Vignette Software, LLC System using content generator for dynamically regenerating one or more fragments of web page based on notification of content change
US8380932B1 (en) 2002-12-13 2013-02-19 Open Text S.A. Contextual regeneration of pages for web-based applications
US7360025B1 (en) * 2002-12-13 2008-04-15 O'connell Conleth Method and system for automatic cache management
US8924411B2 (en) 2005-05-31 2014-12-30 Open Text S.A. System and method for the dynamic provisioning of static content
US7818506B1 (en) * 2002-12-13 2010-10-19 Vignette Software Llc Method and system for cache management
US7624173B2 (en) * 2003-02-10 2009-11-24 International Business Machines Corporation Method and system for classifying content and prioritizing web site content issues
US20040162822A1 (en) * 2003-02-13 2004-08-19 Khachatur Papanyan Method and apparatus for converting in-line database queries to stored procedures
US7814413B2 (en) * 2003-04-17 2010-10-12 Oracle International Corporation System and method for controlling web pages
US7917483B2 (en) * 2003-04-24 2011-03-29 Affini, Inc. Search engine and method with improved relevancy, scope, and timeliness
US20040230744A1 (en) * 2003-05-17 2004-11-18 Teh Jin Teik Cache content protocol for a content data delivery system
US7765196B2 (en) * 2003-06-23 2010-07-27 Dell Products L.P. Method and apparatus for web cache using database triggers
US7624126B2 (en) * 2003-06-25 2009-11-24 Microsoft Corporation Registering for and retrieving database table change information that can be used to invalidate cache entries
EP1652048A4 (en) 2003-07-21 2009-04-15 Fusionone Inc ORDERING NEWS MANAGEMENT SYSTEM
US8238696B2 (en) 2003-08-21 2012-08-07 Microsoft Corporation Systems and methods for the implementation of a digital images schema for organizing units of information manageable by a hardware/software interface system
US8131739B2 (en) 2003-08-21 2012-03-06 Microsoft Corporation Systems and methods for interfacing application programs with an item-based storage platform
US8166101B2 (en) 2003-08-21 2012-04-24 Microsoft Corporation Systems and methods for the implementation of a synchronization schemas for units of information manageable by a hardware/software interface system
US7590643B2 (en) * 2003-08-21 2009-09-15 Microsoft Corporation Systems and methods for extensions and inheritance for units of information manageable by a hardware/software interface system
US20050058109A1 (en) * 2003-09-16 2005-03-17 Jan-Erik Ekberg Mechanism for improving connection control in peer-to-peer ad-hoc networks
US7313120B2 (en) * 2003-09-16 2007-12-25 Nokia Corporation Application control in peer-to-peer ad-hoc communication networks
US7545941B2 (en) * 2003-09-16 2009-06-09 Nokia Corporation Method of initializing and using a security association for middleware based on physical proximity
US7978716B2 (en) 2003-11-24 2011-07-12 Citrix Systems, Inc. Systems and methods for providing a VPN solution
US7222117B1 (en) 2003-11-14 2007-05-22 Advent Software, Inc. Segmented global area database
US7509413B2 (en) * 2003-11-24 2009-03-24 International Business Machines Corporation Tool for displaying JMX monitoring information
US7433950B2 (en) * 2003-12-04 2008-10-07 International Business Machines Corporation Method and mechanism to multiplex multiple application server requests over a single database connection
US7421562B2 (en) * 2004-03-01 2008-09-02 Sybase, Inc. Database system providing methodology for extended memory support
US7451194B2 (en) * 2004-03-04 2008-11-11 International Business Machines Corporation Timely update of information displayed within a portal
US7263345B2 (en) * 2004-03-17 2007-08-28 Nokia Corporation System and method for remote service information
US20050210121A1 (en) * 2004-03-22 2005-09-22 Qualcomm Incorporated Satellite anticipatory bandwith acceleration
US9542076B1 (en) 2004-05-12 2017-01-10 Synchronoss Technologies, Inc. System for and method of updating a personal profile
US8495305B2 (en) * 2004-06-30 2013-07-23 Citrix Systems, Inc. Method and device for performing caching of dynamically generated objects in a data communication network
US7757074B2 (en) 2004-06-30 2010-07-13 Citrix Application Networking, Llc System and method for establishing a virtual private network
US8739274B2 (en) * 2004-06-30 2014-05-27 Citrix Systems, Inc. Method and device for performing integrated caching in a data communication network
WO2006012610A2 (en) 2004-07-23 2006-02-02 Citrix Systems, Inc. Systems and methods for optimizing communications between network nodes
WO2006012612A1 (en) 2004-07-23 2006-02-02 Citrix Systems, Inc. A method and systems for securing remote access to private networks
US7693840B1 (en) * 2004-07-30 2010-04-06 Sprint Communications Company L.P. Method and system for distribution of common elements
US7836076B2 (en) * 2004-08-20 2010-11-16 Hewlett-Packard Development Company, L.P. Distributing content indices
US8706877B2 (en) 2004-12-30 2014-04-22 Citrix Systems, Inc. Systems and methods for providing client-side dynamic redirection to bypass an intermediary
US8954595B2 (en) 2004-12-30 2015-02-10 Citrix Systems, Inc. Systems and methods for providing client-side accelerated access to remote applications via TCP buffering
US8549149B2 (en) 2004-12-30 2013-10-01 Citrix Systems, Inc. Systems and methods for providing client-side accelerated access to remote applications via TCP multiplexing
US7810089B2 (en) * 2004-12-30 2010-10-05 Citrix Systems, Inc. Systems and methods for automatic installation and execution of a client-side acceleration program
US8700695B2 (en) 2004-12-30 2014-04-15 Citrix Systems, Inc. Systems and methods for providing client-side accelerated access to remote applications via TCP pooling
US8255456B2 (en) 2005-12-30 2012-08-28 Citrix Systems, Inc. System and method for performing flash caching of dynamically generated objects in a data communication network
KR20070104566A (ko) * 2005-01-24 2007-10-26 사이트릭스 시스템스, 인크. 네트워크에서 동적으로 발생된 객체들의 캐싱을 수행하는시스템 및 방법
US7805422B2 (en) * 2005-02-28 2010-09-28 Microsoft Corporation Change notification query multiplexing
US7697894B2 (en) * 2005-03-01 2010-04-13 Nokia Corporation Method and system for tactile confirmation of service bookmarks
US7359674B2 (en) * 2005-05-10 2008-04-15 Nokia Corporation Content distribution & communication system for enhancing service distribution in short range radio environment
US9407608B2 (en) 2005-05-26 2016-08-02 Citrix Systems, Inc. Systems and methods for enhanced client side policy
US7756826B2 (en) 2006-06-30 2010-07-13 Citrix Systems, Inc. Method and systems for efficient delivery of previously stored content
US9621666B2 (en) 2005-05-26 2017-04-11 Citrix Systems, Inc. Systems and methods for enhanced delta compression
US7552117B2 (en) * 2005-05-26 2009-06-23 International Business Machines Corporation Using ontological relationships in a computer database
US8943304B2 (en) 2006-08-03 2015-01-27 Citrix Systems, Inc. Systems and methods for using an HTTP-aware client agent
US9692725B2 (en) 2005-05-26 2017-06-27 Citrix Systems, Inc. Systems and methods for using an HTTP-aware client agent
US20060268896A1 (en) * 2005-05-31 2006-11-30 Sakari Kotola System and method for services functionality
US20070005579A1 (en) * 2005-07-01 2007-01-04 Microsoft Corporation Query based synchronization
US20070067569A1 (en) * 2005-09-21 2007-03-22 Cisco Technology, Inc. Method and system for communicating validation information to a web cache
US7921184B2 (en) 2005-12-30 2011-04-05 Citrix Systems, Inc. System and method for performing flash crowd caching of dynamically generated objects in a data communication network
US8301839B2 (en) 2005-12-30 2012-10-30 Citrix Systems, Inc. System and method for performing granular invalidation of cached dynamically generated objects in a data communication network
US8122365B2 (en) * 2006-02-23 2012-02-21 Infosys Technologies, Ltd. System and method for dynamic creation and customization of a user interface in a web service environment
US20070203973A1 (en) * 2006-02-28 2007-08-30 Microsoft Corporation Fuzzing Requests And Responses Using A Proxy
JP4852326B2 (ja) * 2006-03-09 2012-01-11 株式会社野村総合研究所 サーバ装置
US20080059544A1 (en) * 2006-06-09 2008-03-06 Rick Rahim System and method for providing secure third party website histories
US7478118B2 (en) * 2006-06-29 2009-01-13 Research In Motion Limited Method and apparatus for synchronizing of databases connected by wireless interface
US8498961B2 (en) * 2006-07-13 2013-07-30 International Business Machines Corporation On-demand replication in a content management system
US7917507B2 (en) * 2007-02-12 2011-03-29 Microsoft Corporation Web data usage platform
US8429185B2 (en) 2007-02-12 2013-04-23 Microsoft Corporation Using structured data for online research
US20080155392A1 (en) * 2007-03-02 2008-06-26 Marengo Intellectual Property Ltd. Integrity Checker for Web Browser Document
US20080228864A1 (en) * 2007-03-12 2008-09-18 Robert Plamondon Systems and methods for prefetching non-cacheable content for compression history
US7809818B2 (en) * 2007-03-12 2010-10-05 Citrix Systems, Inc. Systems and method of using HTTP head command for prefetching
US7720936B2 (en) 2007-03-12 2010-05-18 Citrix Systems, Inc. Systems and methods of freshening and prefreshening a DNS cache
US8701010B2 (en) 2007-03-12 2014-04-15 Citrix Systems, Inc. Systems and methods of using the refresh button to determine freshness policy
US8037126B2 (en) 2007-03-12 2011-10-11 Citrix Systems, Inc. Systems and methods of dynamically checking freshness of cached objects based on link status
US8103783B2 (en) 2007-03-12 2012-01-24 Citrix Systems, Inc. Systems and methods of providing security and reliability to proxy caches
US7584294B2 (en) * 2007-03-12 2009-09-01 Citrix Systems, Inc. Systems and methods for prefetching objects for caching using QOS
US8074028B2 (en) 2007-03-12 2011-12-06 Citrix Systems, Inc. Systems and methods of providing a multi-tier cache
US8504775B2 (en) 2007-03-12 2013-08-06 Citrix Systems, Inc Systems and methods of prefreshening cached objects based on user's current web page
US7783757B2 (en) 2007-03-12 2010-08-24 Citrix Systems, Inc. Systems and methods of revalidating cached objects in parallel with request for object
US8489740B2 (en) * 2007-05-18 2013-07-16 Red Hat, Inc. Method and an apparatus to generate message authentication codes at a proxy server for validating a web session
US8452882B2 (en) * 2007-05-18 2013-05-28 Red Hat, Inc. Method and an apparatus to validate a web session in a proxy server
US8290986B2 (en) * 2007-06-27 2012-10-16 Yahoo! Inc. Determining quality measures for web objects based on searcher behavior
US7925694B2 (en) 2007-10-19 2011-04-12 Citrix Systems, Inc. Systems and methods for managing cookies via HTTP content layer
US20090132954A1 (en) * 2007-11-20 2009-05-21 Honeywell International Inc. Apparatus and method for isolating problems in content loaded into a human-machine interface application
US8181111B1 (en) 2007-12-31 2012-05-15 Synchronoss Technologies, Inc. System and method for providing social context to digital activity
US20090182707A1 (en) * 2008-01-10 2009-07-16 Dbix Corporation Database changeset management system and method
WO2009094657A1 (en) 2008-01-26 2009-07-30 Citrix Systems, Inc. Systems and methods for fine grain policy driven cookie proxying
US9418094B2 (en) * 2008-02-13 2016-08-16 Oracle International Corporation Method and apparatus for performing multi-stage table updates
US8180854B2 (en) * 2008-05-29 2012-05-15 Red Hat, Inc. Aspect services
US7881304B2 (en) * 2008-05-29 2011-02-01 Red Hat, Inc. Using distributed aspects to reorder online application workflows
US8103607B2 (en) * 2008-05-29 2012-01-24 Red Hat, Inc. System comprising a proxy server including a rules engine, a remote application server, and an aspect server for executing aspect services remotely
US8312384B2 (en) * 2008-06-11 2012-11-13 Honeywell International Inc. Apparatus and method for fault-tolerant presentation of multiple graphical displays in a process control system
US8244608B2 (en) * 2008-07-28 2012-08-14 Autodesk, Inc. Takeoff list palette for guiding semi-automatic quantity takeoff from computer aided design drawings
US8041893B1 (en) 2008-09-09 2011-10-18 Vignette Software Llc System and method for managing large filesystem-based caches
GB2465773A (en) * 2008-11-27 2010-06-02 Symbian Software Ltd Data Storage and Access
US8380930B2 (en) * 2009-01-06 2013-02-19 Disney Enterprises, Inc. Refreshing cached data based on content identifier map
US8458217B1 (en) 2009-08-24 2013-06-04 Advent Software, Inc. Instantly built information space (IBIS)
US8543608B2 (en) * 2009-09-10 2013-09-24 Oracle International Corporation Handling of expired web pages
US20110099185A1 (en) * 2009-10-28 2011-04-28 Yahoo! Inc. System for Querying and Consuming Web-Based Data and Associated Methods
US8407238B2 (en) * 2009-10-28 2013-03-26 Yahoo! Inc. System and methods for enabling arbitrary developer code consumption of web-based data
US8255006B1 (en) 2009-11-10 2012-08-28 Fusionone, Inc. Event dependent notification system and method
US8745639B2 (en) * 2009-12-31 2014-06-03 Cbs Interactive Inc. Controller and method to build a combined web page using data retrieved from multiple APIS
US20110302186A1 (en) * 2010-06-04 2011-12-08 Miguel Angel Pallares Lopez Method and Apparatus for Query Reformulation with Latency Preservation
US8898181B2 (en) * 2010-06-22 2014-11-25 Microsoft Corporation Subscription for integrating external data from external system
US8943428B2 (en) 2010-11-01 2015-01-27 Synchronoss Technologies, Inc. System for and method of field mapping
WO2012059816A2 (en) * 2010-11-04 2012-05-10 Conprox Ab Method and apparatus for handling digital objects in a communication network
US9600350B2 (en) * 2011-06-16 2017-03-21 Vmware, Inc. Delivery of a user interface using hypertext transfer protocol
US8510807B1 (en) 2011-08-16 2013-08-13 Edgecast Networks, Inc. Real-time granular statistical reporting for distributed platforms
US9549045B2 (en) 2011-08-29 2017-01-17 Vmware, Inc. Sharing remote sessions of a user interface and/or graphics of a computer
US9514242B2 (en) 2011-08-29 2016-12-06 Vmware, Inc. Presenting dynamically changing images in a limited rendering environment
US8769350B1 (en) 2011-09-20 2014-07-01 Advent Software, Inc. Multi-writer in-memory non-copying database (MIND) system and method
US8635229B2 (en) * 2011-10-18 2014-01-21 International Business Machines Corporation Sequenced query processing in data processing system
US8655873B2 (en) * 2011-10-28 2014-02-18 Geofeedr, Inc. System and method for aggregating and distributing geotagged content
US8332349B1 (en) 2012-01-06 2012-12-11 Advent Software, Inc. Asynchronous acid event-driven data processing using audit trail tools for transaction systems
US10984337B2 (en) * 2012-02-29 2021-04-20 Microsoft Technology Licensing, Llc Context-based search query formation
US10776383B2 (en) * 2012-05-31 2020-09-15 International Business Machines Corporation Automatic replication of ambiguous data based on a point system
US8825635B2 (en) * 2012-08-10 2014-09-02 Microsoft Corporation Automatic verification of data sources
US9122766B2 (en) 2012-09-06 2015-09-01 Microsoft Technology Licensing, Llc Replacement time based caching for providing server-hosted content
US9756109B2 (en) * 2012-11-12 2017-09-05 Webgines Communications Inc Architecture, system and method for dynamically providing digital content via a reference image
US20140149392A1 (en) * 2012-11-28 2014-05-29 Microsoft Corporation Unified search result service and cache update
US8655983B1 (en) 2012-12-07 2014-02-18 Geofeedr, Inc. System and method for location monitoring based on organized geofeeds
US8639767B1 (en) 2012-12-07 2014-01-28 Geofeedr, Inc. System and method for generating and managing geofeed-based alerts
US8850531B1 (en) 2013-03-07 2014-09-30 Geofeedia, Inc. System and method for targeted messaging, workflow management, and digital rights management for geofeeds
US9307353B2 (en) 2013-03-07 2016-04-05 Geofeedia, Inc. System and method for differentially processing a location input for content providers that use different location input formats
US8612533B1 (en) 2013-03-07 2013-12-17 Geofeedr, Inc. System and method for creating and managing geofeeds
US8862589B2 (en) 2013-03-15 2014-10-14 Geofeedia, Inc. System and method for predicting a geographic origin of content and accuracy of geotags related to content obtained from social media and other content providers
US9811797B2 (en) * 2013-03-15 2017-11-07 Sap Se Transportation connection cache for dynamic network and route determination
US8849935B1 (en) 2013-03-15 2014-09-30 Geofeedia, Inc. Systems and method for generating three-dimensional geofeeds, orientation-based geofeeds, and geofeeds based on ambient conditions based on content provided by social media content providers
US9317600B2 (en) 2013-03-15 2016-04-19 Geofeedia, Inc. View of a physical space augmented with social media content originating from a geo-location of the physical space
US9910895B2 (en) * 2013-06-07 2018-03-06 Apple Inc. Push subscriptions
US8788703B1 (en) 2013-08-05 2014-07-22 Iboss, Inc. Content caching
US8972513B2 (en) 2013-08-05 2015-03-03 Iboss, Inc. Content caching
US8886671B1 (en) 2013-08-14 2014-11-11 Advent Software, Inc. Multi-tenant in-memory database (MUTED) system and method
CN104424314B (zh) * 2013-09-06 2019-06-11 Sap欧洲公司 对列状表数据库的数据库操作
US9760897B2 (en) * 2013-09-21 2017-09-12 Oracle International Corporation Method and system for defining an offlinable view/controller graph
KR101595797B1 (ko) * 2014-05-12 2016-02-22 네이버 주식회사 지도 서비스를 제공하기 위한 방법과 시스템, 그리고 기록 매체 및 파일 배포 시스템
US9690760B2 (en) 2014-05-15 2017-06-27 International Business Machines Corporation Bidirectional hyperlink synchronization for managing hypertexts in social media and public data repository
EP3796665A1 (en) * 2014-05-22 2021-03-24 Sony Corporation Reception apparatus, reception method, transmission apparatus, and transmission method
RU2608668C2 (ru) * 2014-07-30 2017-01-23 Общество С Ограниченной Ответственностью "Яндекс" Система и способ управления и организации кэша веб-браузера для обеспечения автономного просмотра
CN105786879A (zh) * 2014-12-22 2016-07-20 广州市动景计算机科技有限公司 隔离页面Cookie的方法及装置
US10313468B2 (en) 2015-06-16 2019-06-04 Comcast Cable Communications, Llc Caching of metadata objects
US9485318B1 (en) 2015-07-29 2016-11-01 Geofeedia, Inc. System and method for identifying influential social media and providing location-based alerts
CN106990975B (zh) * 2016-01-21 2021-07-23 斑马智行网络(香港)有限公司 一种应用热部署方法、装置和系统
US9591047B1 (en) * 2016-04-11 2017-03-07 Level 3 Communications, Llc Invalidation in a content delivery network (CDN)
US10489381B2 (en) * 2017-04-13 2019-11-26 Sap Se Adaptive metadata refreshing
US11650961B2 (en) * 2019-02-04 2023-05-16 Red Hat, Inc. Managing replica unavailability in a distributed file system
US11074315B2 (en) * 2019-07-02 2021-07-27 Bby Solutions, Inc. Edge cache static asset optimization
CN112861031B (zh) * 2019-11-27 2024-04-02 北京金山云网络技术有限公司 Cdn中url刷新方法、装置、设备以及cdn节点

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5951643A (en) * 1997-10-06 1999-09-14 Ncr Corporation Mechanism for dependably organizing and managing information for web synchronization and tracking among multiple browsers
US5951652A (en) * 1997-10-06 1999-09-14 Ncr Corporation Dependable data element synchronization mechanism
US6035332A (en) * 1997-10-06 2000-03-07 Ncr Corporation Method for monitoring user interactions with web pages from web server using data and command lists for maintaining information visited and issued by participants
US5954798A (en) * 1997-10-06 1999-09-21 Ncr Corporation Mechanism for dependably managing web synchronization and tracking operations among multiple browsers
US5941957A (en) * 1997-10-06 1999-08-24 Ncr Corporation Dependable web page synchronization mechanism
JP2000020385A (ja) * 1998-07-07 2000-01-21 Hitachi Ltd データ検索システムにおけるデータキャッシュ方法
CA2360891A1 (en) * 1999-01-28 2000-08-03 Webspective Software, Inc Web server content replication
US6490575B1 (en) * 1999-12-06 2002-12-03 International Business Machines Corporation Distributed network search engine
US6591266B1 (en) * 2000-07-14 2003-07-08 Nec Corporation System and method for intelligent caching and refresh of dynamically generated and static web content

Also Published As

Publication number Publication date
US6591266B1 (en) 2003-07-08
JP2002032261A (ja) 2002-01-31

Similar Documents

Publication Publication Date Title
JP3620448B2 (ja) 動的に作られかつ静的であるウェブコンテントの知的キャッシュとリフレッシュのためのシステムと方法
EP1581886B1 (en) A transparent edge-of-network data cache
US7228318B2 (en) System and methods for invalidation to enable caching of dynamically generated content
JP4593793B2 (ja) 問合せ可能なダイナミック・キャッシュを有するウェブサーバ
US6832222B1 (en) Technique for ensuring authorized access to the content of dynamic web pages stored in a system cache
US10296629B2 (en) Server supporting a consistent client-side cache
Pitoura et al. Scalable processing of read-only transactions in broadcast push
US9697253B2 (en) Consistent client-side cache
US6424966B1 (en) Synchronizing crawler with notification source
Deshpande et al. Cache-and-query for wide area sensor databases
US7343412B1 (en) Method for maintaining and managing dynamic web pages stored in a system cache and referenced objects cached in other data stores
WO2001040949A1 (en) Dynamic caches with miss tables
KR20040005816A (ko) 캐싱된 웹 콘텐츠의 풍부한 웹 서버 활동 데이터 수집
CN111581232B (zh) 一种基于elk的慢sql实时分析方法及系统
Liu et al. Information monitoring on the web: a scalable solution
CN113490933A (zh) 分布式数据处理
Pandrangi WebVigiL: Adaptive fetching and user-profile-based change detection of HTML pages
CA2249059C (en) Caching of distributed dynamic sql statements in a multiple node rdbms
Ramanath et al. DIASPORA: A highly distributed web-query processing system
Haritsa The Web is the database
Chakravarthy WEBVIGIL: ADAPTIVE FETCHING AND USER-PROFILE BASED CHANGE DETECTION OF HTML PAGES
Hsiung et al. Issues and Evaluations of Caching Solutions for VVeb Application Acceleration
Myllymaki et al. Database Support for Web Service Caching
Krishnamurthy et al. Change Management in Web Database Systems
Tolle Enabling Wireless Context Sources

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040615

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040816

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20041108

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20071126

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20081126

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20081126

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20091126

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20091126

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20101126

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20111126

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20111126

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20121126

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20121126

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20131126

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees