JPH11338746A - データベースアクセスシステムおよびプログラムを記録したコンピュータ読み取り可能な記録媒体 - Google Patents
データベースアクセスシステムおよびプログラムを記録したコンピュータ読み取り可能な記録媒体Info
- Publication number
- JPH11338746A JPH11338746A JP10146371A JP14637198A JPH11338746A JP H11338746 A JPH11338746 A JP H11338746A JP 10146371 A JP10146371 A JP 10146371A JP 14637198 A JP14637198 A JP 14637198A JP H11338746 A JPH11338746 A JP H11338746A
- Authority
- JP
- Japan
- Prior art keywords
- database
- interface
- databases
- server
- application server
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- 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/25—Integrating or interfacing systems involving database management systems
- G06F16/256—Integrating or interfacing systems involving database management systems in federated or virtual databases
-
- 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/2379—Updates performed during online database operations; commit processing
-
- 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/953—Organization of data
- Y10S707/959—Network
-
- 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/964—Database arrangement
- Y10S707/966—Distributed
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
(57)【要約】
【課題】 簡易な構成でコストを安くすることができ、
しかも異種類のデータベースを扱うことができるデータ
ベースアクセスシステムおよびプログラムを記録したコ
ンピュータ読み取り可能な記録媒体を得ること。 【解決手段】 本発明は、クライアント側に各々設置さ
れたクライアント端末11〜13と、ネットワーク3を介
して供給されるデータベース51〜53を格納するデータ
ベースサーバ41〜43と、クライアント端末11〜13か
ら各々要求されるサービスをサーバアプリケーションプ
ログラム7の下で実行するアプリケーションサーバ6と
を備え、アプリケーションサーバ6は、分散トランザク
ションマネジャ9と、データベース51〜53に各々対応
して設けられており、分散トランザクションマネジャ9
の制御により、データベースアクセス処理を各々個別的
に行うローカルトランザクションマネジャ101〜103
とからなる。
しかも異種類のデータベースを扱うことができるデータ
ベースアクセスシステムおよびプログラムを記録したコ
ンピュータ読み取り可能な記録媒体を得ること。 【解決手段】 本発明は、クライアント側に各々設置さ
れたクライアント端末11〜13と、ネットワーク3を介
して供給されるデータベース51〜53を格納するデータ
ベースサーバ41〜43と、クライアント端末11〜13か
ら各々要求されるサービスをサーバアプリケーションプ
ログラム7の下で実行するアプリケーションサーバ6と
を備え、アプリケーションサーバ6は、分散トランザク
ションマネジャ9と、データベース51〜53に各々対応
して設けられており、分散トランザクションマネジャ9
の制御により、データベースアクセス処理を各々個別的
に行うローカルトランザクションマネジャ101〜103
とからなる。
Description
【0001】
【発明の属する技術分野】本発明は、複数のクライアン
ト端末から分散配置された複数のデータベースへのアク
セスに用いられるデータベースアクセスシステムおよび
プログラムを記録したコンピュータ読み取り可能な記録
媒体に関する。
ト端末から分散配置された複数のデータベースへのアク
セスに用いられるデータベースアクセスシステムおよび
プログラムを記録したコンピュータ読み取り可能な記録
媒体に関する。
【0002】
【従来の技術】図5は、従来のデータベースアクセスシ
ステムの構成を示すブロック図である。この図に示すデ
ータベースアクセスシステムは、クライアント層、中間
層およびデータベース層という3層構造とされている。
図5に示すクライアント層において、301〜303は、
クライアント側に各々設置されたクライアント端末(コ
ンピュータ)であり、ネットワーク3に各々接続されて
いる。このネットワーク3は、例えば、インターネット
である。また、クライアント端末301〜303の各記憶
部には、クライアント端末301〜303により各々実行
されるクライアントアプリケーションプログラム311
〜313が各々記憶されている。
ステムの構成を示すブロック図である。この図に示すデ
ータベースアクセスシステムは、クライアント層、中間
層およびデータベース層という3層構造とされている。
図5に示すクライアント層において、301〜303は、
クライアント側に各々設置されたクライアント端末(コ
ンピュータ)であり、ネットワーク3に各々接続されて
いる。このネットワーク3は、例えば、インターネット
である。また、クライアント端末301〜303の各記憶
部には、クライアント端末301〜303により各々実行
されるクライアントアプリケーションプログラム311
〜313が各々記憶されている。
【0003】これらのクライアントアプリケーションプ
ログラム311〜313は、後述するアプリケーションサ
ーバ34に対してサービスを要求するとともに、該サー
ビスの結果を受け取るという処理を実行するためのプロ
グラムである。
ログラム311〜313は、後述するアプリケーションサ
ーバ34に対してサービスを要求するとともに、該サー
ビスの結果を受け取るという処理を実行するためのプロ
グラムである。
【0004】また、データベース層において、データベ
ースサーバ321〜323は、ネットワーク3を介して供
給されるデータベース331〜333を格納するコンピュ
ータであり、これらのデータベース331〜333は、デ
ータベースサーバ321〜323の各記憶部に記憶されて
いる。これらのデータベース331〜333は、いずれも
同一種類のものである。
ースサーバ321〜323は、ネットワーク3を介して供
給されるデータベース331〜333を格納するコンピュ
ータであり、これらのデータベース331〜333は、デ
ータベースサーバ321〜323の各記憶部に記憶されて
いる。これらのデータベース331〜333は、いずれも
同一種類のものである。
【0005】また、中間層において、アプリケーション
サーバ34は、ネットワーク3を介してクライアント端
末301〜303を収容し、かつデータベースサーバ32
1〜323に接続されたコンピュータである。このアプリ
ケーションサーバ34は、クライアント端末301〜3
03から各々要求されるサービスを実行する。また、こ
のアプリケーションサーバ34の記憶部には、アプリケ
ーションサーバ34により実行されるサーバアプリケー
ションプログラム35が記憶されている。
サーバ34は、ネットワーク3を介してクライアント端
末301〜303を収容し、かつデータベースサーバ32
1〜323に接続されたコンピュータである。このアプリ
ケーションサーバ34は、クライアント端末301〜3
03から各々要求されるサービスを実行する。また、こ
のアプリケーションサーバ34の記憶部には、アプリケ
ーションサーバ34により実行されるサーバアプリケー
ションプログラム35が記憶されている。
【0006】このサーバアプリケーションプログラム3
5は、上述したサービスを実行するためのプログラムで
あり、このサービスの一例としては、後述するデータベ
ース331〜333へのアクセスがある。すなわち、アプ
リケーションサーバ34は、クライアント端末301〜
303からのサービスの要求に基づいて、データベース
331〜333へアクセスして、データの更新、データの
読み出し等の処理を実行する。ここで、データの更新
は、仮更新と本更新という2つの相からなる2相コミッ
ト(2 Phase commit)により実行される。
5は、上述したサービスを実行するためのプログラムで
あり、このサービスの一例としては、後述するデータベ
ース331〜333へのアクセスがある。すなわち、アプ
リケーションサーバ34は、クライアント端末301〜
303からのサービスの要求に基づいて、データベース
331〜333へアクセスして、データの更新、データの
読み出し等の処理を実行する。ここで、データの更新
は、仮更新と本更新という2つの相からなる2相コミッ
ト(2 Phase commit)により実行される。
【0007】アプリケーションサーバ34において、3
6は、分散トランザクション処理を行うトランザクショ
ン処理(TP)モニタであり、具体的には、データベー
ス331〜333に対するアクセスを行う。ここで、分散
トランザクション処理とは、分散配置されたデータベー
ス331〜333に対してアクセスを行う処理をいう。
6は、分散トランザクション処理を行うトランザクショ
ン処理(TP)モニタであり、具体的には、データベー
ス331〜333に対するアクセスを行う。ここで、分散
トランザクション処理とは、分散配置されたデータベー
ス331〜333に対してアクセスを行う処理をいう。
【0008】ここで、分散トランザクション処理標準と
しては、X/OpenのTX/XAインターフェースが
用いられている。図6は、上記分散トランザクション処
理の参照モデルを示すブロック図であり、図7は、X/
OpenによるTX/XAインターフェースを示すブロ
ック図である。これらの図6および図7において、図5
の各部に対応する部分には同一の符号を付ける。図6に
おいて、37は、図5に示すトランザクション処理モニ
タ36に対応するトランザクションマネジャであり、サ
ーバアプリケーションプログラム35との間にインター
フェースを有している。
しては、X/OpenのTX/XAインターフェースが
用いられている。図6は、上記分散トランザクション処
理の参照モデルを示すブロック図であり、図7は、X/
OpenによるTX/XAインターフェースを示すブロ
ック図である。これらの図6および図7において、図5
の各部に対応する部分には同一の符号を付ける。図6に
おいて、37は、図5に示すトランザクション処理モニ
タ36に対応するトランザクションマネジャであり、サ
ーバアプリケーションプログラム35との間にインター
フェースを有している。
【0009】381〜383は、サーバアプリケーション
プログラム35およびトランザクションマネジャ37に
より各々管理される資源マネジャであり、図5に示すデ
ータベース331〜333に各々対応している。ここで、
資源マネジャ381〜383は、トランザクションマネジ
ャ37およびサーバアプリケーションプログラム35の
双方にインターフェースを有している。
プログラム35およびトランザクションマネジャ37に
より各々管理される資源マネジャであり、図5に示すデ
ータベース331〜333に各々対応している。ここで、
資源マネジャ381〜383は、トランザクションマネジ
ャ37およびサーバアプリケーションプログラム35の
双方にインターフェースを有している。
【0010】また、図7において、資源マネジャ381
(図6参照)は、データベース331(図5参照)およ
び通信資源マネジャ391の総称である。この通信資源
マネジャ391は、ネットワーク44を介して図示しな
い他のシステムと、データベースサーバ321との間の
通信を制御する。ここで、図7においては、図6に示す
資源マネジャ381のみの構成が示されているが、他の
図6に示す資源マネジャ382および383の構成は、図
7に示す資源マネジャ381の構成と同一である。
(図6参照)は、データベース331(図5参照)およ
び通信資源マネジャ391の総称である。この通信資源
マネジャ391は、ネットワーク44を介して図示しな
い他のシステムと、データベースサーバ321との間の
通信を制御する。ここで、図7においては、図6に示す
資源マネジャ381のみの構成が示されているが、他の
図6に示す資源マネジャ382および383の構成は、図
7に示す資源マネジャ381の構成と同一である。
【0011】40は、サーバアプリケーションプログラ
ム35とトランザクションマネジャ37との間のインタ
ーフェースをとるTXインターフェースである。41
は、トランザクションマネジャ37とデータベース33
1との間のインターフェースをとるXAインターフェー
スである。42は、トランザクションマネジャ37と通
信資源マネジャ391との間のインターフェースをとる
XA+インターフェースである。43は、サーバアプリ
ケーションプログラム35とデータベース331との間
のインターフェースをとるアプリケーション/資源マネ
ジャインターフェースである。
ム35とトランザクションマネジャ37との間のインタ
ーフェースをとるTXインターフェースである。41
は、トランザクションマネジャ37とデータベース33
1との間のインターフェースをとるXAインターフェー
スである。42は、トランザクションマネジャ37と通
信資源マネジャ391との間のインターフェースをとる
XA+インターフェースである。43は、サーバアプリ
ケーションプログラム35とデータベース331との間
のインターフェースをとるアプリケーション/資源マネ
ジャインターフェースである。
【0012】このように従来のデータベースアクセスシ
ステムは、図7に示すTXインターフェース40、XA
インターフェース41、XA+インターフェース42お
よびアプリケーション/資源マネジャインターフェース
43という都合4つのインターフェースを有している。
また、データベース331は、XAインターフェース4
1、アプリケーション/資源マネジャインターフェース
43という別のインターフェースを介して、サーバアプ
リケーションプログラム35およびトランザクションマ
ネジャ37に各々アクセスされる。
ステムは、図7に示すTXインターフェース40、XA
インターフェース41、XA+インターフェース42お
よびアプリケーション/資源マネジャインターフェース
43という都合4つのインターフェースを有している。
また、データベース331は、XAインターフェース4
1、アプリケーション/資源マネジャインターフェース
43という別のインターフェースを介して、サーバアプ
リケーションプログラム35およびトランザクションマ
ネジャ37に各々アクセスされる。
【0013】次に、上述した従来のデータベースアクセ
スシステムの動作について説明する。以下の説明におい
ては、一例として、図5に示すクライアント端末301
がアプリケーションサーバ34に対してサービス要求を
行い、アプリケーションサーバ34がこのサービス要求
に応えるべく、データベース331および332に対して
データ更新を行う場合について説明する。
スシステムの動作について説明する。以下の説明におい
ては、一例として、図5に示すクライアント端末301
がアプリケーションサーバ34に対してサービス要求を
行い、アプリケーションサーバ34がこのサービス要求
に応えるべく、データベース331および332に対して
データ更新を行う場合について説明する。
【0014】図5において、クライアント端末301か
らネットワーク3を介してアプリケーションサーバ34
へサービス要求のデータが入力されると、アプリケーシ
ョンサーバ34は、サーバアプリケーションプログラム
35を実行することにより、以下の処理を実行する。す
なわち、アプリケーションサーバ34は、データベース
331および332の仮更新を行うべく、データベースサ
ーバ321および322へアクセスする。具体的には、図
7に示すサーバアプリケーションプログラム35(アプ
リケーションサーバ34)は、TXインターフェース4
0を介してトランザクションマネジャ37へ仮更新の指
令を出す。これにより、トランザクションマネジャ37
は、XAインターフェース41を介してデータベース3
31および332へアクセスすることにより、データの仮
更新を行う。
らネットワーク3を介してアプリケーションサーバ34
へサービス要求のデータが入力されると、アプリケーシ
ョンサーバ34は、サーバアプリケーションプログラム
35を実行することにより、以下の処理を実行する。す
なわち、アプリケーションサーバ34は、データベース
331および332の仮更新を行うべく、データベースサ
ーバ321および322へアクセスする。具体的には、図
7に示すサーバアプリケーションプログラム35(アプ
リケーションサーバ34)は、TXインターフェース4
0を介してトランザクションマネジャ37へ仮更新の指
令を出す。これにより、トランザクションマネジャ37
は、XAインターフェース41を介してデータベース3
31および332へアクセスすることにより、データの仮
更新を行う。
【0015】そして、仮更新が正常に終了すると、サー
バアプリケーションプログラム35(アプリケーション
サーバ34)は、TXインターフェース40を介してト
ランザクションマネジャ37へ、データベース331お
よび332の本更新を実行させるための制御データを出
力する。これにより、トランザクションマネジャ37
は、XAインターフェース41を介してデータベース3
31および332へアクセスすることにより、データの本
更新を行う。
バアプリケーションプログラム35(アプリケーション
サーバ34)は、TXインターフェース40を介してト
ランザクションマネジャ37へ、データベース331お
よび332の本更新を実行させるための制御データを出
力する。これにより、トランザクションマネジャ37
は、XAインターフェース41を介してデータベース3
31および332へアクセスすることにより、データの本
更新を行う。
【0016】
【発明が解決しようとする課題】ところで、従来のデー
タベースアクセスシステムにおいては、1つのトランザ
クションマネジャ37(トランザクション処理モニタ3
6)により複数のデータベース331〜333へ並列的に
アクセスする構成とされているため、トランザクション
マネジャ37(トランザクション処理モニタ36)自体
の構成が複雑となり、これに追従してTXインターフェ
ース40の構成が複雑となってしまう。
タベースアクセスシステムにおいては、1つのトランザ
クションマネジャ37(トランザクション処理モニタ3
6)により複数のデータベース331〜333へ並列的に
アクセスする構成とされているため、トランザクション
マネジャ37(トランザクション処理モニタ36)自体
の構成が複雑となり、これに追従してTXインターフェ
ース40の構成が複雑となってしまう。
【0017】また、従来のデータベースアクセスシステ
ムにおいては、図7に示すTXインターフェース40、
XAインターフェース41、XA+インターフェース4
2およびアプリケーション/資源マネジャインターフェ
ース43という都合4つのインターフェースを有する構
成とされているため、インターフェース数が多い。まと
めれば、従来のデータベースアクセスシステムにおいて
は、構成が複雑であって、かつインターフェース数が多
いため、コストが高いという欠点があった。
ムにおいては、図7に示すTXインターフェース40、
XAインターフェース41、XA+インターフェース4
2およびアプリケーション/資源マネジャインターフェ
ース43という都合4つのインターフェースを有する構
成とされているため、インターフェース数が多い。まと
めれば、従来のデータベースアクセスシステムにおいて
は、構成が複雑であって、かつインターフェース数が多
いため、コストが高いという欠点があった。
【0018】さらに、従来のデータベースアクセスシス
テムにおいては、1つのトランザクションマネジャ37
(トランザクション処理モニタ36)により、複数のデ
ータベース331〜333に対してアクセスしているた
め、絶対的な条件として、データベース331〜333が
同一種類のものであることが必要である。従って、従来
のデータベースアクセスシステムにおいては、異種類の
データベースを扱うことができないという欠点があっ
た。本発明はこのような背景の下になされたもので、簡
易な構成でコストを安くすることができ、しかも異種類
のデータベースを扱うことができるデータベースアクセ
スシステムおよびプログラムを記録したコンピュータ読
み取り可能な記録媒体を提供することを目的とする。
テムにおいては、1つのトランザクションマネジャ37
(トランザクション処理モニタ36)により、複数のデ
ータベース331〜333に対してアクセスしているた
め、絶対的な条件として、データベース331〜333が
同一種類のものであることが必要である。従って、従来
のデータベースアクセスシステムにおいては、異種類の
データベースを扱うことができないという欠点があっ
た。本発明はこのような背景の下になされたもので、簡
易な構成でコストを安くすることができ、しかも異種類
のデータベースを扱うことができるデータベースアクセ
スシステムおよびプログラムを記録したコンピュータ読
み取り可能な記録媒体を提供することを目的とする。
【0019】
【課題を解決するための手段】請求項1に記載の発明
は、データベースを各々保持する複数のデータベースサ
ーバと、前記複数のデータベース端末に接続されたアプ
リケーションサーバとを有し、前記アプリケーションサ
ーバは、複数の前記データベースに各々対応して設けら
れ、前記データベースの更新処理を個別的に実行する複
数のローカルトランザクションマネジャと、前記複数の
ローカルトランザクションマネジャに対して個別的に前
記更新処理の指令を出す分散トランザクションマネジャ
とを具備することを特徴とする。また、請求項2に記載
の発明は、請求項1に記載のデータベースアクセスシス
テムにおいて、ネットワークを介して前記アプリケーシ
ョンサーバに接続されており、該ネットワークを介して
サービス要求を出すクライアント端末を有し、前記アプ
リケーションサーバの分散トランザクションマネジャ
は、前記サービス要求が出された場合、前記複数のロー
カルトランザクションマネジャに対して個別的に前記更
新処理の指令を出すことを特徴とする。また、請求項3
に記載の発明は、データベースを各々保持する複数のデ
ータベースサーバと、前記複数のデータベース端末に接
続されたアプリケーションサーバとを有し、前記アプリ
ケーションサーバは、複数の前記データベースに各々対
応して設けられ、前記データベースの更新処理を個別的
に実行する複数のローカルトランザクションマネジャ
と、前記複数のローカルトランザクションマネジャに対
して個別的に前記更新処理の指令を出す分散トランザク
ションマネジャとしてコンピュータを機能させるための
プログラムを記録したコンピュータ読み取り可能な記録
媒体である。
は、データベースを各々保持する複数のデータベースサ
ーバと、前記複数のデータベース端末に接続されたアプ
リケーションサーバとを有し、前記アプリケーションサ
ーバは、複数の前記データベースに各々対応して設けら
れ、前記データベースの更新処理を個別的に実行する複
数のローカルトランザクションマネジャと、前記複数の
ローカルトランザクションマネジャに対して個別的に前
記更新処理の指令を出す分散トランザクションマネジャ
とを具備することを特徴とする。また、請求項2に記載
の発明は、請求項1に記載のデータベースアクセスシス
テムにおいて、ネットワークを介して前記アプリケーシ
ョンサーバに接続されており、該ネットワークを介して
サービス要求を出すクライアント端末を有し、前記アプ
リケーションサーバの分散トランザクションマネジャ
は、前記サービス要求が出された場合、前記複数のロー
カルトランザクションマネジャに対して個別的に前記更
新処理の指令を出すことを特徴とする。また、請求項3
に記載の発明は、データベースを各々保持する複数のデ
ータベースサーバと、前記複数のデータベース端末に接
続されたアプリケーションサーバとを有し、前記アプリ
ケーションサーバは、複数の前記データベースに各々対
応して設けられ、前記データベースの更新処理を個別的
に実行する複数のローカルトランザクションマネジャ
と、前記複数のローカルトランザクションマネジャに対
して個別的に前記更新処理の指令を出す分散トランザク
ションマネジャとしてコンピュータを機能させるための
プログラムを記録したコンピュータ読み取り可能な記録
媒体である。
【0020】
【発明の実施の形態】以下、図面を参照して本発明の実
施形態について説明する。図1は本発明の一実施形態に
よるデータベースアクセスシステムの構成を示すブロッ
ク図である。この図において、データベースアクセスシ
ステムは、クライアント層、中間層およびデータベース
層という3層構造とされている。図1に示すクライアン
ト層において、11〜13は、クライアント側に各々設置
されたクライアント端末(コンピュータ)であり、ネッ
トワーク3に各々接続されている。このネットワーク3
は、例えば、インターネットである。また、クライアン
ト端末11〜13の各記憶部には、クライアント端末11
〜13により各々実行されるクライアントアプリケーシ
ョンプログラム21〜23が各々記憶されている。
施形態について説明する。図1は本発明の一実施形態に
よるデータベースアクセスシステムの構成を示すブロッ
ク図である。この図において、データベースアクセスシ
ステムは、クライアント層、中間層およびデータベース
層という3層構造とされている。図1に示すクライアン
ト層において、11〜13は、クライアント側に各々設置
されたクライアント端末(コンピュータ)であり、ネッ
トワーク3に各々接続されている。このネットワーク3
は、例えば、インターネットである。また、クライアン
ト端末11〜13の各記憶部には、クライアント端末11
〜13により各々実行されるクライアントアプリケーシ
ョンプログラム21〜23が各々記憶されている。
【0021】これらのクライアントアプリケーションプ
ログラム21〜23は、後述するアプリケーションサーバ
6に対してサービスを要求するとともに、該サービスの
結果を受け取るという処理を実行するためのプログラム
である。
ログラム21〜23は、後述するアプリケーションサーバ
6に対してサービスを要求するとともに、該サービスの
結果を受け取るという処理を実行するためのプログラム
である。
【0022】また、データベース層において、データベ
ースサーバ41〜43は、ネットワーク3を介して供給さ
れるデータベース51〜53を格納するコンピュータであ
り、これらのデータベース51〜53は、データベースサ
ーバ41〜43の各記憶部に記憶されている。これらのデ
ータベース51〜51は、同一種類のものであっても異種
類のものであってもよい。
ースサーバ41〜43は、ネットワーク3を介して供給さ
れるデータベース51〜53を格納するコンピュータであ
り、これらのデータベース51〜53は、データベースサ
ーバ41〜43の各記憶部に記憶されている。これらのデ
ータベース51〜51は、同一種類のものであっても異種
類のものであってもよい。
【0023】また、中間層において、アプリケーション
サーバ6は、ネットワーク3を介してクライアント端末
11〜13を収容し、かつデータベースサーバ41〜43に
接続されたコンピュータである。このアプリケーション
サーバ6には、タイマ(図4:タイマ14)が内蔵され
ている。ここでアプリケーションサーバ6は、クライア
ント端末11〜13から各々要求されるサービスを実行す
る。また、このアプリケーションサーバ6の記憶部に
は、アプリケーションサーバ6により実行されるサーバ
アプリケーションプログラム7が記憶されている。
サーバ6は、ネットワーク3を介してクライアント端末
11〜13を収容し、かつデータベースサーバ41〜43に
接続されたコンピュータである。このアプリケーション
サーバ6には、タイマ(図4:タイマ14)が内蔵され
ている。ここでアプリケーションサーバ6は、クライア
ント端末11〜13から各々要求されるサービスを実行す
る。また、このアプリケーションサーバ6の記憶部に
は、アプリケーションサーバ6により実行されるサーバ
アプリケーションプログラム7が記憶されている。
【0024】このサーバアプリケーションプログラム7
は、上述したサービスを実行するためのプログラムであ
り、このサービスの一例としては、後述するデータベー
ス51〜53へのアクセスがある。すなわち、アプリケー
ションサーバ6は、クライアント端末11〜13からのサ
ービスの要求に基づいて、データベース51〜53へアク
セスして、データの更新、データの読み出し等の処理を
実行する。ここで、データの更新は、仮更新と本更新と
いう2つの相からなる2相コミットにより実行される。
は、上述したサービスを実行するためのプログラムであ
り、このサービスの一例としては、後述するデータベー
ス51〜53へのアクセスがある。すなわち、アプリケー
ションサーバ6は、クライアント端末11〜13からのサ
ービスの要求に基づいて、データベース51〜53へアク
セスして、データの更新、データの読み出し等の処理を
実行する。ここで、データの更新は、仮更新と本更新と
いう2つの相からなる2相コミットにより実行される。
【0025】アプリケーションサーバ6において、デー
タベースアクセス高位アプリケーションプログラムイン
ターフェース(API)8は、データベース51〜53へ
アクセスするためのインターフェースであり、分散トラ
ンザクションマネジャ9およびローカルトランザクショ
ンマネジャ101〜103から構成されている。分散トラ
ンザクションマネジャ9は、前述した分散トランザクシ
ョン処理を集中制御するものであり、ローカルトランザ
クションマネジャ101〜103を統合制御する。これら
のローカルトランザクションマネジャ101〜103は、
データベース51〜53に各々対応して設けられており、
分散トランザクションマネジャ9の制御により、トラン
ザクション処理(データベースアクセス処理)を各々個
別的に行う。具体的には、ローカルトランザクションマ
ネジャ101〜103は、個別的にデータベース51〜53
にアクセスすることにより、データ更新等を実行する。
タベースアクセス高位アプリケーションプログラムイン
ターフェース(API)8は、データベース51〜53へ
アクセスするためのインターフェースであり、分散トラ
ンザクションマネジャ9およびローカルトランザクショ
ンマネジャ101〜103から構成されている。分散トラ
ンザクションマネジャ9は、前述した分散トランザクシ
ョン処理を集中制御するものであり、ローカルトランザ
クションマネジャ101〜103を統合制御する。これら
のローカルトランザクションマネジャ101〜103は、
データベース51〜53に各々対応して設けられており、
分散トランザクションマネジャ9の制御により、トラン
ザクション処理(データベースアクセス処理)を各々個
別的に行う。具体的には、ローカルトランザクションマ
ネジャ101〜103は、個別的にデータベース51〜53
にアクセスすることにより、データ更新等を実行する。
【0026】11は、ローカルトランザクションマネジ
ャ101〜103とデータベース51〜53との間のインタ
ーフェースをとるデータベースアクセスアプリケーショ
ンプログラムインターフェース(API)であり、この
一例としては、Javaにより、データベースにアクセ
スするためのインターフェースであるJDBC(Java D
ataBase Connectivity) がある。
ャ101〜103とデータベース51〜53との間のインタ
ーフェースをとるデータベースアクセスアプリケーショ
ンプログラムインターフェース(API)であり、この
一例としては、Javaにより、データベースにアクセ
スするためのインターフェースであるJDBC(Java D
ataBase Connectivity) がある。
【0027】図2は、一実施形態によるデータベースア
クセスシステムにおける分散トランザクション処理の参
照モデルを示すブロック図であり、図3は、一実施形態
によるデータベースアクセスシステムにおけるインター
フェースを示すブロック図である。これらの図2および
図3において、図1の各部に対応する部分には同一の符
号を付ける。
クセスシステムにおける分散トランザクション処理の参
照モデルを示すブロック図であり、図3は、一実施形態
によるデータベースアクセスシステムにおけるインター
フェースを示すブロック図である。これらの図2および
図3において、図1の各部に対応する部分には同一の符
号を付ける。
【0028】図2において、サーバアプリケーションプ
ログラム7は、分散トランザクションマネジャ9との間
にインターフェースを有している。また、サーバアプリ
ケーションプログラム7は、データベース51〜53との
間にインターフェース(第1のインターフェースと称す
る)を有しており、ローカルトランザクションマネジャ
101〜103は、データベース51〜53との間にインタ
ーフェース(第2のインターフェースと称する)を有し
ている。実際には、後述するように上記第1のインター
フェースと第2のインターフェースとは、1つのインタ
ーフェース(図3:アプリケーション/資源マネジャイ
ンターフェース13)で構成されている。また、ここで
は、データベース51〜53は、前述した資源マネジャの
一種である。これらのインターフェースを図3を参照し
つつ説明する。
ログラム7は、分散トランザクションマネジャ9との間
にインターフェースを有している。また、サーバアプリ
ケーションプログラム7は、データベース51〜53との
間にインターフェース(第1のインターフェースと称す
る)を有しており、ローカルトランザクションマネジャ
101〜103は、データベース51〜53との間にインタ
ーフェース(第2のインターフェースと称する)を有し
ている。実際には、後述するように上記第1のインター
フェースと第2のインターフェースとは、1つのインタ
ーフェース(図3:アプリケーション/資源マネジャイ
ンターフェース13)で構成されている。また、ここで
は、データベース51〜53は、前述した資源マネジャの
一種である。これらのインターフェースを図3を参照し
つつ説明する。
【0029】図3において、12は、サーバアプリケー
ションプログラム7と分散トランザクションマネジャ9
との間のインターフェースをとる分散トランザクション
インターフェースである。すなわち、サーバアプリケー
ションプログラム7(アプリケーションサーバ6)は、
分散トランザクションインターフェース12を介して分
散トランザクションマネジャ9に対してトランザクショ
ン処理(データベース更新処理)の指令を出す。この分
散トランザクションインターフェース12は、図1に示
すデータベースアクセス高位アプリケーションプログラ
ムインターフェース8に対応している。
ションプログラム7と分散トランザクションマネジャ9
との間のインターフェースをとる分散トランザクション
インターフェースである。すなわち、サーバアプリケー
ションプログラム7(アプリケーションサーバ6)は、
分散トランザクションインターフェース12を介して分
散トランザクションマネジャ9に対してトランザクショ
ン処理(データベース更新処理)の指令を出す。この分
散トランザクションインターフェース12は、図1に示
すデータベースアクセス高位アプリケーションプログラ
ムインターフェース8に対応している。
【0030】アプリケーション/資源マネジャインター
フェース13は、図1に示すデータベースアクセスアプ
リケーションプログラムインターフェース11に対応し
ており、サーバアプリケーションプログラム7とデータ
ベース51〜53との間のインターフェース、およびロー
カルトランザクションマネジャ101〜103とデータベ
ース51〜53との間のインターフェースを各々とる。
フェース13は、図1に示すデータベースアクセスアプ
リケーションプログラムインターフェース11に対応し
ており、サーバアプリケーションプログラム7とデータ
ベース51〜53との間のインターフェース、およびロー
カルトランザクションマネジャ101〜103とデータベ
ース51〜53との間のインターフェースを各々とる。
【0031】すなわち、サーバアプリケーションプログ
ラム7(アプリケーションサーバ6)は、アプリケーシ
ョン/資源マネジャインターフェース13を介してデー
タベース51〜53へのアクセスが可能とされており、一
方、ローカルトランザクションマネジャ101〜103
は、同じくアプリケーション/資源マネジャインターフ
ェース13を介してデータベース51〜53へのアクセス
が可能とされている。また、アプリケーション/資源マ
ネジャインターフェース13の一例としては、前述した
JDBCがある。
ラム7(アプリケーションサーバ6)は、アプリケーシ
ョン/資源マネジャインターフェース13を介してデー
タベース51〜53へのアクセスが可能とされており、一
方、ローカルトランザクションマネジャ101〜103
は、同じくアプリケーション/資源マネジャインターフ
ェース13を介してデータベース51〜53へのアクセス
が可能とされている。また、アプリケーション/資源マ
ネジャインターフェース13の一例としては、前述した
JDBCがある。
【0032】次に、上述した一実施形態によるデータベ
ースアクセスシステムの動作について図4に示すシーケ
ンス図を参照して説明する。以下の説明においては、一
例として、図1に示すクライアント端末11がアプリケ
ーションサーバ6に対してサービス要求を行い、アプリ
ケーションサーバ6がこのサービス要求に応えるべく、
データベース51および52に対してデータ更新を行う場
合について説明する。このデータ更新は、前述したよう
に仮更新と本更新という2相コミットからなる。
ースアクセスシステムの動作について図4に示すシーケ
ンス図を参照して説明する。以下の説明においては、一
例として、図1に示すクライアント端末11がアプリケ
ーションサーバ6に対してサービス要求を行い、アプリ
ケーションサーバ6がこのサービス要求に応えるべく、
データベース51および52に対してデータ更新を行う場
合について説明する。このデータ更新は、前述したよう
に仮更新と本更新という2相コミットからなる。
【0033】図1において、時刻t0でクライアント端
末11からネットワーク3を介してアプリケーションサ
ーバ6へサービス要求のデータが入力されたとすると、
アプリケーションサーバ6は、サーバアプリケーション
プログラム7を実行することにより、以下の処理を実行
する。なお、以下の説明において、アプリケーションサ
ーバ6が実行している処理については、サーバアプリケ
ーションプログラム7が処理しているものとみなして説
明する。
末11からネットワーク3を介してアプリケーションサ
ーバ6へサービス要求のデータが入力されたとすると、
アプリケーションサーバ6は、サーバアプリケーション
プログラム7を実行することにより、以下の処理を実行
する。なお、以下の説明において、アプリケーションサ
ーバ6が実行している処理については、サーバアプリケ
ーションプログラム7が処理しているものとみなして説
明する。
【0034】図4に示す時刻t1(>t0)において、サ
ーバアプリケーションプログラム7は、分散トランザク
ションマネジャ9に対して分散トランザクションインタ
ーフェース12を介してトランザクション開始指令(be
gin)(以下、単にbegin指令と称する)を出す。これに
より、分散トランザクションマネジャ9は、時刻t2で
ローカルトランザクションマネジャ101に対してbegin
指令を出す。この結果、ローカルトランザクションマネ
ジャ101は、アプリケーション/資源マネジャインタ
ーフェース13を介してデータベース51(データベー
スサーバ41)へbegin指令を出す。
ーバアプリケーションプログラム7は、分散トランザク
ションマネジャ9に対して分散トランザクションインタ
ーフェース12を介してトランザクション開始指令(be
gin)(以下、単にbegin指令と称する)を出す。これに
より、分散トランザクションマネジャ9は、時刻t2で
ローカルトランザクションマネジャ101に対してbegin
指令を出す。この結果、ローカルトランザクションマネ
ジャ101は、アプリケーション/資源マネジャインタ
ーフェース13を介してデータベース51(データベー
スサーバ41)へbegin指令を出す。
【0035】そして、時刻t3では、分散トランザクシ
ョンマネジャ9は、他方のローカルトランザクションマ
ネジャ102に対してbegin指令を出す。これにより、ロ
ーカルトランザクションマネジャ102は、アプリケー
ション/資源マネジャインターフェース13を介してデ
ータベース52(データベースサーバ42)へbegin指令
を出す。以下、同様にして、分散トランザクションマネ
ジャ9は、ローカルトランザクションマネジャ103に
対してトランザクション開始指令(begin)を出す。
ョンマネジャ9は、他方のローカルトランザクションマ
ネジャ102に対してbegin指令を出す。これにより、ロ
ーカルトランザクションマネジャ102は、アプリケー
ション/資源マネジャインターフェース13を介してデ
ータベース52(データベースサーバ42)へbegin指令
を出す。以下、同様にして、分散トランザクションマネ
ジャ9は、ローカルトランザクションマネジャ103に
対してトランザクション開始指令(begin)を出す。
【0036】そして、時刻t4で、全てのデータベース
51〜53がトランザクションを開始すると、分散トラン
ザクションマネジャ9は、分散トランザクションインタ
ーフェース12を介して上記全トランザクションが開始
した旨を示す信号(return)をサーバアプリケーション
プログラム7へ出力する。
51〜53がトランザクションを開始すると、分散トラン
ザクションマネジャ9は、分散トランザクションインタ
ーフェース12を介して上記全トランザクションが開始
した旨を示す信号(return)をサーバアプリケーション
プログラム7へ出力する。
【0037】そして、時刻t5では、サーバアプリケー
ションプログラム7は、SQL(Structured Query Lan
guage)による仮更新すべき指令を、アプリケーション
/資源マネジャインターフェース13を介してデータベ
ース51へ各々出す。これにより、データベース51が仮
更新される。
ションプログラム7は、SQL(Structured Query Lan
guage)による仮更新すべき指令を、アプリケーション
/資源マネジャインターフェース13を介してデータベ
ース51へ各々出す。これにより、データベース51が仮
更新される。
【0038】そして、時刻t6では、サーバアプリケー
ションプログラム7は、データベース51が本更新の待
ち状態になっている旨の信号(以下、ready信号と称す
る)を、分散トランザクションマネジャ12を介して分
散トランザクションマネジャ9へ出力する。これによ
り、分散トランザクションマネジャ9は、データベース
51が本更新の待ち状態にあることを認識した後、時刻
t7で該認識を示す信号(以下、return信号と称する)
を分散トランザクションインターフェース12を介して
サーバアプリケーション7へ出力する。そして、最初の
上記return信号が入力されると、サーバアプリケーショ
ン7は、タイマ14を起動する。
ションプログラム7は、データベース51が本更新の待
ち状態になっている旨の信号(以下、ready信号と称す
る)を、分散トランザクションマネジャ12を介して分
散トランザクションマネジャ9へ出力する。これによ
り、分散トランザクションマネジャ9は、データベース
51が本更新の待ち状態にあることを認識した後、時刻
t7で該認識を示す信号(以下、return信号と称する)
を分散トランザクションインターフェース12を介して
サーバアプリケーション7へ出力する。そして、最初の
上記return信号が入力されると、サーバアプリケーショ
ン7は、タイマ14を起動する。
【0039】今、データベース51〜53のうち2つのデ
ータベース51および52に対して更新を行うため、時刻
t8では、サーバアプリケーションプログラム7は、S
QLによる仮更新すべき指令を、アプリケーション/資
源マネジャインターフェース13を介してデータベース
52へ各々出す。これにより、データベース52が仮更新
される。
ータベース51および52に対して更新を行うため、時刻
t8では、サーバアプリケーションプログラム7は、S
QLによる仮更新すべき指令を、アプリケーション/資
源マネジャインターフェース13を介してデータベース
52へ各々出す。これにより、データベース52が仮更新
される。
【0040】そして、時刻t9では、サーバアプリケー
ションプログラム7は、データベース52が本更新の待
ち状態になっている旨のready信号を、分散トランザク
ションマネジャ12を介して分散トランザクションマネ
ジャ9へ出力する。ここで、更新動作においては、デー
タベースの個数回、ready信号が分散トランザクション
マネジャ9に入力されたとき、本更新可能な状態であ
る。従って、時刻t9においては、2回、ready信号が分
散トランザクション9に入力されたので、本更新可能な
状態とされる。
ションプログラム7は、データベース52が本更新の待
ち状態になっている旨のready信号を、分散トランザク
ションマネジャ12を介して分散トランザクションマネ
ジャ9へ出力する。ここで、更新動作においては、デー
タベースの個数回、ready信号が分散トランザクション
マネジャ9に入力されたとき、本更新可能な状態であ
る。従って、時刻t9においては、2回、ready信号が分
散トランザクション9に入力されたので、本更新可能な
状態とされる。
【0041】そして、分散トランザクションマネジャ9
は、データベース52が本更新の待ち状態にあることを
認識した後、時刻t10で該認識を示す信号(以下、retu
rn信号と称する)を分散トランザクションインターフェ
ース12を介してサーバアプリケーション7へ出力す
る。なお、データベース53に対しても更新を行う場合
には、上述した動作が行われ、分散トランザクションマ
ネジャ9には、都合3回ready信号が入力される。
は、データベース52が本更新の待ち状態にあることを
認識した後、時刻t10で該認識を示す信号(以下、retu
rn信号と称する)を分散トランザクションインターフェ
ース12を介してサーバアプリケーション7へ出力す
る。なお、データベース53に対しても更新を行う場合
には、上述した動作が行われ、分散トランザクションマ
ネジャ9には、都合3回ready信号が入力される。
【0042】そして、時刻t11では、サーバアプリケー
ションプログラム7は、データベース51および52に対
して本更新すべき指令(以下、commit指令と称する)
(または、仮更新する前の状態に戻す旨の指令(以下、
rollback指令と称する))を、分散トランザクションイ
ンターフェース12を介して分散トランザクションマネ
ジャ9へ出す。そして、時刻t12では、分散トランザク
ションマネジャ9は、まず、ローカルトランザクション
マネジャ101に対して、commit指令を出す。
ションプログラム7は、データベース51および52に対
して本更新すべき指令(以下、commit指令と称する)
(または、仮更新する前の状態に戻す旨の指令(以下、
rollback指令と称する))を、分散トランザクションイ
ンターフェース12を介して分散トランザクションマネ
ジャ9へ出す。そして、時刻t12では、分散トランザク
ションマネジャ9は、まず、ローカルトランザクション
マネジャ101に対して、commit指令を出す。
【0043】これにより、ローカルトランザクションマ
ネジャ101は、時刻t13でトランザクション処理が終
了する旨の信号(以下、end信号と称する)を、アプリ
ケーション/資源マネジャインターフェース13を介し
てデータベース51へ出力する。次いで、時刻t14で
は、ローカルトランザクションマネジャ101は、commi
t指令を、アプリケーション/資源マネジャインターフ
ェース13を介してデータベース51に出す。これによ
り、データベース51の本更新が行われる。
ネジャ101は、時刻t13でトランザクション処理が終
了する旨の信号(以下、end信号と称する)を、アプリ
ケーション/資源マネジャインターフェース13を介し
てデータベース51へ出力する。次いで、時刻t14で
は、ローカルトランザクションマネジャ101は、commi
t指令を、アプリケーション/資源マネジャインターフ
ェース13を介してデータベース51に出す。これによ
り、データベース51の本更新が行われる。
【0044】そして、時刻t15では、分散トランザクシ
ョンマネジャ9は、次のローカルトランザクションマネ
ジャ102に対して、commit指令を出す。これにより、
ローカルトランザクションマネジャ102は、時刻t16
でend信号を、アプリケーション/資源マネジャインタ
ーフェース13を介してデータベース52へ出力する。
次いで、時刻t17では、ローカルトランザクションマネ
ジャ102は、commit指令を、アプリケーション/資源
マネジャインターフェース13を介してデータベース5
2に出す。これにより、データベース52の本更新が行わ
れ、更新すべきデータベース51および52の仮更新およ
び本更新が終了する。そして、本更新が終了すると、時
刻t18では、分散トランザクションマネジャ9は、分散
トランザクションインターフェース12を介して、retu
rn信号をサーバアプリケーション7へ出力する。これに
より、サーバアプリケーション7は、データベース51
および52に対する更新処理が終了したことを認識す
る。
ョンマネジャ9は、次のローカルトランザクションマネ
ジャ102に対して、commit指令を出す。これにより、
ローカルトランザクションマネジャ102は、時刻t16
でend信号を、アプリケーション/資源マネジャインタ
ーフェース13を介してデータベース52へ出力する。
次いで、時刻t17では、ローカルトランザクションマネ
ジャ102は、commit指令を、アプリケーション/資源
マネジャインターフェース13を介してデータベース5
2に出す。これにより、データベース52の本更新が行わ
れ、更新すべきデータベース51および52の仮更新およ
び本更新が終了する。そして、本更新が終了すると、時
刻t18では、分散トランザクションマネジャ9は、分散
トランザクションインターフェース12を介して、retu
rn信号をサーバアプリケーション7へ出力する。これに
より、サーバアプリケーション7は、データベース51
および52に対する更新処理が終了したことを認識す
る。
【0045】また、タイマ14は、起動されてから、最
後のローカルトランザクションマネジャ102よりretur
n信号(時刻t10参照)が入力されるまでの時間を監視
している。そして、タイマ14は、上記時間が一定時間
を越えるとタイムアウトと判断する。ここで、タイムア
ウトが発生する原因としては、データベースサーバ41
等の機器故障、ネットワーク不良等により、データベー
ス51、52の仮更新が正常に行われなかったことが挙げ
られる。
後のローカルトランザクションマネジャ102よりretur
n信号(時刻t10参照)が入力されるまでの時間を監視
している。そして、タイマ14は、上記時間が一定時間
を越えるとタイムアウトと判断する。ここで、タイムア
ウトが発生する原因としては、データベースサーバ41
等の機器故障、ネットワーク不良等により、データベー
ス51、52の仮更新が正常に行われなかったことが挙げ
られる。
【0046】ここで、上述した原因により、例えば、一
方のデータベース51の仮更新が正常に行われなかった
ことにより、時刻t19でタイマ14の判定結果がタイム
アウトになったとする。これにより、時刻t19では、タ
イマ14は、仮更新される前の状態にデータベース51
および52を戻す旨のrollback指令を分散トランザクシ
ョンインターフェース12を介して分散トランザクショ
ンマネジャ9へ出す。
方のデータベース51の仮更新が正常に行われなかった
ことにより、時刻t19でタイマ14の判定結果がタイム
アウトになったとする。これにより、時刻t19では、タ
イマ14は、仮更新される前の状態にデータベース51
および52を戻す旨のrollback指令を分散トランザクシ
ョンインターフェース12を介して分散トランザクショ
ンマネジャ9へ出す。
【0047】これにより、時刻t20では、分散トランザ
クションマネジャ9は、上記rollback指令をローカルト
ランザクションマネジャ101へ出す。そして、時刻t2
1では、ローカルトランザクションマネジャ101は、en
d信号を、アプリケーション/資源マネジャインターフ
ェース13を介してデータベース51へ出力する。次い
で、時刻t22では、ローカルトランザクションマネジャ
101は、rollback指令を、アプリケーション/資源マ
ネジャインターフェース13を介してデータベース51
へ出す。これにより、データベース51は、仮更新され
る前の状態に戻される。
クションマネジャ9は、上記rollback指令をローカルト
ランザクションマネジャ101へ出す。そして、時刻t2
1では、ローカルトランザクションマネジャ101は、en
d信号を、アプリケーション/資源マネジャインターフ
ェース13を介してデータベース51へ出力する。次い
で、時刻t22では、ローカルトランザクションマネジャ
101は、rollback指令を、アプリケーション/資源マ
ネジャインターフェース13を介してデータベース51
へ出す。これにより、データベース51は、仮更新され
る前の状態に戻される。
【0048】次に、時刻t23では、分散トランザクショ
ンマネジャ9は、上述した動作と同様にして、rollback
指令を次のローカルトランザクションマネジャ102へ
出す。そして、時刻t24では、ローカルトランザクショ
ンマネジャ102は、end信号を、アプリケーション/資
源マネジャインターフェース13を介してデータベース
52へ出力する。次いで、時刻t25では、ローカルトラ
ンザクションマネジャ102は、rollback指令を、アプ
リケーション/資源マネジャインターフェース13を介
してデータベース52へ出す。これにより、データベー
ス52は、仮更新される前の状態に戻される。
ンマネジャ9は、上述した動作と同様にして、rollback
指令を次のローカルトランザクションマネジャ102へ
出す。そして、時刻t24では、ローカルトランザクショ
ンマネジャ102は、end信号を、アプリケーション/資
源マネジャインターフェース13を介してデータベース
52へ出力する。次いで、時刻t25では、ローカルトラ
ンザクションマネジャ102は、rollback指令を、アプ
リケーション/資源マネジャインターフェース13を介
してデータベース52へ出す。これにより、データベー
ス52は、仮更新される前の状態に戻される。
【0049】そして、全ての更新処理が終了すると、時
刻t26では、分散トランザクションマネジャ9は、分散
トランザクションインターフェース12を介して、retu
rn信号をサーバアプリケーションプログラム7へ出力す
る。
刻t26では、分散トランザクションマネジャ9は、分散
トランザクションインターフェース12を介して、retu
rn信号をサーバアプリケーションプログラム7へ出力す
る。
【0050】以上説明したように、上述した一実施形態
によるデータベースアクセスシステムによれば、データ
ベース51〜53に対応するローカルトランザクションマ
ネジャ101〜103を設け、これらのローカルトランザ
クションマネジャ101〜103に個別的にアクセス処理
を実行させているので、従来のデータベースアクセスシ
ステムに比して処理制御を簡単にすることができ、ひい
ては、構成を簡易にすることができる。
によるデータベースアクセスシステムによれば、データ
ベース51〜53に対応するローカルトランザクションマ
ネジャ101〜103を設け、これらのローカルトランザ
クションマネジャ101〜103に個別的にアクセス処理
を実行させているので、従来のデータベースアクセスシ
ステムに比して処理制御を簡単にすることができ、ひい
ては、構成を簡易にすることができる。
【0051】また、上述した一実施形態によるデータベ
ースアクセスシステムによれば、図2に示す1つのアプ
リケーション/資源マネジャインターフェース13によ
り、サーバアプリケーションプログラム7およびローカ
ルトランザクションマネジャ101〜103からデータベ
ース51〜53へのアクセスが行えるため、従来のデータ
ベースアクセスシステムに比してインターフェース数を
減らすことができ、ひいてはコストを安くすることがで
きる。
ースアクセスシステムによれば、図2に示す1つのアプ
リケーション/資源マネジャインターフェース13によ
り、サーバアプリケーションプログラム7およびローカ
ルトランザクションマネジャ101〜103からデータベ
ース51〜53へのアクセスが行えるため、従来のデータ
ベースアクセスシステムに比してインターフェース数を
減らすことができ、ひいてはコストを安くすることがで
きる。
【0052】さらに、上述した一実施形態によるデータ
ベースアクセスシステムによれば、データベース51〜
53に対応させてローカルトランザクションマネジャ1
01〜103を設けているので、データベース51〜52が
異種類のものであってもデータベースアクセスを行うこ
とができる。
ベースアクセスシステムによれば、データベース51〜
53に対応させてローカルトランザクションマネジャ1
01〜103を設けているので、データベース51〜52が
異種類のものであってもデータベースアクセスを行うこ
とができる。
【0053】以上、本発明の一実施形態によるデータベ
ースアクセスシステムについて詳述してきたが、具体的
な構成はこの一実施形態に限られるものではなく本発明
の要旨を逸脱しない範囲の設計変更等があっても本発明
に含まれる。例えば、上述した一実施形態によるデータ
ベースアクセスシステムにおいては、図1に示すクライ
アント層、中間層およびデータベース層からなる分散デ
ータベース環境における適用例について説明したが、こ
れに限定されることなく、いかなるデータベース環境に
も適用可能である。
ースアクセスシステムについて詳述してきたが、具体的
な構成はこの一実施形態に限られるものではなく本発明
の要旨を逸脱しない範囲の設計変更等があっても本発明
に含まれる。例えば、上述した一実施形態によるデータ
ベースアクセスシステムにおいては、図1に示すクライ
アント層、中間層およびデータベース層からなる分散デ
ータベース環境における適用例について説明したが、こ
れに限定されることなく、いかなるデータベース環境に
も適用可能である。
【0054】また、上述した一実施形態によるデータベ
ースアクセスシステムにおいては、上述した2相コミッ
トによるデータ更新機能を実現するためのプログラムを
コンピュータ読み取り可能な記録媒体に記録して、この
記録媒体に記録されたプログラムをコンピュータシステ
ムに読み込ませて、実行するようにしてもよい。なお、
ここでいうコンピュータシステムとは、OS(Operatin
g System)や周辺機器等のハードウェアを含むものとす
る。また、コンピュータシステムは、WWWシステムを
利用している場合であれば、ホームページ提供環境(ま
たは表示環境)も含むものとする。
ースアクセスシステムにおいては、上述した2相コミッ
トによるデータ更新機能を実現するためのプログラムを
コンピュータ読み取り可能な記録媒体に記録して、この
記録媒体に記録されたプログラムをコンピュータシステ
ムに読み込ませて、実行するようにしてもよい。なお、
ここでいうコンピュータシステムとは、OS(Operatin
g System)や周辺機器等のハードウェアを含むものとす
る。また、コンピュータシステムは、WWWシステムを
利用している場合であれば、ホームページ提供環境(ま
たは表示環境)も含むものとする。
【0055】
【発明の効果】以上説明したように、本発明によれば、
複数のデータベースに対応する複数のローカルトランザ
クションマネジャを設け、これらのローカルトランザク
ションマネジャに個別的にアクセス処理(更新処理)を
実行させているので、従来のデータベースアクセスシス
テムに比して処理制御を簡単にすることができ、ひいて
は、構成を簡易にすることができ、ひいてはコストを安
くすることができるという効果が得られる。また、本発
明によれば、複数のデータベースに対応させて複数のロ
ーカルトランザクションマネジャを設けているので、デ
ータベースが異種類のものであってもデータベースアク
セスを行うことができるという効果が得られる。
複数のデータベースに対応する複数のローカルトランザ
クションマネジャを設け、これらのローカルトランザク
ションマネジャに個別的にアクセス処理(更新処理)を
実行させているので、従来のデータベースアクセスシス
テムに比して処理制御を簡単にすることができ、ひいて
は、構成を簡易にすることができ、ひいてはコストを安
くすることができるという効果が得られる。また、本発
明によれば、複数のデータベースに対応させて複数のロ
ーカルトランザクションマネジャを設けているので、デ
ータベースが異種類のものであってもデータベースアク
セスを行うことができるという効果が得られる。
【図1】 本発明の一実施形態によるデータベースアク
セスシステムの構成を示すブロック図である。
セスシステムの構成を示すブロック図である。
【図2】 同一実施形態によるデータベースアクセスシ
ステムにおける分散トランザクション処理の参照モデル
を示すブロック図である。
ステムにおける分散トランザクション処理の参照モデル
を示すブロック図である。
【図3】 同一実施形態によるデータベースアクセスシ
ステムのインターフェースを示すブロック図である。
ステムのインターフェースを示すブロック図である。
【図4】 同一実施形態によるデータベースアクセスシ
ステムのシーケンスを示す図である。
ステムのシーケンスを示す図である。
【図5】 従来のデータベースアクセスシステムの構成
を示すブロック図である。
を示すブロック図である。
【図6】 従来のデータベースアクセスシステムにおけ
る分散トランザクション処理の参照モデルを示すブロッ
ク図である。
る分散トランザクション処理の参照モデルを示すブロッ
ク図である。
【図7】 従来のデータベースアクセスシステムにおけ
るX/OpenによるTX/XAインターフェースを示
すブロック図である。
るX/OpenによるTX/XAインターフェースを示
すブロック図である。
11〜13 クライアント端末 21〜23 クライアントアプリケーションプログラム 3 ネットワーク 41〜43 データベースサーバ 51〜53 データベース 6 アプリケーションサーバ 7 サーバアプリケーションプログラム 8 データベースアクセス高位アプリケーションプログ
ラムインターフェース 9 分散トランザクションマネジャ 101〜103 ローカルトランザクションマネジャ 11 データベースアクセスアプリケーションプログラ
ムインターフェース 12 分散トランザクションインターフェース 13 アプリケーション/資源マネジャインターフェー
ス
ラムインターフェース 9 分散トランザクションマネジャ 101〜103 ローカルトランザクションマネジャ 11 データベースアクセスアプリケーションプログラ
ムインターフェース 12 分散トランザクションインターフェース 13 アプリケーション/資源マネジャインターフェー
ス
───────────────────────────────────────────────────── フロントページの続き (72)発明者 坂田 雅史 東京都港区港南一丁目9番1号 エヌ・テ ィ・ティ・コミュニケーションウェア株式 会社内
Claims (3)
- 【請求項1】 データベースを各々保持する複数のデー
タベースサーバと、 前記複数のデータベース端末に接続されたアプリケーシ
ョンサーバとを有し、 前記アプリケーションサーバは、 複数の前記データベースに各々対応して設けられ、前記
データベースの更新処理を個別的に実行する複数のロー
カルトランザクションマネジャと、 前記複数のローカルトランザクションマネジャに対して
個別的に前記更新処理の指令を出す分散トランザクショ
ンマネジャとを具備することを特徴とするデータベース
アクセスシステム。 - 【請求項2】 ネットワークを介して前記アプリケーシ
ョンサーバに接続されており、該ネットワークを介して
サービス要求を出すクライアント端末を有し、 前記アプリケーションサーバの分散トランザクションマ
ネジャは、前記サービス要求が出された場合、前記複数
のローカルトランザクションマネジャに対して個別的に
前記更新処理の指令を出すことを特徴とする請求項1に
記載のデータベースアクセスシステム。 - 【請求項3】 データベースを各々保持する複数のデー
タベースサーバと、 前記複数のデータベース端末に接続されたアプリケーシ
ョンサーバとを有し、 前記アプリケーションサーバは、 複数の前記データベースに各々対応して設けられ、前記
データベースの更新処理を個別的に実行する複数のロー
カルトランザクションマネジャと、 前記複数のローカルトランザクションマネジャに対して
個別的に前記更新処理の指令を出す分散トランザクショ
ンマネジャとしてコンピュータを機能させるためのプロ
グラムを記録したコンピュータ読み取り可能な記録媒
体。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10146371A JPH11338746A (ja) | 1998-05-27 | 1998-05-27 | データベースアクセスシステムおよびプログラムを記録したコンピュータ読み取り可能な記録媒体 |
US09/275,013 US6374243B1 (en) | 1998-05-27 | 1999-03-24 | Database access system having time-out mechanism |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10146371A JPH11338746A (ja) | 1998-05-27 | 1998-05-27 | データベースアクセスシステムおよびプログラムを記録したコンピュータ読み取り可能な記録媒体 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH11338746A true JPH11338746A (ja) | 1999-12-10 |
Family
ID=15406213
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP10146371A Pending JPH11338746A (ja) | 1998-05-27 | 1998-05-27 | データベースアクセスシステムおよびプログラムを記録したコンピュータ読み取り可能な記録媒体 |
Country Status (2)
Country | Link |
---|---|
US (1) | US6374243B1 (ja) |
JP (1) | JPH11338746A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001093177A1 (en) * | 2000-05-27 | 2001-12-06 | Ji Jong Min | After sale service method for bakery and confectionery apparatus through internet and device therefor |
WO2005071547A1 (ja) * | 2004-01-22 | 2005-08-04 | Hewlett-Packard Development Company, L.P. | データ操作装置およびその方法 |
JP2015514247A (ja) * | 2012-03-16 | 2015-05-18 | オラクル・インターナショナル・コーポレイション | データベースへの中間層トランザクションログのインライン委譲をサポートするためのシステムおよび方法 |
JP2015514248A (ja) * | 2012-03-16 | 2015-05-18 | オラクル・インターナショナル・コーポレイション | 2フェーズコミットコールの厳密な順序付けに基づいたトランザクションリカバリをサポートするためのシステムおよび方法 |
Families Citing this family (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6463456B1 (en) * | 1999-09-01 | 2002-10-08 | International Business Machines Corporation | Efficient registration for distributed transaction systems |
US7197491B1 (en) * | 1999-09-21 | 2007-03-27 | International Business Machines Corporation | Architecture and implementation of a dynamic RMI server configuration hierarchy to support federated search and update across heterogeneous datastores |
US7113939B2 (en) * | 1999-09-21 | 2006-09-26 | International Business Machines Corporation | Architecture to enable search gateways as part of federated search |
US6938256B2 (en) | 2000-01-18 | 2005-08-30 | Galactic Computing Corporation | System for balance distribution of requests across multiple servers using dynamic metrics |
US8538843B2 (en) * | 2000-07-17 | 2013-09-17 | Galactic Computing Corporation Bvi/Bc | Method and system for operating an E-commerce service provider |
US6816905B1 (en) * | 2000-11-10 | 2004-11-09 | Galactic Computing Corporation Bvi/Bc | Method and system for providing dynamic hosted service management across disparate accounts/sites |
US7555500B2 (en) * | 2001-02-15 | 2009-06-30 | Teradata Us, Inc. | Optimized end transaction processing |
US6772363B2 (en) * | 2001-03-12 | 2004-08-03 | Hewlett-Packard Development Company, L.P. | Fast failover database tier in a multi-tier transaction processing system |
US8145759B2 (en) | 2002-11-04 | 2012-03-27 | Oracle America, Inc. | Dynamically configurable resource pool |
US7743083B2 (en) * | 2003-04-24 | 2010-06-22 | Oracle America, Inc. | Common transaction manager interface for local and global transactions |
US7610305B2 (en) | 2003-04-24 | 2009-10-27 | Sun Microsystems, Inc. | Simultaneous global transaction and local transaction management in an application server |
US7346905B2 (en) * | 2003-06-10 | 2008-03-18 | International Business Machines Corporation | Apparatus and method for maintaining resource integrity without a unified transaction manager in a software environment |
US7640545B2 (en) * | 2003-07-14 | 2009-12-29 | Sun Microsytems, Inc. | Transaction manager freezing |
US7739252B2 (en) | 2003-07-14 | 2010-06-15 | Oracle America, Inc. | Read/write lock transaction manager freezing |
US8521875B2 (en) * | 2003-09-04 | 2013-08-27 | Oracle America, Inc. | Identity for data sources |
US7730489B1 (en) * | 2003-12-10 | 2010-06-01 | Oracle America, Inc. | Horizontally scalable and reliable distributed transaction management in a clustered application server environment |
US8225311B1 (en) * | 2006-03-30 | 2012-07-17 | Emc Corporation | Deploying and distributing content management code |
JP2009048443A (ja) * | 2007-08-21 | 2009-03-05 | Hitachi Ltd | 情報更新方法及び情報更新システム |
US9165025B2 (en) | 2009-12-11 | 2015-10-20 | International Business Machines Corporation | Transaction recovery in a transaction processing computer system employing multiple transaction managers |
US8654650B1 (en) | 2010-04-30 | 2014-02-18 | Amazon Technologies, Inc. | System and method for determining node staleness in a distributed system |
US8694639B1 (en) | 2010-09-21 | 2014-04-08 | Amazon Technologies, Inc. | Determining maximum amount of resource allowed to be allocated to client in distributed system |
US9189511B2 (en) * | 2011-09-07 | 2015-11-17 | Unisys Corporation | Free resources parameter for improving performance of database alterations |
US9389905B2 (en) | 2012-03-16 | 2016-07-12 | Oracle International Corporation | System and method for supporting read-only optimization in a transactional middleware environment |
US9578130B1 (en) | 2012-06-20 | 2017-02-21 | Amazon Technologies, Inc. | Asynchronous and idempotent distributed lock interfaces |
US10630566B1 (en) | 2012-06-20 | 2020-04-21 | Amazon Technologies, Inc. | Tightly-coupled external cluster monitoring |
US10191959B1 (en) | 2012-06-20 | 2019-01-29 | Amazon Technologies, Inc. | Versioned read-only snapshots of shared state in distributed computing environments |
US10754710B1 (en) | 2012-06-20 | 2020-08-25 | Amazon Technologies, Inc. | Transactional watch mechanism |
US9760529B1 (en) | 2014-09-17 | 2017-09-12 | Amazon Technologies, Inc. | Distributed state manager bootstrapping |
US9852221B1 (en) | 2015-03-26 | 2017-12-26 | Amazon Technologies, Inc. | Distributed state manager jury selection |
US11152085B2 (en) * | 2016-06-27 | 2021-10-19 | International Business Machines Corporation | Using sensors and location to trigger events and share data |
US10909106B2 (en) * | 2016-11-11 | 2021-02-02 | Walmart Apollo, Llc | Systems and methods for creating and maintaining referential integrity of data across multiple server systems |
US10565187B2 (en) * | 2016-11-17 | 2020-02-18 | Sap Se | Management of transactions spanning different database types |
US10474668B2 (en) * | 2016-11-17 | 2019-11-12 | Sap Se | Database systems architecture incorporating distributed log |
US10678812B2 (en) * | 2016-11-17 | 2020-06-09 | Sap Se | Asynchronous database transaction handling |
US10496665B2 (en) * | 2016-11-17 | 2019-12-03 | Sap Se | Database system incorporating document store |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5095421A (en) * | 1989-08-17 | 1992-03-10 | International Business Machines Corporation | Transaction processing facility within an operating system environment |
US5363121A (en) * | 1990-06-29 | 1994-11-08 | International Business Machines Corporation | Multiple protocol communication interface for distributed transaction processing |
US5586312A (en) * | 1994-10-11 | 1996-12-17 | Unisys Corporation | Method and apparatus for using an independent transaction processing application as a service routine |
US5781910A (en) * | 1996-09-13 | 1998-07-14 | Stratus Computer, Inc. | Preforming concurrent transactions in a replicated database environment |
US5884327A (en) * | 1996-09-25 | 1999-03-16 | International Business Machines Corporation | System, method and program for performing two-phase commit with a coordinator that performs no logging |
US5958004A (en) * | 1997-10-28 | 1999-09-28 | Microsoft Corporation | Disabling and enabling transaction committal in transactional application components |
US6202067B1 (en) * | 1998-04-07 | 2001-03-13 | Lucent Technologies, Inc. | Method and apparatus for correct and complete transactions in a fault tolerant distributed database system |
-
1998
- 1998-05-27 JP JP10146371A patent/JPH11338746A/ja active Pending
-
1999
- 1999-03-24 US US09/275,013 patent/US6374243B1/en not_active Expired - Fee Related
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001093177A1 (en) * | 2000-05-27 | 2001-12-06 | Ji Jong Min | After sale service method for bakery and confectionery apparatus through internet and device therefor |
WO2005071547A1 (ja) * | 2004-01-22 | 2005-08-04 | Hewlett-Packard Development Company, L.P. | データ操作装置およびその方法 |
JP2015514247A (ja) * | 2012-03-16 | 2015-05-18 | オラクル・インターナショナル・コーポレイション | データベースへの中間層トランザクションログのインライン委譲をサポートするためのシステムおよび方法 |
JP2015514248A (ja) * | 2012-03-16 | 2015-05-18 | オラクル・インターナショナル・コーポレイション | 2フェーズコミットコールの厳密な順序付けに基づいたトランザクションリカバリをサポートするためのシステムおよび方法 |
Also Published As
Publication number | Publication date |
---|---|
US6374243B1 (en) | 2002-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH11338746A (ja) | データベースアクセスシステムおよびプログラムを記録したコンピュータ読み取り可能な記録媒体 | |
CN111066011B (zh) | 具有nvdimm作为持久性存储装置的数据库 | |
US10628209B2 (en) | Virtual machine monitor to I/O stack conduit in virtual real memory | |
CN111078147B (zh) | 一种缓存数据的处理方法、装置、设备及存储介质 | |
US7587400B2 (en) | Suspending a result set and continuing from a suspended result set for transparent session migration | |
US10802766B2 (en) | Database with NVDIMM as persistent storage | |
US6801914B2 (en) | Persistent client-server database sessions | |
US10496676B2 (en) | Synchronization cache seeding | |
CN112395264B (zh) | 分布式存储系统中逻辑目标与卷之间映射的处理方法 | |
US7743333B2 (en) | Suspending a result set and continuing from a suspended result set for scrollable cursors | |
WO2024041022A1 (zh) | 数据库表变更方法、装置、设备和存储介质 | |
US11360866B2 (en) | Updating stateful system in server cluster | |
CN111031126B (zh) | 集群缓存共享方法、系统、设备及存储介质 | |
JPH0962635A (ja) | 疎結合並列処理環境においてトランザクション直列化制御機能を有する顧客情報制御システム及び方法 | |
CN115269025A (zh) | 一种内核快速启动方法、装置、电子设备及存储介质 | |
US10698637B2 (en) | Stale block resynchronization in NVM based systems | |
US20020029301A1 (en) | Processor system | |
WO2022132333A1 (en) | Schema and data modification concurrency in query processing pushdown | |
WO2023116859A1 (zh) | 传感器设备虚拟化的方法、装置、电子设备和存储介质 | |
US20060059176A1 (en) | Suspending a result set and continuing from a suspended result set | |
US7278144B2 (en) | System and method for managing operating system option values | |
CN112231409B (zh) | 数据库同步的初始化装载方法、装置、设备和存储介质 | |
CN113760465A (zh) | 一种事务执行方法、装置、服务器、设备和存储介质 | |
CN117093158B (zh) | 分布式存储系统的存储节点、系统、数据处理方法及装置 | |
CN117648324A (zh) | 一种基于ros2的数据存储方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060125 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060221 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20060627 |