JP2005507120A - ビーン・キャッシュをフラッシュするためのシステムおよび方法 - Google Patents
ビーン・キャッシュをフラッシュするためのシステムおよび方法 Download PDFInfo
- Publication number
- JP2005507120A JP2005507120A JP2003538936A JP2003538936A JP2005507120A JP 2005507120 A JP2005507120 A JP 2005507120A JP 2003538936 A JP2003538936 A JP 2003538936A JP 2003538936 A JP2003538936 A JP 2003538936A JP 2005507120 A JP2005507120 A JP 2005507120A
- Authority
- JP
- Japan
- Prior art keywords
- read
- bean
- data item
- server
- copy
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07F—COIN-FREED OR LIKE APPARATUS
- G07F19/00—Complete banking systems; Coded card-freed arrangements adapted for dispensing or receiving monies or the like and posting such transactions to existing accounts, e.g. automatic teller machines
- G07F19/20—Automatic teller machines [ATMs]
- G07F19/201—Accessories of ATMs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2308—Concurrency control
- G06F16/2315—Optimistic concurrency control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9574—Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/04—Payment circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/389—Keeping log of transactions for guaranteeing non-repudiation of a transaction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
- H04L67/5682—Policies or rules for updating, deleting or replacing the stored data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99938—Concurrency, e.g. lock management in shared database
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
Abstract
Description
【0001】
優先権の主張
本出願は、ここに含まれている以下の出願に基づき優先権を主張する:
米国特許仮出願第60/335,633号、2001年10月25日出願、Dean Bernard JacobsおよびRob Woollenによる“ビーン・キャッシュをフラッシュするためのシステムおよび方法”。
米国特許出願第10/212,382号、2002年8月5日出願、Dean Bernard Jacobs、Rob WoollenおよびSeth Whiteによる“ビーン・キャッシュをフラッシュするためのシステムおよび方法”。
【0002】
著作権の通知
本特許明細書の開示の一部は、著作権保護を受ける資料を含んでいる。著作権所有者は、特許の開示の特許明細書の、いかなる者による複製にも異議を申し立てない。それは、特許商標局の特許ファイルまたは記録において見られるからであるが、そうでなければ、すべての著作権を保有する。
【0003】
相互参照出願
以下の出願は、相互に参照され、また参考文献としてここに含まれる:
米国特許仮出願第60/305,986号、Dean Bernard Jacobs,Reto Kramer,およびAnanthan Bala Srinvasanによる、2001年7月16日出願、“データ複製プロトコル”。
米国特許仮出願第60/316,187号,Dean Bernard JacobsおよびRob Woollenによる、2001年8月30日出願、“同時チェックを伴うクラスタ・キャッシング”。
【0004】
本発明は、一般的にネットワーク上にデータを記憶するためのシステムおよび方法に関する。
【背景技術】
【0005】
データ項目が、ネットワークを介してアクセスできる単一のデータベースまたはデータ記憶装置に記憶される場合、複数のサーバまたはクライアントが、そのデータ項目(item)へのアクセスを要求することがしばしばある。従来、これは、データ項目がアクセスされるたびに、データベースへのヒットを必要とする。データベースへの各ヒットは、比較的にリソース集約的であり、かつ比較的に効率的ではない。
効率性およびスケーラビリティ(拡張性)の問題の一部を克服する一つの方法は、キャッシュ・メモリにデータ項目のローカル・コピーを記憶することである。サーバまたはクライアントは、該データ項目へのアクセスが将来必要になった場合、該ローカル・コピーを使用することができる。この処理は、決して変わることのないデータ項目には適切であり、および効率的であるかもしれないが、データ項目がデータベースにおいて更新されるときに問題が生じうる。
データベースにおけるデータ項目が更新される場合、ネットワーク上のローカル・キャッシュに記憶されている該データ項目のコピーは、データベースにおける項目とは異なる。該キャッシュは自動的には更新を受信しないからである。ネットワーク上の複数のサーバおよび/またはクライアントにローカル・コピーがある場合、問題は大きくなる。これらのローカル・コピーの各々は異なる時間に作成されるので、ネットワーク上に複数のバージョンのデータ項目が存在しうる。ユーザが、データ項目を更新し、または見ようとすると、ユーザによってアクセスされたコピーは最新のものではないかもしれないし、また正しくないかもしれない。
【0006】
データ待ち(レイテンシー)に関するそのような問題は、リアルタイムに近い正確さを必要とするアプリケーション、例えば“リアルタイム”株価を提供するウェブ・サイトでは深刻な問題を生じうる。そのようなアプリケーションは、テーブルに関する一次キーとして使用されうる株銘柄記号を含む1のコラムと、各株銘柄の最新の価格を含む1のコラムである、少なくとも2のコラムを有するデータベース・テーブルを利用してもよい。そのようなアプリケーションにおいては、アクティビティのほとんどは、ユーザが該サイトにアクセスして、最新の株価を読み取ることを含む。通常は、定期的に、例えば毎分1回、更新された株価とともに利用されるバック・エンド・アプリケーションまたはシステムを含むアクティビティも存在する。これらのバック・エンド・システムは、データを更新するために、データベースへの読み取り/書き込みアクセスを必要とする。
システムへのアクセスのほとんどは読み取り専用である。これら読み取り専用ユーザに関しては、該システムはより迅速なアクセスを提供するためにデータをキャッシュすることができる。該システムは定期的に、例えば15分ごとにキャッシュされた情報を更新することができる。しかしながら、そのような“ほとんどが読み取り(read-mostly)”である状況では、ユーザに、最も新しいデータを提供することが好ましい場合がある。正確な情報を提供する際の15分の遅れは、多くのアプリケーションには望ましくないかもしれない。通常、できるだけ正確な情報をユーザに提供することが望ましい。
【0007】
ユーザが正確な情報、または少なくとも、データベースに記憶されたデータと同じ新しさを持つ情報を必ず得るための一つの方法は、キャッシュされたコピーを読み取る代わりに各リクエストのたびにデータベースから情報を引き出すことである。これは、多くのアプリケーションには大変高価なものになりうる。なぜなら、データベースへのヒットは、メモリから値を読み取るよりもずっと時間集中的でリソース集中的だからである。
データベースのデータを更新する人々にとって、性能を向上させるために、できるだけ多くの更新をバッチ・トランザクションへまとめることが望ましいかもしれない。更新を単一のトランザクションにまとめることは、すべての更新が生じるか、または更新がまったく生じさせないいずれかの状態であることを確実にする。しかしながら、トランザクションにおいて更新された各項目に対してキャッシュされたコピーをどのように更新するかにおいて問題が生じる。
【発明の開示】
【課題を解決するための手段】
【0008】
ネットワーク・クラスタにおける少なくとも1のサーバにあるローカル・キャッシュに記憶されたデータ項目のコピーを更新するためのシステムおよび方法が含まれる。該クラスタにおけるサーバに記憶された読み取り/書き込みビーンに識別情報が供給される。該識別情報は、ローカル・キャッシュに読み取り専用ビーンおよびデータ項目のコピーを含むクラスタにおけるあらゆるサーバに関連している。読み取り専用ビーンは、データ項目のローカル・コピーへの読み取りアクセスを提供する。オリジナルのデータ項目はネットワーク・データベースに記憶され、および読み取り/書き込みビーンを用いて更新される。データ項目が、読み取り/書き込みビーンによって更新されると、無効リクエストが、読み取り/書き込みビーンを含むサーバからクラスタ全体へ送信されまたはマルチキャストされことができ、またはデータ項目のローカル・コピーを有する識別情報によって識別されるあらゆるサーバまたは読み取り専用ビーンへと送信されることができる。データ項目のあらゆるローカル・コピーは、リクエストに応じて廃棄することができる。データ項目の最新のコピーはデータベースから読み取ることができ、またローカル・キャッシュに記憶することができる。
【発明を実施するための最良の形態】
【0009】
ネットワークに分散された項目の間の一貫性を維持するために、本発明に従ったシステムは、ビーン、すなわちJavaBeans(Javaは登録商標)を利用することができる。ビーンは基本的には、機能を拡張するためにサーバに加えることができるコンポーネントのためのフレームワークである。一つの実施形態は、2種類のビーン、すなわち“読み取り専用”エンティティ・ビーンおよび“読み取り/書き込み”エンティティ・ビーンを利用する。エンティティ・ビーンとは、持続的で、共有アクセスを可能にし、一次キーを持ち、および他のエンティティ・ビーンと関係することができるビーンである。各エンティティ・ビーンは、関連のあるデータベースに基礎となるテーブルを有することができ、ビーンの各インスタンスは該テーブルの列に対応している。
読み取り専用ビーンとは、サーバ上でキャッシュされることができるビーン、例えばネットワーク・クラスタに存在するエンタープライズJavaBeanである。読み取り専用ビーンは、クラスタの内外のあらゆるクライアントと同様に、クラスタのあらゆるサーバへの読み取りアクセスを提供することができる。読み取り/書き込みビーンは、トランザクショナルであり、クラスタのサーバ上に存在し、およびネットワーク・データベースへの読み取り/書き込みアクセスをクラスタ・サーバに提供している。読み取り専用ビーンは、クラスタ・サーバ上のローカル・キャッシュにあるデータを取り扱う。読み取り/書き込みビーンは、データベースにある情報を取り扱う。
【0010】
キャッシュおよびデータベースにおける情報の同時並行性(concurrency)を解決するための一つの方法は、タイムアウト値を各読み取り専用エンティティ・ビーンと結び付けることである。例えば、読み取り専用ビーンは、10分のデフォルト・サイクルとともに活用することができる。10分の各期間が経過した後、読み取り専用ビーンはデータベースに戻り、最新の値を読み取る。このアプローチは、一定のアプリケーション、例えば、定期的な間隔で変化する値を伴う該アプリケーションなどには有効に作用しうる。
しかしながら、ほとんど変化しないデータを有するアプリケーションがあるかもしれない。このデータが変化した時に、ユーザはできるだけ早くその変化を知りたがるかもしれない。データはそれほど頻繁には変化しないので、リソースを保存するために、長い読み取りサイクル時間を設定することが魅力的である。しかしながら、これはデータに関する待ち時間問題を作り出すという望ましくない影響を持ちうる。なぜならば、データ更新において生じる遅延は、更新が生じるサイクルの中の時点に依存して、ほぼサイクル時間と同じ長さとなりうるからである。そのようなアプリケーションに関して、読み取り専用ユーザがアクセスすることができるデータは、データベースにおけるデータが更新された後、できるだけ早く更新されることが望ましい。
【0011】
本発明に従った一つのシステムは、読み取り専用ビーンによってさらされるインターフェースを供給する。該インターフェースによってユーザまたはアプリケーションは、ユーザがデータ項目を更新したとき、または更新に気づいたときに、キャッシュを廃棄する、すなわちキャッシュを“無効にする”ことをシステムに命じることができる。このインターフェースは、エンティティ・ビーンが通常は“ホーム”またはそれを作り出すファクトリを有するために、“CachingHome”と呼ばれる。CachingHomeはそれに関する3の方法を持つことができ、以下のようにコード化されうる:
【0012】
メソッドinvalidate(Object pk)は、ユーザに、データベースまたはデータ・テーブルにおける特定の一次キーと関連付けられたデータを無効にさせる。メソッドinvalidate(Collection pks)は、ユーザに、キーの集まりまたはグループに関するデータを無効にさせる。メソッドinvalidateAll()はユーザに、データベース・テーブルにあるすべてのキーに関するデータを無効にさせる。これらの無効メソッドは、値がローカル・キャッシュに記憶されることを、プログラマ、アプリケーション、ユーザまたはシステムがそうでないことを言わないまで、ユーザに対して、保証することを可能にする。
そのような方法300が図5のフローチャートに示されている。データ項目のコピーは、ネットワーク・クラスタの少なくとも1のサーバに記憶される302。データ項目は、クラスタ・サーバの一つにある読み取り/書き込みビーンを用いてデータベースにおいて更新されうる304。無効リクエストは、サーバの一つにある読み取り専用ビーンのインターフェースを用いて開始することができ、該リクエストは、データ項目のローカル・コピーを含むあらゆるサーバに送られる306。データ項目のあらゆるコピーは、リクエストを受信するサーバから廃棄されることができる308。
【0013】
図1に示されているような、ネットワーク・クラスタ104を伴うシステム100において、データベース108に記憶された値122のコピーは、クラスタ104における各サーバ110、112、114でキャッシュされることが可能である。クライアント102がネットワーク106を通してサーバ110に接触し、例えばリクエスト“invalidate(Key)”を作ることによって、サーバ110が一定のキーを無効にすることを要求する場合、サーバ110にとっては、該キーに関連する値122または複数の値のキャッシュされたコピー116を廃棄することは容易である。しかしながら、サーバ112および114に、同様に、それらのキャッシュされたコピー118、120をどのように廃棄するか、に問題が存在する。
一つの実施形態はサーバ110に、図2に示されたように、クライアント102から無効リクエスト124を受信するときに、ローカル・キャッシュにおいてコピー116を廃棄させる。ローカル・メモリからコピー116を廃棄した後、サーバ110は、ローカル・キャッシュにある値のコピーを廃棄するために、他のサーバ118、120にマルチキャストでメッセージ126をまたはクラスタ104内で読み取り専用ビーンを送信することができる。マルチキャストは、1つのサーバ、または発信源から、不要なパケット複製をすることなく他のサーバへ情報のパケットまたはメッセージを送信するための技術であり、1つのパケットがソースから送信され、必要に応じてネットワークで複製される。このアプローチは各サーバに、データベースにおける値が更新されるときに、キャッシュされた値を廃棄させる。
【0014】
図6は、ネットワーク404との通信をする複数のクライアント402および複数のデータベース416を含む別のシステムを示す。データ項目418がデータベース416のうちの1に記憶される。データ項目のコピー420は、クラスタ408のクラスタ・サーバ406に記憶される。クラスタ412のクラスタ・サーバ422に記憶された2つのコピー422、及びどのサーバ・クラスタにも含まれていない、サーバ414上のコピー424がある。このシステムは、データ項目のコピー418を含むサーバ406、410、414のうちの1つが、それがクライアントから無効リクエストを受信するときにローカル・キャッシュにおけるコピーを廃棄することができ、またローカル・キャッシュにおける値のあらゆるコピーを廃棄するため、ネットワーク上の他のサーバにマルチキャストでメッセージを送信するという点で、図1および2に記載のシステムと同じように作動する。
マルチキャスト・メッセージは発信源によって一度しか送信されず、また他のサーバによる受信の確認を待たないという事実により、別の問題が存在する。クラスタにおけるサーバは、例えば一時的なオフラインの場合、無効リクエストを入手しないかもしれない。本発明に従ったシステムは、バージョン番号または連続番号でそのような各メッセージまたはリクエストにタグを付けることによって、より信頼できるマルチキャストを供給することができる。このように、リクエストを受信するサーバは、そのリクエストのバージョンとサーバが受信した前のリクエストのバージョンを知り、サーバがメッセージを逃したかどうかを知るようにする。サーバが、メッセージを逃したと決定すると、メッセージが、それに従って更新できるように再度送信されることを要求することができる。
【0015】
しかしながら、このアプローチの問題は、サーバが、別の更新が送信されるまで更新を怠ったことを知らない、ということである。あるアプリケーション、例えば第1,2、および3の週の、ウィークリー・スペシャルを知らせるオンライン店舗においては、正しい情報を入手するために、次の更新まで待つというのは認容できないかもしれない。該店舗は、第3週の更新まで、第2週のスペシャルを逃したことを気づかないだろう。第1週スペシャルは、第2週の間そのままであり、その時間の間にシステムにアクセスしているユーザに、誤った情報を表示する。システムが第2週の更新を怠ったことに気づくとき、すでに第3週になっている。サーバは結局、ユーザに表示されることなく、第2週の情報を単に廃棄して終わるだろう。
本発明に従ったシステムは、クラスタにおけるサーバに、定期的に情報を“ハートビートする”ことによって、この問題を避けることができる。サーバは、ネットワークまたはクラスタを介して定期的にメッセージを送信することによって、情報のパケットまたはメッセージをハートビートする。ハートビート・メッセージは、最新バージョン番号、前のバージョン番号などの情報、または更新情報が十分に小さく実用的である場合には、実際の更新情報そのものを含むことができる。サーバが、最新バージョン番号を含むハートビート・メッセージを受信し、かつサーバがそのバージョンのデータに基づいてはいなく、または最新の無効リクエストを受信しなかった場合、サーバは、サーバから無効メッセージを要求し、または引き出すことができる。
【0016】
マルチキャストおよび/またはハートビートを送信するサーバでもよい、最初に無効リクエストを送信する開始サーバは、一定の時間、最新のリクエストを記憶することができ、または一定数の最新のリクエストを記憶することができる。クラスタ・サーバが、開始サーバがまだ記憶している無効メッセージを要求する場合、開始サーバは、例えばマルチキャストやポイント・ツウ・ポイント接続などの方法によって、クラスタ・サーバに該メッセージを単純に送信することができる。開始サーバがもはやメッセージを持っていない場合、開始サーバが、クラスタ・サーバに、単純にそのキャッシュ全体を廃棄するように、命じることができるが、その理由は、どのキーが変わったのかをクラスタ・サーバに伝えることができないからである。クラスタ・サーバは、データベースから、新しいおよび/または最新の情報を読み取ることができる。これは一時的に性能を下げることがあるが、新しくキャッシュされた情報は、少なくともデータベースにある情報と同じくらい新しい。
動作上、クライアントまたはアプリケーションは、読み取り/書き込みエンティティ・ビーンを通してデータ項目を更新することができる。更新、すなわち複数の更新を含むトランザクションは、データベースへコミットする。無効メッセージは、クラスタにおけるサーバへと送信されることができ、該メッセージは、例えばデータ項目を更新するクライアントまたはサーバによって引き起こされる。クラスタ・サーバはそれぞれ、ローカル・キャッシュに中のあるあらゆるコピーを廃棄することができ、およびすぐに、後に、またはリクエストを出す必要があるときに、データベースから新しい値を読み取ることができる。通常は、コミットされていないデータを読み取ることはできないので、最初にデータがコミットされ、そしてメッセージがクラスタへマルチキャストされる2段階処理を用いるのが好ましいかもしれない。
【0017】
上述のアプローチに関する1つの問題は、無効リクエストをクライアントに強制的に開始させることであり、それは該クライアントとってさらにやや複雑なものを伴いうる。クライアントが、誤って無効方法を用いたり、間違いを犯す可能性もある。よって、システムはそれを自動的に行えることが好ましいかもしれない。
本発明に従ったシステムは、“無効ターゲット”を用いることによってこの問題を解決することができる。無効ターゲットは、読み取り専用および読み取り/書き込みビーンがデータベースにおける同じデータを指し、データを読み取る人は、読み取り専用ビーンを使用し、データを更新する人は読み取り/書き込みビーンを使用するという考えに基づいている。この考えとは、読み取り/書き込みビーンが更新され、または変更される時読み取り専用ビーンを無効にすることである。
【0018】
エンティティ・ビーンすなわちエンタープライズJavaBeanを配置するとき、通常は実際のエンティティ・ビーンに関するメタ・データを記憶するために使用される配置記述子がある。配置記述子は、例えば、クライアントが利用できなければならないビーンによって供給されるサービスに関する情報を供給するための使用されるXMLドキュメントでもよい。該情報は、クライアントに幅広い情報、例えばリクエスト・ルーティング情報を、Javaクラスを支持するための方法およびクラスの詳細と同様に供給することができる。以前に“無効ターゲット”と称された、配置記述子にタグを加えることができる。読み取り/書き込みビーンに関する無効ターゲットは、あらゆる関連する読み取り専用ビーンの識別性を含むことができる。
一つの実施形態において、サーバが読み取り/書き込みビーンから情報を要求するとき、または該リクエストが読み取り専用ビーンを生成するとき、無効ターゲットが更新されうる。読み取り/書き込みビーンがデータベースまたはデータ記憶装置からの情報を、要求サーバに転送するとき、読み取り/書き込みビーンは無効ターゲットも更新することができる。読み取り/書き込みビーンを含むサーバに記憶されたXMLファイルは、情報を要求する、またはビーンを生成するサーバの識別性を含むために更新されうる。
【0019】
図3はまた、図1に記載のシステム100を示しているが、この実施形態においては、システムが無効ターゲットを利用するように示されている点が異なる。読み取り/書き込みビーン128がデータ項目122を更新するために使用されるときはいつも、システムは読み取り/書き込みビーン128と関連する無効ターゲットに注意を向けることができ、および読み取り/書き込みビーンと関連する各読み取り専用ビーン130へと無効リクエストを送信することができる。無効リクエストは、サーバ110によって直接影響を受けることがあり、それは読み取り/書き込みビーン128および読み取り専用ビーン130の両方を含む。無効リクエストは、適切なプロトコルによって、読み取り専用ビーン130を含む他のサーバにも送られることができ、それは無効ターゲットの中にある。1つのアプローチにおいて、サーバ110は、ポイント・ツウ・ポイント接続134によって直接サーバ112と接触し、サーバ112上の読み取り専用ビーン130に、サーバ112上のキャッシュされたコピー118を廃棄するよう命じる。別のアプローチでは、サーバ110は、ネットワーク106を介して、例えばサーバ112など、無効ターゲットの範囲内の読み取り専用ビーン130を含むあらゆるサーバへとマルチキャスト・メッセージ132を送信することができる。
【0020】
無効化された読み取り専用ビーンへのその後の呼び出しは、ejbLoadなどのメソッドを呼び出させることができ、そのメソッドはデータベースからキャッシュへの最新の情報を読み取ることができる。例えば、コンテナ管理持続性(CMP)ビーン、すなわち状態が自動的にデータベースと同期するエンティティ・ビーンは、読み取り/書き込みビーンが変更されたときに無効にされるべき読み取り専用エンティティ・ビーンを特定するために、ejb-jar.xmlなどのXMLファイルにある無効ターゲット・エレメントを使用することができる。この実施例におけるコンテナは、例えばトランザクションが完了した後など、無効ターゲットを自動的に無効にすることができる。
そのような方法200が図4のフローチャートに示されている。データ項目のコピーは、ネットワーク・クラスタにおける少なくとも1のサーバに記憶される202。識別情報、すなわち無効ターゲットは、クラスタにおけるサーバ上の読み取り/書き込みビーンに供給され、該情報は、読み取り専用ビーンおよびデータ項目のローカル・コピーを含むクラスタにおけるあらゆるサーバに関連する204。データ項目は、読み取り/書き込みビーンを用いて、データベースにおいて更新されうる206。無効リクエストは、読み取り/書き込みビーンを含むサーバから、識別情報によって識別されるあらゆるサーバへと送信されうる208。データ項目のコピーはそれから、リクエストを受信する各サーバによって廃棄されうる210。
【0021】
このようにして、カスタマまたはクライアントは、項目を無効にするために追加のコードを書く必要が無い。本発明の実施形態に従って、無効ターゲットのみが、読み取り/書き込みおよび読み取り専用ビーンをコヒーレントに維持するために特定されなければならない。該ビーンは、同じサーバに共存することができ、読み取り専用ビーンが、ローカル・キャッシュから項目を読み取り、および読み取り/書き込みビーンは、データベースから読み取り、かつデータベースに書き込む。
性能を向上させるため、本発明に従ったシステムは、各更新のために個別のメッセージを送信する代わりに、更新全体のトランザクションまたは一連の更新がデータベースまたはデータ・テーブルにコミットされるまで待機することができる。サーバ、例えば更新を開始するサーバは、トランザクションの間にどのキーが更新されたかを追跡することができ、また更新されたすべての一次キーに関する情報を含む単一のメッセージをマルチキャストすることができる。そのようにメッセージをまとめることで、そのようなシステムの全体の性能を向上することができ、およびエラーや不一致の機会を低減することができる。
【0022】
本発明に従って使用されうるシステムの一つの実施形態は、各記号と関連する情報、例えば価格や量と同様に、株銘柄記号のテーブルを含む。Javaサーバ・ページは、ユーザに株価の最新価格を要求させるために使用されうる。Javaサーバ・ページは、読み取り専用エンティティ・エンタープライズJavaビーンから情報を読み取ることができる。Java Message Service(JMS)待ち行列は、株価の更新を伴うメッセージを受信することができる。メッセージ駆動型ビーンは、これらのメッセージを待機解除することができ、および関連するCMPエンティティ・ビーンを更新することができる。この変更が生じると、コンテナは、関連する読み取り専用ビーンを無効にすることができる。
本発明の好ましい実施形態の前述の説明は、例示と説明の目的で示されてきた。それは網羅的なものを意図しておらず、また本発明を、開示された詳細な形式に限定することを意図していない。多くの変更や変形が、通常の当業者には明らかである。実施形態は、本発明の原理およびその実践的応用を最も良く説明するために選択され、また説明されたのであり、それによって他の当業者が本発明の様々な実施形態について理解することができ、特定の使用に適した様々な変更が予期される。本発明の範囲は、以下の特許請求の範囲およびその均等物によって定めらされることが意図される。
【図面の簡単な説明】
【0023】
【図1】図1は、本発明に従った一つの実施形態に従ったシステムの図である。
【図2】図2は、図1の実施形態に従ったシステムの図である。
【図3】図3は、図1のシステムの代替的実施形態の図である。
【図4】図4は、本発明の一つの実施形態に従った方法のフローチャートである。
【図5】図5は、本発明の別の実施形態に従った方法のフローチャートである。
【図6】図6は、本発明に従った別の実施形態に従ったシステムの図である。
Claims (38)
- データベースにおいてデータ項目のキャッシュされたコピーを更新する方法であって:
サーバ上にデータ項目のコピーを記憶するステップであって、前記データ項目はデータベースに記憶されるステップと;
前記コピーへの読み取りアクセスを提供するための読み取り専用ビーンを生成し、および前記読み取り専用ビーンに関連する識別情報を記憶するステップと;
前記データベースにおける前記データ項目への読み取りおよび書き込みアクセスを提供するために読み取り/書き込みビーンを生成し、および前記読み取り/書き込みビーンを用いて前記データ項目を更新するステップと;および
前記データ項目のコピーを削除できるように、前記識別情報を用いて前記読み取り専用ビーンに無効リクエストを送信するステップと
を含む方法。 - データ項目のコピーを記憶することが、第1のサーバ上のキャッシュに前記コピーを記憶することであることを特徴とする、請求項1に記載の方法。
- 読み取り専用ビーンを生成することが、前記第1のサーバ上に前記読み取り専用ビーンを生成することであり;および
読み取り/書き込みビーンを生成することが、第2のサーバ上に前記読み取り/書き込みビーンを生成することである
ことを特徴とする、請求項2に記載の方法。 - 無効リクエストを送信することが、前記読み取り/書き込みビーンを含む前記第2のサーバから、前記読み取り専用ビーンを含む前記第1のサーバへ前記リクエストを送信することであることを特徴とする、請求項3に記載の方法。
- 読み取り専用ビーンを生成し、および識別情報を記憶することが、XMLドキュメントにおけるタグとして、前記識別情報を記憶することであることを特徴とする、請求項1に記載の方法。
- 前記読み取り専用ビーンに無効リクエストを送信することがさらに、前記識別情報によって識別される、前記データ項目のコピーを記憶するあらゆる読み取り専用ビーンに前記リクエストをマルチキャストすることを伴うことを特徴とする、請求項1に記載の方法。
- 前記読み取り専用ビーンに無効リクエストを送信することがさらに、クラスタのあらゆるメンバに前記リクエストをマルチキャストすることを伴い、前記サーバは前記クラスタのメンバであることを特徴とする、請求項1に記載の方法。
- 定期的に、前記無効リクエストを前記クラスタにマルチキャストすることをさらに含む、請求項7に記載の方法。
- 前記読み取り専用ビーンに無効リクエストを送信することが、ポイント・ツウ・ポイント接続によって生じることを特徴とする、請求項1に記載の方法。
- 無効リクエストを送信することは、バージョン番号を含むリクエストをマルチキャストすることを伴うことを特徴とする、請求項1に記載の方法。
- 前記無効リクエスト内にバージョン識別子を含むことをさらに含む、請求項1に記載の方法。
- 前記読み取り専用ビーンに関する無効リクエストを、前記バージョン識別子をチェックすることによって怠ったかどうかを決定し;および
前記読み取り専用ビーンが無効リクエストを怠った場合、無効メッセージが前記読み取り専用ビーンに再送信されることを要求すること
をさらに含む、請求項11に記載の方法。 - 最新の無効リクエストを記憶することをさらに含む、請求項1に記載の方法。
- 複数の更新に関する情報を収集し、および前記更新情報を一つの無効リクエストにまとめることをさらに含む、請求項1に記載の方法。
- データ項目のキャッシュされたコピーを更新するための方法であって:
クラスタにおけるサーバ上にデータ項目のコピーを記憶するステップであって、前記データ項目はネットワーク・データベースに記憶されるステップと;
前記ネットワーク・データベースにおいて前記データ項目を更新するステップと;
読み取り専用ビーンに無効リクエストを送信するステップであって、前記読み取り専用ビーンは、前記コピーへの読み取りアクセスを前記クラスタに提供するステップと;および
前記無効リクエストに応答して、前記サーバから前記データ項目のコピーを削除するステップと
を含む方法。 - データ項目のキャッシュされたコピーを更新するための方法であって:
データ項目のコピーを記憶することが、前記クラスタにおける第1のサーバ上に前記コピーを記憶することであって、前記読み取り専用ビーンは、第2のサーバ上に記憶されることを特徴とする方法。 - データ項目のキャッシュされたコピーを更新するための方法であって:
クラスタにおけるサーバ上にデータ項目のコピーを記憶するステップであって、前記データ項目は、クラスタ・データベースに記憶され、および状態を有するステップと;
前記サーバ上の読み取り専用ビーンを通して前記コピーへの読み取りアクセスを前記クラスタに提供するステップと;
前記読み取り専用ビーンに関してタイムアウト期間を設定するステップと;および
前記タイムアウト期間の終わりに前記クラスタ・データベースにおける前記データ項目の状態を読み取り、および前記データ項目のコピーを更新するステップと
を含む方法。 - クラスタにおいてデータ項目のキャッシュされたコピーを更新するためのシステムであって:
前記クラスタにおける第1のサーバ上の前記データ項目の第1のキャッシュされたコピーと;
前記第1のキャッシュされたコピーへの読み取りアクセスを許可する第1の読み取り専用ビーンと;
前記クラスタにおける第2のサーバ上の前記データ項目の第2のキャッシュされたコピーと;
前記第2のキャッシュされたコピーへの読み取りアクセスを許可する第2の読み取り専用ビーンと;および
前記データ項目への書き込みアクセスを許可する読み取り/書き込みビーンであって、前記読み取り/書き込みビーンは、前記データ項目を更新するときに、前記第1および第2の読み取り専用ビーンへ無効リクエストを送信するようにプログラムされている読み取り/書き込みビーンと
を含むシステム。 - 前記データ項目を含むように適応したデータベース
をさらに含む、請求項18に記載のシステム。 - 前記第1の読み取り専用ビーンは、前記データ項目の第1のキャッシュされたコピーが削除されるようにするインターフェースを有し;および
前記第2の読み取り専用ビーンは、前記データ項目の第2のキャッシュされたコピーが削除されるようにするインターフェースを有すること
を特徴とする、請求項18に記載のシステム。 - 前記第1および第2の読み取り専用ビーンの各々は、リクエストが受信されなかった場合に、前記無効リクエストの再送信を要求するように適応していることを特徴とする、請求項18に記載のシステム。
- 前記第1および第2の読み取り専用ビーンの各々は、前記無効リクエストの再送信が得られない場合、前記データ項目を読み取るように適応していることを特徴とする、請求項21に記載のシステム。
- 前記データ項目のコピーをキャッシュする前記クラスタにおける各読み取り専用ビーンの識別性を含む無効ターゲットをさらに含む、請求項18に記載のシステム。
- 前記無効ターゲットはさらに、前記読み取り/書き込みビーンの識別性を含むことを特徴とする、請求項23に記載のシステム。
- 前記読み取り/書き込みビーンは、前記データ項目のコピーをキャッシュする各読み取り専用ビーンへ無効リクエストを送信するために、前記無効ターゲットを検査するように適応していることを特徴とする、請求項23に記載のシステム。
- 前記第1および第2の読み取り専用ビーンの各々はさらに、無効リクエストを処理した後に、前記データ項目の新しいコピーを読み取るように適応していることを特徴とする、請求項18に記載のシステム。
- データ項目のキャッシュされたコピーを更新するためのシステムであって:
前記データ項目の第1のキャッシュされたコピーを含む第1のサーバであって、前記第1のキャッシュされたコピーへの読み取りアクセスを許可する第1の読み取り専用ビーンを含む第1のサーバと;および
前記データ項目の第2のキャッシュされたコピーを含む第2のサーバであって、前記第2のサーバは読み取り/書き込みビーンおよび第二の読み取り専用ビーンを含み、前記第2の読み取り専用ビーンは、前記第2のキャッシュされたコピーへの読み取りアクセスを許可し、前記読み取り/書き込みビーンは前記データ項目への書き込みアクセスを許可し、前記読み取り/書き込みビーンは、データ記憶媒体における前記データ項目を更新するときに、前記第1ならびに第2の読み取り専用ビーンへ無効リクエストを送信するように適応している第2のサーバと
を含むシステム。 - 前記第1の読み取り専用ビーンは、前記データ項目の第1のキャッシュされたコピーを削除するように適応しており、および前記第2の読み取り専用ビーンは、前記無効リクエストに応答して前記データ項目の第2のキャッシュされたコピーを削除するように適応していることを特徴とする、請求項27に記載のシステム。
- データ項目のキャッシュされたコピーを更新するためのシステムであって:
前記データ項目の第1のキャッシュされたコピーへの読み取りアクセスを許可する第1の読み取り専用ビーンと;
前記データ項目の第2のキャッシュされたコピーへの読み取りアクセスを許可する第2の読み取り専用ビーンと;および
前記データ項目への書き込みアクセスを許可する読み取り/書き込みビーンであって、前記読み取り/書き込みビーンが、前記データ項目を更新するときに、前記第1および第2の読み取り専用ビーンへ無効リクエストを送信するように適応している読み取り/書き込みビーンと
を含むシステム。 - データ項目のキャッシュされたコピーを更新するためのシステムであって:
前記データ項目の第1のキャッシュされたコピーを含む第1のサーバであって、前記第1のサーバは、読み取り/書き込みビーン、および前記第1のキャッシュされたコピーへの読み取りアクセスを許可する第1の読み取り専用ビーンを含み、前記読み取り/書き込みビーンは、前記データ項目への書き込みアクセスを許可し、および前記読み取り/書き込みビーンが前記データ項目を更新するときに前記第1の読み取り専用ビーンへ無効リクエストを送信するように適応している第1のサーバと;および
前記データ項目の第2のキャッシュされたコピーを含む第2のサーバであって、前記第2のサーバは前記第2のキャッシュされたコピーへの読み取りアクセスを許可する第2の読み取り専用ビーンを含み、前記第1の読み取り専用ビーンは、前記第2のキャッシュされたコピーを削除するように前記第2のサーバへリクエストを送信することができる、第2のサーバと
を含むシステム。 - データ項目のキャッシュされたコピーを更新するためのシステムであって:
前記データ項目の第1のキャッシュされたコピーを含む第1のサーバであって、前記第1のサーバは、読み取り/書き込みビーン、および第1の読み取り専用ビーンを含み、前記読み取り/書き込みビーンは、データ記憶媒体における前記データ項目への書き込みアクセスを許可し、前記第1の読み取り専用ビーンは、前記第1のキャッシュされたコピーへの読み取りアクセスを許可し、前記第1の読み取り専用ビーンは、どのくらい頻繁に前記第1のサーバが前記データ項目のキャッシュされたコピーを更新するかを特定するタイムアウト値を含む第1のサーバと;および
前記データ項目の第2のキャッシュされたコピーを含む第2のサーバであって、前記第2のサーバは前記第2のキャッシュされたコピーへの読み取りアクセスを許可する第2の読み取り専用ビーンを含み、前記第2の読み取り専用ビーンは、前記第1のサーバがどのくらい頻繁に前記データ項目のキャッシュされたコピーを更新するかを特定するタイムアウト値を含む第2のサーバと
を含むシステム。 - ネットワーク・クラスタにおいてデータ項目のキャッシュされたコピーを更新するためのシステムであって:
データ項目を含むデータベース・テーブルと;
前記ネットワーク・クラスタに要求をするように適応したクライアントと;
前記データ項目の第1のキャッシュされたコピーを含む前記ネットワーク・クラスタにおける第1のサーバであって、前記第1のキャッシュされたコピーへの読み取りアクセスを許可する読み取り専用エンティティ・ビーンを含む第1のサーバと;および
前記データ項目の第2のキャッシュされたコピーを含む前記ネットワーク・クラスタにおける第2のサーバであって、前記第2のサーバは、読み取り/書き込みエンティティ・ビーンおよび第2の読み取り専用エンティティ・ビーンを含み、前記第2の読み取り専用エンティティ・ビーンは、前記第2のキャッシュされたコピーへの読み取りアクセスを許可し、前記読み取り/書き込みビーンは、前記データベース・テーブルにおける前記データ項目への書き込みアクセスを許可し、かつ前記第1および第2の読み取り専用エンティティ・ビーンに関する識別情報を含み、前記読み取り/書き込みエンティティ・ビーンは、クライアントからのリクエストに応答して、前記データベース・テーブルにおける前記データ項目を更新するときに、前記第1および第2の読み取り専用エンティティ・ビーンへ無効リクエストを送信するように適応している第2のサーバと
を含むシステム。 - コンピュータ読み取り可能媒体であって:
サーバ上にデータ項目のコピーを記憶するための手段であって、前記データ項目はデータベースに記憶されている、手段と;
前記コピーへの読み取りアクセスを提供するために読み取り専用ビーンを生成し、および前記読み取り専用ビーンに関連する識別情報を記憶するための手段と;
前記データベースにおける前記データ項目への読み取りおよび書き込みアクセスを提供するための読み取り/書き込みビーンを生成し、および前記読み取り/書き込みビーンを用いて前記データ項目を更新するための手段と;および
前記データ項目のコピーを削除できるように、前記識別情報を用いて前記読み取り専用ビーンへ無効リクエストを送信するための手段と
を含むコンピュータ読み取り可能媒体。 - ネットワーク・クラスタにおけるデータ項目のキャッシュされたコピーに関する、サーバ・コンピュータによる実行のためのコンピュータ・プログラム製品であって:
サーバ上にデータ項目のコピーを記憶することができるコンピュータ・コードであって、前記データ項目はデータベースに記憶されているコンピュータ・コードと;
前記コピーへの読み取りアクセスを提供するために読み取り専用ビーンを生成することができ、および前記読み取り専用ビーンに関連する識別情報を記憶するコンピュータ・コードと;
前記データベースにおける前記データ項目への読み取りおよび書き込みアクセスを提供するために、読み取り/書き込みビーンを生成することができ、および前記読み取り/書き込みビーンを用いて前記データ項目を更新するコンピュータ・コードと;および
前記データ項目のコピーを削除できるように、前記識別情報を用いて前記読み取り専用ビーンへの無効リクエストを送信することができるコンピュータ・コードと
を含むコンピュータ・プログラム製品。 - ネットワーク上のデータ項目を更新するためのシステムであって:
サーバ上にデータ項目のコピーを記憶するための手段であって、前記データはデータベースに記憶される手段と;
前記コピーへの読み取りアクセスを提供するために読み取り専用ビーンを生成し、および前記読み取り専用ビーンに関連する識別情報を記憶するための手段と;
前記データベースにおける前記データ項目への読み取りならびに書き込みアクセスを提供するために、読み取り/書き込みビーンを生成し、および前記読み取り/書き込みビーンを用いて前記データ項目を更新するための手段と;および
前記データ項目のコピーを削除できるように、前記識別情報を用いて、前記読み取り専用ビーンへ無効リクエストを送信するための手段と
を含むシステム。 - コンピュータ・システムであって:
プロセッサと;
前記プロセッサによって実行されるオブジェクト・コードであって:
このオブジェクト・コードが、
サーバ上に、データベースに記憶されているデータ項目のコピーを記憶し;
前記コピーへの読み取りアクセスを提供するために読み取り専用ビーンを生成し、および前記読み取り専用ビーンに関連する識別情報を記憶し;
前記データベースにおける前記データ項目への読み取りならびに書き込みアクセスを提供するための読み取り/書き込みビーンを生成し、および前記読み取り/書き込みビーンを用いて前記データ項目を更新し;および
前記データ項目のコピーを削除できるように、前記識別情報を用いて、前記読み取り専用ビーンへの無効リクエストを送信するように構成されている前記オブジェクト・コードと
を含むコンピュータ・システム。 - サーバ・クラスタにおけるデータ項目を更新するためのシステムであって:
ネットワークを介して、リクエストをすることができるネットワーク・クライアントと;
データ項目を記憶し、およびネットワークを介して、前記データ項目へのアクセスを提供するためのネットワーク・データベースと;および
前記ネットワーク・クライアントから前記リクエストを受信し、および前記リクエストを処理するためのネットワーク・サーバであって、前記ネットワーク・サーバは、前記リクエストを処理する際に使用するために、前記データ項目のローカル・コピーを記憶し、前記ネットワーク・サーバは、読み取り/書き込みビーンおよび読み取り専用ビーンを含み、前記読み取り専用ビーンは、前記ローカル・コピーへの読み取りアクセスを許可し、前記読み取り/書き込みビーンは、前記ネットワーク・データベースにおける前記データ項目への書き込みアクセスを許可し、および前記読み取り専用ビーンに関する識別情報を含み、前記読み取り/書き込みビーンは、前記ネットワーク・データベースにおける前記データ項目を更新するときに、前記ネットワーク・サーバにおける前記読み取り専用ビーンおよび前記サーバ・クラスタにおけるあらゆる他のサーバにおけるあらゆる読み取り専用ビーンに無効リクエストを送信するように適応しているネットワーク・サーバと
を含むシステム。 - サーバ・クラスタにおけるデータ項目を更新するためのシステムであって:
複数のネットワーク・クライアントであって、各クライアントは、ネットワークを介してリクエストすることができる前記複数のネットワーク・クライアントと;
データ項目を記憶し、およびネットワークを介して前記データ項目へのアクセスを提供するための少なくとも1のネットワーク・データベースと;および
複数のネットワーク・サーバであって、各ネットワーク・サーバは、前記複数のネットワーク・クライアントからリクエストを受信し、および前記リクエストを処理することができ、各ネットワーク・サーバは、ローカル・キャッシュにおける前記データ項目のコピーを記憶することができ、および前記ネットワーク・クライアントのうちの1からのリクエストを処理する際に使用するための前記データ項目のコピーへのアクセスを提供するために読み取り専用ビーンを記憶することができ、前記複数のネットワーク・サーバのうちの一つは、前記ネットワーク・データベースにおける前記データ項目への書き込みアクセスを許可し、および各読み取り専用ビーンに関する識別情報へアクセスできる読み取り/書き込みビーンを含み、前記読み取り/書き込みビーンは、各読み取り専用ビーンが、ローカル・キャッシュにおける前記データ項目のコピーを削除できるように、前記ネットワーク・データベースにおける前記データ項目を更新するときに、各読み取り専用ビーンへ無効リクエストを送信するようにプログラムされている、複数のネットワーク・サーバとを含むシステム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US33563301P | 2001-10-25 | 2001-10-25 | |
US10/212,382 US6918013B2 (en) | 2001-07-16 | 2002-08-05 | System and method for flushing bean cache |
PCT/US2002/033659 WO2003036517A1 (en) | 2001-10-25 | 2002-10-21 | System and method for flushing bean cache |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2005507120A true JP2005507120A (ja) | 2005-03-10 |
JP2005507120A5 JP2005507120A5 (ja) | 2005-11-17 |
JP4234008B2 JP4234008B2 (ja) | 2009-03-04 |
Family
ID=26907083
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003538936A Expired - Lifetime JP4234008B2 (ja) | 2001-10-25 | 2002-10-21 | ビーン・キャッシュをフラッシュするためのシステムおよび方法 |
Country Status (6)
Country | Link |
---|---|
US (3) | US6918013B2 (ja) |
EP (1) | EP1442398B1 (ja) |
JP (1) | JP4234008B2 (ja) |
CN (1) | CN100578490C (ja) |
AU (1) | AU2002340274B2 (ja) |
WO (1) | WO2003036517A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020504377A (ja) * | 2016-12-23 | 2020-02-06 | イングラム マイクロ インコーポレーテッド | データベースバウンドアプリケーション用にユーザインターフェースバックエンドクラスタをスケーリングするための技術 |
Families Citing this family (102)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7062456B1 (en) | 1999-02-09 | 2006-06-13 | The Chase Manhattan Bank | System and method for back office processing of banking transactions using electronic files |
US20030023898A1 (en) * | 2001-07-16 | 2003-01-30 | Jacobs Dean Bernard | Layered architecture for data replication |
US6918013B2 (en) * | 2001-07-16 | 2005-07-12 | Bea Systems, Inc. | System and method for flushing bean cache |
US7409420B2 (en) | 2001-07-16 | 2008-08-05 | Bea Systems, Inc. | Method and apparatus for session replication and failover |
US7702791B2 (en) | 2001-07-16 | 2010-04-20 | Bea Systems, Inc. | Hardware load-balancing apparatus for session replication |
US7571215B2 (en) * | 2001-07-16 | 2009-08-04 | Bea Systems, Inc. | Data replication protocol |
US7028030B2 (en) * | 2001-08-30 | 2006-04-11 | Bea Systems, Inc. | Cluster caching with concurrency checking |
US20030046230A1 (en) * | 2001-08-30 | 2003-03-06 | Jacobs Dean Bernard | Method for maintaining account consistency |
US7113980B2 (en) | 2001-09-06 | 2006-09-26 | Bea Systems, Inc. | Exactly once JMS communication |
US6978278B2 (en) * | 2002-01-18 | 2005-12-20 | Bea Systems, Inc. | System and method for heterogeneous caching |
US6898587B2 (en) * | 2002-01-18 | 2005-05-24 | Bea Systems, Inc. | System and method for performing commutative operations in data access systems |
US7020684B2 (en) * | 2002-01-18 | 2006-03-28 | Bea Systems, Inc. | System and method for optimistic caching |
US7403996B2 (en) * | 2002-02-21 | 2008-07-22 | Bea Systems, Inc. | Systems and methods for migratable services |
AU2003216332A1 (en) * | 2002-02-21 | 2003-09-09 | Bea Systems, Inc. | System and method for message driven bean service migration |
US7152181B2 (en) * | 2002-02-22 | 2006-12-19 | Bea Systems, Inc. | Method for highly available transaction recovery for transaction processing systems |
US7178050B2 (en) * | 2002-02-22 | 2007-02-13 | Bea Systems, Inc. | System for highly available transaction recovery for transaction processing systems |
US7987246B2 (en) * | 2002-05-23 | 2011-07-26 | Jpmorgan Chase Bank | Method and system for client browser update |
US7506342B2 (en) * | 2002-07-23 | 2009-03-17 | Bea Systems, Inc. | System and method for implementing J2EE connector architecture |
JP3862652B2 (ja) * | 2002-12-10 | 2006-12-27 | キヤノン株式会社 | 印刷制御方法及び情報処理装置 |
US7069278B2 (en) * | 2003-08-08 | 2006-06-27 | Jpmorgan Chase Bank, N.A. | System for archive integrity management and related methods |
US20050065964A1 (en) * | 2003-09-19 | 2005-03-24 | Ziemann David M. | Update of a tree-based database |
US7290015B1 (en) * | 2003-10-02 | 2007-10-30 | Progress Software Corporation | High availability via data services |
US8655755B2 (en) * | 2003-10-22 | 2014-02-18 | Scottrade, Inc. | System and method for the automated brokerage of financial instruments |
US7978716B2 (en) | 2003-11-24 | 2011-07-12 | Citrix Systems, Inc. | Systems and methods for providing a VPN solution |
US20050108300A1 (en) * | 2003-11-17 | 2005-05-19 | Terrascale Technologies Inc. | Method for the management of local client cache buffers in a clustered computer environment |
US7711730B2 (en) * | 2003-12-22 | 2010-05-04 | International Business Machines Corporation | Method of returning data during insert statement processing |
US7822826B1 (en) | 2003-12-30 | 2010-10-26 | Sap Ag | Deployment of a web service |
US7725572B1 (en) | 2003-12-30 | 2010-05-25 | Sap Ag | Notification architecture and method employed within a clustered node configuration |
US7493624B1 (en) * | 2003-12-30 | 2009-02-17 | Sap Ag | Management architecture and method employed within a clustered node configuration |
US7941521B1 (en) | 2003-12-30 | 2011-05-10 | Sap Ag | Multi-service management architecture employed within a clustered node configuration |
US8166152B1 (en) * | 2003-12-30 | 2012-04-24 | Sap Ag | Architecture and method for monitoring system resources within an enterprise network |
US7756968B1 (en) | 2003-12-30 | 2010-07-13 | Sap Ag | Method and system for employing a hierarchical monitor tree for monitoring system resources in a data processing environment |
US20050216585A1 (en) * | 2004-03-26 | 2005-09-29 | Tsvetelina Todorova | Monitor viewer for an enterprise network monitoring system |
US7269708B2 (en) * | 2004-04-20 | 2007-09-11 | Rambus Inc. | Memory controller for non-homogenous memory system |
US7454571B1 (en) | 2004-05-04 | 2008-11-18 | Sun Microsystems, Inc. | Heuristic cache tuning |
US8019735B2 (en) * | 2004-05-21 | 2011-09-13 | Oracle International Corporation | Systems and methods for query caching |
US7610373B2 (en) * | 2004-05-27 | 2009-10-27 | International Business Machines Corporation | Voting mechanism for session invalidation processing in an application server cluster |
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 |
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 |
US7502811B2 (en) * | 2004-07-08 | 2009-03-10 | International Business Machines Corporation | Defer container-managed persistence operations on transactional objects |
EP1771998B1 (en) | 2004-07-23 | 2015-04-15 | Citrix Systems, Inc. | Systems and methods for optimizing communications between network nodes |
KR20070037649A (ko) | 2004-07-23 | 2007-04-05 | 사이트릭스 시스템스, 인크. | 게이트웨이에서 종단으로 패킷을 라우팅하기 위한 방법 및시스템 |
US7366974B2 (en) * | 2004-09-03 | 2008-04-29 | Jp Morgan Chase Bank | System and method for managing template attributes |
US20060059210A1 (en) * | 2004-09-16 | 2006-03-16 | Macdonald Glynne | Generic database structure and related systems and methods for storing data independent of data type |
US20090132466A1 (en) * | 2004-10-13 | 2009-05-21 | Jp Morgan Chase Bank | System and method for archiving data |
JP4140910B2 (ja) * | 2004-12-28 | 2008-08-27 | インターナショナル・ビジネス・マシーンズ・コーポレーション | データ処理装置、データ管理装置、データ処理方法、データ管理方法、データ処理プログラム、データ管理プログラム、及び情報システム |
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 |
US8706877B2 (en) | 2004-12-30 | 2014-04-22 | Citrix Systems, Inc. | Systems and methods for providing client-side dynamic redirection to bypass an intermediary |
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 |
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 |
EP2739014B1 (en) * | 2005-01-24 | 2018-08-01 | Citrix Systems, Inc. | Systems and methods for performing caching of dynamically generated objects in a network |
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 |
GB0507350D0 (en) * | 2005-04-12 | 2005-05-18 | Ibm | A method, system and computer program for providing atomicity for a unit of work |
US8065606B1 (en) | 2005-09-16 | 2011-11-22 | Jpmorgan Chase Bank, N.A. | System and method for automating document generation |
CN100403307C (zh) * | 2005-09-30 | 2008-07-16 | 华为技术有限公司 | 万维网交互编程语言平台环境下高频数据访问系统与方法 |
US8554758B1 (en) | 2005-12-29 | 2013-10-08 | Amazon Technologies, Inc. | Method and apparatus for monitoring and maintaining health in a searchable data service |
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 |
US7685131B2 (en) * | 2006-02-28 | 2010-03-23 | International Business Machines Corporation | Web services database cluster architecture |
CN100426751C (zh) * | 2006-03-21 | 2008-10-15 | 华为技术有限公司 | 保证集群系统中配置信息一致的方法 |
WO2007113550A1 (en) * | 2006-03-31 | 2007-10-11 | British Telecommunications Public Limited Company | Exception handler for the upgrade of java objects in a distributed system |
WO2007113542A1 (en) | 2006-03-31 | 2007-10-11 | British Telecommunications Public Limited Company | Server computer component |
WO2007113533A1 (en) * | 2006-03-31 | 2007-10-11 | British Telecommunications Public Limited Company | Xml-based transfer and a local storage of java objects |
CN101060402B (zh) * | 2006-04-21 | 2010-09-08 | 盛大计算机(上海)有限公司 | 基于Hash-map的多点缓存装置 |
US7849211B2 (en) * | 2006-05-12 | 2010-12-07 | Broadcom Corporation | Method and system for reliable multicast datagrams and barriers |
JP5278677B2 (ja) * | 2006-07-06 | 2013-09-04 | 日本電気株式会社 | クラスタシステム、サーバクラスタ、クラスタメンバ、クラスタメンバの冗長化方法、負荷分散方法 |
US9189303B2 (en) * | 2006-08-10 | 2015-11-17 | International Business Machines Corporation | Shadow queues for recovery of messages |
US8745315B2 (en) | 2006-11-06 | 2014-06-03 | Rambus Inc. | Memory Systems and methods supporting volatile and wear-leveled nonvolatile physical memory |
US8104076B1 (en) | 2006-11-13 | 2012-01-24 | Jpmorgan Chase Bank, N.A. | Application access control system |
US8019723B2 (en) * | 2006-12-20 | 2011-09-13 | International Business Machines Corporation | Deferred copy target pull of volume data |
US7925626B2 (en) * | 2006-12-20 | 2011-04-12 | International Business Machines Corporation | Immediate copy target pull of volume data |
CN101188566B (zh) * | 2007-12-13 | 2010-06-02 | 东软集团股份有限公司 | 一种集群环境下数据缓存同步的方法及系统 |
CN101217571B (zh) * | 2008-01-18 | 2010-07-28 | 清华大学 | 用于多副本数据网格系统中的写/读文件操作的方法 |
SE533007C2 (sv) * | 2008-10-24 | 2010-06-08 | Ilt Productions Ab | Distribuerad datalagring |
EP2712149B1 (en) | 2010-04-23 | 2019-10-30 | Compuverde AB | Distributed data storage |
US20110289141A1 (en) * | 2010-05-20 | 2011-11-24 | Salesforce.Com, Inc. | Methods and systems for providing a user interface in a multi-tenant database environment |
US9038177B1 (en) | 2010-11-30 | 2015-05-19 | Jpmorgan Chase Bank, N.A. | Method and system for implementing multi-level data fusion |
US9292588B1 (en) | 2011-07-20 | 2016-03-22 | Jpmorgan Chase Bank, N.A. | Safe storing data for disaster recovery |
US8650365B2 (en) | 2011-09-02 | 2014-02-11 | Compuverde Ab | Method and device for maintaining data in a data storage system comprising a plurality of data storage nodes |
US8997124B2 (en) | 2011-09-02 | 2015-03-31 | Compuverde Ab | Method for updating data in a distributed data storage system |
US9021053B2 (en) | 2011-09-02 | 2015-04-28 | Compuverde Ab | Method and device for writing data to a data storage system comprising a plurality of data storage nodes |
US8769138B2 (en) | 2011-09-02 | 2014-07-01 | Compuverde Ab | Method for data retrieval from a distributed data storage system |
US9626378B2 (en) | 2011-09-02 | 2017-04-18 | Compuverde Ab | Method for handling requests in a storage system and a storage node for a storage system |
US8645978B2 (en) | 2011-09-02 | 2014-02-04 | Compuverde Ab | Method for data maintenance |
US8495106B2 (en) * | 2011-11-18 | 2013-07-23 | International Business Machines Corporation | Write instruction datasource for database write procedure |
FR2994041B1 (fr) * | 2012-07-24 | 2015-03-06 | Cassidian Cybersecurity | Systeme de multi-transmission unidirectionnelle |
CN102902730B (zh) * | 2012-09-10 | 2016-04-20 | 新浪网技术(中国)有限公司 | 基于数据缓存的读数据方法及装置 |
CN105162856B (zh) * | 2012-10-16 | 2019-03-01 | 北京奇虎科技有限公司 | 网络应用集成系统和方法 |
US10540373B1 (en) | 2013-03-04 | 2020-01-21 | Jpmorgan Chase Bank, N.A. | Clause library manager |
US9641640B2 (en) | 2013-10-04 | 2017-05-02 | Akamai Technologies, Inc. | Systems and methods for controlling cacheability and privacy of objects |
US9648125B2 (en) | 2013-10-04 | 2017-05-09 | Akamai Technologies, Inc. | Systems and methods for caching content with notification-based invalidation |
US9813515B2 (en) | 2013-10-04 | 2017-11-07 | Akamai Technologies, Inc. | Systems and methods for caching content with notification-based invalidation with extension to clients |
US9183148B2 (en) | 2013-12-12 | 2015-11-10 | International Business Machines Corporation | Efficient distributed cache consistency |
CN104754006A (zh) * | 2013-12-31 | 2015-07-01 | 上海品志文化传播有限公司 | 构建高可用性分布式系统的方法 |
US10489213B2 (en) | 2014-10-01 | 2019-11-26 | Red Hat, Inc. | Execution of a method at a cluster of nodes |
CN105991565B (zh) | 2015-02-05 | 2019-01-25 | 阿里巴巴集团控股有限公司 | 读写分离的方法、系统和数据库代理服务器 |
US9785354B2 (en) | 2015-06-29 | 2017-10-10 | International Business Machines Corporation | Selective write control |
CN107818111B (zh) * | 2016-09-13 | 2021-10-15 | 腾讯科技(深圳)有限公司 | 一种缓存文件数据的方法、服务器及终端 |
CN107465714B (zh) * | 2017-01-23 | 2021-01-01 | 北京思特奇信息技术股份有限公司 | 一种基于应用集群的配置数据动态更新系统及方法 |
CN108959548B (zh) * | 2018-07-02 | 2023-04-18 | 创新先进技术有限公司 | 业务请求的处理方法及装置 |
Family Cites Families (108)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4714996A (en) * | 1985-11-26 | 1987-12-22 | International Business Machines Corporation | Impact calculation for version management in a distributed information service |
US5201010A (en) | 1989-05-01 | 1993-04-06 | Credit Verification Corporation | Method and system for building a database and performing marketing based upon prior shopping history |
US5163148A (en) * | 1989-08-11 | 1992-11-10 | Digital Equipment Corporation | File backup system for producing a backup copy of a file which may be updated during backup |
US6345288B1 (en) | 1989-08-31 | 2002-02-05 | Onename Corporation | Computer-based communication system and method using metadata defining a control-structure |
US5319773A (en) * | 1990-05-16 | 1994-06-07 | International Business Machines Corporation | Asynchronous resynchronization of a commit procedure |
US5249290A (en) * | 1991-02-22 | 1993-09-28 | At&T Bell Laboratories | Method of and apparatus for operating a client/server computer network |
US5212793A (en) * | 1991-09-04 | 1993-05-18 | International Business Machines Corp. | Generic initiators |
US6026452A (en) * | 1997-02-26 | 2000-02-15 | Pitts; William Michael | Network distributed site cache RAM claimed as up/down stream request/reply channel for storing anticipated data and meta data |
JP2557192B2 (ja) | 1993-03-15 | 1996-11-27 | インターナショナル・ビジネス・マシーンズ・コーポレイション | トランザクション処理の同期方法、トランザクション処理のモニタ方法及びトランザクションのコミット処理方法 |
US5546579A (en) * | 1994-05-02 | 1996-08-13 | International Business Machines Corporation | Page refreshing procedure using two locking granularities to ensure cache coherency in a multisystem database processing environment having a high-speed shared electronic store |
US5787246A (en) * | 1994-05-27 | 1998-07-28 | Microsoft Corporation | System for configuring devices for a computer system |
US5634052A (en) | 1994-10-24 | 1997-05-27 | International Business Machines Corporation | System for reducing storage requirements and transmission loads in a backup subsystem in client-server environment by transmitting only delta files from client to server |
US5574906A (en) | 1994-10-24 | 1996-11-12 | International Business Machines Corporation | System and method for reducing storage requirement in backup subsystems utilizing segmented compression and differencing |
US5802291A (en) * | 1995-03-30 | 1998-09-01 | Sun Microsystems, Inc. | System and method to control and administer distributed object servers using first class distributed objects |
US5677945A (en) | 1995-06-06 | 1997-10-14 | Mci Corporation | Account balancing and monitoring system for a telecommunications network |
US5903731A (en) * | 1995-06-14 | 1999-05-11 | Us West Technologies, Inc. | System and associated method for re-engineering a telecommunications network support system with object-oriented translators |
EP0751453B1 (en) * | 1995-06-30 | 2000-09-06 | International Business Machines Corporation | Method and apparatus for a system wide logon in a distributed computing environment |
US5774689A (en) * | 1995-09-22 | 1998-06-30 | Bell Atlantic Network Services, Inc. | Network configuration management system for digital communication networks |
US6212556B1 (en) * | 1995-11-13 | 2001-04-03 | Webxchange, Inc. | Configurable value-added network (VAN) switching |
US5910180A (en) * | 1995-11-21 | 1999-06-08 | Diamond Multimedia Systems, Inc. | Context virtualizing device driver architecture |
US5765171A (en) * | 1995-12-29 | 1998-06-09 | Lucent Technologies Inc. | Maintaining consistency of database replicas |
US5761507A (en) * | 1996-03-05 | 1998-06-02 | International Business Machines Corporation | Client/server architecture supporting concurrent servers within a server with a transaction manager providing server/connection decoupling |
US6366930B1 (en) | 1996-04-12 | 2002-04-02 | Computer Associates Think, Inc. | Intelligent data inventory & asset management systems method and apparatus |
US5832514A (en) | 1996-06-26 | 1998-11-03 | Microsoft Corporation | System and method for discovery based data recovery in a store and forward replication process |
US6173327B1 (en) * | 1996-07-11 | 2001-01-09 | Jeroen De Borst | Object-oriented method and apparatus for information delivery |
US7680879B2 (en) | 1996-07-18 | 2010-03-16 | Computer Associates Think, Inc. | Method and apparatus for maintaining data integrity across distributed computer systems |
US5926816A (en) | 1996-10-09 | 1999-07-20 | Oracle Corporation | Database Synchronizer |
US5805798A (en) * | 1996-10-29 | 1998-09-08 | Electronic Data Systems Corporation | Fail-safe event driven transaction processing system and method |
US6189046B1 (en) * | 1997-03-27 | 2001-02-13 | Hewlett-Packard Company | Mechanism and method for merging cached location information in a distributed object environment |
US5897634A (en) * | 1997-05-09 | 1999-04-27 | International Business Machines Corporation | Optimized caching of SQL data in an object server system |
US6134673A (en) * | 1997-05-13 | 2000-10-17 | Micron Electronics, Inc. | Method for clustering software applications |
US5999947A (en) * | 1997-05-27 | 1999-12-07 | Arkona, Llc | Distributing database differences corresponding to database change events made to a database table located on a server computer |
US6065046A (en) | 1997-07-29 | 2000-05-16 | Catharon Productions, Inc. | Computerized system and associated method of optimally controlled storage and transfer of computer programs on a computer network |
US5909689A (en) * | 1997-09-18 | 1999-06-01 | Sony Corporation | Automatic update of file versions for files shared by several computers which record in respective file directories temporal information for indicating when the files have been created |
JP3901806B2 (ja) * | 1997-09-25 | 2007-04-04 | 富士通株式会社 | 情報管理システム及び二次サーバ |
US6425005B1 (en) * | 1997-10-06 | 2002-07-23 | Mci Worldcom, Inc. | Method and apparatus for managing local resources at service nodes in an intelligent network |
US6356931B2 (en) * | 1997-10-06 | 2002-03-12 | Sun Microsystems, Inc. | Method and system for remotely browsing objects |
US5926775A (en) * | 1997-10-08 | 1999-07-20 | National Instruments Corporation | Mini driver software architecture for a data acquisition system |
US6018805A (en) * | 1997-12-15 | 2000-01-25 | Recipio | Transparent recovery of distributed-objects using intelligent proxies |
US6173293B1 (en) | 1998-03-13 | 2001-01-09 | Digital Equipment Corporation | Scalable distributed file system |
US6453356B1 (en) * | 1998-04-15 | 2002-09-17 | Adc Telecommunications, Inc. | Data exchange system and method |
US6449734B1 (en) * | 1998-04-17 | 2002-09-10 | Microsoft Corporation | Method and system for discarding locally committed transactions to ensure consistency in a server cluster |
US6122629A (en) * | 1998-04-30 | 2000-09-19 | Compaq Computer Corporation | Filesystem data integrity in a single system image environment |
US6085198A (en) * | 1998-06-05 | 2000-07-04 | Sun Microsystems, Inc. | Integrated three-tier application framework with automated class and table generation |
US6243753B1 (en) * | 1998-06-12 | 2001-06-05 | Microsoft Corporation | Method, system, and computer program product for creating a raw data channel form an integrating component to a series of kernel mode filters |
US6256634B1 (en) | 1998-06-30 | 2001-07-03 | Microsoft Corporation | Method and system for purging tombstones for deleted data items in a replicated database |
US6374264B1 (en) | 1998-09-04 | 2002-04-16 | Lucent Technologies Inc. | Method and apparatus for detecting and recovering from data corruption of a database via read prechecking and deferred maintenance of codewords |
US6338089B1 (en) * | 1998-10-06 | 2002-01-08 | Bull Hn Information Systems Inc. | Method and system for providing session pools for high performance web browser and server communications |
US6304879B1 (en) | 1998-11-25 | 2001-10-16 | Microsoft Corporation | Dynamic data cache for object-oriented computing environments |
US6389462B1 (en) * | 1998-12-16 | 2002-05-14 | Lucent Technologies Inc. | Method and apparatus for transparently directing requests for web objects to proxy caches |
US6298478B1 (en) * | 1998-12-31 | 2001-10-02 | International Business Machines Corporation | Technique for managing enterprise JavaBeans (™) which are the target of multiple concurrent and/or nested transactions |
US6438705B1 (en) * | 1999-01-29 | 2002-08-20 | International Business Machines Corporation | Method and apparatus for building and managing multi-clustered computer systems |
US6453321B1 (en) | 1999-02-11 | 2002-09-17 | Ibm Corporation | Structured cache for persistent objects |
US6269373B1 (en) | 1999-02-26 | 2001-07-31 | International Business Machines Corporation | Method and system for persisting beans as container-managed fields |
US6430564B1 (en) | 1999-03-01 | 2002-08-06 | Hewlett-Packard Company | Java data manager for embedded device |
US6523130B1 (en) * | 1999-03-11 | 2003-02-18 | Microsoft Corporation | Storage system having error detection and recovery |
US6401239B1 (en) | 1999-03-22 | 2002-06-04 | B.I.S. Advanced Software Systems Ltd. | System and method for quick downloading of electronic files |
US6466972B1 (en) * | 1999-03-31 | 2002-10-15 | International Business Machines Corporation | Server based configuration of network computers via machine classes |
US6539381B1 (en) * | 1999-04-21 | 2003-03-25 | Novell, Inc. | System and method for synchronizing database information |
US6804818B1 (en) * | 1999-04-29 | 2004-10-12 | International Business Machines Corporation | Integration mechanism for object-oriented software and message-oriented software |
EP1049307A1 (en) * | 1999-04-29 | 2000-11-02 | International Business Machines Corporation | Method and system for dispatching client sessions within a cluster of servers connected to the World Wide Web |
US6343287B1 (en) * | 1999-05-19 | 2002-01-29 | Sun Microsystems, Inc. | External data store link for a profile service |
US6411956B1 (en) * | 1999-06-14 | 2002-06-25 | Sun Microsystems, Inc. | Method for distributed transaction support using JDBC 1.0 drivers |
US6526521B1 (en) | 1999-06-18 | 2003-02-25 | Emc Corporation | Methods and apparatus for providing data storage access |
US6405219B2 (en) * | 1999-06-22 | 2002-06-11 | F5 Networks, Inc. | Method and system for automatically updating the version of a set of files stored on content servers |
US6963857B1 (en) * | 1999-07-12 | 2005-11-08 | Jsa Technologies | Network-accessible account system |
US7100195B1 (en) * | 1999-07-30 | 2006-08-29 | Accenture Llp | Managing user information on an e-commerce system |
CA2280588C (en) | 1999-08-20 | 2005-07-05 | Leonard W. Theivendra | Code wrapping to simplify access to and use of enterprise java beans |
US6757708B1 (en) * | 2000-03-03 | 2004-06-29 | International Business Machines Corporation | Caching dynamic content |
US20020004848A1 (en) | 2000-03-29 | 2002-01-10 | Krishna Sudarshan | System and method of providing an asynchronous interface between a client system and an enterprise javabeans-enabled server |
US6654766B1 (en) | 2000-04-04 | 2003-11-25 | International Business Machines Corporation | System and method for caching sets of objects |
US6775703B1 (en) * | 2000-05-01 | 2004-08-10 | International Business Machines Corporation | Lease based safety protocol for distributed system with multiple networks |
US6721777B1 (en) * | 2000-05-24 | 2004-04-13 | Sun Microsystems, Inc. | Modular and portable deployment of a resource adapter in an application server |
US6832238B1 (en) * | 2000-05-24 | 2004-12-14 | Sun Microsystems, Inc. | Local transaction management |
US7089584B1 (en) | 2000-05-24 | 2006-08-08 | Sun Microsystems, Inc. | Security architecture for integration of enterprise information system with J2EE platform |
US6578160B1 (en) | 2000-05-26 | 2003-06-10 | Emc Corp Hopkinton | Fault tolerant, low latency system resource with high level logging of system resource transactions and cross-server mirrored high level logging of system resource transactions |
US6687848B1 (en) * | 2000-05-31 | 2004-02-03 | Sun Microsystems, Inc. | Techniques for preventing information loss in a business to business message in an enterprise computer system |
US7171692B1 (en) * | 2000-06-27 | 2007-01-30 | Microsoft Corporation | Asynchronous communication within a server arrangement |
US6505200B1 (en) * | 2000-07-06 | 2003-01-07 | International Business Machines Corporation | Application-independent data synchronization technique |
US7099926B1 (en) * | 2000-07-06 | 2006-08-29 | International Business Machines Corporation | Object caching and update queuing technique to improve performance and resource utilization |
US6609213B1 (en) | 2000-08-10 | 2003-08-19 | Dell Products, L.P. | Cluster-based system and method of recovery from server failures |
US6651140B1 (en) | 2000-09-01 | 2003-11-18 | Sun Microsystems, Inc. | Caching pattern and method for caching in an object-oriented programming environment |
US6542845B1 (en) * | 2000-09-29 | 2003-04-01 | Sun Microsystems, Inc. | Concurrent execution and logging of a component test in an enterprise computer system |
GB2368930B (en) | 2000-10-17 | 2005-04-06 | Hewlett Packard Co | Establishment of a deferred network communication session |
US20020073188A1 (en) * | 2000-12-07 | 2002-06-13 | Rawson Freeman Leigh | Method and apparatus for partitioning system management information for a server farm among a plurality of leaseholds |
US6675261B2 (en) | 2000-12-22 | 2004-01-06 | Oblix, Inc. | Request based caching of data store data |
US7085834B2 (en) | 2000-12-22 | 2006-08-01 | Oracle International Corporation | Determining a user's groups |
US7188145B2 (en) | 2001-01-12 | 2007-03-06 | Epicrealm Licensing Llc | Method and system for dynamic distributed data caching |
US6366052B1 (en) * | 2001-01-22 | 2002-04-02 | Michael A. Centauro | Battery saving electron flow blocking system |
WO2002065309A1 (en) | 2001-02-13 | 2002-08-22 | Candera, Inc. | System and method for policy based storage provisioning and management |
US7185364B2 (en) | 2001-03-21 | 2007-02-27 | Oracle International Corporation | Access system interface |
US20020161860A1 (en) * | 2001-02-28 | 2002-10-31 | Benjamin Godlin | Method and system for differential distributed data file storage, management and access |
GB2373069B (en) * | 2001-03-05 | 2005-03-23 | Ibm | Method, apparatus and computer program product for integrating heterogeneous systems |
US7240101B2 (en) | 2001-04-02 | 2007-07-03 | International Business Machines Corporation | Method and apparatus for efficiently reflecting complex systems of objects in XML documents |
US6711579B2 (en) | 2001-04-20 | 2004-03-23 | Sree Ayyanar Spinning And Weaving Mills Limited | Data storage schema independent programming for data retrieval using semantic bridge |
US7543066B2 (en) * | 2001-04-30 | 2009-06-02 | International Business Machines Corporation | Method and apparatus for maintaining session affinity across multiple server groups |
US6567809B2 (en) * | 2001-06-08 | 2003-05-20 | International Business Machines Corporation | Disabling and reloading enterprise java beans using database trigger programs |
US6918013B2 (en) | 2001-07-16 | 2005-07-12 | Bea Systems, Inc. | System and method for flushing bean cache |
US7409420B2 (en) | 2001-07-16 | 2008-08-05 | Bea Systems, Inc. | Method and apparatus for session replication and failover |
US7571215B2 (en) | 2001-07-16 | 2009-08-04 | Bea Systems, Inc. | Data replication protocol |
WO2003009610A1 (en) * | 2001-07-18 | 2003-01-30 | Telcontar | System and method for initiating responses to location-based events |
US6944785B2 (en) * | 2001-07-23 | 2005-09-13 | Network Appliance, Inc. | High-availability cluster virtual server system |
US7568000B2 (en) * | 2001-08-21 | 2009-07-28 | Rosemount Analytical | Shared-use data processing for process control systems |
US7028030B2 (en) | 2001-08-30 | 2006-04-11 | Bea Systems, Inc. | Cluster caching with concurrency checking |
US6826601B2 (en) * | 2001-09-06 | 2004-11-30 | Bea Systems, Inc. | Exactly one cache framework |
US6983465B2 (en) * | 2001-10-11 | 2006-01-03 | Sun Microsystems, Inc. | Method and apparatus for managing data caching in a distributed computer system |
US20030115366A1 (en) | 2001-12-18 | 2003-06-19 | Robinson Brian R. | Asynchronous message delivery system and method |
US7089317B2 (en) | 2002-03-21 | 2006-08-08 | Sun Microsystems, Inc. | Architecture for plugging messaging systems into an application server |
-
2002
- 2002-08-05 US US10/212,382 patent/US6918013B2/en not_active Expired - Lifetime
- 2002-10-21 EP EP02778622.7A patent/EP1442398B1/en not_active Expired - Lifetime
- 2002-10-21 CN CN02824692A patent/CN100578490C/zh not_active Expired - Lifetime
- 2002-10-21 WO PCT/US2002/033659 patent/WO2003036517A1/en active Application Filing
- 2002-10-21 AU AU2002340274A patent/AU2002340274B2/en not_active Expired
- 2002-10-21 JP JP2003538936A patent/JP4234008B2/ja not_active Expired - Lifetime
-
2005
- 2005-04-13 US US11/105,263 patent/US7293009B2/en not_active Expired - Lifetime
-
2007
- 2007-04-06 US US11/697,675 patent/US8176014B2/en not_active Expired - Lifetime
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020504377A (ja) * | 2016-12-23 | 2020-02-06 | イングラム マイクロ インコーポレーテッド | データベースバウンドアプリケーション用にユーザインターフェースバックエンドクラスタをスケーリングするための技術 |
Also Published As
Publication number | Publication date |
---|---|
US20030051102A1 (en) | 2003-03-13 |
CN1602489A (zh) | 2005-03-30 |
US8176014B2 (en) | 2012-05-08 |
US6918013B2 (en) | 2005-07-12 |
JP4234008B2 (ja) | 2009-03-04 |
CN100578490C (zh) | 2010-01-06 |
US7293009B2 (en) | 2007-11-06 |
WO2003036517A1 (en) | 2003-05-01 |
AU2002340274B2 (en) | 2008-03-06 |
EP1442398B1 (en) | 2014-03-12 |
EP1442398A1 (en) | 2004-08-04 |
US20050177550A1 (en) | 2005-08-11 |
EP1442398A4 (en) | 2008-01-16 |
US20070192320A1 (en) | 2007-08-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4234008B2 (ja) | ビーン・キャッシュをフラッシュするためのシステムおよび方法 | |
AU2002340274A1 (en) | System and method for flushing bean cache | |
US7028030B2 (en) | Cluster caching with concurrency checking | |
US7552220B2 (en) | System and method to refresh proxy cache server objects | |
US7111057B1 (en) | Method and system for purging content from a content delivery network | |
JP4028233B2 (ja) | サーバ・エージェント・システム | |
US20030033283A1 (en) | Data access | |
US20010007103A1 (en) | Method for file system replication with broadcasting and XDSM | |
JP2005507120A5 (ja) | ||
JPH11120108A (ja) | サーバ側非同期フォーム管理方法および装置 | |
JP2002540492A (ja) | ウェブサーバコンテンツ複製 | |
US6594702B1 (en) | Managing the size and accessibility of a name service | |
US20030046230A1 (en) | Method for maintaining account consistency | |
EP1430419B1 (en) | Cluster caching with concurrency checking | |
AU2002313826A1 (en) | Cluster caching with concurrency checking | |
US7089363B2 (en) | System and method for inline invalidation of cached data | |
Tewari et al. | WCDP: A protocol for web cache consistency | |
CA2341595A1 (en) | Distributed virtual web cache implemented entirely in software | |
JP3762161B2 (ja) | 複製サーバ装置 | |
CN116521077A (zh) | 一种分布式集群的写方法、装置、设备及介质 | |
JP2008165833A (ja) | サーバ分散管理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20071105 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20080205 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080213 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20080213 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20080317 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080715 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20080730 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080825 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081105 |
|
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: 20081201 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20081210 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111219 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 4234008 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111219 Year of fee payment: 3 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111219 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121219 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121219 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131219 Year of fee payment: 5 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |