JP2011159326A - 極めて拡張性の高い同期データキャッシュ方法及びシステム - Google Patents

極めて拡張性の高い同期データキャッシュ方法及びシステム Download PDF

Info

Publication number
JP2011159326A
JP2011159326A JP2011114338A JP2011114338A JP2011159326A JP 2011159326 A JP2011159326 A JP 2011159326A JP 2011114338 A JP2011114338 A JP 2011114338A JP 2011114338 A JP2011114338 A JP 2011114338A JP 2011159326 A JP2011159326 A JP 2011159326A
Authority
JP
Japan
Prior art keywords
data
cache
primary key
key
change
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2011114338A
Other languages
English (en)
Other versions
JP4956683B2 (ja
Inventor
James Roseborough
ジェイムス・ローズボロ
Warlu Kothapalli
ワルル・コタパリ
Toshiyuki Matsushima
利幸 松島
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.)
FITECH LAB Inc
Original Assignee
FITECH LAB Inc
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 FITECH LAB Inc filed Critical FITECH LAB Inc
Publication of JP2011159326A publication Critical patent/JP2011159326A/ja
Application granted granted Critical
Publication of JP4956683B2 publication Critical patent/JP4956683B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/2885Hierarchically arranged intermediate devices, e.g. for hierarchical caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/564Enhancement of application control based on intercepted application data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24552Database cache management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9574Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • H04L67/5682Policies or rules for updating, deleting or replacing the stored data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Abstract

【課題】
データベース管理システムなどの基礎をなす持続性のあるデータベースと同期しながら、極めて拡張性の高いデータキャッシュ技法を提供する。
【解決手段】
本発明では、データは、アカウントごとになどの適切な線に沿って領域化され、その結果、データキャッシュは、主に一意の情報を格納し、そのデータキャッシュを維持するために必要な無効メッセージだけを受信する。
【選択図】 図1

Description

関連出願
本願は、2000年7月7日に提出され、参照してここに組み込まれている米国特許出願番号第60/216,883号の利点を主張する。
発明の分野
本発明はキャッシュに関し、更に詳細には、領域化したデータ及び無効トリガを用いて、拡張性の高い同期データキャッシュ方法及びシステムに関する。
発明の背景
オンライントランザクション処理には、ネットワークを介した、株式取引や電子マネーによる支払いなどのトランザクションを実施するためのシステムがある。オンライントランザクションをサポートするための1つの共通したアーキテクチャは、ネットワークを経由してサーバと通信するコンピュータ側にいるユーザを有している。ユーザがサーバにトランザクションに対する要求を送信すると、サーバは要求を実行し、構成によってはユーザに確認を戻す。トランザクションを処理するために、サーバはユーザのアカウントやその要求を処理できる製品におけるデータにアクセスする。サーバは、データベース等の持続性のあるデータソースからこのようなデータを検索してよい。
このようなシステムに、多くのユーザが追加されるにつれて、増加する要求数を処理するために、更なるサーバを追加することとなる。しかしながら、これらのサーバが要求を実行させるために同じデータソースにアクセスしなければならない場合、他のサーバがデータソースにアクセスしている際には、他のサーバは待機しなければならないので、遅延が生じることがある。システムが拡大し、サーバが追加されるに従い、遅延はいっそう大きくなり、システム性能は悪化する。トランザクションあたりに要する時間が増加するにつれ、ユーザはいらだつようになり、オンライントランザクション処理システムの使用をやめてしまう可能性がある。
この問題に対する1つの共通した解決策は、データソースからのデータの一時的なコピーを格納するためにデータキャッシュを利用することである。複数のサーバが使用される場合、各々がデータソースから検索されたデータのキャッシュを維持できる。要求を処理するためには、サーバはまず要求されたデータがないか、そのデータキャッシュを検索する。要求されたデータがキャッシュの中で発見されると、サーバはデータソースにアクセスしなくてもその要求を処理できる。要求されたデータがキャッシュ内で発見されない場合にだけ、サーバは共用データソースにアクセスしなければならない。要求されたデータがデータソースから一度検索されると、サーバは将来の使用に備えて、データキャッシュの中にそのデータを格納する。CORBA及びEnterprise JavaBeans(EJB)は、このような分散トランザクション処理システムを実現する周知のアーキテクチャである。
上述のように、データキャッシュ方式を追加したとしても、従来のオンライントランザクションシステムは安定性と遅延の問題がある。システムが非常に大規模に成長し、多くのサーバを利用するにつれ、それらのサーバが、データキャッシュ内で発見されないデータを取得するため、データソースにアクセスしなければならないので遅延が発生する。更に、データキャッシュ方式の成功はデータキャッシュに格納されるデータの精度に依存する。データソース内でデータ項目が変更するときに、サーバが要求を処理するために、古い(期限切れ)のデータを使用すると、その変更を各データキャッシュに伝達する際の遅延がエラーを引き起こすこととなる。
発明の要約
従って、データソースの規模が大きくなるにつれ性能が劣化しないように、極めて拡張性の高いデータキャッシュを実現することが望まれる。また、データソース内のデータとキャッシュ内に存在するデータに食い違いがないようにデータソースと同期するデータキャッシュを提供することも望まれる。本発明における方法及びシステムは、データベース管理システムのような、持続性のあるデータソースと同期しながら極めて拡張性の高いデータキャッシュ技法を提供する。本発明では、データは、例えばアカウントによって領域化され、その結果、データキャッシュは主に一意の情報を格納し、そのデータキャッシュを維持するために必要な無効メッセージだけを受信する。
本発明の態様に従って、ユーザの代わりにトランザクションを処理するためにシステムが実現される。このシステムは、要求ディストリビュータを介してユーザからアカウント番号を含むクエリーを受信し、結果を判断するためにそのクエリーを処理し、要求ディストリビュータを介してユーザに結果を返す、少なくとも1つのアプリケーションサーバを有する。システムは、更に、テーブルの中に、アカウント番号に対応するアカウントデータを格納するために構成された少なくとも1つのデータストアを有する。そのシステムは、更に、アカウント番号に対応するキャッシュ領域を維持し、上述の少なくとも1つのアプリケーションサーバにより処理されるクエリーに対して、キャッシュ領域内で結果を検索する、少なくとも1つのデータキャッシュを有する。キャッシュ領域の中で結果が発見されない場合は、データキャッシュはデータストアから結果を取得し、キャッシュ領域の中に結果を格納し、結果をアプリケーションサーバに返す。
本発明に従って、データ処理方法は、それぞれがアカウント番号で特定されるキャッシュ領域群を維持する。値を含むクエリーが受信されると、そのクエリーに対応する、ある特定のキャッシュ領域が、クエリーの値と、その群の中の各キャッシュ領域を特定するために使用されるアカウント番号との関係性に基づいて、キャッシュ領域群の中から特定される。そのクエリーに対する結果は、上述の判断に基づいて行われる。本発明の更なる特徴は、以下の説明の中で部分的に述べられ、説明から部分的に明らかとなるか、あるいは本発明の実施により分かる。上述の概要と以下の詳細な説明の両方とも、例示的且つ説明的にすぎず、本発明を制限するものではない。
本明細書に記載され、又、本明細書の一部を構成する添付図面は、本発明のいくつかの実施形態を示し、説明とともに、本発明の原理を説明するものである。
図1は、本発明におけるシステム及び方法を実施するためのシステムの全体的なブロック図の一例である。 図2は、本発明におけるシステム及び方法を実施するためのシステムの詳細なブロック図の一例である。 図3は、本発明におけるデータソースの詳細なブロック図である。 図4は、本発明におけるサンプルアカウントテーブルを示す。 図5は、本発明におけるサンプルマスタテーブルを示す。 図6は、本発明におけるデータキャッシュを更に詳細に示すブロック図である。 図7Aは、本発明におけるデータキャッシュ方式を使用するクエリー処理のフローチャート図である。 図7Bは、本発明におけるデータキャッシュ方式を使用するクエリー処理のフローチャート図である。 図8は、本発明の一実施形態におけるデータソース内のマスタデータが変更する際にデータキャッシュを更新するためのプロセスを示したフローチャート図である。 図9は、本発明の一実施形態におけるデータソース内のアカウントデータが本変更する際に、データキャッシュを更新するためのプロセスを示したフローチャート図である。 図10は、データソース内の変更に対するキャッシュを無効にするためのプロセスを示したフローチャート図である。
詳細な説明
本発明における以下の実施形態の説明は、添付図面を参照する。該当する場合、さまざまな図面の同じ参照番号は、同じ要素または類似要素を示す。
図1は、本発明を実施するためのシステムの全体的なブロック図の一例である。図示されるように、複数のユーザ102がネットワーク106を介してトランザクション処理システム104と通信するためにコンピュータを使用する。ネットワーク106は、インターネット、WAN(広域ネットワーク)、またはLAN(ローカルエリアネットワーク)等の任意の種類の通信媒体であってよい。ユーザ102は、トランザクション処理システム104にトランザクション要求を送信可能である。株式取引や電子マネーによる支払いを含む、任意の種類のトランザクションが本発明の原理によって処理できる。この要求を処理するために、トランザクション処理システム104は、持続性のあるデータソース108に格納されるデータにアクセスする。図1には3人のユーザ102が示されているが、任意の数のユーザが、本発明におけるトランザクション処理システム104と通信可能である。同様に、複数のデータソース108が使用されてもよい。
図2は、本発明を実施するためのシステムの詳細なブロック図の一例である。トランザクション処理システム104は、ユーザ202からの要求を処理するためのいくつかの構成要素を有している。これらの構成要素は、要求ディストリビュータ204、1台または複数台のアプリケーションサーバ206、1つまたは複数のデータキャッシュ208、及び1つのデータソース108である。
要求ディストリビュータ204は、ユーザ202から要求を受信し、処理のためにその要求をアプリケーションサーバに割り当てる。要求ディストリビュータ204は、要求の結果をユーザ202に返すこともできる。複数のアプリケーションサーバが使用される場合には、要求ディストリビュータ204は、公知の分散技法を使用して複数台のアプリケーションサーバの間で要求を分散することによって、負荷バランシングを実行する。更に、要求ディストリビュータ204が、アプリケーションサーバが適切に機能していないと判断する場合、要求ディストリビュータ204は、他のアプリケーションサーバに要求を送り直してよい。要求ディストリビュータ204の機能が、プロキシサーバによって実行されてもよい。更に、ユーザ202とトランザクション処理システム104間の他の通信方法が、本発明に於いて使用されてもよい。
トランザクション処理システム104は、データソース108からのデータを用いて、ユーザの要求を処理するためにアプリケーションサーバ206を使用する。性能を向上させるために、アプリケーションサーバ206は、直接的にデータソース108にアクセスしなくても、1つまたは複数のデータキャッシュ208にアクセスし、データを取得できる。このプロセスは、図7Aと図7Bに詳細に後述する。1つまたは複数のデータソース、1つまたは複数のデータキャッシュ、及び1台または複数台のアプリケーションサーバが、本発明に於いて使用されても良い。
図3は、本発明における、データソースの詳細なブロック図である。データソース108は、ユーザからの要求を処理するために必要なデータを格納する。例えば、オンライン株式取引システムや他のトランザクションシステムでは、一般的に、ユーザは、そのユーザに一意であるアカウント番号(アカウント番号は、口座番号、顧客番号、課金番号等を含む)を有する。本発明の1つの実施形態では、データストア108はその一意のアカウント番号に基づいて、独自のアカウントテーブル302の中に各アカウントのデータを格納する。製品やサービスに関係するデータなどの全てのアカウントに該当するデータは、マスタテーブル104に格納される。1つのアカウントテーブル302と1つのマスタテーブル304が図3に示されているが、複数のアカウントテーブル及び/またはマスタテーブルが、本発明に於いて使用出来る。
データソース108は、全ての実行中のデータキャッシュのテーブル308、及びアカウントを実行中のデータキャッシュと関連づける関連リスト310も含む。これらは、後述するように、データキャッシュ206との同期を維持するために使用される。
本発明の1つの実施形態では、一人のアカウントについてのデータは、1つのアカウントテーブルの中に格納され、1つのデータキャッシュの中にキャッシュされる。この実施形態を実現するために、関連リスト310は、各アカウントテーブルのリストを、そのアカウントテーブルからのデータのコピーを格納するデータキャッシュ208に対するリファレンスとともに格納する。それから、関連リスト310は、アカウントテーブル中のデータが変更すると、適切なデータキャッシュに通知するために用いられる。関連リスト310は、アカウントがデータキャッシュに割り当てられるたびに、要求ディストリビュータ204によって更新できる。この割り当ては、ユーザがシステムにログオンすると開始し、ユーザがシステムをログアウトするまで続行される。関連リスト310は、図7Aと図7Bで後述するように、クエリーをどのキャッシュに送るのかを決定するために要求ディストリビュータ204によってアクセスされる。
テーブル308は、トランザクション処理システム104内で実行中である全てのデータキャッシュに対するリファレンスを有する。マスタテーブル中のデータが変更されると、それは全てのアカウントに影響を及ぼす可能性があるため、このような変更はテーブル308に一覧表示される全てのデータキャッシュ208に伝達できる。テーブル308は、新しいデータキャッシュが追加されるたびに、トランザクション処理システム208によって更新できる。このようにしてデータを格納すると、本発明は、例えばアカウント番号ごとにデータを領域化できるトランザクションシステムで特に役に立つ。
本発明の1つの実施形態では、データソース108は、アカウント番号などのセレクタキーのロックを動作可能にするセレクタロックテーブルを有する。セレクタキーはセレクタロックテーブルを使用してロックされるが、そのセレクタキーに対応するデータに変更を加えることはできない。
データソース108は、トランザクション処理システム104などのクライアントプロセスと通信するために、プロセス間通信チャネル306を用いる。プロセス間通信チャネル306は、例えば、Oracle(登録商標)DMBS−PIPE、Java(登録商標)RMI、またはデータソース108とデータキャッシュ208間での確実な情報の転送を実現する任意の他の技法を使用して実現できる。データソース108の追加機能は、リレーショナル方式でデータを格納することと、コミットされたデータを読み取ることと、プライマリーキーのクエリーを処理することと、必要に応じて行またはテーブルをロックすることと、データが変更するときにイベントを生成することとを有しても良い。これらは、数多くのデータベース管理システムの公知の機能である。従って、データソース108は、Java(登録商標) Database Connectivity(JDBC)、SQL、及びOracle(登録商標)Database Management System(DBMS)などの利用可能なソフトウェアを使用して実現できる。説明を容易にするために、本説明では、データソース108をこれらの特徴を持つデータベースとして扱う。ただし、これらの機能を実現する確立されたプロトコルに準拠するリモートサーバなどの、任意の持続性のあるデータソースが本発明を実施するには十分である。
図4は、本発明における、サンプルアカウントテーブル402を示す。サンプルアカウントテーブル402に格納されるデータは、各行がプライマリーキーで特定される行で編成される。各プライマリーキーに対応するのは、レコードデータと行ロックである。アカウントテーブルの中では、プライマリーキーと、その対応するレコードデータは、以下のように定義されても良い。すなわち、プライマリーキー=アカウント番号、レコードデータ=現在残高、銀行支店番号である。行ロックが動作可能とされると、行の中の情報に変更を加えることはできない。他の実施形態では、テーブルロックや別個のロックテーブルが使用できるか、あるいは行ロックは完全に省略できる。レコードデータは、サンプルアカウントテーブル402に対応するデータセットを特定するセレクタキーも有する。例えば、アカウントに基づくシステムでは、セレクタキーがアカウント番号となる場合がある。他の実施形態では、テーブルがプライマリーキーを有していなくても良い。このような実施形態では、データソース108内の行を特定するために、データソースに特殊な識別子を使用できる。
図5は、本発明における、サンプルマスタテーブルを示す。サンプルマスタテーブル502に格納されるデータは、プライマリーキーによって行で編成される。各プライマリーキーに対応するのはレコードデータである。マスタテーブルでは、プライマリーキー及びそれに対応するレコードデータは、以下のように定義されても良い。すなわち、プライマリーキー=製品SKU(在庫維持単位数)、レコードデータ=製品名、製造メーカ識別子である。サンプルマスタテーブルは、テーブルロックを有する。テーブルロックが動作可能とされると、テーブルの中の情報に変更を加えることはできない。他の実施形態では、このロックは、行ロック、別個のロックテーブを使用して実現できるか、あるいは完全に省略できる。レコードデータは、サンプルマスタテーブル502に対応するデータセットを特定するセレクタキーを有する。アカウントに基づくシステムでは、マスタデータは、全てのアカウントに当てはまるデータである場合がある。従って、マスタデータにとっては、セレクタキーは、データが全てのアカウントに当てはまることを示すための1または0などの公知の数である場合がある。
図6は、データキャッシュを詳細に示すブロック図である。データキャッシュ602は、1つまたは複数の領域に分割される。本発明の1つの実施形態では、各領域は、データソース108に格納されるアカウントテーブルに相当する。この実施形態では、単一のデータキャッシュは、多くのアカウントをサポートすることができ、システムが追加アカウントをサポートする必要があるときには、追加のデータキャッシュを追加できる。データキャッシュ602の中の各領域は、その領域内のデータセットを特定するセレクタキー604を有する。例えば、ユーザのアカウントに対応するデータが領域に格納される場合、セレクタキーはアカウント番号となっても良い。セレクタキー604に加えて、データキャッシュの各領域は2つのサブキャッシュを有する。すなわち、Implキャッシュ806とEnumキャッシュ608である。これらのサブキャッシュは、データソース108から検索されるデータのコピーを格納する。
Implキャッシュ606内のエントリは、プライマリーキー610と対応するレコードデータ612を有する。Implキャッシュ606は、データソース108にアクセスしなくてもデータアイテムに対する要求を容易にするために使用できる。例えば、ユーザが自分の口座残高の要求を送信すると、その要求を処理するアプリケーションサーバは、プライマリーキー「アカウント番号(口座番号)」で、適切なImplキャッシュ606から検索をし、対応するレコードデータ(例えば、現在残高、銀行支店番号)を返す。クエリーの処理は、図7Aと図7Bに詳述する。
Enumキャッシュ608内のエントリは、クエリー614及びそのクエリーを満たすレコードが対応するリスト616を有する。Enumキャッシュ608は、データソース108にアクセスしなくても、より複雑なクエリーを容易にするために使用できる。例えば、ユーザが、自分の最も最近の株式購入のリストに対する要求を送信すると、その要求を処理するアプリケーションサーバは、クエリー「最新の株式購入」を、適切なEnumキャッシュ608から検索し、そのクエリーを満たすレコードが対応するリストを返す。クエリーの処理は、図7Aと図7Bに詳述する。
図7Aと図7Bは、本発明における、データキャッシュ方式を使用してクエリーを処理するためのフローチャート図を示す。プロセスは、アプリケーションサーバ206が、ユーザ202からセレクタキーを含むクエリーを受信すると開始する(ステップ702)。このクエリーは、要求ディストリビュータ204によって、アプリケーションサーバ206に送信される。1つの実施形態では、要求ディストリビュータ204は、各アカウントが割り当てられているアプリケーションサーバ及び/またはデータキャッシュのレコードを維持する。従って、要求ディストリビュータ204はクエリーを受信すると、要求ディストリビュータ204は、適切なアプリケーションサーバ及び/またはデータキャッシュにクエリーを送信する。他にも、要求ディストリビュータ204及びアプリケーションサーバ206は、データストア108内の関連リスト310にアクセス可能である。クエリーを処理するために、アプリケーションサーバ206はクエリーからのセレクタキーを使用し、必要な情報を、どのデータキャッシュが格納している可能性があるのか、すなわちこのセレクタキーによって特定されるデータのサブセットを、どのデータキャッシュが格納しているのかを判断する。アカウントに基づく実施では、セレクタキーがユーザのアカウント番号となっても良く、アプリケーションサーバ206は、ユーザのアカウントのデータを、どのデータキャッシュ領域が格納するのかを判断するために、アカウント番号を使用する。そのデータキャッシュ内では、アプリケーションサーバ206が、クエリーからの、セレクタキーを含む領域内で1つまたは複数の検索を実行する。
クエリー処理を開始する前に、セレクタキーについてセレクタロックを獲得する(ステップ703)。セレクタロックが入手できない場合、すなわち、他のプロセスがセレクタキーをロックしている場合は、クエリーはデータソースを使用して処理することができ、結果はキャッシュされない。このようにして、クエリーは、キャッシュが利用できなくても処理することができる。
セレクタロックを獲得すると(ステップ703)、アプリケーションサーバ206は、セレクタキー(ステップ704)を含むキャッシュ領域内で、Enumキャッシュ内のクエリーを検索する。クエリーを満たすレコードのリストがEnumキャッシュ内に存在する場合には(ステップ706)、アプリケーションサーバ206はレコードのそのリストをユーザに返す(ステップ708)。存在しない場合は、アプリケーションサーバ206はデータソース108にクエリーを送信する(ステップ710)。データソース108は、公知のデータベースツールを使用してクエリーを処理し、クエリーの結果を示す1つまたは複数のプライマリーキーを返す(ステップ712)。
従って、この処理を完了するためには、アプリケーションサーバ206は、1つまたは複数のプライマリーキーの各々に対応するレコードデータを取得しなければならない。これを行うために、アプリケーションサーバ206は、(依然としてセレクタキーを含むキャッシュ領域内の)Implキャッシュで、次のプライマリーキーを検索する(ステップ714)。次のプライマリーキーがImplキャッシュ内で発見されると、アプリケーションサーバ206は、対応するレコードデータを、Implキャッシュからクエリーの結果に追加する(ステップ716)。次のプライマリーキーが発見されない場合、アプリケーションサーバ206は、データソース108から、対応するレコードデータを取得する(ステップ718)。データソースは、公知のデータベースツールを使用して検索要求を処理し、次のプライマリーキーに対応するレコードデータを返す。その後、アプリケーションサーバ206は、次のプライマリーキー及びその対応するレコードデータをImplキャッシュの中に格納し(ステップ720)、レコードデータをクエリーの結果(ステップ716)に追加する。このようにして、Implキャッシュは、将来のクエリーの処理を改良するために更新される。
ステップ712に於いて、データソース108によって複数のプライマリーキーが返されると、各プライマリーキーに対応するレコードデータが取得され、クエリーの結果に追加されるまで、プロセスを繰り返す(ステップ722)。次に、アプリケーションサーバ206は、クエリーを含むエントリ及びクエリーの結果をEnumキャッシュに追加し(ステップ724)、ユーザ202にクエリーの結果を返す(ステップ726)。このようにして、Enumキャッシュは、将来のクエリーの処理を改良するために更新される。最後に、セレクタロックが解放される(ステップ727)。
上述したように、データソース108及びデータキャッシュ208内でのアカウントに従ったデータの領域化により、アプリケーションサーバ206は、基礎をなすデータについての知識がなくても非常に迅速にクエリーを処理することができる。このデータ領域化の他の利点は、データストア108内に格納されるデータに対するあらゆる変更が、図8、図9及び図10に関して後述するように、シームレス且つ効率的にデータキャッシュ208と共用されるように、データキャッシュ208をデータソース108と同期させることである。他の利点としては、データソースに対する変更が、図8に関して後述するように、データキャッシュから削除される項目の数を最小にするという点である。
図8は、データソース108内のマスタデータが変更するときに、データキャッシュを更新するためのプロセスを示すフローチャート図である。このプロセスは、あるプロセスが、マスタテーブル内のプライマリーキーに対応する行でマスタデータ(すなわち、全てのアカウントに影響を及ぼすデータ)を変更しようとするときに開始する(ステップ802)。これは、例えば、システム管理者がトランザクション処理システムに新製品を付加するときに発生する可能性がある。データソース108は、変更する行を含むテーブルをロックし(ステップ804)、変更する行からセレクタキーを検索する(ステップ806)。ロックが使用できない場合、データソースは、ロックが使用できるようになるまで待機するか、あるいはトランザクションを打ち切ることができる。上述したように、マスタデータのセレクタキーは、例えば、データが全てのアカウントに影響を及ぼすことを示すために、0または−1などの予め定められた番号であってよい。
変更をデータキャッシュ208に警告するために、データストア108は、全ての実行中のデータキャッシュのテーブル308内に一覧表示される全てのデータキャッシュに無効メッセージを送信する(ステップ808)。この無効メッセージは、変更している行のプライマリーキー、セレクタキー、及び行の変更の種類(すなわち、追加、変更、または削除)を有している。データストア108は、プロセス間通信チャネル306を介してデータキャッシュに無効メッセージを送信する。データストア108は、各データキャッシュから応答を受信するために、予め定められた時間待機する(ステップ810)。データキャッシュの全てが無事に応答すると(ステップ812)、キャッシュを無効にし、データストア108は、変更可能とするためにテーブルをアンロックする(ステップ814)。データキャッシュの全てが無事に応答しない場合には、トランザクションを打ち切る(ステップ816)。例えば、データキャッシュがクラッシュした場合に、データキャッシュは無事に応答できない。
図9は、データソース108内のアカウントデータが変更するときに、データキャッシュを更新するためのプロセスを示すフローチャート図である。このプロセスは、あるプロセスが、アカウントテーブル内のプライマリーキーに対応する行の中のアカウントデータを変更しようとするときに開始する(ステップ902)。これは、例えば、株式取引が実行されるとき、または電子マネーによる支払いが素早く処理されたときに発生する可能性がある。データソース108は、変更している行をロックし(ステップ904)、変更している行からセレクタキーを検索する(ステップ906)。ロックが使用できない場合、データソース108は、ロックが使用できるようになるまで待機するか、あるいはトランザクションを打ち切る。行がロックされると、他のプロセスは行の中のデータを修正することはできない。データソース108は、関連リスト310を使用して、どのデータキャッシュがセレクタキーに対応するのか(すなわち、どのデータキャッシュがこのアカウントのためのデータを格納するのか)を判断する。
適切なデータキャッシュに変更を警告するため、データストア108は、判断されたデータキャッシュに無効メッセージを送信する(ステップ910)。無効メッセージは、プライマリーキー、セレクタキー、及び変更の種類(すなわち、追加、変更、または削除)を有する。データストア108は、プロセス間通信チャネル306を介してデータキャッシュに無効メッセージを送信する。データストア108は、データキャッシュから応答を受信するために、予め定められた時間待機する(ステップ912)。データキャッシュが無事に応答すると(ステップ914)、キャッシュは無効にされ、データストア108が、変更可能とするために行をアンロックする(ステップ916)。データキャッシュが無事に応答しない場合には、トランザクションを打ち切る(ステップ918)。例えば、データキャッシュがクラッシュすると、データキャッシュは無事に応答できない。
図10は、データソースの変更に対してキャッシュを無効にするプロセスを示したフローチャート図である。このプロセスは、無効メッセージがデータキャッシュによって受信されると開始する(ステップ1002)。上述したように、無効メッセージは、基礎をなすデータソースの中のデータが変更した旨を示す。無効メッセージはプライマリーキー、セレクタキーを有する。変更の種類が削除または更新のどちらかである場合には(ステップ1004)、プライマリーキーに対応する、基礎をなすレコードデータが変更され、データキャッシュはこのデータの全ての古い(期限切れの)コピーを削除する。これを実行するために、セレクタキーに対応するデータキャッシュの領域の中では、プライマリーキーを含む全てのエントリが削除される(ステップ1006)。これにより、プライマリーキーを含む、それ以降の要求で古いレコードデータが検索されないこととなる。更に、いったん基礎をなすレコードデータが変更されると、格納されるクエリーの結果が影響を受ける可能性がある。従って、セレクタキーに対応するキャッシュ領域内の全ての格納されるクエリーの結果が削除される。これを行うためには、セレクタキーに対応するデータキャッシュの領域内のEnumキャッシュから、全てのエントリが削除される(ステップ1010)。
変更の種類が挿入である場合には(ステップ1008)、Implキャッシュ内の公知のレコードデータを変更する必要はないが、格納されているクエリーの結果は正確であると信頼できなくなる。従って、セレクタキーに対応するキャッシュ領域内の全ての格納されるクエリー結果は削除される。これを行うために、セレクタキーに対応するデータキャッシュの領域内のEnumキャッシュから、全てのエントリが削除される(ステップ1010)。
ここに説明したように、本発明は、データサイズが極端に大きくなるにつれ、性能は劣化しないことを意味する、極めて拡張性の高いデータをキャッシュに入れるための技法を実現する。更に、上述の方法を使用して、データキャッシュは、基礎をなすデータソースと同期し、その結果データがコミットされるときと、それが最初にキャッシュ内で入手可能になるときの間に遅延はない。
この技法は、ユーザごとのアカウント情報及びユーザ全体の製品情報がおもに分離できる、オンライン株式取引システムなどの高負荷(高容量)トランザクションシステムで特に役立つ。しかしながら、本発明は、容易に領域化されないデータを格納するためのシステムでもその効果を発揮する。
本発明の実施形態の上述の説明は、図解及び説明の為に示している。それは全ての例ではなく、ここで開示した実施形態に限定するものではない。変型やバリエーションは、上述の記載から可能であり、あるいは本発明の実施から得られる。本発明の追加の変型やバリエーションは、例えば、説明した実施形態ではソフトウェアを含むが、本発明は、ハードウェアとソフトウェアの組み合わせ、あるいはハードウェアだけで実現されてもよい。本発明は、オブジェクト指向型と非オブジェクト指向型の両方のプログラミングシステムにより実現可能である。
更に、当業者は他の構成により、本発明を実現可能である。例えば、データキャッシュは、性能向上を実現する為に、アプリケーションサーバと組み合わせることができる。他の実施形態では、無効メッセージは、アカウントデータが変更するのか、マスタデータが変更するのかに関係なく、全てのデータキャッシュに一斉送信できても良い。この場合、データのアカウントに特殊な領域かを用いることは必要ない場合もある。他の実施形態は、同時複数領域化方式を用いることも可能である。
更に、本発明の態様はメモリに格納されると説明したが、これらの態様が、ハードディスク、磁気ディスク、またはCD−ROMのような二次格納装置などの他の種類のコンピュータ読取可能な媒体、インターネットや他の搬送媒体からの搬送波、あるいは他の形式のRAMまたはROMに格納できる。発明の範囲は、クレーム及びその同等物により定義される。

Claims (31)

  1. 各領域がアカウントに対応する複数の領域のあるデータキャッシュを使用してアカウント情報を処理する方法であって、
    前記方法は、
    ユーザからクエリー及びアカウント番号を受信するステップと、
    アカウント番号に対応するキャッシュ領域において、第1サブキャッシュでクエリーを検索するステップと、
    第1サブキャッシュでクエリーが発見されない場合には処理Aを行うステップと、
    第1サブキャッシュでクエリーが発見されない場合には第1サブキャッシュ内のクエリーとともに格納されるレコードデータをユーザに返すステップと、
    からなり、
    前記処理Aは、
    データストアにクエリーを送信し、
    データストアからクエリーに対する少なくとも1つのプライマリーキーを受信し、
    少なくとも1つのプライマリーキーの各々について、
    キャッシュ領域内の第2サブキャッシュでプライマリーキー及び対応するレコードデータを検索し、第2サブキャッシュでプライマリーキーが発見されない場合には、データストアからプライマリーキーに対応するレコードデータを取得し第2サブキャッシュにレコードデータ及びプライマリーキーを格納し、プライマリーキーに対応するレコードデータをユーザに返し、第1サブキャッシュに、クエリーとともにプライマリーキー及び対応するレコードデータを格納する、
    ことを特徴とする方法。
  2. データストア内のマスタデータが変更した場合のデータキャッシュを更新するための方法であって、
    前記方法は、
    データストア内のマスタデータを変更するための、プライマリーキー及び変更の種類を含む要求を受信するステップと、
    データストア内のテーブルにプライマリーキーを含む行を配置するステップと、
    行からセレクタキーを検索するステップと、
    行を含むテーブルをロックするステップと、
    実行中のキャッシュサーバのテーブルに一覧表示される各キャッシュサーバにメッセージを送信するステップと、
    各キャッシュサーバから肯定応答が受信されると、行を含むテーブルをアンロックし、要求を承認するステップと、
    からなることを特徴とする方法。
  3. メッセージがプライマリーキー、セレクタキー、及び変更の種類を含む
    ことを特徴とする請求項2に記載の方法。
  4. 各キャッシュサーバから応答を受信するために、予め定められた時間待機すること
    をさらに備えることを特徴とする請求項2に記載の方法。
  5. セレクタキーがアカウント番号である
    ことを特徴とする請求項2に記載の方法。
  6. トランザクションを処理するための、データストアを備えるシステムであって、
    前記データストアは、メモリと、プログラムを実行するように構成されたプロセッサとを備え、
    前記メモリは、複数のアカウントに該当するマスタデータを含む複数のテーブルと、方法を実行するプログラムとを格納するように構成され、
    前記方法は、
    プライマリーキー及び変更の種類を含む、データストア内のマスタデータを変更するための要求を受信し、
    データストア内のテーブルにプライマリーキーを含む行を配置し、
    行からセレクタキーを検索し、
    行を含んだテーブルをロックし、
    実行中のキャッシュサーバのテーブルに一覧表示される各キャッシュサーバにメッセージを送信し、
    各キャッシュサーバからの肯定応答受信時に行を含むテーブルをアンロックする、
    ことを特徴とするシステム。
  7. メッセージがプライマリーキー、セレクタキー、及び変更の種類を含む
    ことを特徴とする請求項6に記載のシステム。
  8. 方法が、各キャッシュサーバから応答を受信するために、予め定められた時間待機する
    ことを更に備えることを特徴とする請求項6に記載のシステム。
  9. セレクタキーがアカウント番号である
    ことを特徴とする請求項6に記載のシステム。
  10. データストア内のアカウントデータが変更した場合のデータキャッシュを更新するための方法であって、
    前記方法は、
    格納されているアカウントデータを変更するための、プライマリーキーと変更の種類を含む要求を受信するステップと、
    データストア内のテーブルにプライマリーキーを含む行を配置するステップと、
    行からセレクタキーを検索するステップと、
    行をロックするステップと、
    セレクタキーに対応するデータキャッシュを決定するステップと、
    プライマリーキー、セレクタキー、及び変更の種類を含むメッセージを、決定されたデータキャッシュに送信するステップと、
    決定されたサーバから肯定の応答が受信されると、行をアンロックし、要求を承認するステップと、
    を備えることを特徴とする方法。
  11. 決定されたサーバから応答を受信するために、予め定められた時間待機することをさらに備える
    ことを特徴とする請求項10に記載の方法。
  12. 変更の種類がデータストアからレコードを削除することである
    ことを特徴とする請求項10に記載の方法。
  13. 変更の種類がデータストアのレコードを更新することである
    ことを特徴とする請求項10に記載の方法。
  14. 変更の種類がデータストアにレコードを追加することである
    ことを特徴とする請求項10に記載の方法。
  15. トランザクションを処理するための、データストアを備えるシステムであって、
    前記データストアは、メモリと、プログラムを実行するように構成されたプロセッサとを備え、
    前記メモリは、各テーブルがアカウントに対応する複数のテーブルと、方法を実行するプログラムとを格納するように構成され、
    前記方法は、
    格納されているアカウントデータを変更するための、プライマリーキー及び変更の種類を含む要求を受信し、
    データストア内のテーブルの中にプライマリーキーを含む行を配置し、
    行からセレクタキーを検索し、
    行をロックし、
    セレクタキーに対応するデータキャッシュを決定し、
    プライマリーキー、セレクタキー、及び変更の種類を含むメッセージを決定されたデータキャッシュに送信し、
    決定されたサーバからの肯定応答の受信時に行をアンロックする、
    ことを特徴とするシステム。
  16. 方法が、決定されたサーバから応答を受信するために、予め定められた時間待機すること
    をさらに備えることを特徴とする請求項15に記載のシステム。
  17. 変更の種類がデータストアからレコードを削除することである
    ことを特徴とする請求項15に記載のシステム。
  18. 変更の種類がデータストアのレコードを更新することである
    ことを特徴とする請求項15に記載のシステム。
  19. 変更の種類がデータストアにレコードを追加することである
    ことを特徴とする請求項15に記載のシステム。
  20. 各領域がアカウントに対応する複数の領域を有するデータキャッシュであって、
    前記データキャッシュは、
    少なくとも1つのクエリーを、少なくとも1つのクエリーに対する結果とともに格納するように構成され、アカウント番号に対応する領域内の第1サブキャッシュと、
    プライマリーキーを含む少なくとも1つのエントリを、プライマリーキーに対応するレコードデータとともに格納するように構成され、アカウント番号に対応する領域内の第2サブキャッシュと、
    プロセッサとからなり、
    前記プロセッサは、
    アカウント番号、ターゲットプライマリーキー、及び変更の種類を含むメッセージを受信し、
    アカウント番号に対応する領域において、変更の種類が削除である場合にターゲットプライマリーキーを含む第2サブキャッシュからエントリを削除し、変更の種類が更新である場合に、ターゲットプライマリーキーを含む第2サブキャッシュからエントリを削除し、第1サブキャッシュのコンテンツを削除する、
    ことを特徴とするデータキャッシュ。
  21. プロセッサが、
    エントリが第1サブキャッシュから削除された後に、成功メッセージを送信するようにさらに構成される
    ことを特徴とする請求項20に記載のデータキャッシュ。
  22. プロセッサが、
    エントリが第2サブキャッシュから削除された後に、成功メッセージを送信するようにさらに構成される
    ことを特徴とする請求項20に記載のデータキャッシュ。
  23. プロセッサが、
    エントリが第1サブキャッシュから削除され、エントリが第2サブキャッシュから削除された後に、成功メッセージを送信するようにさらに構成される
    ことを特徴とする請求項20に記載のデータキャッシュ。
  24. データストア内のデータが変更した場合にデータキャッシュを更新するための方法であって、
    前記方法は、
    アカウント番号に対応する領域内の第1サブキャッシュに、少なくとも1つのクエリーを、少なくとも1つのクエリーに対応する結果とともに格納するステップと、
    アカウント番号に対応するキャッシュ領域内の第2サブキャッシュに、プライマリーキーを含む少なくとも1つのエントリを、プライマリーキーに対応するレコードデータとともに格納するステップと、
    アカウント番号、ターゲットプライマリーキー、及び変更の種類を含むメッセージを受信するステップと、
    アカウント番号に対応する領域において、変更の種類が削除である場合にターゲットプライマリーキーを含む第2サブキャッシュからエントリを削除し、変更の種類が更新である場合にターゲットプライマリーキーを含む第2サブキャッシュからエントリを削除し、第1サブキャッシュのコンテンツを削除するステップと、
    を備えることを特徴とする方法。
  25. エントリが第1サブキャッシュから削除された後に成功メッセージを送信することをさらに備える
    ことを特徴とする請求項24に記載の方法。
  26. エントリが第2サブキャッシュから削除された後に成功メッセージを送信することをさらに備える
    ことを特徴とする請求項24に記載の方法。
  27. エントリが第1サブキャッシュから削除され、エントリが第2サブキャッシュから削除された後に、成功メッセージを送信することをさらに備える
    ことを特徴とする請求項24に記載の方法。
  28. データストア内のマスタデータが変更した場合にデータキャッシュを更新するための方法であって、
    前記方法は、
    データストア内のマスタデータを変更するための、プライマリーキー及び変更の種類を含む要求を受信するステップと、
    データストア内のデータ構造にプライマリーキーを含むエントリからセレクタキーを検索するステップと、
    エントリを含むデータ構造をロックするステップと、
    実行中のキャッシュサーバ群で特定される各キャッシュサーバにメッセージを送信するステップと、
    各キャッシュサーバからの肯定応答受信時に、エントリを含むデータ構造をアンロックし、要求を承認するステップと、
    を備えることを特徴とする方法。
  29. メッセージがプライマリーキー、セレクタキー、及び変更の種類を含む
    ことを特徴とする請求項28に記載の方法。
  30. 各キャッシュサーバから応答を受信するために、予め定められた時間待機することをさらに備える
    ことを特徴とする請求項28に記載の方法。
  31. セレクタキーがアカウント番号である
    ことを特徴とする請求項28に記載の方法。
JP2011114338A 2000-07-07 2011-05-23 トランザクション処理システムでの処理方法 Expired - Lifetime JP4956683B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US21688300P 2000-07-07 2000-07-07
US60/216,883 2000-07-07

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2002508674A Division JP4854169B2 (ja) 2000-07-07 2001-07-09 極めて拡張性の高い同期データキャッシュシステム

Related Child Applications (2)

Application Number Title Priority Date Filing Date
JP2012027502A Division JP2012089180A (ja) 2000-07-07 2012-02-10 データキャッシュ処理方法およびトランザクション処理システム
JP2012027503A Division JP2012089181A (ja) 2000-07-07 2012-02-10 トランザクション処理システムおよび処理方法

Publications (2)

Publication Number Publication Date
JP2011159326A true JP2011159326A (ja) 2011-08-18
JP4956683B2 JP4956683B2 (ja) 2012-06-20

Family

ID=22808851

Family Applications (4)

Application Number Title Priority Date Filing Date
JP2002508674A Expired - Lifetime JP4854169B2 (ja) 2000-07-07 2001-07-09 極めて拡張性の高い同期データキャッシュシステム
JP2011114338A Expired - Lifetime JP4956683B2 (ja) 2000-07-07 2011-05-23 トランザクション処理システムでの処理方法
JP2012027502A Pending JP2012089180A (ja) 2000-07-07 2012-02-10 データキャッシュ処理方法およびトランザクション処理システム
JP2012027503A Pending JP2012089181A (ja) 2000-07-07 2012-02-10 トランザクション処理システムおよび処理方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2002508674A Expired - Lifetime JP4854169B2 (ja) 2000-07-07 2001-07-09 極めて拡張性の高い同期データキャッシュシステム

Family Applications After (2)

Application Number Title Priority Date Filing Date
JP2012027502A Pending JP2012089180A (ja) 2000-07-07 2012-02-10 データキャッシュ処理方法およびトランザクション処理システム
JP2012027503A Pending JP2012089181A (ja) 2000-07-07 2012-02-10 トランザクション処理システムおよび処理方法

Country Status (7)

Country Link
US (1) US6615317B2 (ja)
EP (2) EP1405213A2 (ja)
JP (4) JP4854169B2 (ja)
AT (1) ATE553442T1 (ja)
AU (1) AU2001272918A1 (ja)
HK (1) HK1101207A1 (ja)
WO (1) WO2002005134A2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200119542A (ko) * 2019-04-10 2020-10-20 주식회사 티맥스 소프트 데이터 베이스 관리 방법

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI226961B (en) * 2003-01-30 2005-01-21 Chi Mei Optoelectronics Corp Multi-domain vertical alignment LCD using circular polarized light
US20040193656A1 (en) * 2003-03-28 2004-09-30 Pizzo Michael J. Systems and methods for caching and invalidating database results and derived objects
US7302425B1 (en) * 2003-06-09 2007-11-27 Microsoft Corporation Distributed pre-cached query results and refresh method
US7962481B2 (en) * 2003-09-04 2011-06-14 Oracle International Corporation Query based invalidation subscription
US8655755B2 (en) 2003-10-22 2014-02-18 Scottrade, Inc. System and method for the automated brokerage of financial instruments
JP4631301B2 (ja) * 2004-03-31 2011-02-16 株式会社日立製作所 記憶装置のキャッシュ管理方法
US7383389B1 (en) 2004-04-28 2008-06-03 Sybase, Inc. Cache management system providing improved page latching methodology
US7653651B1 (en) 2004-04-29 2010-01-26 Sap Ag System and method for transparent persistence management
US7469256B1 (en) 2004-04-29 2008-12-23 Sap Ag Cached persistent data management through state tracking
US7590639B1 (en) 2004-04-29 2009-09-15 Sap Ag System and method for ordering a database flush sequence at transaction commit
US7296028B1 (en) 2004-04-30 2007-11-13 Sap Ag System and method for mapping object-oriented program code to a database layer
US7672932B2 (en) 2005-08-24 2010-03-02 Yahoo! Inc. Speculative search result based on a not-yet-submitted search query
US7747639B2 (en) * 2005-08-24 2010-06-29 Yahoo! Inc. Alternative search query prediction
US7844599B2 (en) * 2005-08-24 2010-11-30 Yahoo! Inc. Biasing queries to determine suggested queries
US9390019B2 (en) * 2006-02-28 2016-07-12 Violin Memory Inc. Method and apparatus for providing high-performance and highly-scalable storage acceleration
US7761805B2 (en) * 2006-09-11 2010-07-20 Yahoo! Inc. Displaying items using a reduced presentation
US7630970B2 (en) * 2006-11-28 2009-12-08 Yahoo! Inc. Wait timer for partially formed query
US7752219B2 (en) * 2007-08-21 2010-07-06 International Business Machines Corporation Apparatus, system, and method for customized event processing using a JDBC resource adapter
CN101430687B (zh) 2007-11-09 2015-11-25 阿里巴巴集团控股有限公司 基于oltp环境的统计表应用方法及系统
CN104123239B (zh) 2008-01-31 2017-07-21 甲骨文国际公司 用于事务缓存的系统和方法
ITTO20080434A1 (it) 2008-06-05 2009-12-06 Accenture Global Services Gmbh Sistema di raccolta e di analisi di dati relativi agli acquisti di consumatori e acquirenti
US8812533B1 (en) * 2009-05-21 2014-08-19 Salesforce.Com, Inc. System, method and computer program product for automatically presenting selectable options in a lookup field
US8762340B2 (en) 2010-05-14 2014-06-24 Salesforce.Com, Inc. Methods and systems for backing up a search index in a multi-tenant database environment
US8386431B2 (en) * 2010-06-14 2013-02-26 Sap Ag Method and system for determining database object associated with tenant-independent or tenant-specific data, configured to store data partition, current version of the respective convertor
EP2453368B1 (en) * 2010-11-12 2017-05-31 Accenture Global Services Limited Custom web services data link layer
US8402112B2 (en) 2011-01-14 2013-03-19 Microsoft Corporation Inter-cache communication using HTTP resource
US8612550B2 (en) 2011-02-07 2013-12-17 Microsoft Corporation Proxy-based cache content distribution and affinity
WO2013072524A1 (de) * 2011-11-18 2013-05-23 Cytolon Ag Zentrale steuerung verteilter organisationsstrukturen
US9246998B2 (en) 2012-10-16 2016-01-26 Microsoft Technology Licensing, Llc Load balancer bypass
WO2014118938A1 (ja) * 2013-01-31 2014-08-07 株式会社日立製作所 通信経路の管理方法
US10585896B2 (en) * 2013-03-12 2020-03-10 Red Hat, Inc. Managing data in relational database management system
WO2014192213A1 (ja) * 2013-05-31 2014-12-04 日本電気株式会社 分散処理システム
US10171501B2 (en) * 2013-09-20 2019-01-01 Open Text Sa Ulc System and method for remote wipe
US10313256B2 (en) * 2015-05-21 2019-06-04 Intel Corporation Apparatus and methods for adaptive data compression
US11593075B2 (en) 2015-11-03 2023-02-28 Open Text Sa Ulc Streamlined fast and efficient application building and customization systems and methods
US10721719B2 (en) * 2017-06-20 2020-07-21 Citrix Systems, Inc. Optimizing caching of data in a network of nodes using a data mapping table by storing data requested at a cache location internal to a server node and updating the mapping table at a shared cache external to the server node
CN111159144B (zh) * 2019-11-27 2023-09-08 北京中交兴路信息科技有限公司 一种缓存系统和方法
US11379369B1 (en) * 2021-01-15 2022-07-05 Coupang Corp. Systems and methods for dynamic in-memory caching of mappings into partitions

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1115714A (ja) * 1997-06-25 1999-01-22 Mitsubishi Electric Corp 情報取得端末、情報キャッシュサーバ及び情報取得方法
JPH11219312A (ja) * 1998-02-04 1999-08-10 Hitachi Ltd データキャッシュ方法およびデータアクセス方法
JP2000020385A (ja) * 1998-07-07 2000-01-21 Hitachi Ltd データ検索システムにおけるデータキャッシュ方法
JP2000089996A (ja) * 1998-09-16 2000-03-31 Nec Corp 情報処理装置およびデータベースシステム
JP2000148676A (ja) * 1998-11-11 2000-05-30 Hitachi Ltd データウェアハウスシステムとそこで用いられる問合せ処理方法及びそのためのデータ収集方法と装置及び課金システム

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2755390B2 (ja) * 1988-05-19 1998-05-20 株式会社日立製作所 データベース処理装置及びデータベース処理方法
JPH06195252A (ja) * 1992-12-22 1994-07-15 Oki Electric Ind Co Ltd キャッシング方式
US6154742A (en) * 1996-07-02 2000-11-28 Sun Microsystems, Inc. System, method, apparatus and article of manufacture for identity-based caching (#15)
IL118959A (en) * 1996-07-26 1999-07-14 Ori Software Dev Ltd Database apparatus
US6256675B1 (en) * 1997-05-06 2001-07-03 At&T Corp. System and method for allocating requests for objects and managing replicas of objects on a network
US6026413A (en) * 1997-08-01 2000-02-15 International Business Machines Corporation Determining how changes to underlying data affect cached objects
JPH11259346A (ja) * 1998-03-12 1999-09-24 Mitsubishi Electric Corp クライアント・サーバ型データベースシステムにおけるトランザクション処理方法およびクライアント・サーバ型データベース用のクライアント・サーバ装置
US20010023414A1 (en) * 1998-12-08 2001-09-20 Srihari Kumar Interactive calculation and presentation of financial data results through a single interface on a data-packet-network
US6317816B1 (en) * 1999-01-29 2001-11-13 International Business Machines Corporation Multiprocessor scaleable system and method for allocating memory from a heap
US6263302B1 (en) * 1999-10-29 2001-07-17 Vast Systems Technology Corporation Hardware and software co-simulation including simulating the cache of a target processor
US20010032154A1 (en) * 1999-12-17 2001-10-18 Eric Schummer Internet communications and e-commerce platform
US20020107770A1 (en) * 2000-05-12 2002-08-08 Meyer Chadwick M. System for allocating funds in a plurality of stock portfolios

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1115714A (ja) * 1997-06-25 1999-01-22 Mitsubishi Electric Corp 情報取得端末、情報キャッシュサーバ及び情報取得方法
JPH11219312A (ja) * 1998-02-04 1999-08-10 Hitachi Ltd データキャッシュ方法およびデータアクセス方法
JP2000020385A (ja) * 1998-07-07 2000-01-21 Hitachi Ltd データ検索システムにおけるデータキャッシュ方法
JP2000089996A (ja) * 1998-09-16 2000-03-31 Nec Corp 情報処理装置およびデータベースシステム
JP2000148676A (ja) * 1998-11-11 2000-05-30 Hitachi Ltd データウェアハウスシステムとそこで用いられる問合せ処理方法及びそのためのデータ収集方法と装置及び課金システム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200119542A (ko) * 2019-04-10 2020-10-20 주식회사 티맥스 소프트 데이터 베이스 관리 방법
KR102195838B1 (ko) * 2019-04-10 2020-12-28 주식회사 티맥스 소프트 데이터 베이스 관리 방법
US11138197B2 (en) 2019-04-10 2021-10-05 Tmaxsoft Co., Ltd Method for managing database
US11709840B2 (en) 2019-04-10 2023-07-25 TmaxSoft Co., Ltd. Method for managing database

Also Published As

Publication number Publication date
WO2002005134A2 (en) 2002-01-17
US20020035673A1 (en) 2002-03-21
US6615317B2 (en) 2003-09-02
JP4956683B2 (ja) 2012-06-20
EP1405213A2 (en) 2004-04-07
EP1736899A2 (en) 2006-12-27
EP1736899B1 (en) 2012-04-11
EP1736899A3 (en) 2011-02-16
JP2004513414A (ja) 2004-04-30
JP4854169B2 (ja) 2012-01-18
JP2012089180A (ja) 2012-05-10
HK1101207A1 (en) 2007-10-12
JP2012089181A (ja) 2012-05-10
WO2002005134A3 (en) 2004-01-15
AU2001272918A1 (en) 2002-01-21
ATE553442T1 (de) 2012-04-15

Similar Documents

Publication Publication Date Title
JP4956683B2 (ja) トランザクション処理システムでの処理方法
US7162467B2 (en) Systems and methods for managing distributed database resources
US10803047B2 (en) Accessing data entities
US7107270B2 (en) Partitioning ownership of a database among different database servers to control access to the database
JP4306152B2 (ja) クラスタ化したアプリケーションサーバおよびデータベース構造を持つWebシステム
US10296629B2 (en) Server supporting a consistent client-side cache
US7409397B2 (en) Supporting replication among a plurality of file operation servers
US6237001B1 (en) Managing access to data in a distributed database environment
US7853570B2 (en) Method and system for data processing with parallel database systems
US20080098173A1 (en) Consistent client-side cache
JPS5894046A (ja) 計算システムの動作方式
EP1399847B1 (en) Partitioning ownership of a database among different database servers to control access to the database
JPH10222407A (ja) プロセスオーバーヘッド及びデータベースサーバからの冗長な検索を減少するように同じプロセスにおける多数のデータベーストランザクションを処理する方法
JPH11120066A (ja) 基礎データの変更がオブジェクトにどのように影響するかの判定方法およびプログラム記憶装置
US8224837B2 (en) Method and mechanism for supporting virtual content in performing file operations at a RDBMS
CN113448976B (zh) 数据处理方法、装置、计算机设备和存储介质
JPH06195252A (ja) キャッシング方式
WO2003003252A1 (en) Partitioning ownership of a database among different database servers to control access to the database
JP2000187605A (ja) 純並列データベース管理システム
JP2000222272A (ja) データベース検索システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110608

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20110720

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111220

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120210

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

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

R150 Certificate of patent or registration of utility model

Ref document number: 4956683

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20150323

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

EXPY Cancellation because of completion of term