[go: up one dir, main page]

JP5050358B2 - データ複製システムおよびデータ複製方法 - Google Patents

データ複製システムおよびデータ複製方法 Download PDF

Info

Publication number
JP5050358B2
JP5050358B2 JP2006018713A JP2006018713A JP5050358B2 JP 5050358 B2 JP5050358 B2 JP 5050358B2 JP 2006018713 A JP2006018713 A JP 2006018713A JP 2006018713 A JP2006018713 A JP 2006018713A JP 5050358 B2 JP5050358 B2 JP 5050358B2
Authority
JP
Japan
Prior art keywords
data processing
application
processing request
permission
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.)
Expired - Fee Related
Application number
JP2006018713A
Other languages
English (en)
Other versions
JP2007200086A (ja
Inventor
健一郎 藤山
暢達 中村
龍一 平池
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2006018713A priority Critical patent/JP5050358B2/ja
Priority to US11/460,837 priority patent/US7765197B2/en
Publication of JP2007200086A publication Critical patent/JP2007200086A/ja
Application granted granted Critical
Publication of JP5050358B2 publication Critical patent/JP5050358B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (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)

Description

本発明は、データベースを用いた計算機システムのストレージに蓄積されたデータの消失に備えて、データを複製しておくデータ複製システムおよびデータ複製方法に関する。
1以上のアプリケーションサーバとデータベースサーバとを備え、アプリケーションサーバ上で稼動するアプリケーションプログラム(以下、単にアプリケーションと記す)の処理内容に基づいてデータベースサーバ上のデータを参照、更新する計算機システムが従来より各種提案ないし実用化されている(例えば特許文献1参照)。このような計算機システムにおいては、データベースサーバに蓄積されたデータの消失に備えて、データを複製しておくことが重要である。
データベースに蓄積されたデータの消失に備えてデータを複製しておくデータ複製システムの従来技術の一例が、非特許文献1および非特許文献2に記載されている。
図18を参照すると、非特許文献1および非特許文献2に記載されたデータ複製システム(以下、従来のデータ複製システムと記す)は、サービスを提供するアプリケーションサーバ1300と、このアプリケーションサーバ1300にデータを提供するプライマリ側のデータベースサーバ1100と、このプライマリ側のデータベースサーバ1100の複製であるバックアップ側のデータベースサーバ1200とを備える。
プライマリ側のデータベースサーバ1100は、データを格納するストレージ1120と、このストレージ1120内のデータを管理するデータベースマネジメントシステム(以下、DBMSと記す)1110とを備える。
バックアップ側のデータベースサーバ1200も、データを格納するストレージ1220と、このストレージ1220内のデータを管理するDBMS1210とを備える。
アプリケーションサーバ1300は、DBMSにデータ処理要求を発行するアプリケーション1310と、複数のアプリケーションに対し共通な機能を提供するミドルウェア1320とを備える。本例の場合、ミドルウェア1320は、アプリケーション1310が発行するデータ処理要求をDBMS1110およびDBMS1210固有のデータ処理要求に変換し、その逆にDBMS1110およびDBMS1210からの固有のデータ処理の応答をアプリケーション1310への応答に変換するDB接続手段1321およびDB接続手段1322と、変換される前のデータ処理要求を多重化する多重化手段1323とを備える。
通常、DB接続手段1321、1322におけるアプリケーション1310との間のインタフェースには、例えばJDBC(Java(登録商標) DataBase Connectivity)などの標準規格のインタフェースが使用される。
他方、DB接続手段1321、1322におけるDBMS1110、1210との間のインタフェースは、当該DBMS固有のインタフェースが使用される。
多重化手段1323もまた、標準規格のインタフェースを備えるため、アプリケーション1310からはDB接続手段のように、DB接続手段からはアプリケーションのように認識される。すなわち多重化手段1323は、他の構成要素から意識されず、透過的である。
このような構成を有する従来のデータ複製システムは、次のように動作する。
アプリケーション1310がDBMS1110にデータ処理を依頼する場合、DB接続手段1321の備える標準インタフェースに基づく標準的なデータ処理要求を、ミドルウェア1320を介して発行する。
標準的なデータ処理要求を受け取ったミドルウェア1320においては、まず多重化手段1323が、そのデータ処理要求を多重化して、同じデータ処理要求をDB接続手段1321とDB接続手段1322に送る。
DB接続手段1321はプライマリDBMS1110固有のデータ処理要求に変換し、DB接続手段1322はバックアップDBMS1210固有のデータ処理要求に変換し、それぞれのDBMSに送る。
プライマリ側のDBMS1110とバックアップ側のDBMS1210は、論理的に同じデータ処理要求を受けるため、同じデータ処理を行う。その結果、プライマリ側のストレージ1120内のデータとバックアップ側のストレージ1220内のデータは、同じように処理されるため、プライマリ側のストレージ1120のデータとバックアップ側のストレージ1220のデータは同じデータとなる。すなわち、プライマリ側のストレージ1120のデータが、バックアップ側のストレージ1220に複製されることと同様の効果が得られる。
上記のデータ複製システムは、多重化手段1323がアプリケーション1310やDB接続手段1321、1322、さらにはDBMS1110、1210等から透過的なため、アプリケーションサーバ1300とプライマリデータベースサーバ1100のみから構成されている既存の計算機システムに対し、他の構成要素を変更することなく、多重化手段1323、DB接続手段1322、およびバックアップDBサーバ1200を追加するだけで、データ複製を行うことができる。
また、多重化手段1323は、アプリケーション1310とDB接続手段1321の間で、データ処理要求が個々のDBMS固有のものに変換される前の標準的な状態で多重化するため、既存のアプリケーション1310やDBMS1110の種類に依存することなく汎用的に適用することが可能である。
また、一方のデータベースサーバが故障しても、もう一方のデータベースサーバがアプリケーション1310にデータを供給できるため、無停止でサービスを提供し続けることができる。
特開2005-165610号公報 特開昭60-237551号公報 藤山健一郎,中村暢達,平池龍一, "データベース同期複製のためのJavaAPIの拡張", 情報処理学会 第67回全国大会, 1K-5, 2005. 藤山健一郎,中村暢達,平池龍一, "DB接続API拡張による異種DB間データ同期複製方式", FIT2005 第4回情報科学技術フォーラム, C-031, 2005.
しかしながら、上述した従来のデータ複製システムには、DBMSへの接続が複数存在する場合、例えばDBMSに接続するアプリケーションサーバが複数存在する場合に、データ複製に失敗するという問題があった。以下、この点について詳述する。
上述した従来のデータ複製システムは、プライマリ側のDBMSとバックアップ側のDBMSに同じデータ処理を行わせることでデータ複製を実現している。そのため、DBMSへのデータ処理要求の投入順序はプライマリ側とバックアップ側で同じ順序である必要がある。単一の接続の場合、その接続内において、複数のデータ処理要求の順序が入れ替わることはない。しかし、アプリケーションサーバが複数存在して、それぞれがDBMSに接続する場合、それぞれの接続には関連性はないため、ネットワーク遅延などが発生した場合、各アプリケーションから発行されるデータ処理要求のDBMSへの投入順序(DBMSへの到達のタイミング)が、プライマリ側のDBMSとバックアップ側のDBMSで同じになる保証は無い。
例えば図19の場合、プライマリ側のDBMS2110にはデータ処理要求1-1の後に、データ処理要求1-2が投入されているが、バックアップ側のDBMS2210には、データ処理要求1-1の後に、データ処理要求1-2が到達する前に、別の接続で、データ処理要求2-1が投入されている。このようにデータ処理要求の投入順序が異なれば、データ処理の内容も異なり、その結果、データの不整合が発生し、複製は失敗してしまう。
通常、複数の送信元が発行するメッセージを複数の受信先が処理する順序の同一性を保証する場合、例えば特許文献2に見られるように、メッセージに順序番号を付与し、受信先はその順序番号に基づき処理するようにする。これを図18のデータ複製システムに適用するには、DB接続手段1321、1322からDBMS1110、1210に送出されるデータ処理要求に順序番号を付加し、DBMS1110、1210ではデータ処理要求に付加された順序番号どおりにデータ処理要求を処理すれば良い。
しかし、DB接続手段1321、1322におけるDBMS1110、1210との間のインタフェースはDBMS依存の固有インタフェースであり、使用されるプロトコルもDBMS依存のものである。従って、DB接続手段1321、1322からDBMS1110、1210に送出されるデータ処理要求に順序番号を付加することは、DBMS依存のプロトコルを改良することになる。このため、DBMSそのものを改造する必要があるため、既存のDBMSに追加で適用することは困難である。また、適用できたとしても、その改造はDBMS固有のアドホックな実装となり、DBMSの種類を問わず汎用的に適用するのは困難である。
『発明の目的』
本発明の目的は、DBMSやアプリケーションから成る計算機システムにおいて、DBMSへの接続が複数存在する場合にも、それら接続間でのプライマリDBMS、バックアップDBMSへのデータ処理要求の投入順序の同一性を保証し、不整合なくデータ複製を行えるデータ複製システムを提供することにある。
本発明の第1のデータ複製システムは、1以上のアプリケーションサーバと複数のデータベースサーバとを計算機システムに備え、前記アプリケーションサーバで稼動するアプリケーションプログラムからDBMSへ出されるデータ処理要求を多重化するデータ複製システムにおいて、多重化したデータ処理要求の全てが少なくともデータベースサーバに到達するまでの期間、他のデータ処理要求のDBMSへの投入を制限することにより、複数のDBMSへのデータ処理要求の投入順序の同一性を保証することを特徴とする。
本発明の第2のデータ複製システムは、第1のデータ複製システムにおいて、多重化したデータ処理要求の処理応答を検出する検出手段と、全ての処理応答が出揃うまで他のデータ処理要求のDBMSへの投入を制限する制限手段とを備え、システム全体で常に1つのデータ処理要求のみを多重化、処理することを特徴とする。
本発明の第3のデータ複製システムは、第1のデータ複製システムにおいて、アプリケーションサーバとデータベースサーバとの間のデータ処理要求の転送を行うミドルウェアを備え、前記ミドルウェアに、多重化したデータ処理要求の全てがデータベースサーバに到達したことを検出する検出手段と、全ての到達応答が出揃うまで他のデータ処理要求のDBMSへの投入を制限する制限手段とを備え、システム全体で常に1つのデータ処理要求のみを多重化、投入することを特徴とする。
本発明の第4のデータ複製システムは、第2または第3のデータ複製システムにおいて、前記検出手段および前記制限手段を各アプリケーションサーバのミドルウェアに備えることを特徴とする。
本発明の第5のデータ複製システムは、第2または第3のデータ複製システムにおいて、各アプリケーションサーバからのデータ処理要求を多重化して複数のデータベースシステムに転送するデータ処理要求制御サーバを備え、前記データ処理要求制御サーバに前記検出手段および前記制限手段を備えることを特徴とする。
本発明の第6のデータ複製システムは、第2または第3のデータ複製システムにおいて、データ処理要求の処理順序を制御する順序制御サーバを備えることを特徴とする。
本発明の第7のデータ複製システムは、第2または第3のデータ複製システムにおいて、各アプリケーションサーバに、他のアプリケーションサーバとデータ処理要求の処理順序を制御するために処理許可交渉を行う許可申請交渉手段を備えることを特徴とする。
本発明の第8のデータ複製システムは、順序制御サーバと、1以上のアプリケーションサーバと、複数のデータベースサーバとを計算機システムに備え、前記データベースサーバは、ストレージと、該ストレージのデータを管理するDBMSとを備え、前記アプリケーションサーバは、アプリケーションプログラムと、ミドルウェアとを備え、前記ミドルウェアは、アプリケーションプログラムが発行するデータ処理要求を前記DBMSへのデータ処理要求に変換し、前記DBMSからのデータ処理の応答をアプリケーションプログラムへの応答に変換する複数のDB接続手段と、前記順序制御サーバへデータ処理要求の処理の許可を申請する許可申請手段と、前記順序制御サーバから許可通知を受け付ける許可受付手段と、前記順序制御サーバへデータ処理要求の完了を通知する完了通知手段と、アプリケーションプログラムが発行するデータ処理要求を取得して多重化し、前記許可申請手段による申請に対して前記許可受付手段で許可通知が受け付けられていることを条件に前記多重化した各々のデータ処理要求を前記DB接続手段を通じて前記DBMSへ送出し、多重化した全てのデータ処理要求に対する応答が返ってきたときに前記完了通知手段によりデータ処理要求の完了を前記順序制御サーバに通知する制御手段とを備え、前記順序制御サーバは、データ処理要求の処理の許可申請を受け付ける申請受付手段と、データ処理要求の処理の許可を通知する許可通知手段と、データ処理要求の完了通知を受け付ける通知受付手段と、前記許可通知手段により処理の許可を通知したデータ処理要求の完了通知が前記通知受付手段で受け付けられるまで他のデータ処理要求の処理に対して許可を与えない許可申請制御手段とを備えることを特徴とする。
本発明の第9のデータ複製システムは、順序制御サーバと、1以上のアプリケーションサーバと、複数のデータベースサーバと、データ処理要求制御サーバとを計算機システムに備え、前記データベースサーバは、ストレージと、該ストレージのデータを管理するDBMSとを備え、前記アプリケーションサーバは、アプリケーションプログラムと、ミドルウェアとを備え、前記ミドルウェアは、アプリケーションプログラムが発行するデータ処理要求を前記データ処理要求制御サーバへ送信し、前記データ処理要求制御サーバから受信したデータ処理の応答を前記アプリケーションプログラムへ通知するアプリケーションサーバ側送受信手段を備え、前記データ処理要求制御サーバは、前記アプリケーションサーバ側送受信手段からデータ処理要求を受信すると共に前記アプリケーションサーバ側送受信手段へデータ処理の応答を送信するデータ処理要求制御サーバ側送受信手段と、前記データ処理要求制御サーバ側送受信手段で受信したデータ処理要求を前記DBMSへのデータ処理要求に変換し、前記DBMSからのデータ処理の応答をアプリケーションプログラムへの応答に変換する複数のDB接続手段と、前記順序制御サーバへデータ処理要求の処理の許可を申請する許可申請手段と、前記順序制御サーバから許可通知を受け付ける許可受付手段と、前記順序制御サーバへデータ処理要求の完了を通知する完了通知手段と、前記データ処理要求制御サーバ側送受信手段で受信したデータ処理要求を多重化し、前記許可申請手段による申請に対して前記許可受付手段で許可通知が受け付けられていることを条件に前記多重化した各々のデータ処理要求を前記DB接続手段を通じてDBMSへ送出し、多重化した全てのデータ処理要求に対する応答が返ってきたときに前記完了通知手段によりデータ処理要求の完了を前記順序制御サーバに通知する制御手段とを備え、前記順序制御サーバは、データ処理要求の処理の許可申請を受け付ける申請受付手段と、データ処理要求の処理の許可を通知する許可通知手段と、データ処理要求の完了通知を受け付ける通知受付手段と、前記許可通知手段により処理の許可を通知したデータ処理要求の完了通知が前記通知受付手段で受け付けられるまで他のデータ処理要求の処理に対して許可を与えない許可申請制御手段とを備えることを特徴とする。
本発明の第10のデータ複製システムは、1以上のアプリケーションサーバと、複数のデータベースサーバとを計算機システムに備え、前記データベースサーバは、ストレージと、該ストレージのデータを管理するDBMSとを備え、前記アプリケーションサーバは、アプリケーションプログラムと、ミドルウェアとを備え、前記ミドルウェアは、アプリケーションプログラムが発行するデータ処理要求を前記DBMSへのデータ処理要求に変換し、前記DBMSからのデータ処理の応答をアプリケーションプログラムへの応答に変換する複数のDB接続手段と、他のアプリケーションサーバとデータ処理要求の処理の許可申請の交渉を行う許可申請交渉手段と、前記許可申請交渉手段へデータ処理要求の処理の許可を申請する許可申請手段と、前記許可申請交渉手段から許可通知を受け付ける許可受付手段と、前記許可申請交渉手段へデータ処理要求の完了を通知する完了通知手段と、アプリケーションプログラムが発行するデータ処理要求を取得して多重化し、前記許可申請手段による申請に対して前記許可受付手段で許可通知が受け付けられていることを条件に前記多重化した各々のデータ処理要求を前記DB接続手段を通じてDBMSへ送出し、多重化した全てのデータ処理要求に対する応答が返ってきたときに前記完了通知手段によりデータ処理要求の完了を前記許可申請交渉手段に通知する制御手段とを備え、前記許可申請交渉手段は、処理の許可を通知したデータ処理要求の完了通知が前記通知受付手段で受け付けられるまで、他のデータ処理要求の処理に対して許可を与えないことを特徴とする。
本発明の第11のデータ複製システムは、順序制御サーバと、1以上のアプリケーションサーバと、複数のデータベースサーバとを計算機システムに備え、前記データベースサーバは、ストレージと、該ストレージのデータを管理するDBMSと、データベースサーバ側ミドルウェアとを備え、前記データベースサーバ側ミドルウェアは、前記アプリケーションサーバからデータ処理要求を受信したときに到達応答を前記アプリケーションサーバに送信すると共に、前記アプリケーションサーバへデータ処理の応答を送信するデータベースサーバ側送受信手段と、前記データベースサーバ側送受信手段を通じて前記アプリケーションサーバから受信したデータ処理要求を前記DBMSへのデータ処理要求に変換し、前記DBMSからのデータ処理の応答をアプリケーションプログラムへの応答に変換するDB接続手段とを備え、前記アプリケーションサーバは、アプリケーションプログラムと、アプリケーションサーバ側ミドルウェアとを備え、前記アプリケーションサーバ側ミドルウェアは、前記データベースサーバ側送受信手段との間でデータの送受信を行うアプリケーションサーバ側送受信手段と、前記順序制御サーバへデータ処理要求の処理の許可を申請する許可申請手段と、前記順序制御サーバから許可通知を受け付ける許可受付手段と、前記順序制御サーバへデータ処理要求の投入の完了を通知する完了通知手段と、アプリケーションプログラムが発行するデータ処理要求を取得して多重化し、前記許可申請手段による申請に対して前記許可受付手段で許可通知が受け付けられていることを条件に前記多重化した各々のデータ処理要求を前記アプリケーションサーバ側送受信手段を通じて前記DBMSへ送出し、多重化した全てのデータ処理要求に対する到達応答が返ってきたときに前記完了通知手段によりデータ処理要求の投入の完了を前記順序制御サーバに通知する制御手段とを備え、前記順序制御サーバは、データ処理要求の処理の許可申請を受け付ける申請受付手段と、データ処理要求の処理の許可を通知する許可通知手段と、データ処理要求の投入の完了通知を受け付ける通知受付手段と、前記許可通知手段により処理の許可を通知したデータ処理要求の投入の完了通知が前記通知受付手段で受け付けられるまで他のデータ処理要求の処理に対して許可を与えない許可申請制御手段とを備えることを特徴とする。
本発明の第12のデータ複製システムは、順序制御サーバと、1以上のアプリケーションサーバと、複数のデータベースサーバと、データ処理要求制御サーバとを計算機システムに備え、前記データベースサーバは、ストレージと、該ストレージのデータを管理するDBMSと、データベースサーバ側ミドルウェアとを備え、前記データベースサーバ側ミドルウェアは、前記データ処理要求制御サーバからデータ処理要求を受信したときに到達応答を前記データ処理要求制御サーバに送信すると共に、前記データ処理要求制御サーバへデータ処理の応答を送信するデータベースサーバ側送受信手段と、前記データベースサーバ側送受信手段を通じて前記データ処理要求制御サーバから受信したデータ処理要求を前記DBMSへのデータ処理要求に変換し、前記DBMSからのデータ処理の応答をアプリケーションプログラムへの応答に変換するDB接続手段とを備え、前記アプリケーションサーバは、アプリケーションプログラムと、アプリケーションサーバ側ミドルウェアとを備え、前記アプリケーションサーバ側ミドルウェアは、アプリケーションプログラムが発行するデータ処理要求を前記データ処理要求制御サーバへ送信し、前記データ処理要求制御サーバから受信したデータ処理の応答を前記アプリケーションプログラムへ通知するアプリケーションサーバ側送受信手段を備え、前記データ処理要求制御サーバは、前記アプリケーションサーバ側送受信手段との間でデータの送受信を行う第1の送受信手段と、前記データベースサーバ側送受信手段との間でデータの送受信を行う第2の送受信手段と、前記順序制御サーバへデータ処理要求の処理の許可を申請する許可申請手段と、前記順序制御サーバから許可通知を受け付ける許可受付手段と、前記順序制御サーバへデータ処理要求の投入の完了を通知する完了通知手段と、前記第1の送受信手段で受信したデータ処理要求を多重化し、前記許可申請手段による申請に対して前記許可受付手段で許可通知が受け付けられていることを条件に前記多重化した各々のデータ処理要求を前記第2の送受信手段を通じて前記DBMSへ送出し、多重化した全てのデータ処理要求に対する到達応答が返ってきたときに前記完了通知手段によりデータ処理要求の投入の完了を前記順序制御サーバに通知する制御手段とを備え、前記順序制御サーバは、データ処理要求の処理の許可申請を受け付ける申請受付手段と、データ処理要求の処理の許可を通知する許可通知手段と、データ処理要求の投入の完了通知を受け付ける通知受付手段と、前記許可通知手段により処理の許可を通知したデータ処理要求の到達の完了通知が前記通知受付手段で受け付けられるまで他のデータ処理要求の処理に対して許可を与えない許可申請制御手段とを備えることを特徴とする。
本発明の第13のデータ複製システムは、1以上のアプリケーションサーバと、複数のデータベースサーバとを計算機システムに備え、前記データベースサーバは、ストレージと、該ストレージのデータを管理するDBMSと、データベースサーバ側ミドルウェアとを備え、前記データベースサーバ側ミドルウェアは、前記アプリケーションサーバからデータ処理要求を受信したときに到達応答を前記アプリケーションサーバに送信すると共に、前記アプリケーションサーバへデータ処理の応答を送信するデータベースサーバ側送受信手段と、前記データベースサーバ側送受信手段を通じて前記アプリケーションサーバから受信したデータ処理要求を前記DBMSへのデータ処理要求に変換し、前記DBMSからのデータ処理の応答をアプリケーションプログラムへの応答に変換するDB接続手段とを備え、前記アプリケーションサーバは、アプリケーションプログラムと、ミドルウェアとを備え、前記ミドルウェアは、前記データベースサーバ側送受信手段との間でデータの送受信を行うアプリケーションサーバ側送受信手段と、他のアプリケーションサーバとデータ処理要求の処理の許可申請の交渉を行う許可申請交渉手段と、前記許可申請交渉手段へデータ処理要求の処理の許可を申請する許可申請手段と、前記許可申請交渉手段から許可通知を受け付ける許可受付手段と、前記許可申請交渉手段へデータ処理要求の投入の完了を通知する完了通知手段と、アプリケーションプログラムが発行するデータ処理要求を取得して多重化し、前記許可申請手段による申請に対して前記許可受付手段で許可通知が受け付けられていることを条件に前記多重化した各々のデータ処理要求を前記アプリケーションサーバ側送受信手段を通じて前記DBMSへ送出し、多重化した全てのデータ処理要求に対する到達応答が返ってきたときに前記完了通知手段によりデータ処理要求の投入の完了を前記許可申請交渉手段に通知する制御手段とを備え、前記許可申請交渉手段は、処理の許可を通知したデータ処理要求の到達の完了通知が前記通知受付手段で受け付けられるまで、他のデータ処理要求の処理に対して許可を与えないことを特徴とする。
本発明の第1のデータ複製方法は、1以上のアプリケーションサーバと複数のデータベースサーバとを備え、前記アプリケーションサーバで稼動するアプリケーションプログラムからDBMSへ出されるデータ処理要求を多重化する計算機システムにおけるデータ複製方法において、多重化したデータ処理要求の全てが少なくともデータベースサーバに到達するまでの期間、他のデータ処理要求のDBMSへの投入を制限することにより、複数のDBMSへのデータ処理要求の投入順序の同一性を保証することを特徴とする。
本発明の第2のデータ複製方法は、第1のデータ複製方法において、多重化したデータ処理要求の処理応答を検出し、全ての処理応答が出揃うまで他のデータ処理要求のDBMSへの投入を制限することにより、システム全体で常に1つのデータ処理要求のみを多重化、処理することを特徴とする。
本発明の第3のデータ複製方法は、第1のデータ複製方法において、アプリケーションサーバとデータベースサーバとの間のデータ処理要求の転送をミドルウェアが受け持ち、前記ミドルウェアにおいて、多重化したデータ処理要求の全てがデータベースサーバに到達したことを検出し、全ての到達応答が出揃うまで他のデータ処理要求のDBMSへの投入を制限することにより、システム全体で常に1つのデータ処理要求のみを多重化、投入することを特徴とする。
本発明の第4のデータ複製方法は、第2または第3のデータ複製方法において、多重化したデータ処理要求の全てがデータベースサーバに到達したことを検出する処理、および全ての到達応答が出揃うまで他のデータ処理要求のDBMSへの投入を制限する処理を各アプリケーションサーバのミドルウェアにおいて実行することを特徴とする。
本発明の第5のデータ複製方法は、第2または第3のデータ複製方法において、各アプリケーションサーバからのデータ処理要求を多重化して複数のデータベースシステムに転送するデータ処理要求制御サーバにおいて、多重化したデータ処理要求の全てがデータベースサーバに到達したことを検出する処理、および全ての到達応答が出揃うまで他のデータ処理要求のDBMSへの投入を制限する処理を実行することを特徴とする。
本発明の第6のデータ複製方法は、第2または第3のデータ複製方法において、データ処理要求の処理順序を順序制御サーバにおいて制御することを特徴とする。
本発明の第7のデータ複製方法は、第2または第3のデータ複製方法において、各アプリケーションサーバに備わる許可申請交渉手段が、他のアプリケーションサーバとデータ処理要求の処理順序を制御するために処理許可交渉を行うことを特徴とする。
本発明の第1のアプリケーションサーバ装置は、アプリケーションプログラムとミドルウェアとを備え、データ処理要求の処理順序を制御する順序制御サーバおよびDBMSを有するデータベースサーバに接続されたアプリケーションサーバ装置であって、前記ミドルウェアは、アプリケーションプログラムが発行するデータ処理要求を前記DBMSへのデータ処理要求に変換し、前記DBMSからのデータ処理の応答をアプリケーションプログラムへの応答に変換する複数のDB接続手段と、前記順序制御サーバへデータ処理要求の処理の許可を申請する許可申請手段と、前記順序制御サーバから許可通知を受け付ける許可受付手段と、前記順序制御サーバへデータ処理要求の完了を通知する完了通知手段と、アプリケーションプログラムが発行するデータ処理要求を取得して多重化し、前記許可申請手段による申請に対して前記許可受付手段で許可通知が受け付けられていることを条件に前記多重化した各々のデータ処理要求を前記DB接続手段を通じて前記DBMSへ送出し、多重化した全てのデータ処理要求に対する応答が返ってきたときに前記完了通知手段によりデータ処理要求の完了を前記順序制御サーバに通知する制御手段とを備えたことを特徴とする。
本発明の第2のアプリケーションサーバ装置は、アプリケーションプログラムとミドルウェアとを備え、DBMSを有するデータベースサーバに接続されたアプリケーションサーバ装置であって、前記ミドルウェアは、アプリケーションプログラムが発行するデータ処理要求を前記DBMSへのデータ処理要求に変換し、前記DBMSからのデータ処理の応答をアプリケーションプログラムへの応答に変換する複数のDB接続手段と、他のアプリケーションサーバとデータ処理要求の処理の許可申請の交渉を行う許可申請交渉手段と、前記許可申請交渉手段へデータ処理要求の処理の許可を申請する許可申請手段と、前記許可申請交渉手段から許可通知を受け付ける許可受付手段と、前記許可申請交渉手段へデータ処理要求の完了を通知する完了通知手段と、アプリケーションプログラムが発行するデータ処理要求を取得して多重化し、前記許可申請手段による申請に対して前記許可受付手段で許可通知が受け付けられていることを条件に前記多重化した各々のデータ処理要求を前記DB接続手段を通じてDBMSへ送出し、多重化した全てのデータ処理要求に対する応答が返ってきたときに前記完了通知手段によりデータ処理要求の完了を前記許可申請交渉手段に通知する制御手段とを備えることを特徴とする。
本発明の第3のアプリケーションサーバ装置は、アプリケーションプログラムとミドルウェアとを備え、データ処理要求の処理順序を制御する順序制御サーバおよびDBMSを有するデータベースサーバに接続されたアプリケーションサーバ装置であって、前記ミドルウェアは、前記データベースサーバとの間でデータの送受信を行う送受信手段と、前記順序制御サーバへデータ処理要求の処理の許可を申請する許可申請手段と、前記順序制御サーバから許可通知を受け付ける許可受付手段と、前記順序制御サーバへデータ処理要求の投入の完了を通知する完了通知手段と、アプリケーションプログラムが発行するデータ処理要求を取得して多重化し、前記許可申請手段による申請に対して前記許可受付手段で許可通知が受け付けられていることを条件に前記多重化した各々のデータ処理要求を前記送受信手段を通じて前記DBMSへ送出し、多重化した全てのデータ処理要求に対する到達応答が返ってきたときに前記完了通知手段によりデータ処理要求の投入の完了を前記順序制御サーバに通知する制御手段とを備えることを特徴とする。
本発明の第4のアプリケーションサーバ装置は、アプリケーションプログラムとミドルウェアとを備え、DBMSを有するデータベースサーバに接続されるアプリケーションサーバ装置であって、前記ミドルウェアは、前記データベースサーバとの間でデータの送受信を行う送受信手段と、他のアプリケーションサーバとデータ処理要求の処理の許可申請の交渉を行う許可申請交渉手段と、前記許可申請交渉手段へデータ処理要求の処理の許可を申請する許可申請手段と、前記許可申請交渉手段から許可通知を受け付ける許可受付手段と、前記許可申請交渉手段へデータ処理要求の投入の完了を通知する完了通知手段と、アプリケーションプログラムが発行するデータ処理要求を取得して多重化し、前記許可申請手段による申請に対して前記許可受付手段で許可通知が受け付けられていることを条件に前記多重化した各々のデータ処理要求を前記送受信手段を通じて前記DBMSへ送出し、多重化した全てのデータ処理要求に対する到達応答が返ってきたときに前記完了通知手段によりデータ処理要求の投入の完了を前記許可申請交渉手段に通知する制御手段とを備えることを特徴とする。
本発明の第1のデータ処理要求制御サーバ装置は、データ処理要求の処理順序を制御する順序制御サーバ、1以上のアプリケーションサーバ、および複数のデータベースサーバに接続されるデータ処理要求制御サーバ装置であって、前記アプリケーションサーバからデータ処理要求を受信すると共に前記アプリケーションサーバへデータ処理の応答を送信する送受信手段と、前記送受信手段で受信したデータ処理要求を前記DBMSへのデータ処理要求に変換し、前記DBMSからのデータ処理の応答をアプリケーションプログラムへの応答に変換する複数のDB接続手段と、前記順序制御サーバへデータ処理要求の処理の許可を申請する許可申請手段と、前記順序制御サーバから許可通知を受け付ける許可受付手段と、前記順序制御サーバへデータ処理要求の完了を通知する完了通知手段と、前記送受信手段で受信したデータ処理要求を多重化し、前記許可申請手段による申請に対して前記許可受付手段で許可通知が受け付けられていることを条件に前記多重化した各々のデータ処理要求を前記DB接続手段を通じてDBMSへ送出し、多重化した全てのデータ処理要求に対する応答が返ってきたときに前記完了通知手段によりデータ処理要求の完了を前記順序制御サーバに通知する制御手段とを備えることを特徴とする。
本発明の第2のデータ処理要求制御サーバ装置は、データ処理要求の処理順序を制御する順序制御サーバ、1以上のアプリケーションサーバ、および複数のデータベースサーバに接続されるデータ処理要求制御サーバ装置であって、前記アプリケーションサーバとの間でデータの送受信を行う第1の送受信手段と、前記データベースサーバとの間でデータの送受信を行う第2の送受信手段と、前記順序制御サーバへデータ処理要求の処理の許可を申請する許可申請手段と、前記順序制御サーバから許可通知を受け付ける許可受付手段と、前記順序制御サーバへデータ処理要求の投入の完了を通知する完了通知手段と、前記第1の送受信手段で受信したデータ処理要求を多重化し、前記許可申請手段による申請に対して前記許可受付手段で許可通知が受け付けられていることを条件に前記多重化した各々のデータ処理要求を前記第2の送受信手段を通じて前記DBMSへ送出し、多重化した全てのデータ処理要求に対する到達応答が返ってきたときに前記完了通知手段によりデータ処理要求の投入の完了を前記順序制御サーバに通知する制御手段とを備えることを特徴とする。
本発明のデータベースサーバ装置は、ストレージと前記ストレージのデータを管理するDBMSとミドルウェアとを備え、1以上のアプリケーションサーバに接続されたデータベースサーバ装置であって、前記ミドルウェアは、前記アプリケーションサーバからデータ処理要求を受信したときに到達応答を前記アプリケーションサーバに送信すると共に、前記アプリケーションサーバへデータ処理の応答を送信する送受信手段と、前記送受信手段を通じて前記アプリケーションサーバから受信したデータ処理要求を前記DBMSへのデータ処理要求に変換し、前記DBMSからのデータ処理の応答をアプリケーションプログラムへの応答に変換するDB接続手段とを備えることを特徴とする。
『作用』
本発明にあっては、多重化したデータ処理要求の処理応答を検出し、全ての処理応答が出揃うまで他のデータ処理要求のDBMSへの投入を制限するか、あるいは、多重化したデータ処理要求の全てがデータベースサーバに到達したことを検出し、全ての到達応答が出揃うまで他のデータ処理要求のDBMSへの投入を制限することにより、つまり、多重化したデータ処理要求の全てが少なくともデータベースサーバに到達するまでの期間、他のデータ処理要求のDBMSへの投入を制限することにより、複数のDBMSへのデータ処理要求の投入順序の同一性を保証する。
本発明によれば、DBMSやアプリケーションプログラムから成る計算機システムにおいて、DBMSへの接続が複数存在する場合にも、それら接続間でのプライマリDBMS、バックアップDBMSへのデータ処理要求の投入順序の同一性を保証し、不整合なくデータ複製を行うことができる。その理由は、多重化したデータ処理要求の全てが少なくともデータベースサーバに到達するまでの期間、他のデータ処理要求のDBMSへの投入を制限したことにより、複数のDBMSへのデータ処理要求の投入順序の同一性が保証されるからである。
特に、多重化したデータ処理要求の全てがデータベースサーバに到達したことを検出し、全ての到達応答が出揃うまで他のデータ処理要求のDBMSへの投入を制限する方法によれば、全ての処理応答が出揃うまで他のデータ処理要求のDBMSへの投入を制限する方法に比べて、処理の高速化が可能である。
『第1の実施の形態』
次に本発明の第1の実施の形態について図面を参照して詳細に説明する。
[構成の説明]
図1を参照すると、本発明の第1の実施の形態にかかるデータ複製システムは、サービスを提供するn個のアプリケーションサーバ3300-1、3300-2、…、3300-nと、このアプリケーションサーバ3300-1、3300-2、…、3300-nにデータを提供するプライマリ側のデータベースサーバ3100と、プライマリ側のデータベースサーバ3100の複製であるバックアップ側のデータベースサーバ3200と、データ処理要求の処理順序を制御する順序制御サーバ3400とを備えている。各アプリケーションサーバ3300-1、3300-2、…、3300-n、各データベースサーバ3100、3200および順序制御サーバ3400を実現するコンピュータは、物理的に別々であっても良いし、同じコンピュータであっても良い。
プライマリ側のデータベースサーバ3100は、データを格納するストレージ3120と、このストレージ3120内のデータを管理するDBMS3110とを備える。バックアップ側のデータベースサーバ3200も、データを格納するストレージ3220と、このストレージ3220内のデータを管理するDBMS3210とを備える。
アプリケーションサーバ3300-1、3300-2、…、3300-nは、DBMSにデータ処理要求を発行するアプリケーション3310と、複数のアプリケーションに対し共通な機能を提供するミドルウェア3320とを備える。
ミドルウェア3320は、アプリケーション3310が発行するデータ処理要求をDBMS固有のデータ処理要求に変換し、その逆にDBMSからの固有のデータ処理の応答をアプリケーション3310への応答に変換するDB接続手段3321、3322と、データ処理要求のトラップ、多重化、DB接続手段3321、3322への転送、およびデータ処理応答のトラップ、アプリケーション3310への転送を行う制御手段3323と、データ処理要求の処理許可を順序制御サーバ3400に申請する許可申請手段3324と、処理許可申請の許可を順序制御サーバ3400から受け付ける許可受付手段3325と、DBMSのデータ処理の完了を順序制御サーバ3400に通知する完了通知手段3326とを備える。
順序制御サーバ3400は、各アプリケーションサーバ3300-1、3300-2、…、3300-nのミドルウェア3320からの処理許可申請を受け付ける申請受付手段3420と、処理許可申請への許可をミドルウェア3320に通知する許可通知手段3430と、DBMSのデータ処理の完了通知をミドルウェア3320から受け付ける通知受付手段3440と、処理許可申請の順序を制御する許可申請制御手段3410とを備える。
[動作の説明]
次に図1と図2(図2−1および図2−2)のフローチャートを参照して、本実施の形態の動作について詳細に説明する。
アプリケーション3310がプライマリDBMS3110にデータ処理を依頼する場合、DB接続手段3321の備える標準規格インタフェースに基づく標準規格のデータ処理要求を、ミドルウェア3320を介して発行する(ステップS4101)。
標準規格のデータ処理要求を受け取ったミドルウェア3320においては、まず制御手段3323が、そのデータ処理要求をトラップする(ステップS4102)。次に許可申請手段3324を介して、順序制御サーバ3400に対し、データ処理要求の処理許可を申請する(ステップS4103)。そして、制御手段3323は処理許可を受け付けるまで、データ処理要求を発行せず待機する(ステップS4104)。
一方、順序制御サーバ3400は、申請受付手段3420が、処理許可申請を受け付け、それを許可申請制御手段3410に転送する(ステップS4201)。許可申請制御手段3410は、次々と申請される処理許可申請を例えばFIFOメモリ等に蓄積し、常に1つの処理許可申請に対してのみ、許可を与えるように動作する(ステップS4202)。すなわち、他に許可中の処理許可申請が無ければ、もっとも早く申請された処理許可申請に対してのみ、許可を与える。他の許可中の処理許可申請があれば、その処理許可申請の完了通知を受け付けるまで、それ以外の処理許可申請には許可を与えない。許可が与えられると、許可通知手段3430は処理許可申請を行ったミドルウェア3320に対して、処理許可を通知する(ステップS4203)。許可申請制御手段3410は、許可を与えた処理許可申請の完了通知を受け取るまで、他の処理許可申請には許可を与えず、待機する(ステップS4204)。
再び、ミドルウェア3320においては、許可受付手段3325が、処理許可を受け付ける(ステップS4105)。処理許可を受け付けると、制御手段3323は、トラップしていたデータ処理要求を多重化し、DB接続手段3321,3322にそれぞれ発行する(ステップS4106)。
DB接続手段3321、3322は、受け付けた標準規格のデータ処理要求を、対応するDBMS固有のデータ処理要求に変換し、DBMS3110、3210に発行する(ステップS4301)。データ処理要求を受け付けたDBMS3110、3210は、その処理要求に従いストレージ3120、3220のデータを処理する(ステップS4401)。要求されたデータ処理は論理的に同じデータ処理であるので、プライマリ側のストレージ3120内のデータとバックアップ側のストレージ3220内のデータは、同じように処理されるため、プライマリ側のストレージ3120のデータとバックアップ側のストレージ3220のデータは同じデータとなる。すなわち、プライマリ側のストレージ3120のデータが、バックアップ側のストレージ3220に複製されることと同様の効果が得られる。
DBMS3110、3210は、データ処理の結果を、データ処理応答としてDB接続手段3321、3322に返す(ステップS4402)。データ処理応答を受け取ったDB接続手段3321、3322は、このDBMS固有のデータ処理応答を、標準規格のデータ処理応答に変換して、制御手段3323に返す(ステップS4302)。この時点まで、制御手段3323は、両方のDBMSのデータ処理応答が揃うまで待機している(ステップS4107)。
両方のDBMSのデータ処理応答が揃ったら、完了通知手段3326は、データ処理が完了した旨を順序制御サーバ3400に通知する(ステップS4108)。同時に制御手段3323は、2つのデータ処理応答のうち、1つのみをアプリケーション3310に返す(ステップS4109)。データ処理が正常に行われていれば、その応答は論理的には同じであり、標準規格のデータ処理応答に変換された場合、同じ応答となるので、どちらの応答を返してもかまわない。アプリケーション3310は、1つのデータ処理要求に対し、1つのデータ処理応答を受け取るため、データ複製等の処理を意識することなく、サービスを提供することができる(ステップS4110)。
一方、順序制御サーバ3400は、通知受付手段3440が許可を与えた処理許可申請に対する完了通知を受け取ると、それを許可申請制御手段3410に転送する(ステップS4205)。完了通知を受けた許可申請制御手段3410は、現在許可を与えている処理許可申請が完了したとみなして、この申請を抹消する(ステップS4206)。そして、次の処理許可申請があれば、その処理許可申請に対して、許可を与える。
以上のように動作することで、システム全体で常に1つのデータ処理要求のみ多重化、処理するようにする。
[効果の説明]
次に本実施の形態の効果について説明する。
本実施の形態では、順序制御サーバによってデータ処理要求の処理許可申請を制御することで、データ処理要求のプロトコル自体を変更することなく、システム全体で常に1つのデータ処理要求のみが、多重化、処理されるように構成されているため、DBMSへの複数の接続があったとしても、プライマリDBMSとバックアップDBMSへのデータ処理要求の投入順序の同一性を保証できるので、データの複製を正しく行うことができる。
また、このように常にデータを複製しているため、一方のデータベースサーバが故障しても、もう一方のデータベースサーバがデータを提供できるため、無停止でサービスを提供し続けることができる。
また、このデータ複製を、DBMSやアプリケーションを限定せず汎用的に、かつDBMSやアプリケーションを変更することなく透過的に、付与することができる。したがって、例えば、レプリケーション機能を備えていないDBMSや異なるDBMS間ででも、データ複製を行うことができる。
『第2の実施の形態』
次に、本発明の第2の実施の形態について図面を参照して詳細に説明する。
[構成の説明]
図3を参照すると、本発明の第2の実施の形態にかかるデータ複製システムは、サービスを提供するn個のアプリケーションサーバ15300-1、15300-2、…、15300-nと、このアプリケーションサーバ15300-1、15300-2、…、15300-nにデータを提供するプライマリ側のデータベースサーバ15100と、プライマリ側のデータベースサーバ15100の複製であるバックアップ側のデータベースサーバ15200と、データ処理要求の処理順序を制御する順序制御サーバ15400と、アプリケーションサーバ15300-1、15300-2、…、15300-nからのデータ処理要求を制御するデータ処理要求制御サーバ15500とを備えている。各アプリケーションサーバ15300-1、15300-2、…、15300-n、各データベースサーバ15100、15200、順序制御サーバ15400およびデータ処理要求制御サーバ15500を実現するコンピュータは、物理的に別々であっても良いし、同じコンピュータであっても良い。
プライマリ側のデータベースサーバ15100は、第1の実施の形態におけるプライマリ側のデータベースサーバ3100と同様のストレージ15120とDBMS15110とを備える。バックアップ側のデータベースサーバ15200も、第1の実施の形態におけるバックアップ側のデータベースサーバ3200と同様のストレージ15220とDBMS15210とを備える。
アプリケーションサーバ15300-1、15300-2、…、15300-nは、DBMSにデータ処理要求を発行するアプリケーション15310と、複数のアプリケーションに対し共通な機能を提供するミドルウェア15320とを備える。
ミドルウェア15320は、データ処理要求の送信とそれに対する応答の受信を行う送受信手段15321を備える。
順序制御サーバ15400は、第1の実施の形態における順序制御サーバ3400と同様の、申請受付手段15420と、許可通知手段15430と、通知受付手段15440と、許可申請制御手段15410とを備える。
データ処理要求制御サーバ15500は、第1の実施の形態におけるミドルウェア3320と同様の、DB接続手段15510、15520と、制御手段15530と、許可申請手段15540と、許可受付手段15550と、完了通知手段15560とを備え、また、アプリケーションサーバ15300-1、15300-2、…、15300-nの送受信手段15321とデータ処理要求およびその応答の送受信を行う送受信手段15570を備える。
[動作の説明]
次に図3と図4(図4−1および図4−2)のフローチャートを参照して、本実施の形態の動作について詳細に説明する。
アプリケーションサーバ15300-1のアプリケーション15310がプライマリDBMS15110にデータ処理を依頼する場合、標準規格インタフェースに基づく標準規格のデータ処理要求を、ミドルウェア15320を介して発行する(ステップS16101)。標準規格のデータ処理要求を受け取ったミドルウェア15320では、送受信手段15321が、そのデータ処理要求を、データ処理要求制御サーバ15500に転送する(ステップ16102)。
データ処理要求制御サーバ15500の送受信手段15570は、受け取ったデータ処理要求を制御手段15530に発行する(ステップ16501)。以降、図4のステップS16502〜S16508で示される本実施の形態におけるデータ処理要求制御サーバ15500の動作、およびステップS16201〜S16206で示される本実施の形態における順序制御サーバ15400の動作、およびステップS16301〜S16302で示される本実施の形態におけるデータ処理要求制御サーバ15500の動作、およびステップS16401〜S16402で示される本実施の形態におけるデータベースサーバ15100、15200の動作は、図2のステップS4102〜S4108で示される第1の実施の形態におけるアプリケーションサーバ3300の動作、およびステップS4201〜S4206で示される第1の実施の形態における順序制御サーバ3400の動作、およびステップS4301〜S4302で示される第1の実施の形態におけるアプリケーションサーバ3300の動作、およびステップS4401〜S4402で示される第1の実施の形態におけるデータベースサーバ3100,3200の動作と、それぞれ同一であるため、説明は省略する。
両方のDBMSのデータ処理応答が揃ったら、制御手段15530は、2つのデータ処理応答のうち、1つのみを送受信手段15570に返す(ステップS16509)。データ処理が正常に行われていれば、その応答は論理的には同じであり、標準規格のデータ処理応答に変換された場合、同じ応答となるので、どちらの応答を返してもかまわない。送受信手段15570は、受け取ったデータ処理応答を、アプリケーションサーバ15300-1に転送する(ステップS16510)。送受信手段15321は、受け取ったデータ処理応答を、アプリケーションサーバ15310に返す(ステップS16103)。アプリケーション15310は、1つのデータ処理要求に対し、1つのデータ処理応答を受け取るため、データ複製等の処理を意識することなく、サービスを提供することができる(ステップS16104)。
以上のように動作することで、システム全体で常に1つのデータ処理要求のみが、両方のデータベースサーバに投入されるようにする。
[効果の説明]
次に本実施の形態の効果について説明する。
本実施の形態では、第1の実施の形態と同様の効果が得られると同時に、データ処理要求制御機能をデータ処理要求制御サーバに集約することにより保守性が向上し、また、データ処理要求制御機能をアプリケーションサーバから独立させることによりアプリケーションサーバを軽量化することができる。
『第3の実施の形態』
次に、本発明の第3の実施の形態について図面を参照して詳細に説明する。
[構成の説明]
図5を参照すると、本発明の第3の実施の形態にかかるデータ複製システムは、サービスを提供するn個のアプリケーションサーバ9300-1、9300-2、…、9300-nと、このアプリケーションサーバ9300-1、9300-2、…、9300-nにデータを提供するプライマリ側のデータベースサーバ9100と、このプライマリ側のデータベースサーバ9100の複製であるバックアップ側のデータベースサーバ9200とを備える。各アプリケーションサーバ9300-1、9300-2、…、9300-nおよび各データベースサーバ9100、9200を実現するコンピュータは、物理的に別々であっても良いし、同じコンピュータであっても良い。
プライマリ側のデータベースサーバ9100は、第1の実施の形態におけるプライマリ側のデータベースサーバ3100と同様のストレージ9120とDBMS9110とを備える。バックアップ側のデータベースサーバ9200も、第1の実施の形態におけるバックアップ側のデータベースサーバ3200と同様のストレージ9220とDBMS9210とを備える。
アプリケーションサーバ9300-1、9300-2、…、9300-nは、DBMSにデータ処理要求を発行するアプリケーション9310と、複数のアプリケーションに対し共通な機能を提供するミドルウェア9320とを備える。
ミドルウェア9320は、第1の実施の形態におけるミドルウェア3320と同様の、DB接続手段9321、9322と、制御手段9323と、許可申請手段9324と、許可受付手段9325と、完了通知手段9326とを備え、また、他のアプリケーションサーバのミドルウェアと許可申請交渉を行う許可申請交渉手段9327を備える。
[動作の説明]
次に図5および図6のフローチャートを参照して、本実施の形態の動作について詳細に説明する。
図6のステップS10101〜S10110、およびステップS10301〜S10302で示される本実施の形態におけるアプリケーションサーバ9300の動作、およびステップS10401〜S10402で示される本実施の形態におけるデータベースサーバ9100,9200の動作は、図2のステップS4101〜S4110、およびステップS4301〜S4302で示される第1の実施の形態におけるアプリケーションサーバ3300の動作、およびステップS4401〜S4402で示される第1の実施の形態におけるデータベースサーバ3100,3200の動作と同一であるため、説明は省略する。
許可申請交渉手段9327は、許可申請手段9324から許可申請を受けると、他のアプリケーションサーバのミドルウェアの許可申請交渉手段と許可を通知して良いか交渉する。本実施の形態では交渉方式としてトークンパッシング方式を用いる。勿論、この方式に限定するものではない。
トークンパッシング方式では、ある動作を排他的に行いたいモジュール同士が、トークンと呼称するシステム内で唯一のオブジェクトをやり取りし、そのトークンを所持しているモジュールのみが特権的に望む動作を実行するという方式である。本実施の形態では、トークンを所持している許可申請交渉手段のみが、許可申請に対し許可を通知する。
まず、許可申請を受けた許可申請交渉手段9327は、自身を含めたシステム内すべての許可申請交渉手段に、トークン取得要求を申請する(ステップS10201)。トークンが開放されていれば、許可申請交渉手段9327は、トークンを取得し、許可受付手段9325に処理許可を通知する(ステップS10202)。トークンが開放されていなければ、許可申請交渉手段9327は、トークンを取得できるまで待機する。
許可通知後、許可申請交渉手段9327は、完了通知を受けるまで、トークンを確保し続ける(ステップ10203)。
完了通知手段9326から完了通知を受けた許可申請交渉手段9327は、トークンを開放する(ステップS10205)。以降、自身を含めたシステム内すべての許可申請交渉手段からトークン取得要求があれば、その許可申請交渉手段にトークンを渡す。
以上のように動作することで、システム全体で常に1つのデータ処理要求のみが、両方のデータベースサーバに投入されるようにする。
[効果の説明]
次に本実施の形態の効果について説明する。
本実施の形態では、第1の実施の形態と同様の効果が得られると同時に、順序制御サーバのような単一故障点を持たないため、可用性を向上させることができる。
『第4の実施の形態』
次に、本発明の第4の発明を実施するための最良の形態について図面を参照して詳細に説明する。
[構成の説明]
図7を参照すると、本発明の第4の実施の形態は、サービスを提供する複数のアプリケーションサーバ5300-1、5300-2、…、5300-nと、このアプリケーションサーバ5300-1、5300-2、…、5300-nにデータを提供するプライマリ側のデータベースサーバ5100と、このプライマリ側のデータベースサーバ5100の複製であるバックアップ側のデータベースサーバ5200と、データ処理要求の投入順序を制御する順序制御サーバ5400とを備える。各アプリケーションサーバ5300-1、5300-2、…、5300-n、各データベースサーバ5100、5200および順序制御サーバ5400を実現するコンピュータは、物理的に別々であっても良いし、同じコンピュータであっても良い。
プライマリデータベースサーバ5100は、第1の実施の形態におけるプライマリデータベースサーバ3100と同様のストレージ5120とDBMS5110とを備え、また、データベースサーバ側のデータ処理要求の制御を行うミドルウェア5130を備える。このミドルウェア5130は、アプリケーションサーバ5300-1、5300-2、…、5300-nとの間でデータ処理要求、その到達応答およびデータ処理の応答の送受信を行う送受信手段5131と、第1の実施の形態におけるDB接続手段3321と同様のDB接続手段5132とを備える。
バックアップ側のデータベースサーバ5200は、第1の実施の形態におけるバックアップ側のデータベースサーバ3200と同様のストレージ5220とDBMS5210とを備え、また、データベースサーバ側のデータ処理要求の制御を行うミドルウェア5230を備える。このミドルウェア5230は、アプリケーションサーバ5300-1、5300-2、…、5300-nとの間でデータ処理要求、その到達応答およびデータ処理の応答の送受信を行う送受信手段5231と、第1の実施の形態におけるDB接続手段3322と同様のDB接続手段5232とを備える。
アプリケーションサーバ5300-1、5300-2、…、5300-nは、DBMSにデータ処理要求を発行するアプリケーション5310と、複数のアプリケーションに対し共通な機能を提供するミドルウェア5320とを備える。
ミドルウェア5320は、第1の実施の形態におけるミドルウェア3320と同様の、制御手段5323と、許可申請手段5324と、許可受付手段5325と、完了通知手段5326とを備え、また、プライマリ側のデータベースサーバ5100およびバックアップ側のデータベースサーバ5200とデータ処理要求、その到達応答およびデータ処理の応答の送受信を行う送受信手段5321、5322とを備える。ただし、本実施の形態では、送受信手段5321、5322を通じてプライマリ側のデータベースサーバ5100およびバックアップ側のデータベースサーバ5200に対して送信したデータ処理要求について、その到達応答が返されてきた時点で、完了通知手段5326により順序制御サーバ5400にデータ処理要求の投入の完了が通知される点が第1の実施の形態と相違する。
順序制御サーバ5400は、第1の実施の形態における順序制御サーバ3400と同様の、申請受付手段5420と、許可通知手段5430と、通知受付手段5440と、許可申請制御手段5410とを備える。ただし、本実施の形態では、通知受付手段5440は、データ処理要求の投入の完了の通知を受け付け、許可申請制御手段5410は、データ処理要求の投入の完了の通知を受け付けると次のデータ処理要求の処理の許可申請に対して許可を与える点が第1の実施の形態と相違する。
[動作の説明]
次に図7と図8(図8−1および図8−2)のフローチャートを参照して、本実施の形態の動作について詳細に説明する。
図8のステップS6101〜S6105で示される本実施の形態における、アプリケーション5310、制御手段5323、許可申請手段5324、許可受付手段5325の動作は、図2のステップS4101〜S4105で示される第1の実施の形態における、アプリケーション3310、制御手段3323、許可申請手段3324、許可受付手段3325の動作と同一のため、説明は省略する。
また、ステップS6201〜S6206で示される本実施の形態における順序制御サーバ5400の動作は、図2のステップS4201〜S4206で示される第1の実施の形態における順序制御サーバ3400の動作と同一のため、説明は省略する。
アプリケーションサーバ5300-1、5300-2、…、5300-nのミドルウェア5320において、処理許可を受け付けると、制御手段5323は、トラップしていたデータ処理要求を多重化し、送受信手段5321、5322にそれぞれ発行する(ステップS6106)。送受信手段5321、5322は、それぞれ受け取ったデータ処理要求を、データベースサーバ5100、5200に転送する(ステップS6301)。
データベースサーバ5100、5200のミドルウェア5130、5230において、送受信手段5131、5231は、データ処理要求を受け取ったら、到達した旨を知らせる到達応答を、アプリケーションサーバの送受信手段5321、5322に返信する(ステップS6401)。アプリケーションサーバの送受信手段5321、5322は、到達応答を受け取ったら、到達応答があった旨を完了通知手段5326に通知する(ステップS6302)。完了通知手段5326は、両方のデータベースサーバからの到達応答が揃ったら、すなわち、両方のデータベースサーバにデータ処理要求が投入されたことが確認されたら、データ処理要求の投入が完了した旨を順序制御サーバ5400に通知する(ステップS6307)。
再び、データベースサーバ5100、5200のミドルウェア5130、5230においては、送受信手段5131,5231は、受け取ったデータ処理要求をDB接続手段5132、5232に発行する(ステップS6402)。DB接続手段5132、5232は、受け付けた標準規格のデータ処理要求を、対応するDBMS固有のデータ処理要求に変換し、DBMS5110、5210に発行する(ステップS6403)。
データ処理要求を受け付けたDBMS5110、5210は、その処理要求に従いストレージ5120、5220のデータを同じように処理し、プライマリストレージ5120のデータが、バックアップストレージ5220に複製されることと同様の効果が得られる(ステップS6404)。
DBMS5110、5210は、データ処理の結果を、データ処理応答としてDB接続手段5132、5232に返す(ステップS6405)。データ処理応答を受け取ったDB接続手段5132、5232は、このDBMS固有のデータ処理応答を、標準規格のデータ処理応答に変換して、送受信手段5131、5231に返す(ステップS6406)。送受信手段5131、5231は、受け取った標準規格のデータ処理応答を、アプリケーションサーバに転送する(ステップS6407)。アプリケーションサーバの送受信手段5321、5322は、データ処理応答を受け取ったら、制御手段5323に転送する(ステップS6303)。この時点まで、制御手段5323は、両方のデータ処理応答が揃うまで待機している(ステップS6108)。両方のDBMSのデータ処理応答が揃ったら、制御手段5323は、2つのデータ処理応答のうち、1つのみをアプリケーション5310に返す(ステップS6109)。データ処理が正常に行われていれば、その応答は論理的には同じであり、標準規格のデータ処理応答に変換された場合、同じ応答となるので、どちらの応答を返してもかまわない。アプリケーション5310は、1つのデータ処理要求に対し、1つのデータ処理応答を受け取るため、データ複製等の処理を意識することなく、サービスを提供することができる(ステップS6110)。
このように動作することで、システム全体で常に1つのデータ処理要求のみが、両方のデータベースサーバに投入されるようにする。
[効果の説明]
次に本実施の形態の効果について説明する。
本実施の形態では、第1の実施の形態と同様の効果が得られると同時に、より高速にデータ処理を行うことができる。その理由は、アプリケーションサーバとデータベースサーバ間のデータ処理要求の転送をミドルウェアが受け持つことで、データ処理要求がデータベースサーバに投入されたことを検出できるため(第1の形態では、AP〜DB間の転送はDB接続手段が受け持っており、DB固有のプロトコルのため、検出できない)、データ処理要求がデータベースサーバに投入された時点で、順序制御サーバに完了を通知することができ、データベースからの処理応答を待って次のデータ処理要求を発行する第1の実施の形態に比べて、データ処理要求の発行をより早く行うことができるためである。
『第5の実施の形態』
次に、本発明の第5の実施の形態について図面を参照して詳細に説明する。
[構成の説明]
図9を参照すると、本発明の第5の実施の形態にかかるデータ複製システムは、サービスを提供するn個のアプリケーションサーバ17300-1、17300-2、…、17300-nと、このアプリケーションサーバ17300-1、17300-2、…、17300-nにデータを提供するプライマリ側のデータベースサーバ17100と、プライマリ側のデータベースサーバ17100の複製であるバックアップ側のデータベースサーバ17200と、データ処理要求の処理順序を制御する順序制御サーバ17400と、アプリケーションサーバ17300-1、17300-2、…、17300-nからのデータ処理要求を制御するデータ処理要求制御サーバ17500とを備える。各アプリケーションサーバ17300-1、17300-2、…、17300-n、各データベースサーバ17100、17200および順序制御サーバ17400を実現するコンピュータは、物理的に別々であっても良いし、同じコンピュータであっても良い。
プライマリ側のデータベースサーバ17100は、第4の実施の形態におけるプライマリデータベースサーバ5100と同様の、ストレージ17120と、DBMS17110と、ミドルウェア17130とを備える。このミドルウェア17130は、第4の実施の形態におけるミドルウェア5130と同様の送受信手段17131と、DB接続手段17132とを備える。
バックアップ側のデータベースサーバ17200も、第4の実施の形態におけるバックアップデータベースサーバ5200と同様のストレージ17220と、DBMS17210と、ミドルウェア17230とを備える。ミドルウェア17230は、第4の実施の形態におけるミドルウェア5230と同様の送受信手段17231とDB接続手段17232とを備える。
アプリケーションサーバ17300-1、17300-2、…、17300-nは、DBMSにデータ処理要求を発行するアプリケーション17310と、複数のアプリケーションに対し共通な機能を提供するミドルウェア17320とを備える。
ミドルウェア17320は、データ処理要求の送受信を行う送受信手段17321を備える。
順序制御サーバ17400は、第4の実施の形態における順序制御サーバ5400と同様の、申請受付手段17420と、許可通知手段17430と、通知受付手段17440と、許可申請制御手段17410とを備える。
データ処理要求制御サーバ17500は、第4の実施の形態におけるミドルウェア5320と同様の、送受信手段17510、17520と、制御手段17530と、許可申請手段17540と、許可受付手段17550と、完了通知手段17560とを備え、また、データ処理要求の送受信を行う送受信手段17570を備える。
[動作の説明]
次に図9と図10(図10−1および図10−2)のフローチャートを参照して、本実施の形態の動作について詳細に説明する。
アプリケーションサーバ17300-1のアプリケーション17310がプライマリDBMS17110にデータ処理を依頼する場合、標準規格インタフェースに基づく標準規格のデータ処理要求を、ミドルウェア17320を介して発行する(ステップS18101)。標準規格のデータ処理要求を受け取ったミドルウェア17320では、送受信手段17321が、そのデータ処理要求を、データ処理要求制御サーバ17500に転送する(ステップ18102)。
送受信手段17570は、受け取ったデータ処理要求を制御手段17530に発行する(ステップ18501)。以降、図10のステップS18502〜S18508で示される本実施の形態におけるデータ処理要求制御サーバ17500の動作、およびステップS18201〜S18206で示される本実施の形態における順序制御サーバ17400の動作、およびステップS18301〜S18303で示される本実施の形態におけるデータ処理要求制御サーバ17500の動作、およびステップS18401〜S18407で示される本実施の形態におけるデータベースサーバ17100,17200の動作は、図8のステップS6102〜S6108で示される第4の実施の形態におけるアプリケーションサーバ5300の動作、およびステップS6201〜S6206で示される第4の実施の形態における順序制御サーバ5400の動作、およびステップS6301〜S6303で示される第4の実施の形態におけるアプリケーションサーバ5300の動作、およびステップS6401〜S6407で示される第4の実施の形態におけるデータベースサーバ5100,5200の動作と同一であるため、説明は省略する。
両方のDBMSのデータ処理応答が揃ったら、制御手段17530は、2つのデータ処理応答のうち、1つのみを送受信手段17570に返す(ステップS18509)。データ処理が正常に行われていれば、その応答は論理的には同じであり、標準規格のデータ処理応答に変換された場合、同じ応答となるので、どちらの応答を返してもかまわない。
送受信手段17570は、受け取ったデータ処理応答を、アプリケーションサーバ17300-1に転送する(ステップS18510)。送受信手段17321は、受け取ったデータ処理応答を、アプリケーション17310に返す(ステップS18103)。アプリケーション17310は、1つのデータ処理要求に対し、1つのデータ処理応答を受け取るため、データ複製等の処理を意識することなく、サービスを提供することができる(ステップS18104)。
以上のよううに動作することで、システム全体で常に1つのデータ処理要求のみが、両方のデータベースサーバに投入されるようにする。
[効果の説明]
次に本実施の形態の効果について説明する。
本実施の形態では、第4の実施の形態と同様の効果が得られると同時に、データ処理要求制御機能をデータ処理要求制御サーバに集約することにより保守性が向上し、また、データ処理要求制御機能をアプリケーションサーバから独立させることによりアプリケーションサーバを軽量化することができる。
『第6の実施の形態』
次に、本発明の第6の実施の形態について図面を参照して詳細に説明する。
[構成の説明]
図11を参照すると、本発明の第6の実施の形態は、サービスを提供するn個のアプリケーションサーバ11300-1、11300-2、…、11300-nと、このアプリケーションサーバ11300-1、11300-2、…、11300-nにデータを提供するプライマリ側のデータベースサーバ11100と、プライマリ側のデータベースサーバ11100の複製であるバックアップ側のデータベースサーバ11200とを備える。各アプリケーションサーバ11300-1、11300-2、…、11300-nおよび各データベースサーバ11100、11200を実現するコンピュータは、物理的に別々であっても良いし、同じコンピュータであっても良い。
プライマリデータベースサーバ11100は、第4の実施の形態におけるプライマリデータベースサーバ5100と同様の、ストレージ11120と、DBMS11110と、ミドルウェア11130とを備える。ミドルウェア11130は、第4の実施の形態におけるミドルウェア5130と同様の送受信手段11131とDB接続手段11132とを備える。
バックアップ側のデータベースサーバ11200も、第4の実施の形態におけるバックアップデータベースサーバ5200と同様の、ストレージ11220と、DBMS11210と、ミドルウェア11230とを備える。ミドルウェア11230は、第4の実施の形態におけるミドルウェア5230と同様の送受信手段11231とDB接続手段11232とを備える。
アプリケーションサーバ11300-1、11300-2、…、11300-nは、DBMSにデータ処理要求を発行するアプリケーション11310と、複数のアプリケーションに対し共通な機能を提供するミドルウェア11320とを備える。
ミドルウェア11320は、第4の実施の形態におけるミドルウェア5320と同様の、送受信手段11321,11322と、制御手段11323と、許可申請手段11324と、許可受付手段11325と、完了通知手段11326とを備え、また、他のアプリケーションサーバのミドルウェアと許可申請交渉を行う許可申請交渉手段11327を備える。
[動作の説明]
次に図11と図12(図12−1および図12−2)のフローチャートを参照して、本実施の形態の動作について詳細に説明する。
図12のステップS12101〜S12110、およびステップS12301〜S12303で示される本実施の形態におけるアプリケーションサーバ11300の動作、およびステップS12401〜S12407で示される本実施の形態におけるデータベースサーバ11100,11200の動作は、図8のステップS6101〜S6110、およびステップS6301〜S6303で示される第4の実施の形態におけるアプリケーションサーバ5300の動作、およびステップS6401〜S6407で示される第1の実施の形態におけるデータベースサーバ5100,5200の動作と同一であるため、説明は省略する。
許可申請交渉手段11327は、許可申請手段11324から許可申請を受けると、他のアプリケーションサーバのミドルウェアの許可申請交渉手段と許可を通知して良いか交渉する。本実施の形態では交渉方式としてトークンパッシング方式を用いるが、この方式に限定するものではない。
まず、許可申請を受けた許可申請交渉手段11327は、自身を含めたシステム内すべての許可申請交渉手段に、トークン取得要求を申請する(ステップS12201)。トークンが開放されていれば、許可申請交渉手段11327は、トークンを取得し、許可受付手段11325に処理許可を通知する(ステップS12202)。トークンが開放されていなければ、許可申請交渉手段11327は、トークンを取得できるまで待機する。許可通知後、許可申請交渉手段11327は、完了通知を受けるまで、トークンを確保し続ける(ステップ12203)。完了通知手段11326から完了通知を受けた許可申請交渉手段11327は、トークンを開放する(ステップS12205)。以降、自身を含めたシステム内すべての許可申請交渉手段からトークン取得要求があれば、その許可申請交渉手段にトークンを渡す。
以上のように動作することで、システム全体で常に1つのデータ処理要求のみが、両方のデータベースサーバに投入されるようにする。
[効果の説明]
次に本実施の形態の効果について説明する。
本実施の形態では、第4の実施の形態と同様の効果が得られると同時に、順序制御サーバのような単一故障点を持たないため、可用性を向上させることができる。
『その他の実施の形態』
以上、本発明を実施するための最良の形態について説明したが、本発明は以上の実施の形態に限定されず、その他各種の付加変更が可能である。
例えば、本発明の各実施の形態では、順序制御サーバやデータ処理要求制御サーバを1つの別個のサーバとしているが、これらの機能は、アプリケーションサーバのどれか一つ、あるいはデータベースサーバのどれか一つが兼ね備えても構わない。
あるいは、複数の順序制御サーバやデータ処理要求制御サーバを用意し、例えば、1つの順序制御サーバが故障などによって機能しなくなった場合、自動的に別の順序制御サーバに順序制御機能をフェイルオーバーさせるような構成でも構わない。
あるいは、通常時は順序制御サーバによって許可申請制御を行っているが、順序制御サーバが故障などによって機能しなくなった場合、アプリケーションサーバのミドルウェア同士が、互いに交渉して、許可申請制御を行う方式に移行するようにしても良い。
また、本発明の各実施の形態では、アプリケーションサーバ群と1つのプライマリ側のデータベースサーバとを備えるシステムに対し、1つのバックアップ側のデータベースサーバを設ける1対1構成を採用したが、これ以外の構成も考えられる。構成の幾つかの変形例を以下に示す。なお、以下の変形例は一例であり、これらに限定するものではない。
1)変形例1(1対N構成)
本変形例の概要を図13に示す。図13を参照すると、本変形例は、1つのアプリケーションサーバ群19300と、1つのプライマリ側のデータベースサーバ19310と、複数のバックアップ側のデータベースサーバ19320-1、19320-2、…、19320-nとを備える。
プライマリ側のデータベースサーバ19310のデータは、バックアップ側のデータベースサーバ19320-1、19320-2、…、19320-n全てに複製される。
本変形例は、アプリケーションサーバ群19300の各アプリケーションが、1つのバックアップ側のデータベースサーバだけでなく、複数のバックアップ側のデータベースサーバ19320-1、19320-2、…、19320-nに、それぞれデータ処理要求を発行するようにすることで実現できる。
本変形例においては、バックアップ側のデータベースサーバが複数存在するため、プライマリ側のデータベースサーバ19310を含め複数のデータベースサーバで同時に障害が発生しても、残ったデータベースサーバのデータを用いて、サービスを継続できる。
2)変形例2(N対1構成)
本変形例の概要を図14に示す。図14を参照すると、本変形例は、複数のアプリケーションサーバ群20300-1、20300-2、…、20300-nと、複数のプライマリ側のデータベースサーバ20310-1、20310-2、…、20310-nと、1つのバックアップ側のデータベースサーバ20320とを備える。
複数のプライマリ側のデータベースサーバ20310-1、20310-2、…、20310-nのデータは、バックアップ側のデータベースサーバ20320に集約して複製される。
本変形例は、バックアップ側のデータベースサーバ20320が、複数のアプリケーションサーバ群20300-1、20300-2、…、20300-nから発行されるデータ処理要求を、自身内の論理的に異なる領域に適用するようにすることで実現できる。
本変形例は、アプリケーションサーバ群と1つのプライマリ側のデータベースサーバとを備えるシステムの数だけバックアップシステムを用意する必要が無いので、システム構築のコストを軽減できる。
3)変形例3(N対M構成)
本変形例の概要を図15に示す。図15を参照すると、本変形例は、複数のアプリケーションサーバ群21300-1、21300-2、…、21300-nと、複数のプライマリ側のデータベースサーバ21310-1、21310-2、…、21310-nと、複数のバックアップ側のデータベースサーバ21320-1,21320-2...21320-mとを備える。
プライマリ側のデータベースサーバ21310-1、21310-2、…、21310-nのうちの1つのプライマリデータ側のデータベースサーバのデータは、バックアップ側のデータベースサーバ21320-1、21320-2、…、21320-mのうちの1つ以上のバックアップ側のデータベースに複製される。
本変形例は、アプリケーションサーバ群21300-1、21300-2、…、21300-nの各アプリケーションが、1つのバックアップ側のデータベースサーバだけでなく、複数のバックアップ側のデータベースサーバ21320-1、21320-2、…、21320-mのうちの1つ以上のバックアップ側のデータベースサーバにそれぞれデータ処理要求を発行するようにし、かつ、バックアップ側のデータベースサーバ21320-1、21320-2、…、21320-mが、それぞれ複数のアプリケーションサーバ群21300-1、21300-2、…、21300-nから発行されるデータ処理要求を、自身内の論理的に異なる領域に適用するようにすることで実現できる。
本変形例は、1対N構成のように複数のバックアップ側のデータベースが存在するため耐障害性が高く、N対1構成のようにデータを集約して複製するためバックアップ側のデータベースの数を少なくすることでシステム構築のコストを軽減できる。
4)変形例4(連鎖構成)
本変形例の概要を図16に示す。図16を参照すると、本変形例は、1つのアプリケーションサーバ群22300と、1つのプライマリ側のデータベースサーバ22310と、縦続接続された複数のバックアップ側のデータベースサーバ22320-1、22320-2、…、22320-nとを備える。
プライマリ側のデータベースサーバ22310のデータは、バックアップ側のデータベースサーバ22320-1、22320-2、…、22320-n全てに複製される。
本変形例は、バックアップ側のデータベースサーバ22320-1、22320-2、…、22320-nが、データ処理要求を受けるだけでなく、別のバックアップ側のデータベースサーバに転送するようにすることで実現できる。
本変形例は、1対N構成のように複数のバックアップ側のデータベースサーバが存在するため耐障害性が高く、また、アプリケーションサーバ群22300の各アプリケーションはバックアップ型のデータベースサーバ22320-1の1つに対してのみデータ処理要求を発行し、各バックアップ側のデータベースサーバ22320-1、22320-2、…、22320-nも1つのバックアップ側のデータベースサーバに対してのみデータ処理要求を発行するので、1つの構成要素にデータ処理要求発行の負荷が集中することを避けることができる。
5)変形例5(相互構成)
本変形例の概要を図17に示す。図17を参照すると、本変形例は、アプリケーションサーバ群23310、23320と、データベースサーバ23311、23321とを備える。
データベースサーバ23311のデータは、データベースサーバ23321に複製され、データベースサーバ23321のデータは、データベースサーバ23311に複製される。
本実施例は、アプリケーションサーバ群23310が、データベースサーバ23311をプライマリ側のデータベースサーバ、データベースサーバ23321をバックアップ側のデータベースサーバとみなし、また、アプリケーションサーバ群23320が、データベースサーバ23321をプライマリ側のデータベースサーバ、データベースサーバ23311をバックアップ側のデータベースサーバとみなすように動作し、かつ、データベースサーバ23311、23321が、それぞれアプリケーションサーバ群23310、23320から発行されるデータ処理要求を、自身内の論理的に異なる領域に適用するようにすることで実現できる。
本変形例は、バックアップシステムでもアプリケーションを動作させサービスを提供することで、システムを無駄なく活用することができる。また、アプリケーションサーバ群と1つのデータベースサーバからなるシステムが既に複数ある場合、バックアップ用データベースサーバを新たに用意しなくても、同期複製を行える。なお、本構成は2個のシステムから構成されているが、それ以上でもかまわない。
また、本発明の各実施の形態におけるデータ多重化機能を実現する各構成要素は、その機能をハードウェア的に実現することはもちろん、コンピュータとプログラムとで実現することができる。プログラムは、磁気ディスクや半導体メモリ等のコンピュータ可読記録媒体に記録されて提供され、コンピュータの立ち上げ時などにコンピュータに読み取られ、そのコンピュータの動作を制御することにより、そのコンピュータを前述した各実施の形態における構成要素として機能させる。
本発明は、DBMSを用いてサービスを提供するシステムにおいて、高い信頼性を持つシステムの構築といった用途に適用できる。
本発明の第1の実施の形態の構成を示すブロック図である。 本発明の第1の実施の形態の動作を示す流れ図である。 本発明の第1の実施の形態の動作を示す流れ図である。 本発明の第2の実施の形態の構成を示すブロック図である。 本発明の第2の実施の形態の動作を示す流れ図である。 本発明の第2の実施の形態の動作を示す流れ図である。 本発明の第3の実施の形態の構成を示すブロック図である。 本発明の第3の実施の形態の動作を示す流れ図である。 本発明の第4の実施の形態の構成を示すブロック図である。 本発明の第4の実施の形態の動作を示す流れ図である。 本発明の第4の実施の形態の動作を示す流れ図である。 本発明の第5の実施の形態の構成を示すブロック図である。 本発明の第5の実施の形態の動作を示す流れ図である。 本発明の第5の実施の形態の動作を示す流れ図である。 本発明の第6の実施の形態の構成を示すブロック図である。 本発明の第6の実施の形態の動作を示す流れ図である。 本発明の第6の実施の形態の動作を示す流れ図である。 1対N構成の変形例を示すブロック図である。 N対1構成の変形例を示すブロック図である。 N対M構成の変形例を示すブロック図である。 連鎖構成の変形例を示すブロック図である。 相互構成の変形例を示すブロック図である。 従来のデータ複製システムの構成を示すブロック図である。 従来のデータ複製システムの問題点の説明図である。
符号の説明
3100…プライマリ側のデータベースサーバ
3110…プライマリ側のDBMS
3120…プライマリ側のストレージ
3200…バックアップ側のデータベースサーバ
3210…バックアップ側のDBMS
3220…バックアップ側のストレージ
3300-1、3300-2、…、3300-n…アプリケーションサーバ
3310…アプリケーション
3320…ミドルウェア
3321、3322…DB接続手段
3323…制御手段
3324…許可申請手段
3325…許可受付手段
3326…完了通知手段
3400…順序制御サーバ
3410…許可申請制御手段
3420…申請受付手段
3430…許可通知手段
3440…通知受付手段

Claims (12)

  1. 順序制御サーバと、1以上のアプリケーションサーバと、複数のデータベースサーバとを計算機システムに備え、
    前記データベースサーバは、ストレージと、該ストレージのデータを管理するDBMSと、データベースサーバ側ミドルウェアとを備え、
    前記アプリケーションサーバは、アプリケーションプログラムと、アプリケーションサーバ側ミドルウェアとを備え、
    前記順序制御サーバは、前記アプリケーションサーバ側ミドルウェアからデータ処理要求の処理の許可申請を受け付ける申請受付手段と、前記データ処理要求の処理の許可の申請に対して処理の許可を通知する許可通知手段と、前記データ処理要求の投入の完了通知を受け付ける通知受付手段と、前記許可通知手段により処理の許可を通知した前記データ処理要求の投入の完了通知が前記通知受付手段で受け付けられるまで前記申請受付手段で受け付けた他のデータ処理要求の処理に対して前記許可通知手段を通じて許可を与えない許可申請制御手段とを備え、
    前記アプリケーションサーバ側ミドルウェアは、前記データベースサーバ側ミドルウェアのデータベースサーバ側送受信手段との間でデータの送受信を行うアプリケーションサーバ側送受信手段と、前記順序制御サーバへ前記データ処理要求の処理の許可を申請する許可申請手段と、前記順序制御サーバから前記データ処理要求の処理の許可の申請に対する許可の通知を受け付ける許可受付手段と、前記順序制御サーバへ前記データ処理要求の投入の完了を通知する完了通知手段と、自アプリケーションサーバの前記アプリケーションプログラムから発行された前記データ処理要求を取得し、該取得した前記データ処理要求の処理の許可を前記許可申請手段を通じて前記順序制御サーバへ申請し、該申請に対する処理の許可を前記許可受付手段で受け付けたとき、前記データ処理要求を多重化して前記複数のデータベースサーバの前記データベースサーバ側ミドルウェアへ前記アプリケーションサーバ側送受信手段を通じて送出し、該多重化した全ての前記データ処理要求に対する到達応答を前記アプリケーションサーバ側送受信手段を通じて前記データベースサーバ側ミドルウェアから受信したときに前記データ処理要求の投入の完了を前記完了通知手段を通じて前記順序制御サーバへ通知し、前記データ処理要求に対する処理結果の応答を前記アプリケーションサーバ側送受信手段を通じて前記データベースサーバ側ミドルウェアから受信したときに当該処理結果の応答を自アプリケーションサーバの前記アプリケーションプログラムに返却する制御手段とを備え、
    前記データベースサーバ側ミドルウェアは、前記データベースサーバ側送受信手段と、データベースサーバ側送受信手段を通じて前記アプリケーションサーバ側ミドルウェアから受信した前記データ処理要求を前記DBMSへのデータ処理要求に変換し、前記DBMSからの前記データ処理要求に対する処理結果の応答を前記アプリケーションプログラムへの処理結果の応答に変換して前記データベースサーバ側送受信手段を通じて前記アプリケーションサーバ側ミドルウェアに返すDB接続手段とを備え、
    前記データベースサーバ側送受信手段は、前記アプリケーションサーバ側ミドルウェアから前記データ処理要求を受信したときに当該データ処理要求を受信した旨を示す応答を前記到達応答として前記アプリケーションサーバ側ミドルウェアに送信すると共に当該データ処理要求を前記DB接続手段に渡し、前記DB接続手段から前記データ処理要求にかかる前記アプリケーションプログラムへの処理結果の応答を受け取ったときに、当該処理結果の応答を前記アプリケーションサーバ側ミドルウェアに送信する
    ことを特徴とするデータ複製システム。
  2. 順序制御サーバと、1以上のアプリケーションサーバと、複数のデータベースサーバと、データ処理要求制御サーバとを計算機システムに備え、
    前記データベースサーバは、ストレージと、該ストレージのデータを管理するDBMSと、データベースサーバ側ミドルウェアとを備え、
    前記アプリケーションサーバは、アプリケーションプログラムと、アプリケーションサーバ側ミドルウェアとを備え、
    前記順序制御サーバは、前記データ処理要求制御サーバからデータ処理要求の処理の許可申請を受け付ける申請受付手段と、前記データ処理要求の処理の許可の申請に対して処理の許可を通知する許可通知手段と、前記データ処理要求の投入の完了通知を受け付ける通知受付手段と、前記許可通知手段により処理の許可を通知した前記データ処理要求の投入の完了通知が前記通知受付手段で受け付けられるまで前記申請受付手段で受け付けた他のデータ処理要求の処理に対して前記許可通知手段を通じて許可を与えない許可申請制御手段とを備え、
    前記アプリケーションサーバ側ミドルウェアは、前記アプリケーションプログラムが発行するデータ処理要求を前記データ処理要求制御サーバへ送信し、前記データ処理要求制御サーバから受信したデータ処理要求に対する処理結果の応答を前記アプリケーションプログラムへ通知するアプリケーションサーバ側送受信手段を備え、
    前記データ処理要求制御サーバは、前記アプリケーションサーバ側ミドルウェアのデータベースサーバ側送受信手段との間でデータの送受信を行う第1の送受信手段と、前記データベースサーバ側ミドルウェアとの間でデータの送受信を行う第2の送受信手段と、前記順序制御サーバへデータ処理要求の処理の許可を申請する許可申請手段と、前記順序制御サーバから前記データ処理要求の処理の許可の申請に対する許可の通知を受け付ける許可受付手段と、前記順序制御サーバへ前記データ処理要求の投入の完了を通知する完了通知手段と、前記第1の送受信手段で受信した前記アプリケーションプログラムが発行するデータ処理要求の処理の許可を前記許可申請手段を通じて前記順序制御サーバへ申請し、該申請に対する処理の許可を前記許可受付手段で受け付けたとき、前記データ処理要求を多重化して前記複数のデータベースサーバの前記データベースサーバ側ミドルウェアへ前記第2の送受信手段を通じて送出し、該多重化した全ての前記データ処理要求に対する到達応答を前記第2の送受信手段を通じて前記データベースサーバ側ミドルウェアから受信したときに前記データ処理要求の投入の完了を前記完了通知手段を通じて前記順序制御サーバへ通知し、前記データ処理要求に対する処理結果の応答を前記第2の送受信手段を通じて前記データベースサーバ側ミドルウェアから受信したときに当該処理結果の応答を前記第1の送受信手段を通じて前記アプリケーションサーバ側ミドルウェアに返却する制御手段とを備え、
    前記データベースサーバ側ミドルウェアは、前記データベースサーバ側送受信手段と、データベースサーバ側送受信手段を通じて前記データ処理要求制御サーバから受信した前記データ処理要求を前記DBMSへのデータ処理要求に変換し、前記DBMSからの前記データ処理要求に対する処理結果の応答を前記アプリケーションプログラムへの処理結果の応答に変換して前記データベースサーバ側送受信手段を通じて前記データ処理要求制御サーバに返すDB接続手段とを備え、
    前記データベースサーバ側送受信手段は、前記データ処理要求制御サーバから前記データ処理要求を受信したときに当該データ処理要求を受信した旨を示す応答を前記到達応答として前記データ処理要求制御サーバに送信すると共に当該データ処理要求を前記DB接続手段に渡し、前記DB接続手段から前記データ処理要求にかかる前記アプリケーションプログラムへの処理結果の応答を受け取ったときに、当該処理結果の応答を前記データ処理要求制御サーバに送信する
    ことを特徴とする計算機システム。
  3. 1以上のアプリケーションサーバと、複数のデータベースサーバとを計算機システムに備え、
    前記データベースサーバは、ストレージと、該ストレージのデータを管理するDBMSと、データベースサーバ側ミドルウェアとを備え、
    前記アプリケーションサーバは、アプリケーションプログラムと、アプリケーションサーバ側ミドルウェアとを備え、
    前記アプリケーションサーバ側ミドルウェアは、前記データベースサーバ側ミドルウェアのデータベースサーバ側送受信手段との間でデータの送受信を行うアプリケーションサーバ側送受信手段と、唯一のトークンを取得したアプリケーションサーバのみにデータ処理要求の処理の許可が与えられるものとして、前記トークンの取得に関して他のアプリケーションサーバと交渉する許可申請交渉手段と、該許可申請交渉手段へデータ処理要求の処理の許可を申請する許可申請手段と、前記許可申請交渉手段から前記データ処理要求の処理の許可の申請に対する許可の通知を受け付ける許可受付手段と、前記許可申請交渉手段へ前記データ処理要求の投入の完了を通知する完了通知手段と、自アプリケーションサーバの前記アプリケーションプログラムから発行された前記データ処理要求を取得し、該取得した前記データ処理要求の処理の許可を前記許可申請手段を通じて前記許可申請交渉手段へ申請し、該申請に対する処理の許可を前記許可受付手段で受け付けたとき、前記データ処理要求を多重化して前記複数のデータベースサーバの前記データベースサーバ側ミドルウェアへ前記アプリケーションサーバ側送受信手段を通じて送出し、該多重化した全ての前記データ処理要求に対する到達応答を前記アプリケーションサーバ側送受信手段を通じて前記データベースサーバ側ミドルウェアから受信したときに前記データ処理要求の投入の完了を前記完了通知手段を通じて前記許可申請交渉手段へ通知して前記トークンを開放させ、前記データ処理要求に対する処理結果の応答を前記アプリケーションサーバ側送受信手段を通じて前記データベースサーバ側ミドルウェアから受信したときに当該処理結果の応答を自アプリケーションサーバの前記アプリケーションプログラムに返却する制御手段とを備え、
    前記データベースサーバ側ミドルウェアは、データベースサーバ側送受信手段と、データベースサーバ側送受信手段を通じて前記アプリケーションサーバ側ミドルウェアから受信した前記データ処理要求を前記DBMSへのデータ処理要求に変換し、前記DBMSからの前記データ処理要求に対する処理結果の応答を前記アプリケーションプログラムへの応答に変換して前記データベースサーバ側送受信手段を通じて前記アプリケーションサーバ側ミドルウェアに返すDB接続手段とを備え、
    前記データベースサーバ側送受信手段は、前記アプリケーションサーバ側ミドルウェアから前記データ処理要求を受信したときに当該データ処理要求を受信した旨を示す応答を前記到達応答として前記アプリケーションサーバ側ミドルウェアに送信すると共に当該データ処理要求を前記DB接続手段に渡し、前記DB接続手段から前記データ処理要求にかかる前記アプリケーションプログラムへの処理結果の応答を受け取ったときに、当該処理結果の応答を前記アプリケーションサーバ側ミドルウェアに送信し、
    前記許可申請交渉手段は、処理の許可を通知したデータ処理要求の投入の完了通知が受け付けられるまで、他のデータ処理要求の処理に対して許可を与えない
    ことを特徴とするデータ複製システム。
  4. 順序制御サーバと1以上のアプリケーションサーバと複数のデータベースサーバとを備え、前記データベースサーバがストレージと該ストレージのデータを管理するDBMSとデータベースサーバ側ミドルウェアとを備え、前記アプリケーションサーバがアプリケーションプログラムとアプリケーションサーバ側ミドルウェアとを備えた計算機システムが実行するデータ複製方法であって、
    前記アプリケーションサーバの前記アプリケーションサーバ側ミドルウェアが、自アプリケーションサーバの前記アプリケーションプログラムから発行されたデータ処理要求を取得し、
    前記アプリケーションサーバの前記アプリケーションサーバ側ミドルウェアが、前記順序制御サーバへ前記データ処理要求の処理の許可を申請し、
    前記順序制御サーバが、他に許可中の申請が無ければ速やかに前記申請に対し許可を与え、他に許可中の申請があれば当該許可中の申請にかかるデータ処理要求の投入の完了通知を受信した後に前記申請に対して許可を与え、
    前記アプリケーションサーバの前記アプリケーションサーバ側ミドルウェアが、前記データ処理要求を多重化して前記複数のデータベースサーバの前記データベースサーバ側ミドルウェアへ送出し、
    前記データベースサーバの前記データベースサーバ側ミドルウェアが、受信した前記データ処理要求を自データベースサーバのDBMSへ送出すると共に前記データ処理要求を受信した旨を示す到達応答を前記アプリケーションサーバの前記アプリケーションサーバ側ミドルウェアに返し、
    前記データベースサーバの前記DBMSが前記データ処理要求に応じて前記ストレージのデータを処理して処理結果の応答を自データベースサーバの前記データベースサーバ側ミドルウェアを通じて前記アプリケーションサーバの前記アプリケーションサーバ側ミドルウェアに返し、
    前記アプリケーションサーバの前記アプリケーションサーバ側ミドルウェアが、自アプリケーションサーバの前記アプリケーションプログラムに前記処理結果の応答を返すとともに、多重化した全ての前記データ処理要求に対する前記到達応答が返ってきたときに前記データ処理要求の投入の完了を前記順序制御サーバへ通知する
    ことを特徴とするデータ複製方法。
  5. 順序制御サーバと1以上のアプリケーションサーバと複数のデータベースサーバとデータ処理要求制御サーバとを備え、前記データベースサーバがストレージと該ストレージのデータを管理するDBMSとデータベースサーバ側ミドルウェアとを備え、前記アプリケーションサーバがアプリケーションプログラムとアプリケーションサーバ側ミドルウェアとを備えた計算機システムが実行するデータ複製方法であって、
    前記アプリケーションサーバの前記アプリケーションサーバ側ミドルウェアが、自アプリケーションサーバの前記アプリケーションプログラムが発行するデータ処理要求を前記データ処理要求制御サーバへ送信し、
    前記データ処理要求制御サーバが、前記順序制御サーバへ前記データ処理要求の処理の許可を申請し、
    前記順序制御サーバが、他に許可中の申請が無ければ速やかに前記申請に対し許可を与え、他に許可中の申請があれば当該許可中の申請にかかるデータ処理要求の投入の完了通知を受信した後に前記申請に対して許可を与え、
    前記データ処理要求制御サーバが、前記データ処理要求を多重化して前記複数のデータベースサーバの前記データベースサーバ側ミドルウェアへ送出し、
    前記データベースサーバの前記データベースサーバ側ミドルウェアが、受信した前記データ処理要求を自データベースサーバのDBMSへ送出すると共に前記データ処理要求を受信した旨を示す到達応答を前記データ処理要求制御サーバに返し、
    前記データベースサーバの前記DBMSが前記データ処理要求に応じて前記ストレージのデータを処理して処理結果の応答を前記データベースサーバの前記データベースサーバ側ミドルウェアを通じて前記データ処理要求制御サーバに返し、
    前記データ処理要求制御サーバが、前記処理結果の応答を前記アプリケーションサーバの前記アプリケーションサーバ側ミドルウェアを介して前記アプリケーションプログラムに返すとともに、多重化した全ての前記データ処理要求に対する前記到達応答が返ってきたときに前記データ処理要求の投入の完了を前記順序制御サーバへ通知する
    ことを特徴とするデータ複製方法。
  6. 1以上のアプリケーションサーバと複数のデータベースサーバとを備え、前記データベースサーバがストレージと該ストレージのデータを管理するDBMSとデータベースサーバ側ミドルウェアとを備え、前記アプリケーションサーバがアプリケーションプログラムとアプリケーションサーバ側ミドルウェアとを備えた計算機システムが実行するデータ複製方法であって、
    前記アプリケーションサーバの前記アプリケーションサーバ側ミドルウェアが、自アプリケーションサーバから発行されたデータ処理要求を取得し、
    前記アプリケーションサーバの前記アプリケーションサーバ側ミドルウェアが、唯一のトークンを取得したアプリケーションサーバのみにデータ処理要求の処理の許可が与えられるものとして、前記トークンの取得に関して他のアプリケーションサーバと交渉し、
    前記アプリケーションサーバの前記アプリケーションサーバ側ミドルウェアが、前記データ処理要求の処理の許可を得たときに、前記データ処理要求を多重化して前記複数のデータベースサーバの前記データベースサーバ側ミドルウェアへ送出し、
    前記データベースサーバの前記データベースサーバ側ミドルウェアが、受信した前記データ処理要求を自データベースサーバのDBMSへ送出すると共に前記データ処理要求を受信した旨を示す到達応答を前記アプリケーションサーバの前記アプリケーションサーバ側ミドルウェアに返し、
    前記データベースサーバの前記DBMSが前記データ処理要求に応じて前記ストレージのデータを処理して処理結果の応答を前記データベースサーバの前記データベースサーバ側ミドルウェアを通じて前記アプリケーションサーバの前記アプリケーションサーバ側ミドルウェアに返し、
    前記アプリケーションサーバの前記アプリケーションサーバ側ミドルウェアが、自アプリケーションサーバの前記アプリケーションプログラムに前記処理結果の応答を返すとともに、多重化した全ての前記データ処理要求に対する前記到達応答が返ってきたときに前記トークンを開放する
    ことを特徴とするデータ複製方法。
  7. アプリケーションプログラムとアプリケーションサーバ側ミドルウェアとを備え、データ処理要求の処理順序を制御する順序制御サーバ、およびそれぞれがストレージと該ストレージのデータを管理するDBMSとデータベースサーバ側ミドルウェアとを備える複数のデータベースサーバに接続されたアプリケーションサーバ装置であって、
    前記アプリケーションサーバ側ミドルウェアは、前記データベースサーバ側ミドルウェアのデータベースサーバ側送受信手段との間でデータの送受信を行うアプリケーションサーバ側送受信手段と、前記順序制御サーバへデータ処理要求の処理の許可を申請する許可申請手段と、前記順序制御サーバから前記データ処理要求の処理の許可の申請に対する許可の通知を受け付ける許可受付手段と、前記順序制御サーバへ前記データ処理要求の投入の完了を通知する完了通知手段と、自アプリケーションサーバの前記アプリケーションプログラムから発行された前記データ処理要求を取得し、該取得した前記データ処理要求の処理の許可を前記許可申請手段を通じて前記順序制御サーバへ申請し、該申請に対する処理の許可を前記許可受付手段で受け付けたとき、前記データ処理要求を多重化して前記複数のデータベースサーバの前記データベースサーバ側ミドルウェアへ前記アプリケーションサーバ側送受信手段を通じて送出し、該多重化した前記データ処理要求を送出した全ての前記データベースサーバ側ミドルウェアから当該データ処理要求を受信した時点で返される前記データ処理要求に対する到達応答を前記アプリケーションサーバ側送受信手段を通じて受信したときに前記データ処理要求の投入の完了を前記完了通知手段を通じて前記順序制御サーバへ通知し、前記データ処理要求を前記データベースサーバ側ミドルウェアを通じて受信した前記DBMSが前記データ処理要求に応じて前記ストレージのデータを処理した結果の応答を前記データベースサーバ側ミドルウェアおよび前記アプリケーションサーバ側送受信手段を通じて受信したときに当該応答を自アプリケーションサーバの前記アプリケーションプログラムに返却する制御手段とを備える
    ことを特徴とするアプリケーションサーバ装置。
  8. アプリケーションプログラムとアプリケーションサーバ側ミドルウェアとを備え、それぞれがストレージと該ストレージのデータを管理するDBMSとデータベースサーバ側ミドルウェアとを備える複数のデータベースサーバに接続されるアプリケーションサーバ装置であって、
    前記アプリケーションサーバ側ミドルウェアは、前記データベースサーバ側ミドルウェアとの間でデータの送受信を行うアプリケーションサーバ側送受信手段と、唯一のトークンを取得したアプリケーションサーバのみにデータ処理要求の処理の許可が与えられるものとして、前記トークンの取得に関して他のアプリケーションサーバと交渉する許可申請交渉手段と、該許可申請交渉手段へデータ処理要求の処理の許可を申請する許可申請手段と、前記許可申請交渉手段から前記データ処理要求の処理の許可の申請に対する許可の通知を受け付ける許可受付手段と、前記許可申請交渉手段へ前記データ処理要求の投入の完了を通知する完了通知手段と、自アプリケーションサーバの前記アプリケーションプログラムから発行された前記データ処理要求を取得し、該取得した前記データ処理要求の処理の許可を前記許可申請手段を通じて前記許可申請交渉手段へ申請し、該申請に対する処理の許可を前記許可受付手段で受け付けたとき、前記データ処理要求を多重化して前記複数のデータベースサーバの前記データベースサーバ側ミドルウェアへ前記アプリケーションサーバ側送受信手段を通じて送出し、該多重化した前記データ処理要求を送出した全ての前記データベースサーバ側ミドルウェアから当該データ処理要求を受信した時点で返される前記データ処理要求に対する到達応答を前記アプリケーションサーバ側送受信手段を通じて受信したときに前記データ処理要求の投入の完了を前記完了通知手段を通じて前記許可申請交渉手段へ通知して前記トークンを開放させ、前記データ処理要求を前記データベースサーバ側ミドルウェアを通じて受信した前記DBMSが前記データ処理要求に応じて前記ストレージのデータを処理した結果の応答を前記データベースサーバ側ミドルウェアおよび前記アプリケーションサーバ側送受信手段を通じて受信したときに当該応答を自アプリケーションサーバの前記アプリケーションプログラムに返却する制御手段とを備える
    ことを特徴とするアプリケーションサーバ装置。
  9. データ処理要求の処理順序を制御する順序制御サーバと、それぞれがアプリケーションプログラムとアプリケーションサーバ側ミドルウェアとを備えた複数のアプリケーションサーバと、それぞれがストレージと該ストレージのデータを管理するDBMSとデータベースサーバ側ミドルウェアとを備える複数のデータベースサーバとに接続されたデータ処理要求制御サーバ装置であって、
    前記アプリケーションサーバ側ミドルウェアとの間でデータの送受信を行う第1の送受信手段と、
    前記データベースサーバ側ミドルウェアとの間でデータの送受信を行う第2の送受信手段と、
    前記順序制御サーバへデータ処理要求の処理の許可を申請する許可申請手段と、
    前記順序制御サーバから前記データ処理要求の処理の許可の申請に対する許可の通知を受け付ける許可受付手段と、
    前記順序制御サーバへ前記データ処理要求の投入の完了を通知する完了通知手段と、
    前記第1の送受信手段で受信した前記アプリケーションプログラムが発行するデータ処理要求の処理の許可を前記許可申請手段を通じて前記順序制御サーバへ申請し、該申請に対する処理の許可を前記許可受付手段で受け付けたとき、前記データ処理要求を多重化して前記複数のデータベースサーバの前記データベースサーバ側ミドルウェアへ前記第2の送受信手段を通じて送出し、該多重化した前記データ処理要求を送出した全ての前記データベースサーバ側ミドルウェアから当該データ処理要求を受信した時点で返される前記データ処理要求に対する到達応答を前記アプリケーションサーバ側送受信手段を通じて受信したときに前記データ処理要求の投入の完了を前記完了通知手段を通じて前記順序制御サーバへ通知し、前記データ処理要求を前記データベースサーバ側ミドルウェアを通じて受信した前記DBMSが前記データ処理要求に応じて前記ストレージのデータを処理した結果の応答を前記データベースサーバ側ミドルウェアおよび前記アプリケーションサーバ側送受信手段を通じて受信したときに当該応答を前記第1の送受信手段を通じて前記アプリケーションサーバ側ミドルウェアに返却する制御手段と
    を備えることを特徴とするデータ処理要求制御サーバ装置。
  10. アプリケーションプログラムを備え、データ処理要求の処理順序を制御する順序制御サーバ、およびそれぞれがストレージと該ストレージのデータを管理するDBMSとデータベースサーバ側ミドルウェアとを備える複数のデータベースサーバに接続されたアプリケーションサーバ装置を構成するコンピュータを、
    前記データベースサーバ側ミドルウェアのデータベースサーバ側送受信手段との間でデータの送受信を行うアプリケーションサーバ側送受信手段と、
    前記順序制御サーバへデータ処理要求の処理の許可を申請する許可申請手段と、
    前記順序制御サーバから前記データ処理要求の処理の許可の申請に対する許可の通知を受け付ける許可受付手段と、
    前記順序制御サーバへ前記データ処理要求の投入の完了を通知する完了通知手段と、
    自アプリケーションサーバの前記アプリケーションプログラムから発行された前記データ処理要求を取得し、該取得した前記データ処理要求の処理の許可を前記許可申請手段を通じて前記順序制御サーバへ申請し、該申請に対する処理の許可を前記許可受付手段で受け付けたとき、前記データ処理要求を多重化して前記複数のデータベースサーバの前記データベースサーバ側ミドルウェアへ前記アプリケーションサーバ側送受信手段を通じて送出し、該多重化した前記データ処理要求を送出した全ての前記データベースサーバ側ミドルウェアから当該データ処理要求を受信した時点で返される前記データ処理要求に対する到達応答を前記アプリケーションサーバ側送受信手段を通じて受信したときに前記データ処理要求の投入の完了を前記完了通知手段を通じて前記順序制御サーバへ通知し、前記データ処理要求を前記データベースサーバ側ミドルウェアを通じて受信した前記DBMSが前記データ処理要求に応じて前記ストレージのデータを処理した結果の応答を前記データベースサーバ側ミドルウェアおよび前記アプリケーションサーバ側送受信手段を通じて受信したときに当該応答を自アプリケーションサーバの前記アプリケーションプログラムに返却する制御手段と
    して機能させるためのプログラム。
  11. アプリケーションプログラムを備え、それぞれがストレージと該ストレージのデータを管理するDBMSとデータベースサーバ側ミドルウェアとを備える複数のデータベースサーバに接続されるアプリケーションサーバ装置を構成するコンピュータを、
    前記データベースサーバ側ミドルウェアとの間でデータの送受信を行うアプリケーションサーバ側送受信手段と、
    唯一のトークンを取得したアプリケーションサーバのみにデータ処理要求の処理の許可が与えられるものとして、前記トークンの取得に関して他のアプリケーションサーバと交渉する許可申請交渉手段と、
    該許可申請交渉手段へデータ処理要求の処理の許可を申請する許可申請手段と、
    前記許可申請交渉手段から前記データ処理要求の処理の許可の申請に対する許可の通知を受け付ける許可受付手段と、
    前記許可申請交渉手段へ前記データ処理要求の投入の完了を通知する完了通知手段と、
    自アプリケーションサーバの前記アプリケーションプログラムから発行された前記データ処理要求を取得し、該取得した前記データ処理要求の処理の許可を前記許可申請手段を通じて前記許可申請交渉手段へ申請し、該申請に対する処理の許可を前記許可受付手段で受け付けたとき、前記データ処理要求を多重化して前記複数のデータベースサーバの前記データベースサーバ側ミドルウェアへ前記アプリケーションサーバ側送受信手段を通じて送出し、該多重化した前記データ処理要求を送出した全ての前記データベースサーバ側ミドルウェアから当該データ処理要求を受信した時点で返される前記データ処理要求に対する到達応答を前記アプリケーションサーバ側送受信手段を通じて受信したときに前記データ処理要求の投入の完了を前記完了通知手段を通じて前記許可申請交渉手段へ通知して前記トークンを開放させ、前記データ処理要求を前記データベースサーバ側ミドルウェアを通じて受信した前記DBMSが前記データ処理要求に応じて前記ストレージのデータを処理した結果の応答を前記データベースサーバ側ミドルウェアおよび前記アプリケーションサーバ側送受信手段を通じて受信したときに当該応答を自アプリケーションサーバの前記アプリケーションプログラムに返却する制御手段と
    して機能させるためのプログラム。
  12. データ処理要求の処理順序を制御する順序制御サーバと、それぞれがアプリケーションプログラムとアプリケーションサーバ側ミドルウェアとを備えた複数のアプリケーションサーバと、それぞれがストレージと該ストレージのデータを管理するDBMSとデータベースサーバ側ミドルウェアとを備える複数のデータベースサーバとに接続されたデータ処理要求制御サーバ装置を構成するコンピュータを、
    前記アプリケーションサーバ側ミドルウェアとの間でデータの送受信を行う第1の送受信手段と、
    前記データベースサーバ側ミドルウェアとの間でデータの送受信を行う第2の送受信手段と、
    前記順序制御サーバへデータ処理要求の処理の許可を申請する許可申請手段と、
    前記順序制御サーバから前記データ処理要求の処理の許可の申請に対する許可の通知を受け付ける許可受付手段と、
    前記順序制御サーバへ前記データ処理要求の投入の完了を通知する完了通知手段と、
    前記第1の送受信手段で受信した前記アプリケーションプログラムが発行するデータ処理要求の処理の許可を前記許可申請手段を通じて前記順序制御サーバへ申請し、該申請に対する処理の許可を前記許可受付手段で受け付けたとき、前記データ処理要求を多重化して前記複数のデータベースサーバの前記データベースサーバ側ミドルウェアへ前記第2の送受信手段を通じて送出し、該多重化した前記データ処理要求を送出した全ての前記データベースサーバ側ミドルウェアから当該データ処理要求を受信した時点で返される前記データ処理要求に対する到達応答を前記アプリケーションサーバ側送受信手段を通じて受信したときに前記データ処理要求の投入の完了を前記完了通知手段を通じて前記順序制御サーバへ通知し、前記データ処理要求を前記データベースサーバ側ミドルウェアを通じて受信した前記DBMSが前記データ処理要求に応じて前記ストレージのデータを処理した結果の応答を前記データベースサーバ側ミドルウェアおよび前記アプリケーションサーバ側送受信手段を通じて受信したときに当該応答を前記第1の送受信手段を通じて前記アプリケーションサーバ側ミドルウェアに返却する制御手段と
    して機能させるためのプログラム。
JP2006018713A 2006-01-27 2006-01-27 データ複製システムおよびデータ複製方法 Expired - Fee Related JP5050358B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006018713A JP5050358B2 (ja) 2006-01-27 2006-01-27 データ複製システムおよびデータ複製方法
US11/460,837 US7765197B2 (en) 2006-01-27 2006-07-28 System and method for producing data replica

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006018713A JP5050358B2 (ja) 2006-01-27 2006-01-27 データ複製システムおよびデータ複製方法

Publications (2)

Publication Number Publication Date
JP2007200086A JP2007200086A (ja) 2007-08-09
JP5050358B2 true JP5050358B2 (ja) 2012-10-17

Family

ID=38323306

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006018713A Expired - Fee Related JP5050358B2 (ja) 2006-01-27 2006-01-27 データ複製システムおよびデータ複製方法

Country Status (2)

Country Link
US (1) US7765197B2 (ja)
JP (1) JP5050358B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9836361B2 (en) 2013-03-13 2017-12-05 Nec Corporation Data replicating system, data replicating method, node device, management device and computer readable medium

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009048443A (ja) * 2007-08-21 2009-03-05 Hitachi Ltd 情報更新方法及び情報更新システム
JP5471023B2 (ja) * 2009-05-11 2014-04-16 日本電気株式会社 サーバ、サーバの制御方法、データ分散更新システム、及びデータ分散更新プログラム
US8527633B2 (en) 2011-01-06 2013-09-03 International Business Machines Corporation Techniques for addressing geographical location issues in computing environments
JP5776267B2 (ja) 2011-03-29 2015-09-09 日本電気株式会社 分散ファイルシステム
JP6357787B2 (ja) * 2014-02-07 2018-07-18 日本電気株式会社 データ処理装置
US9838332B1 (en) * 2015-06-30 2017-12-05 Spanning Cloud Apps Llc Dynamically meeting slas without provisioning static capacity

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60237551A (ja) 1984-05-10 1985-11-26 Matsushita Electric Ind Co Ltd 分散デ−タベ−ス同期制御方法
JPH0619756A (ja) 1992-06-29 1994-01-28 Toshiba Corp Ediフォーマット変換方法
JPH07162517A (ja) 1993-12-08 1995-06-23 Oki Electric Ind Co Ltd メッセージ再送制御方法
US5619644A (en) * 1995-09-18 1997-04-08 International Business Machines Corporation Software directed microcode state save for distributed storage controller
JPH09259024A (ja) 1996-03-19 1997-10-03 Nippon Telegr & Teleph Corp <Ntt> 複数hmi端末からの同時データベース変更制御方法及びシステム
JP3414218B2 (ja) * 1997-09-12 2003-06-09 株式会社日立製作所 記憶制御装置
US6088694A (en) * 1998-03-31 2000-07-11 International Business Machines Corporation Continuous availability and efficient backup for externally referenced objects
US7065538B2 (en) * 2000-02-11 2006-06-20 Quest Software, Inc. System and method for reconciling transactions between a replication system and a recovered database
JP4497691B2 (ja) 2000-09-27 2010-07-07 株式会社日立製作所 データベース管理方法及び管理システム
JP2003058404A (ja) * 2001-08-10 2003-02-28 Oki Electric Ind Co Ltd 分散データベースの同時実行制御システム
JP2003108423A (ja) 2001-09-27 2003-04-11 Sony Corp 情報処理システム、それを構成するクライアント装置および情報提供サーバ、並びに情報提供サーバの排他制御方法
JP2003167683A (ja) * 2001-11-30 2003-06-13 Hitachi Ltd 情報記憶システム及びその制御方法
JP3730907B2 (ja) 2001-12-04 2006-01-05 日本電気株式会社 ディスクアレイ装置間の遠隔データコピー方式
US6728898B2 (en) * 2002-03-06 2004-04-27 Marathon Technologies Corporation Producing a mirrored copy using incremental-divergence
US7370064B2 (en) * 2002-08-06 2008-05-06 Yousefi Zadeh Homayoun Database remote replication for back-end tier of multi-tier computer systems
JP2005165610A (ja) 2003-12-02 2005-06-23 Nomura Research Institute Ltd トランザクション処理システムおよび方法
JP4422519B2 (ja) 2004-03-18 2010-02-24 株式会社日立製作所 情報処理システム
JP4249719B2 (ja) * 2005-03-29 2009-04-08 株式会社日立製作所 バックアップシステム、プログラム及びバックアップ方法
JP2007200085A (ja) * 2006-01-27 2007-08-09 Nec Corp データ複製システムおよびデータ複製方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9836361B2 (en) 2013-03-13 2017-12-05 Nec Corporation Data replicating system, data replicating method, node device, management device and computer readable medium

Also Published As

Publication number Publication date
US7765197B2 (en) 2010-07-27
US20070179929A1 (en) 2007-08-02
JP2007200086A (ja) 2007-08-09

Similar Documents

Publication Publication Date Title
JP5050358B2 (ja) データ複製システムおよびデータ複製方法
US5649105A (en) Collaborative working in a network
CN111130835A (zh) 数据中心双活系统、切换方法、装置、设备及介质
CN101087314B (zh) 一种应用程序跨进程使用套接字服务的系统及方法
US8898191B2 (en) Method for providing connections for application processes to a database server
US8935707B2 (en) System and method for providing a messaging application program interface
JP2015537307A (ja) コンポーネント指向ハイブリッドクラウドオペレーティングシステムのアーキテクチャ及びその通信方法
US20140244578A1 (en) Highly available main memory database system, operating method and uses thereof
CN108063813B (zh) 一种集群环境下密码服务网络并行化的方法与系统
KR101480867B1 (ko) 맵리듀스 연산 가속 시스템 및 방법
CN100511206C (zh) 应用单处理器操作系统的并行处理系统中的处理器间通信系统
CN100499507C (zh) 一种容灾系统、方法和网络设备
CN101207517B (zh) 一种分布式企业服务总线节点可靠性维护方法
WO2015027901A1 (zh) 一种云服务系统及方法
CN109740381A (zh) 一种跨文件系统的权限控制方法、装置、设备及存储介质
CN101043378B (zh) 管理客户服务器通信的故障保险系统
CN105553682B (zh) 事件通知方法及用于事件通知的系统
CN106850269A (zh) 一种云平台的管理系统
CN103634411A (zh) 一种具有状态一致性的市场数据实时广播系统及方法
WO2017096942A1 (zh) 一种文件存储系统、数据调度方法及数据节点
CN108509297A (zh) 一种数据备份方法和系统
JP2007200085A (ja) データ複製システムおよびデータ複製方法
CN104219284A (zh) 基于半同步半异步和管道过滤器模式的服务器设计方法
CN105468643A (zh) 分布式文件系统的访问方法和系统
JP5317185B2 (ja) ホットスタンバイシステム及びホットスタンバイ方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081212

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20090805

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20090805

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110728

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110809

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110927

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120228

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120418

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

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

R150 Certificate of patent or registration of utility model

Ref document number: 5050358

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

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees