(57)【要約】【課題】  データベース・マネージャの並列動作を実現させる。【解決手段】  同一のクエリ文を複数のデータベース・マネージャ１６−１〜１６−ｎに対して発行し、かつ、複数のデータベース・マネージャ１６−１〜１６−ｎにおけるクエリ文の実行順序を同一に保つことで、複数のデータベース・マネージャ１６−１〜１６−ｎが管理するデータベース内容を同一に保つデータベース複製装置１２であって、クライアント１１−１〜１１−ｎのいずれかから発行されるクエリ文を受信してクエリ文に実行順序を付与し、実行順序を付与したクエリ文を複製する順序付与装置１３、複製されたクエリ文を、クエリ文に付与されている実行順序に基づいて、対応つけられたデータベース・マネージャ１６−１〜１６−ｎに発行する、データベース・マネージャ１６−１〜１６−ｎごとに設置された順序制御装置１５−１〜１５−ｎ、を有する。【選択図】  図１
2006301755.tif 000002
【特許請求の範囲】
【請求項１】
同一のクエリ文を複数のデータベース・マネージャに対して発行し、かつ、当該複数のデータベース・マネージャにおけるクエリ文の実行順序を同一に保つことで、当該複数のデータベース・マネージャが管理するデータベース内容を同一に保つデータベース複製装置であって、
クライアントから発行されるクエリ文を受信して当該クエリ文に実行順序を付与し、当該実行順序を付与したクエリ文を複製する順序付与手段と、
前記複製されたクエリ文に付与されている実行順序に基づいて、前記複製されたクエリ文を対応つけられたデータベース・マネージャに発行する、データベース・マネージャごとに設置された順序制御手段と、を有することを特徴とするデータベース複製装置。
【請求項２】
前記順序付与手段は、前記クライアントから発行されるクエリ文がトランザクションを実行するクエリ文であれば実行順序を付与して、当該実行順序を付与したクエリ文を複製し、
前記順序制御手段は、前記複製されたクエリ文を対応つけられたデータベース・マネージャに発行するときに、当該実行順序よりも早い実行順序が付されたクエリ文により開始されたトランザクションの終了を意味するクエリ文の発行を確認してから、当該発行を行うことを特徴とする請求項１に記載のデータベース複製装置。
【請求項３】
前記順序付与手段は、前記クライアントから発行されるクエリ文がロックを発生させるクエリ文であれば、ロック対象別に実行順序を付与して、当該実行順序を付与したクエリ文を複製することを特徴とする請求項１に記載のデータベース複製装置。
【請求項４】
同一のクエリ文を複数のデータベース・マネージャに対して発行し、かつ、当該複数のデータベース・マネージャにおけるクエリ文の実行順序を同一に保つことで、当該複数のデータベース・マネージャが管理するデータベース内容を同一に保つデータベース複製装置に処理を実行させるデータベース複製プログラムであって、
順序付与手段が、クライアントから発行されるクエリ文を受信して当該クエリ文に実行順序を付与し、当該実行順序を付与したクエリ文を複製する処理と、
データベース・マネージャごとに設置された順序制御手段が、前記複製されたクエリ文に付与されている実行順序に基づいて、前記複製されたクエリ文を対応つけられたデータベース・マネージャに発行する処理と、を実行させることを特徴とするデータベース複製プログラム。
【請求項５】
前記順序付与手段は、前記クライアントから発行されるクエリ文がトランザクションを実行するクエリ文であれば実行順序を付与して、当該実行順序を付与したクエリ文を複製する処理を行い、
前記順序制御手段は、前記複製されたクエリ文を対応つけられたデータベース・マネージャに発行するときに、当該実行順序よりも早い実行順序が付されたクエリ文により開始されたトランザクションの終了を意味するクエリ文の発行を確認してから当該発行を行う処理を実行することを特徴とする請求項４に記載のデータベース複製プログラム。
【請求項６】
前記順序付与手段は、前記クライアントから発行されるクエリ文がロックを発生させるクエリ文であれば、ロック対象別に実行順序を付与して、当該実行順序を付与したクエリ文を複製する処理を実行することを特徴とする請求項４に記載のデータベース複製プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、同じクエリ文を複数のデータベース・マネージャに対して発行し、複数のデータベース・マネージャにおけるクエリ文の実行順序を同一に保つことにより、複数のデータベース・マネージャが管理するデータベースの内容を同一に保つ技術に関する。
【背景技術】
【０００２】
同じクエリ文を複数のデータベース・マネージャに対して発行し、複数のデータベース・マネージャにおけるクエリ文の実行順序を同一に保つことにより、複数のデータベース・マネージャが管理するデータベースの内容を同一に保つ技術については、下記のような、方法ａ、及び方法ｂの２つの方法が知られている。
【０００３】
(方法ａ)  データベース複製装置は、一つのマスタ順序制御装置と複数のスレーブ順序制御装置と一つの応答集約装置を持つ。マスタ順序制御装置とスレーブ順序制御装置は、データベース・マネージャと対をなす。方法ａでは、マスタ順序制御装置と対をなすデータベース・マネージャにおいてクエリ文の実行が終了してから、スレーブ順序制御装置と対をなすデータベース・マネージャにおいてクエリ文の実行を開始させる(例えば、非特許文献１又は非特許文献２参照。)。
【０００４】
方法ａにより、データベース複製装置が、複数のデータベース・マネージャが管理するデータベースの内容を同一に保つ場合の実施形態の一例を図９に、この動作の例のシーケンス図を図１０に、また、図１０の動作例に関するデータベース・マネージャ部分の動作例のガントチャートを図１１に示す。
【０００５】
これらの図９、図１０、及び図１１に沿って、方法ａにより、データベース複製装置が、複数のデータベース・マネージャが管理するデータベースの内容を同一に保つ場合の動作を説明する。
【０００６】
まず、クライアント９１−１〜９１−ｎのいずれか１つからデータベース複製装置９２のマスタ順序制御装置９３にクエリ文が送信される(Ｓ１００１)。
【０００７】
その後、マスタ順序制御装置９３は、クエリ文を受信すると、対をなすデータベース・マネージャ９６−０にクエリ文を発行し、対をなすデータベース・マネージャ９６−０からの応答を待つ(Ｓ１００２)。
【０００８】
その後、データベース・マネージャ９６−０は、クエリ文の実行が終了すると、マスタ順序制御装置９３に応答を送信する(Ｓ１００３)。
【０００９】
その後、マスタ順序制御装置９３は、対をなすデータベース・マネージャ９６−０から応答を受信すると、応答を応答集約装置９４に送信するとともに(Ｓ１００４)、応答を得たクエリ文を複製してスレーブ順序制御装置９５−１〜９５−ｎに送信する(Ｓ１００５)。
【００１０】
その後、スレーブ順序制御装置９５−１〜９５−ｎは、クエリ文を受信すると、対をなすデータベース・マネージャ９６−１〜９６−ｎにクエリ文を発行し、対をなすデータベース・マネージャ９６−１〜９６−ｎからの応答を待つ(Ｓ１００６)。
【００１１】
その後、データベース・マネージャ９６−１〜９６−ｎは、クエリ文の実行が終了すると、スレーブ順序制御装置９５−１〜９５−ｎに応答を送信する(Ｓ１００７)。
【００１２】
その後、スレーブ順序制御装置９５−１〜９５−ｎは、対をなすデータベース・マネージャ９６−１〜９６−ｎから応答を受信すると、応答集約装置９４に応答を送信する(Ｓ１００８)。
【００１３】
その後、応答集約装置９４は、全てのスレーブ順序制御装置９５−１〜９５−ｎから応答を受信した場合に、クライアント９１−１〜９１−ｎのいずれか１つに応答を送信する(Ｓ１００９)。
【００１４】
(方法ｂ)   方法ｂでは、データベース複製装置は、一つのクエリ複製装置と一つの順序指示装置と複数の順序制御装置と一つの応答集約装置を持つ。順序制御装置は、データベース・マネージャと一体化しており、順序指示装置の指示に従って、順序制御装置と一体化しているデータベース・マネージャを動作させる(例えば、特許文献１参照。)。
【００１５】
方法ｂにより、データベース複製装置が、複数のデータベース・マネージャが管理するデータベースの内容を同一に保つ場合の、実施形態の一例を図１２に、この動作の例のシーケンス図を図１３に、また、図１３の動作例に関するデータベース・マネージャ部分の動作例のガントチャートを図１４に示す。
【００１６】
これらの図１２、図１３、及び図１４に沿って、方法ｂにより、データベース複製装置が、複数のデータベース・マネージャが管理するデータベースの内容を同一に保つ場合の動作を説明する。
【００１７】
まず、クライアント１２１−１〜１２１−ｎのいずれか１つからデータベース複製装置１２２のクエリ複製装置１２３にクエリ文が送信される(Ｓ１３０１)。
【００１８】
その後、クエリ複製装置１２３は、クエリ文を受信すると、受信したクエリ文を複製し、データベース・マネージャ１２７−１〜１２７−ｎに送信する(Ｓ１３０２)。
【００１９】
その後、順序制御装置１２６−１〜１２６−ｎは、一体化しているデータベース・マネージャ１２７−１〜１２７−ｎがデータベース１２８−１〜１２８−ｎに対するロックを獲得しようとすると(Ｓ１３０３)、一旦ロックの獲得を停止させ、順序指示装置１２５にロック獲得の許可を要求する(Ｓ１３０４)。
【００２０】
その後、順序指示装置１２５は、全ての順序制御装置１２６−１〜１２６−ｎから、複製された同じクエリ文に起因するロック獲得の許可の要求が揃った場合に、全ての順序制御装置１２６−１〜１２６−ｎにロック獲得の許可を与える(Ｓ１３０５)。換言すれば、順序指示装置１２５は、データベース・マネージャ１２７−１〜１２７−ｎのデータベース１２８−１〜１２８−ｎに対するロック獲得を同期させる。
【００２１】
その後、順序制御装置１２６−１〜１２６−ｎは、順序指示装置から許可を得た場合に、一体化しているデータベース・マネージャ１２７−１〜１２７−ｎにロックを獲得させる(Ｓ１３０６)。
【００２２】
その後、データベース・マネージャ１２７−１〜１２７−ｎは、クエリ文の実行を進める(Ｓ１３０７)。
【００２３】
その後、順序制御装置１２６−１〜１２６−ｎは、一体化しているデータベース・マネージャ１２７−１〜１２７−ｎがデータベース１２８−１〜１２８−ｎに対するロックを解除しようとすると(Ｓ１３０８)、一旦ロックの解除を停止させ、順序指示装置１２５にロック解除の許可を要求する(Ｓ１３０９)。
【００２４】
その後、順序指示装置１２５は、全ての順序制御装置１２６−１〜１２６−ｎから、複製された同じクエリ文に起因するロック解除の許可の要求が揃った場合に、全ての順序制御装置１２６−１〜１２６−ｎにロック解除の許可を与える(Ｓ１３１０)。換言すれば、順序指示装置１２５は、データベース・マネージャ１２７−１〜１２７−ｎのデータベース１２８−１〜１２８−ｎに対するロック解除を同期させる。
【００２５】
その後、順序制御装置１２６−１〜１２６−ｎは、順序指示装置１２５から許可を得た場合に、一体化しているデータベース・マネージャ１２７−１〜１２７−ｎにロックを解除させる(Ｓ１３１１)。
【００２６】
その後、データベース・マネージャ１２７−１〜１２７−ｎは、クエリ文を実行が終了すると、応答集約装置１２４に応答を送信する(Ｓ１３１２)。
【００２７】
その後、応答集約装置１２４は、全ての順序制御装置１２６−１〜１２６−ｎから応答を受信した場合に、クライアント１２１−１〜１２１−ｎのいずれか１つに応答を送信する(Ｓ１３１３)。
【非特許文献１】Ｗｅｌｃｏｍｅ  ｔｏ  ｐｇｐｏｏｌ  ｐａｇｅ，石井達夫，[２００５年２月２８日検索]，インターネット＜ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ２ｂ．ｂｉｇｌｏｂｅ．ｎｅ．ｊｐ／ｃａｃｏ／ｐｇｐｏｏｌ／＞
【非特許文献２】[ＰｏｓｔｇｒｅＳＱＬウォッチ]第７回新しいレプリケーション・ソフト「ｐｇｐｏｏｌ」登場，石井達夫，［２００５年３月１日検索］，インターネット＜ＵＲＬ：ｈｔｔｐ：／／ｉｔｐｒｏ．ｎｉｋｋｅｉｂｐ．ｃｏ．ｊｐ／ｍｅｍｂｅｒｓ／ＩＴＰｒｏ／ｏｓｓ／２００４０４２２／２／＞
【特許文献１】米国特許出願公開第２００４００３０７３９号明細書（特に、クレーム３）
【発明の開示】
【発明が解決しようとする課題】
【００２８】
複数のデータベース・マネージャが管理するデータベースの内容を同一に保つために、方法ａでは、マスタ順序制御装置７３と対をなすデータベース・マネージャ７６−０においてクエリ文の実行が終了してから、スレーブ順序制御装置７５−１〜７５−ｎと対をなすデータベース・マネージャ７６−１〜７６−ｎにおいてクエリ文の実行を開始させる。したがって、データベース・マネージャ７６−１〜７６−ｎが並列動作できないために、クエリ処理のレスポンスタイムが低下する。
【００２９】
また方法ｂでは、順序指示装置１０５の指示に従って、順序制御装置１０６−１〜１０６−ｎと一体化しているデータベース・マネージャ１０７−１〜１０７−ｎを動作させる。したがって、データベース・マネージャ１０７−１〜１０７−ｎが並列動作１０７−１〜１０７−ｎできないために、クエリ処理のスループットが低下する。
【００３０】
本発明は、かかる事情に鑑みてなされたもので、その目的は、データベース・マネージャの並列動作の実現にある。
【課題を解決するための手段】
【００３１】
そこで、上記課題を解決するために、請求項１に記載の発明は、同一のクエリ文を複数のデータベース・マネージャに対して発行し、かつ、当該複数のデータベース・マネージャにおけるクエリ文の実行順序を同一に保つことで、当該複数のデータベース・マネージャが管理するデータベース内容を同一に保つデータベース複製装置であって、クライアントから発行されるクエリ文を受信して当該クエリ文に実行順序を付与し、当該実行順序を付与したクエリ文を複製する順序付与手段と、前記複製されたクエリ文に付与されている実行順序に基づいて、前記複製されたクエリ文を対応つけられたデータベース・マネージャに発行する、データベース・マネージャごとに設置された順序制御手段と、を有することを特徴とする。
【００３２】
また、請求項２に記載の発明は、前記順序付与手段は、前記クライアントから発行されるクエリ文がトランザクションを実行するクエリ文であれば実行順序を付与して、当該実行順序を付与したクエリ文を複製し、前記順序制御手段は、前記複製されたクエリ文を対応つけられたデータベース・マネージャに発行するときに、当該実行順序よりも早い実行順序が付されたクエリ文により開始されたトランザクションの終了を意味するクエリ文の発行を確認してから、当該発行を行うことを特徴とする。
【００３３】
また、請求項３に記載の発明は、前記順序付与手段は、前記クライアントから発行されるクエリ文がロックを発生させるクエリ文であれば、ロック対象別に実行順序を付与して、当該実行順序を付与したクエリ文を複製することを特徴とする。
【００３４】
また、請求項４に記載の発明は、同一のクエリ文を複数のデータベース・マネージャに対して発行し、かつ、当該複数のデータベース・マネージャにおけるクエリ文の実行順序を同一に保つことで、当該複数のデータベース・マネージャが管理するデータベース内容を同一に保つデータベース複製装置に処理を実行させるデータベース複製プログラムであって、順序付与手段が、クライアントから発行されるクエリ文を受信して当該クエリ文に実行順序を付与し、当該実行順序を付与したクエリ文を複製する処理と、データベース・マネージャごとに設置された順序制御手段が、前記複製されたクエリ文に付与されている実行順序に基づいて、前記複製されたクエリ文を対応つけられたデータベース・マネージャに発行する処理と、を実行させることを特徴とする。
【００３５】
また、請求項５に記載の発明は、前記順序付与手段は、前記クライアントから発行されるクエリ文がトランザクションを実行するクエリ文であれば実行順序を付与して、当該実行順序を付与したクエリ文を複製する処理を行い、前記順序制御手段は、前記複製されたクエリ文を対応つけられたデータベース・マネージャに発行するときに、当該実行順序よりも早い実行順序が付されたクエリ文により開始されたトランザクションの終了を意味するクエリ文の発行を確認してから当該発行を行う処理を実行することを特徴とする。
【００３６】
また、請求項６に記載の発明は、前記順序付与手段は、前記クライアントから発行されるクエリ文がロックを発生させるクエリ文であれば、ロック対象別に実行順序を付与して、当該実行順序を付与したクエリ文を複製する処理を実行することを特徴とする。
【００３７】
請求項１及び４に記載の発明では、データベース・マネージャごとに順序制御手段を設けて、各順序制御手段が対応するデータベース・マネージャにクエリ文を発行することで、データベース・マネージャが並列動作する。
【００３８】
請求項２及び５に記載の発明では、クエリ文を対応つけられたデータベース・マネージャに発行するときに、当該実行順序よりも早い実行順序が付されたクエリ文により開始されたトランザクションの終了を意味するクエリ文の発行を確認してから発行を行うことで、各データベース・マネージャにおけるクエリ文の実行順序を同一に保つ。
【００３９】
請求項３及び６に記載の発明では、ロック対象別にロックを発生させるクエリ文の実行順序を同一に保つことで、各データベース・マネージャにおけるクエリ文の実行順序を同一に保つ。
【発明の効果】
【００４０】
請求項１〜６に記載の発明によれば、複数のデータベース・マネージャが管理するデータベースの内容を同一に保つ場合において、データベース・マネージャの並列動作を実現することができる。
【発明を実施するための最良の形態】
【００４１】
以下、本発明の実施形態について図面を参照して説明する。
【００４２】
(実施形態１)
図１はデータベース複製装置の実施形態の一例を示すブロック図、図２はこのデータベース複製装置の動作例のフローチャート図、図３はこの動作例のシーケンス図、図４は動作例に関してデータベース・マネージャ部分の動作例のガントチャートをそれぞれ示す。
【００４３】
図１に示すように、データベース複製装置を含むシステムはクライアント１１−１〜１１−ｎ、順序付与装置１３、応答集約装置１４、及び順序制約装置１５−１〜１５−ｎを有するデータベース複製装置１２、データベース・マネージャ１６−１〜１６−ｎ、並びにデータベース１７−１〜１７−ｎを備える。
【００４４】
このようなシステムにおいて、まず、クライアント１１−１〜１１−ｎのいずれか１つから、データベース複製装置１２の順序付与装置１３にクエリ文が送信される(Ｓ２０１)。
【００４５】
その後、順序付与装置１３は、受信したクエリ文に実行順序を付与する(Ｓ２０２)。
【００４６】
その後、順序付与装置１３は、クエリ文を複製し、順序制御装置１５−１〜１５−ｎに送信する(Ｓ２０３)。
【００４７】
その後、順序制御装置１５−１〜１５−ｎはクエリ文を受信し(Ｓ２０４)、この受信したクエリ文を、クエリ文に付与されている実行順序に従って、対をなすデータベース・マネージャ１６−１〜１６−ｎに発行する(Ｓ２０５)。
【００４８】
その後、データベース・マネージャ１６−１〜１６−ｎは、クエリ文を実行し、応答を順序制御装置１５−１〜１５−ｎに送信する(Ｓ２０６)。
【００４９】
その後、順序制御装置１５−１〜１５−ｎは、受信した応答を応答集約装置１４に送信する(Ｓ２０７)。
【００５０】
その後、応答集約装置１４は順序制御装置１５−１〜１５−ｎから応答を受信して保存して(Ｓ２０８)、全ての順序制御装置１５−１〜１５−ｎから応答を受信したかを判断し(Ｓ２０９)、全ての順序制御装置１５−１〜１５−ｎから応答を受信した場合には、クライアント１１−１〜１１−ｎに応答を返す(Ｓ２１０)。
【００５１】
上記のように、順序付与装置１３は、クライアント１１−１〜１１−ｎのいずれか１つから受信したクエリ文に実行順序を付与し、クエリ文を複製し、順序制御装置１５−１〜１５−ｎに送信する。順序制御装置１５−１〜１５−ｎは、受信したクエリ文を、クエリ文に付与されている実行順序に従って、対をなすデータベース・マネージャ１６−１〜１６−ｎに発行し、応答集約装置１４は、データベース・マネージャ１６−１〜１６−ｎからの応答を集約する。したがって、データベース・マネージャ１６−１〜１６−ｎは並列動作できるようになり、クエリ処理のレスポンスタイムの低下、及びクエリ処理のスループットの低下を防ぐことができる。
【００５２】
(実施形態２)
図５は、実施形態２におけるデータベース複製装置が、データベースの内容を同一に保つ場合の動作例のフローチャート、図６はこの動作例のシーケンス図である。この図５、図６及び図１を用いて実施形態２における動作例を説明する。
【００５３】
まず、クライアント１１−１〜１１−ｎのいずれか１つから、データベース複製装置１２の順序付与装置１３にクエリ文が送信される(Ｓ５０１)。
【００５４】
その後、順序付与装置１３は、受信したクエリ文がトランザクションの開始を意味するクエリ文であった場合には、実行順序を付与する(Ｓ５０２)。
【００５５】
その後、順序付与装置１３は、クエリ文を複製し、順序制御装置１５−１〜１５−ｎに送信する(Ｓ５０３)。
【００５６】
その後、順序制御装置１５−１〜１５−ｎはクエリ文を受信し(Ｓ５０４)、受信したクエリ文に実行順序が付与されているかを判断し(Ｓ５０５)、クエリ文に実行順序が付与されていなければそのままデータベース・マネージャ１６−１〜１６−ｎに発行する(Ｓ５０７)。受信したクエリ文に実行順序が付与されていたときは、より早い実行順序が付与されたクエリ文により開始されたトランザクションについて、その終了を意味するクエリ文が発行されたかを判断し(Ｓ５０６)、その終了を意味するクエリ文が発行されていない場合にはその終了を意味するクエリ文が発行されるまでＳ５０６を実行し、その終了を意味するクエリ文が発行された場合には、受信したクエリ文を、クエリ文に付与された実行順序に従って、データベース・マネージャ１６−１〜１６−ｎに発行する(Ｓ５０７)。
【００５７】
このとき、実行順序が付与されているクエリ文により開始されたトランザクションの終了を意味するクエリ文の発行をもって、上記の実行順序が付与されているクエリ文の発行終了とみなす。
【００５８】
その後、データベース・マネージャ１６−１〜１６−ｎは、クエリ文を実行し、応答を順序制御装置１５−１〜１５−ｎに送信する(Ｓ５０８)。
【００５９】
その後、順序制御装置１５−１〜１５−ｎは、受信した応答を応答集約装置１４に送信する(Ｓ５０９)。
【００６０】
その後、応答集約装置１４は、順序制御装置１５−１〜１５−ｎから応答を受信して保存し(Ｓ５１０)、全ての順序制御装置から応答を受信したかを判断し(Ｓ５１１)、全ての順序制御装置から応答を受信した場合には、クライアントに応答を返す(Ｓ５１２)。
【００６１】
このように実施形態２では、トランザクションの開始を意味するクエリ文に実行順序を付与してクエリ文を複製し、トランザクションの終了を意味するクエリ文の発行があった場合には、このクエリ文よりも実行順序が後のクエリ文の発行を行うことで、クエリ文に付与されている実行順序に従ってクエリ文をデータベース・マネージャ１６−１〜１６−ｎに発行する。
【００６２】
(実施形態３)
図７は、実施形態３におけるデータベース複製装置が、データベースの内容を同一に保つ場合の動作例のフローチャート、図８はこの動作例のシーケンス図である。この図７、図８及び図１を用いて実施形態３における動作例を説明する。
【００６３】
まず、クライアント１１−１〜１１−ｎのいずれか１つから、データベース複製装置１２の順序付与装置１３にクエリ文が送信される(Ｓ７０１)。
【００６４】
その後、順序付与装置１３は、受信したクエリ文がロックを発生させるクエリ文であった場合には、ロック対象べつに実行順序を付与する(Ｓ７０２)。
【００６５】
その後、順序付与装置１３は、クエリ文を複製し、順序制御装置１５−１〜１５−ｎに送信する(Ｓ７０３)。
【００６６】
その後、順序制御装置１５−１〜１５−ｎはクエリ文を受信して(Ｓ７０４)、受信したクエリ文に実行順序が付与されているかを判断し(Ｓ７０５)、受信したクエリ文に実行順序が付与されていなければ、そのままデータベース・マネージャ１６−１〜１６−ｎに発行する(Ｓ７０７)。受信したクエリ文に実行順序が付与されていれば、より早い実行順序が付与されたクエリ文は発行されたかを判断し(Ｓ７０６)、より早い実行順序が付与されたクエリ文は発行されていない場合はより早い実行順序が付与されたクエリ文が発行されるまでＳ７０６を行い、より早い実行順序が付与されたクエリ文が発行された場合には、クエリ文をクエリ文に付与された実行順序の順に従って、データベース・マネージャ１６−１〜１６−ｎに発行する(Ｓ７０７)。
その後、データベース・マネージャ１６−１〜１６−ｎは、クエリ文を実行し、応答を順序制御装置１５−１〜１５−ｎに送信する(Ｓ７０８)。
【００６７】
その後、順序制御装置１５−１〜１５−ｎは、受信した応答を応答集約装置１４に送信する(Ｓ７０９)。
【００６８】
その後、応答集約装置１４は、順序制御装置１５−１〜１５−ｎから応答を受信して保存し(Ｓ７１０)、全ての順序制御装置から応答を受信したかを判断し(Ｓ７１１)、全ての順序制御装置から応答を受信した場合には、クライアントに応答を返す(Ｓ７１２)。
【００６９】
このように実施形態３では、ロックを発生させるクエリ文に対してロック対象べつに実行順序を付与してクエリ文を複製し、クエリ文が発行されていた場合には、このクエリ文の実行順序よりも後のクエリ文を発行することで、クエリ文に付与されている実行順序に従ってクエリ文をデータベース・マネージャ１６−１〜１６−ｎに発行する。
【００７０】
なお、上記実施形態において、データベース複製装置１２は、例えば、データベース複製装置１２を構成するコンピュータ装置が有するＣＰＵによって実現され、順序付与処理、順序制御処理、及び応答集約処理などをアプリケーションプログラムとして搭載することができる。
【００７１】
また、データベース複製装置１２の機能を実現するソフトウェアのプログラムコードを記録した記録媒体を、システム、又は装置に供給し、そのシステム、又は装置のＣＰＵ（ＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することも可能である。この場合、記憶媒体から読み出されたプログラムコード自体が上記実施形態の機能を実現することになり、このプログラムコードを記憶した記憶媒体としては、例えば、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＭＯ、及びＨＤＤ等がある。
【図面の簡単な説明】
【００７２】
【図１】データベース複製装置を含むシステムの構成例ブロック図。
【図２】実施形態１の動作例フローチャート。
【図３】実施形態１の動作例シーケンス図。
【図４】実施形態１のデータベース・マネージャ部分の動作例ガントチャート。
【図５】実施形態２の動作例フローチャート。
【図６】実施形態２の動作例シーケンス図。
【図７】実施形態３の動作例フローチャート。
【図８】実施形態３の動作例シーケンス図。
【図９】方法ａのシステムの構成例ブロック図。
【図１０】方法ａの動作例シーケンス図。
【図１１】方法ａのデータベース・マネージャ部分の動作例ガントチャート。
【図１２】方法ｂのシステムの構成例ブロック図。
【図１３】方法ｂの動作例シーケンス図。
【図１４】方法ｂのデータベース・マネージャ部分の動作例ガントチャート。
【符号の説明】
【００７３】
１１…クライアント
１２…データベース複製装置
１３…順序付与装置
１４…応答集約装置
１５…順序制御装置
１６…データベース・マネージャ
１７…データベース
９１…クライアント
９２…データベース複製装置
９３…マスタ順序制御装置
９４…応答集約装置
９５…スレーブ順序制御装置
９６…データベース・マネージャ
９７…データベース
１２１…クライアント
１２２…データベース複製装置
１２３…クエリ複製装置
１２４…応答集約装置
１２５…順序指示装置
１２６…順序制御装置
１２７…データベース・マネージャ
１２８…データベース
【図１】
2006301755.tif 000003
【図２】
2006301755.tif 000004
【図３】
2006301755.tif 000005
【図４】
2006301755.tif 000006
【図５】
2006301755.tif 000007
【図６】
2006301755.tif 000008
【図７】
2006301755.tif 000009
【図８】
2006301755.tif 000010
【図９】
2006301755.tif 000011
【図１０】
2006301755.tif 000012
【図１１】
2006301755.tif 000013
【図１２】
2006301755.tif 000014
【図１３】
2006301755.tif 000015
【図１４】
2006301755.tif 000016