(57)【特許請求の範囲】
【請求項１】
１次キャッシュメモリ（８）、２次キャッシュメモリ（９）、１次ディスクメモリ（４）、２次ディスクメモリ（５）を具備する処理システム（１）のデータベース（２）においてデータのコピーを作成する方法であって、
クライアントから、データベース（２）に対するデータオブジェクトの書き込み要求を受ける受付過程と、
当該要求の受信に対応して、１次キャッシュメモリ（８）と２次キャッシュメモリ（９）に対してデータオブジェクトの書き込みを試行する試行過程と、
キャッシュメモリに対する書き込みの試行に続いて、１次ディスクメモリ（４）と２次ディスクメモリ（５）に対してデータオブジェクトの書き込みを試行する試行過程と、
１次キャッシュメモリ（８）、２次キャッシュメモリ（９）、１次ディスクメモリ（４）及び２次ディスクメモリ（５）に対するデータオブジェクトの書き込みが成功したか否かを確認する確認過程と、
１次キャッシュメモリ（８）と、１次ディスクメモリ（４）と２次ディスクメモリ（５）のうちの少なくとも一方に対するデータオブジェクトの書き込みが成功したことに基づいて、クライアントに対してデータオブジェクトの書き込みが成功したことを知らせる通知過程と、確認過程においてデータオブジェクトの書き込みが成功しなかったと決定されたキャッシュとディスクメモリに同期していないことを表示する表示過程と、を含む方法。
【請求項２】
通知過程と表示過程の後に、自動的に同期していないと表示されたキャッシュ及びディスクメモリの再同期を実行し、そのデータオブジェクトを更新する請求項１に記載の方法。
【請求項３】
前記表示過程は、２次キャッシュに対するデータオブジェクトの書き込みが不成功であったと決定された場合に、２次キャッシュ（９）が同期していないことを表示する過程を含む請求項１に記載の方法。
【請求項４】
前記表示過程は、１次ディスクメモリに対するデータオブジェクトの書き込みが不成功であったと決定された場合に、１次ディスクメモリ（４）が同期していないことを表示する過程を含む請求項２に記載の方法。
【請求項５】
前記表示過程は、２次ディスクメモリに対するデータオブジェクトの書き込みが不成功であったと決定された場合に、２次ディスクメモリ（５）が同期していないことを表示する過程を含む請求項２に記載の方法。
【請求項６】
さらに、１次ディスクメモリ（４）と２次ディスクメモリ（５）のいずれに対するデータオブジェクトの書き込みも失敗したと決定されたときに、クライアントに対してデータオブジェクトの書き込みが失敗したことを知らせる過程を含む請求項１に記載の方法。
【請求項７】
さらに、確認過程に基づいて、クライアントに対してデータベース（２）へのデータオブジェクトの書き込みに失敗した旨を連絡し、
確認過程において、データベース（２）へのデータオブジェクトの書き込みが失敗に終わった旨の決定に続いて、データオブジェクトが書き込まれたキャッシュとディスクメモリからデータオブジェクトの削除を試行する請求項１に記載の方法。
【請求項８】
さらに、
データオブジェクトが書き込まれたキャッシュとディスクメモリから、データオブジェクトの削除に成功したか否かを決定する過程と、
データオブジェクトの削除に失敗した場合には、データオブジェクトの削除に失敗したキャッシュとディスクメモリに対して、同期していない旨を表示する過程とを有する請求項７に記載の方法。
【請求項９】
さらに、１次キャッシュメモリ（８）からデータオブジェクトの削除に失敗したと決定された場合には、２次キャッシュメモリ（９）を１次キャッシュメモリ（８）とする過程を有する請求項８に記載の方法。
【請求項１０】
データオブジェクトを１次キャッシュメモリ（８）に書き込み試行した後に、２次キャッシュメモリ（９）への書き込みを試行する請求項１に記載の方法。
【請求項１１】
さらに、通知過程と表示過程の後に、格納されたデータオブジェクトを、アクセス可能な状態に置く過程を有する請求項１に記載の方法。
【請求項１２】
１次ディスクメモリ（４）と２次ディスクメモリ（５）のうちの一方だけに関してデータオブジェクトの書き込み成功した旨の決定に基づいて通知過程が実行される請求項１に記載の方法。
【請求項１３】
１次キャッシュメモリ（８）と、
２次キャッシュメモリ（９）と、
１次メモリディスク（４）と、
２次メモリディスク（５）と、
クライアントから、データベース（２）に対するデータオブジェクトの書き込み要求を受け、上記要求に応答して、１次キャッシュメモリ（８）と、２次キャッシュメモリ（９）と、１次ディスクメモリ（４）と、２次ディスクメモリ（５）に対してデータオブジェクトの書き込みを試行し、１次キャッシュメモリ（８）と、２次キャッシュメモリ（９）と、１次ディスクメモリ（４）と、２次ディスクメモリ（５）のそれぞれに対する書き込みを確認し、１次キャッシュメモリ（８）と、１次ディスクメモリ（４）と２次ディスクメモリ（５）のうちの少なくとも一方に対するデータオブジェクトの書き込みが成功したことに基づいて、クライアントに対してデータオブジェクトの書き込みが成功したことを知らせ、データオブジェクトの書き込みに成功しなかったキャッシュ及びディスクメモリに同期されていない旨の表示をする制御処理手段（１６）とを具備するトランザクション処理システム（１）のデータベース（２）。
【請求項１４】
制御処理手段（１６）は、同期が取られていないと表示されたキャッシュとディスクメモリに対して自動的に再同期の手続きを行い、そのデータオブジェクトを更新する請求項１３に記載のシステム（１）。
【請求項１５】
前記制御処理手段（１６）は、２次キャッシュに対するデータオブジェクトの書き込みが不成功であったと決定された場合に、２次キャッシュ（９）が同期していないことを表示する手段を含む請求項１３に記載のシステム。
【請求項１６】
前記制御処理手段（１６）は、１次ディスクメモリに対するデータオブジェクトの書き込みが不成功であったと決定された場合に、１次ディスクメモリ（４）が同期していないことを表示する手段を含む請求項１３に記載のシステム。
【請求項１７】
前記制御処理手段（１６）は、１次ディスクメモリ（４）へのデータオブジェクトの書き込みに失敗し、２次ディスクメモリ（５）へのデータオブジェクトの書き込みに成功したときに、２次ディスクメモリ（５）を１次ディスクメモリ（４）とする請求項１３に記載のシステム。
【請求項１８】
１次キャッシュメモリ（８）と２次キャッシュメモリ（９）へのデータオブジェクトの書き込み試行は、データオブジェクトの１次ディスクメモリ（４）と２次ディスクメモリ（５）への書き込み試行の前に行われる請求項１３に記載のシステム（１）。
【請求項１９】
制御処理手段（１６）は、データオブジェクトの１次キャッシュ（８）あるいは両方のディスクメモリへの書き込みに失敗したと決定されたときに、クライアントに対してデータベース（２）への書き込みに失敗したことを知らせる請求項１３に記載のシステム（１）。
【請求項２０】
制御処理手段（１６）は、確認過程に基づいてデータベース（２）へのデータオブジェクトの書き込みに失敗したことをクライアントに連絡し、データオブジェクトが書き込まれたキャッシュからデータオブジェクトの削除を試行する請求項１３に記載のシステム（１）。
【請求項２１】
制御処理手段（１６）は、キャッシュメモリからデータオブジェクトの削除に成功したか否かを決定し、キャッシュメモリからデータオブジェクトの削除に失敗したキャッシュに対して同期されていない旨を表示する請求項２０に記載のシステム（１）。
【請求項２２】
制御処理手段（１６）は、１次キャッシュメモリ（８）からデータオブジェクトの削除に失敗すると、２次キャッシュメモリ（９）を１次キャッシュメモリ（８）とする請求項２１に記載のシステム（１）。
【請求項２３】
制御処理手段（１６）は、データオブジェクトの書き込み試行と書き込みが成功したか否かを確認する間は、データオブジェクトをデータベース（２）からアクセス不能にする請求項１３に記載のシステム（１）。
【請求項２４】
制御処理手段（１６）は、データオブジェクトを、１次キャッシュメモリ（８）と２次キャッシュメモリ（９）に対して、順次書き込みを試行する請求項２３に記載の方法。
【請求項２５】
制御処理手段（１６）は、１次ディスクメモリ（４）と２次ディスクメモリ（５）のうちの一方だけに関してデータオブジェクトの書き込み成功した旨の決定に基づいてデータベース(２)へのデータオブジェクトの書き込みに成功したとクライアントに報告する請求項１３に記載のシステム。
【請求項２６】
複数のキャッシュと複数のディスクメモリを有するデータベース（２）のデータをコピーする方法であって、
クライアントから、メモリの更新要求を受け、
キャッシュの更新を試み、
キャッシュの更新に続いて、ディスクメモリの更新を試み、
キャッシュとディスクメモリの更新に成功したか否かを判断し、
決定された結果を、更新を要求したクライアントに連絡し、
更新の試行を行ったキャッシュとディスクメモリのうちの１つ以上の更新に失敗したことに基づいて更新を要求したクライアントにメモリ更新に失敗したことを連絡し、
データベースの更新に失敗したと決定したことに続いて、更新されたキャッシュとディスクメモリのキャンセルを試行する方法。
【請求項２７】
複数のキャッシュとディスクメモリの更新に成功したことに基づいてデータベースの更新に成功したと決定し、
データベースの更新成功の決定に続いて、更新に失敗したキャッシュとディスクメモリを同期されていないと表示する請求項２６に記載の方法。
【請求項２８】
さらに、データベースの更新が成功した旨の決定に基づいて、メモリの更新が行われたキャッシュから更新されたデータを削除する過程を有する請求項２６に記載の方法。
【請求項２９】
さらに、データの削除に失敗したメモリの更新にかかるデータを有するキャッシュに対して同期が取れていない旨を表示する過程を有する請求項２８に記載の方法。
【請求項３０】
さらに、キャッシュからメモリ更新に関して失敗したデータの削除を記録するステップを有する請求項２８に記載の方法。
【請求項３１】
１次キャッシュメモリ（８）と、
２次キャッシュメモリ（９）と、
１次メモリディスク（４）と、
２次メモリディスク（５）とを有し、
クライアントから、データベースの更新要求を受け、キャッシュメモリの更新を試行し、キャッシュメモリの更新に続いてディスクメモリの更新を試行し、キャッシュとディスクメモリの更新が成功したか否かを決定し、１つ以上のキャッシュとディスクメモリの更新に失敗したと決定した場合には更新を要求したクライアントに対してデータベースの更新に失敗した旨を連絡し、データベースの更新に失敗したと決定したら、更新に成功したキャッシュとディスクメモリの更新のキャンセルを試行する制御処理手段(１６)を具備する、トランザクション処理システム（１）のデータベース（２）。
【請求項３２】
制御処理手段は、複数のキャッシュとディスクメモリの更新に成功したことに基づきデータベースの更新が成功したと決定し、データベースの更新に成功した旨の決定に続いて、更新に失敗したキャッシュとディスクメモリを同期されていないと表示する請求項３１に記載のデータベース。
【請求項３３】
制御処理手段は、データベースの更新に成功した旨の決定に基づいて、更新されたキャッシュのメモリ更新に関するデータを削除する請求項３１に記載のデータベース。
【請求項３４】
制御処理手段は、削除に失敗したメモリ更新にかかるデータを有するキャッシュを同期が取られていないと表示する請求項３３に記載のデータベース。
【請求項３５】
制御処理手段は、キャッシュからのメモリ更新に関して失敗した削除を記録する請求項３３に記載のデータベース。
【発明の詳細な説明】
【０００１】
発明の技術的背景
発明の属する技術分野
本発明は、分散型トランザクション処理システム、特に、分散型のデータベースにおいてデータのコピーを作成する方法に関する。
【０００２】
本発明の背景と目的
今日、例えば分散型トランザクション処理システムのような、多くのコンピュータシステムが、処理速度を向上させる目的でキャッシュメモリを使用している。代表的なキャッシュは、ランダムアクセスメモリ（ＲＡＭ）と、ＲＡＭの中のどの位置に直前のデータが格納されたかを示すレジスタを具備する。キャッシュメモリはメインメモリの一部である場合もある。最も頻繁にアクセスされるデータをキャッシュの中に格納することによって、記憶領域へのアクセス時間は、キャッシュへのアクセス時間に近づく。
【０００３】
典型的な高性能トランザクション処理システムは、データトランザクション率とデータ利用率が比較的高い。システムに対するこれらの要求特性に答えるために、システムデータベースのアーキテクチャーは、キャッシュを採用して高いトランザクションレート確保し、同時に、冗長性の有るメモリ装置を使用して、システムの他の部分からデータに対して実質的にかつ整合的にアクセスできるようにしている。例えば、以前のシステムは１次キャッシュと２次キャッシュと呼ばれる一組のキャッシュメモリを使用していた、以前にシステムはさらに、１次ディスクと２次ディスクと称する一組のディスクメモリを使用していた。
【０００４】
冗長メモリを有するシステムの問題の１つは、データのコピーの作成、つまり、システムの動きを通じてメモリデータベースの同一性を維持することである。従来のトランザクション処理システムは、メモリ装置相互間でデータをコピーするために種々の同期プロトコルを有していた。この種の同期プロトコルの１つである、２位相実行手順は記憶装置が故障した際にシステムを動かなくしてしまうことがしばしばであった。したがって、トランザクション処理システムのために、データのコピーを行う手順を改良する必要がある。
【０００５】
本発明の目的は、分散型トランザクション処理システムにおけるデータのコピー方法を提供することである。
本発明の別の目的は、メモリ装置が故障してもデータの利用性を維持することができる方法を提供することである。
【０００６】
発明の要旨
本発明は、現在のトランザクション処理システムの欠点を解消し、高度の利用性と性能レベルを維持しながらデータのコピーを行うシステムと方法の必要性を満足するものである。
【０００７】
本発明の好ましい実施例は、分散型トランザクション処理システムのためのシステムと方法を提供する。本システムは、複数のクライアントに対するインターフェースを具備する分散型データベースを提供する。分散型データベースは、２つの記憶ノードを有する。各記憶ノードは、キャッシュメモリとメモリディスクを有する。１つのキャッシュメモリは１次キャッシュと２次キャッシュを有する。同様に、１つのメモリディスクは１次ディスクと２次ディスクを有する。各キャッシュとディスクは、好ましくは、それぞれキャッシュ管理手段とディスク管理手段を有する。キャッシュ、キャッシュ管理手段、ディスクとディスク管理手段は、データベースにおけるデータのコピーとその他の機能を取り扱う。
【０００８】
データベースに対応付けられたクライアントが、たとえば、データベースのデータオブジェクトの更新を要求する等、データベースに対するトランザクションを行うときは、システムはまず１次キャッシュをデータオブジェクトによって更新し、次に、２次キャッシュの更新を行う。次に、１次ディスクのデータオブジェクトによる更新を試みる。システムは次に、２次ディスクのデータオブジェクトによる更新を試みる。クライアントに関連する処理手段が記憶装置の上記それぞれの試みの成功を監視して、それに対して応答を作成する。
【０００９】
１次キャッシュの更新だけが成功したときは、要求されたトランザクションは失敗である。クライアントにはこの失敗が連絡される。さらに、１次キャッシュに関しては、データオブジェクトの更新に成功しているが、この更新されたデータオブジェクトは１次キャッシュから削除される。データベースのデータオブジェクトに対してアクセスがあったときは、データオブジェクトは１次ディスクから取り出されて、１次キャッシュにコピーされる。データオブジェクトを１次キャッシュからの削除に失敗したときは、１次キャッシュは同期を喪失している旨を表示して、２次キャッシュを１次キャッシュとして取り扱う。後に、１次キャッシュの再同期が自動的に行われる。
【００１０】
１次キャッシュとディスクの一方のみのデータオブジェクトによる更新に成功したときは、トランザクションに成功したと判断される。クライアントには成功した旨が連絡される。２次キャッシュと更新に失敗したほうのディスクは共に同期に失敗している旨が表示される。
【００１１】
２次キャッシュだけが更新に失敗したときは、トランザクションは成功したと判断される。クライアントには成功が連絡される。２次キャッシュは同期に失敗している旨の表示が行われる。
【００１２】
１次ディスクと２次ディスクの更新が共に失敗であった場合は、トランザクションは失敗したと判断される。クライアントにはこの失敗が連絡される。データオブジェクトは１次と２次キャッシュから削除される。１次キャッシュと２次キャッシュのいずれか一方からの削除に失敗したときは、削除に失敗したキャッシュは同期に失敗している旨が表示される。
【００１３】
ディスクのうちの一方についてデータオブジェクトの更新に失敗したときは、トランザクションは成功したと判断される。クライアントには対しては成功が連絡される。更新に失敗したディスクは同期に失敗している旨が表示される。
【００１４】
データオブジェクトのキャッシュとディスクへの書き込みに成功したときは、クライアントに対してはトランザクションが完了した旨が知らされる。
【００１５】
添付の図面を参照して以下に述べる発明の詳細な説明によって、本発明を一層明らかにする。
【００１６】
発明の好ましい実施例の詳細な説明
本発明の好ましい実施例を示した添付の図面を参照しながら、以下に、本発明について一層詳細に説明する。しかし、本発明は種々の形態で実現することができ、以下に説明する実施例に限定されるものと解釈してはならない。むしろ、以下に説明する実施例は、当業者が、本発明の技術的範囲を完全に、全面的に理解できるように例示したものである。
【００１７】
図１は、本発明に基づく分散型トランザクション処理データベースシステム１を示すものである。当該システムは、複数のクライアント３に対してデータを提供する分散型のデータベース２を具備する。分散型のデータベース２は、分散型処理システム１の１次メモリディスクと２次メモリディスクであるディスクメモリ４と５とを具備するのが望ましい。分散型処理システム１は、システムとして作動する際に、ディスクメモリ４と５のどちらを１次メモリディスクとして、他方を２次ディスクとするか、を決定することができる。ここでは一例として、ディスクメモリ４が１次メモリディスクであって、２次ディスクメモリ５が２次メモリディスクに割り当てられたものと考える。１次ディスクメモリ４と２次ディスクメモリ５は好ましくはそれぞれディスク管理手段６と７とに関連付けられている。ディスク管理手段６は、好ましくは、１次ディスクメモリ４に対するアクセスを管理する１次ディスク管理手段として作動する。同様に、ディスク管理手段７は、２次ディスクメモリ５に対する２次ディスク管理手段７としてこれに対するアクセスを制御する。
【００１８】
分散型データベース２は、好ましくはさらに１次キャッシュメモリ８と２次キャッシュメモリ９とを具備し、これらは、１次ディスクメモリ４と２次ディスクメモリ５に対して接続され、直前にアクセスされたデータを格納して相対的に高速なアクセスを実現するメモリとして使用される。分散型データベース２は好ましくはさらにクライアント処理手段１０と１１を具備し、これらはそれぞれ１次キャッシュメモリ８と２次キャッシュメモリ９とに接続されている。クライアント処理手段１０は好ましくは１次キャッシュメモリ８に対するアクセスを制御してそのキャッシュ管理手段として作動する。同様に、クライアント処理手段１１は好ましくは、２次キャッシュメモリ９に対するアクセスを制御してそのキャッシュ管理手段として作用する。図１に示したように、キャッシュ８と９とディスクメモリ４と５との間で、キャッシュ管理手段１０と１１及びディスク管理手段６と７とによってデータの転送が行われる。２つのキャッシュ８と９及び２つのディスクメモリ４と５とを具備することによって、本発明に基づく分散型トランザクション処理システム１は、クライアント３に対してデータが確実に利用できるようにしている。
【００１９】
１次キャッシュメモリ８と２次キャッシュメモリ９とは、好ましくは、データオブジェクトを複数の形式で保持することができる。より具体的には、キャッシュ８とキャッシュ９とは、それぞれインデックスレジスタ１２と１３を具備するかそれらに接続されている。インデックスレジスタ１２と１３は、それぞれキャッシュ８と９とに格納された同じデータオブジェクトの異なるコピーを指示して、１つ以上のクライアント３がそのデータオブジェクトに対してアクセスできるようにする。インデックスレジスタ１２と１３は、データオブジェクトがキャッシュ８と９とに書き込まれて古いコピーが削除されたときは、新しいコピーを指示するように変更される。データオブジェクトがキャッシュ８と９から削除されたときは、インデックスレジスタ１２と１３は、修正されて、削除されるデータオブジェクトに対する参照が削除される。データオブジェクトに対する参照は、当該データオブジェクトがキャッシュメモリ８と９とに存在することを保証するものである。データオブジェクトに対して１つ以上の参照が存在することは、当該データオブジェクトがキャッシュメモリ８と９とに存在することを意味する。
【００２０】
分散型データベース２は、さらに、クライアント３に制御されて、データベース２のメモリにアクセスしてクライアントが書き込みと読み出しをするのを可能にする処理手段１４，１５と１４’と１５’を具備する。データベース２とクライアント３の記憶装置相互間のデータの転送は、制御とインターフェース処理手段１６によって制御される。
【００２１】
上述のように、本発明は、処理システム１及び／またはデータベース２が、データベースにデータオブジェクトを書き込んだり更新したりするようなトランザクションを、１つ以上のメモリ装置（キャッシュ８と９およびディスクメモリ４と５)でエラーが発生したとしても、行うことを可能にするものである。特に、本発明に基づくシステムは、メモリ装置が故障してもデータベース２が機能することができるようなやり方で、データのコピーを実行するものである。
【００２２】
図２に示したように、トランザクション処理システム１の作動は以下の通りである。データベース２が、クライアントから、メモリの更新要求のような、外部トランザクションを受信すると、インターフェースと制御処理手段１６がメモリの更新を取り扱う。新しいデータオブジェクト（またはその複製）によって４つのメモリ装置全てを更新する必要があるので、インターフェースと制御手段１６はデータベース２のデータコピー手順をスタートさせる。最初に、データベース２の一部をデータ複製手順を通じてアクセス不能にする。データベースの、アクセス不能にされる部分は、メモリ装置内の新しいデータオブジェクトを含むページ（書き込み終了後）や新しいデータオブジェクトそのものである。次に、ステップ２０で１次キャッシュメモリ８の更新が試みられ、次にステップ２１で２次キャッシュメモリ９の更新が試みられる。次に、データベース２は、（スッテプ２２で）１次ディスクメモリ４の更新を試み、（ステップ２３で）２次ディスクメモリ５の更新を試みる。４つのメモリ装置それぞれの更新の試みの状況はインターフェースと制御処理手段１６によって維持されている。データコピー手順を通じて、整合性を維持するためにはメモリ更新の具体的な手順が重要であることに注意を要する。例えば、最初にキャッシュ８と９とを更新することによって、ディスクメモリ４と５とを更新している間にも、システム１は新しいデータオブジェクトに対してアクセスすることができる。
【００２３】
キャッシュ８と９及びディスクメモリ４と５とに対する４つの更新手続きが完了すると、インターフェースと制御処理手段１６は、好ましくは、それぞれの試行を評価して、この評価に基づき、外部のトランザクション（メモリ更新要求）が成功したか否かを決定する。
【００２４】
１次キャッシュメモリ８の更新に成功し、２次キャッシュメモリ９，１次ディスクメモリ４と２次ディスクメモリ５の更新には失敗した場合は、インターフェースと制御処理手段１６は、ステップ２４で外部のトランザクション（メモリ更新要求）が失敗したと判断する。インターフェースと制御処理手段１６は、要求のあったクライアント３に対して、要求された処理に失敗したことを報告する。
【００２５】
さらに、ステップ２５で、１次キャッシュメモリ８からデータオブジェクトを削除して、メモリ装置相互間の整合性を確保する試みがなされる。この削除操作は、１次キャッシュメモリ８に対応している院でクスレジスタ１２を変更して、インデックスレジスタ１２が新しいデータオブジェクトを指定しないようにすることによって行われる。この削除動作が不成功に終わると、インターフェースと制御処理手段１６がアラーム信号を発生して、ステップ２６で、１次キャッシュメモリ８に関して同期が取れていないことを表示する。この時点で、システムからは、２次キャッシュメモリ９が１次キャッシュメモリと認識される。
【００２６】
同期が取れていないと表示された１次キャッシュメモリ８に関しては、好ましくは、このシステム１は後に、１次キャッシュメモリの自動的な再同期操作を行う。例えば、データベース２は、１次キャッシュメモリ８、２次キャッシュメモリ９、１次ディスクメモリ４、２次ディスクメモリ５のうちで、更新に失敗したデータオブジェクトのリストを保持するログ１７を保管する。時々、例えば、一定周期で、以前メモリ装置で更新に失敗したデータオブジェクトのコピーを行う。例えば、その前に更新に失敗していたデータオブジェクトについて、１次キャッシュメモリ８の更新に成功したときは、メモリ装置は再同期されて完全に作動可能になる。
【００２７】
１次キャッシュメモリ８と、ディスク４と５のうちの一方のみの更新に成功したときは、インターフェースと制御処理手段１６はステップ２７で外部のトランザクションは成功したと決定する。インターフェースと制御手段１６は、要求を行ったクライアント３に対して、要求された動作が完了した旨の報告を送る。２次キャッシュメモリ９と更新に失敗したほうのディスクメモリ４又は５はステップ２８で同期が取れていない旨の表示がされる。
【００２８】
２次キャッシュ９だけが更新に失敗したときは（ステップ２９）、インターフェースと制御処理手段１６はトランザクションが成功したと決定する（ステップ３０）。処理を要求したいクライアント３に対しては処理の成功を知らせる信号が送られる。さらに、更新に失敗して２次キャッシュメモリ９に関してアラームを作成して、２次キャッシュメモリ９が同期されていないことを示す（ステップ３１）。
【００２９】
キャッシュメモリ８と９の更新に成功して、１次ディスクメモリ４と２次ディスクメモリ５の更新にいずれも失敗したときは、インターフェースと制御処理手段１６は外部からのトランザクションは失敗したと決定する（ステップ３２）。処理を要求したクライアント３は、処理の失敗を知らされる（ステップ３３）。次に、１次キャッシュメモリ８と２次キャッシュメモリの両方から新しいデータオブジェクトを削除する試みがなされる（ステップ３３）。キャッシュ８又は９のいずれかにおいて、新しいデータオブジェクトの削除に失敗したら、削除処理に失敗したキャッシュは同期が取られていないと表示される（ステップ３４）。
【００３０】
他のメモリ装置の更新が全て成功したにもかかわらず、ディスク４又は５のデータオブジェクトによる更新に失敗したときは、インターフェースと制御処理手段１６は、外部からのトランザクションの実行に成功したと決定する（ステップ３５）。処理を要求したクライアントには処理が成功した旨が連絡される。更新に失敗したディスクメモリ４又は５は同期されていない旨が表示される（ステップ３６）。
【００３１】
全てのメモリ装置（１次キャッシュメモリ８，２次キャッシュメモリ９，１次ディスクメモリ４と２次ディスクメモリ５）が更新されたときは、インターフェースと制御処理手段１６は、更新に成功したと決定し、処理を要求したクライアント３に対してその旨の信号を送信する（ステップ３５）。
【００３２】
上記以外の全ての処理シナリオの場合には、外部のトランザクションは不成功であることに注意する必要がある。
【００３３】
高い利用性を有するトランザクション処理システムの上述のデータコピー手順は、一部は、キャッシュ８と９との更新と実質的に新しいデータオブジェクト（又はその複製）を指示するように更新されるキャッシュインデックスレジスタ１２と１３に基づくものである。インデックスレジスタ１２と１３はあるいは、各メモリ装置への書き込みが成功して、要求された外部トランザクションが成功した旨の決定がされた後に更新されても良い。このようにして、クライアントが、外部トランザクションが不成功であったことを理由に削除される新しいデータオブジェクトに対してアクセスすることが防止される。この別の方法では、外部トランザクションが失敗したときは、インデックスレジスタ１２と１３は修正する必要が無い。実際、外部からのトランザクションが失敗したと決定された後に実行しなければならない処理は、キャッシュ８と９内の新しいデータオブジェクトで占領された領域を開放することだけである。
【００３４】
本発明に基づくシステムと方法の好ましい実施例を図に示して詳細に説明したが、本発明は上述の実施例に限定されるものではなく、添付の特許請求の範囲によって定義される本発明の技術的思想の範囲内において、多くの改造、変更や置換が可能である。
【図面の簡単な説明】
【図１】 図１は、本発明に基づく処理システムのブロック図である。
【図２】 図２は、本発明の処理を示すフローチャートである。
【図１】
0004437870.tif 000002
【図２】
0004437870.tif 000003
【図２Ｂ】
0004437870.tif 000004