JP4844743B2 - データ多重化システム - Google Patents

データ多重化システム Download PDF

Info

Publication number
JP4844743B2
JP4844743B2 JP2006542419A JP2006542419A JP4844743B2 JP 4844743 B2 JP4844743 B2 JP 4844743B2 JP 2006542419 A JP2006542419 A JP 2006542419A JP 2006542419 A JP2006542419 A JP 2006542419A JP 4844743 B2 JP4844743 B2 JP 4844743B2
Authority
JP
Japan
Prior art keywords
dbms
operation information
data
application
backup
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
JP2006542419A
Other languages
English (en)
Other versions
JPWO2006049202A1 (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 JP2006542419A priority Critical patent/JP4844743B2/ja
Publication of JPWO2006049202A1 publication Critical patent/JPWO2006049202A1/ja
Application granted granted Critical
Publication of JP4844743B2 publication Critical patent/JP4844743B2/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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1479Generic software techniques for error detection or fault masking
    • G06F11/1482Generic software techniques for error detection or fault masking by means of middleware or OS functionality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2038Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant with a single idle spare processing component
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2097Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements maintaining the standby controller/processing unit updated
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2094Redundant storage or storage space

Description

本発明は、データベースのストレージに蓄積されたデータの消失に備えてデータを多重化(複製)しておくデータ多重化システム、データ多重化方法およびデータ多重化用プログラムに関する。
従来のこの種のデータ多重化システムの一例が特許文献1に記載されている。図1を参照すると、特許文献1に記載されたデータ多重化システムは、サービスを提供するアプリケーションプログラム(以下アプリケーション)1100と、アプリケーション1100の処理に必要なデータを管理するデータベースマネジメントシステム(以下DBMS)1200と、プライマリディスクアレイ装置1300と、バックアップディスクアレイ装置1400と、それらを結ぶ通信回線1500とから構成されている。
プライマリディスクアレイ装置1300は、データの入出力を一時的に記録するキャッシュ1301と、キャッシュされたデータをコピーし、バックアップディスクアレイ装置1400に転送する送信部1302と、データを実際に格納する記録部1303と、そしてこれらを制御する制御部1304とを備える。バックアップディスクアレイ装置1400は、データの入出力を一時的に記録するキャッシュ1401と、プライマリディスクアレイ装置1300から転送されたデータを受信し、キャッシュ1401にコピーする受信部1402と、データを実際に格納する記録部1403と、そしてこれらを制御する制御部1404とを備える。
このような構成を有する従来のデータ多重化システムは、次のように動作する。すなわち、アプリケーション1100がDBMS1200を介してプライマリディスクアレイ装置1300にデータを書き込む際、そのデータは、まずキャッシュ1301に書き込まれ、その後、記憶部1303に格納される。送信部1302はキャッシュ1301内のデータをコピーし、バックアップディスクアレイ装置1400に通信回線1500を介して転送する。バックアップディスクアレイ装置1400に転送されたデータは受信部1402が受信し、キャッシュ1401にコピーする。キャッシュ1401にコピーされたデータは記憶部1403に格納される。
このようにすることでプライマリディスクアレイ装置1300とバックアップディスクアレイ装置1400とに同一のデータを格納する。このようなデータ多重化システムは、一般にミラーリングシステムと呼ばれる。
しかしながら、ミラーリングにおいては、実際に更新したデータと同量のデータ(あるいはそれに正比例するデータ操作情報)を転送するため、転送するデータ量が多く、データの多重化に広帯域な通信回線1500が必要、あるいは時間がかかるという問題があった。
そこで、このような問題を解決するデータ多重化システムとして、特許文献2および特許文献3に見られるようなデータ多重化システムが知られている。図2を参照すると、特許文献2および特許文献3に記載されたデータ多重化システムは、プライマリシステム2100と、バックアップシステム2200と、それらを結ぶ通信回線2300とから構成されている。プライマリシステム2100は、サービスを提供するアプリケーション2110と、アプリケーションの処理に必要なデータを管理するプライマリDBMS2120と、データを実際に格納する記憶部2130とを備え、プライマリDBMS2120は、プライマリDBMS2120が行ったデータの操作情報を記録する操作ログ2121と、操作ログの内容をバックアップシステム2200に転送する送信部2122と、そしてこれらを制御する制御部2123とを備える。バックアップシステム2200は、データを管理するバックアップDBMS2220と、データを実際に格納する記憶部2230とを備え、バックアップDBMS2220は、プライマリシステム2100から転送された操作ログを受信する受信部2222と、そしてこれらを制御する制御部2223とを備える。
このような構成を有するデータ多重化システムは、次のように動作する。すなわち、プライマリシステム2100においてアプリケーション2110がプライマリDBMS2120を介して記憶部2130へデータを書き込む等の操作を行う際、その操作情報を操作ログ2121に格納する。送信部2122は、操作ログ2121に格納された操作情報を通信回線2300を介してバックアップシステム2200に転送する。バックアップシステム2200に転送された操作情報は受信部2222が受信する。バックアップDBMS2220は、受信した操作情報に従って、記憶部2230にデータを書き込む等の操作を行う。
このようにすることで、プライマリシステム2100の記憶部2130と、バックアップシステム2200の記憶部2230に同一のデータを格納する。このようなデータ多重化システムは、一般にレプリケーションシステムと呼ばれる。
レプリケーションにおいては、ストレージにおける「操作したデータ」そのものの情報ではなく、より高位の「データへの操作情報」という抽象化された、より少ない情報を転送することによって、狭い通信帯域でも短時間でデータの多重化が行える。
特開2003−167684号公報 特開2002−108681号公報 特開2000−47919号公報
上述したようにレプリケーションは狭い通信帯域の通信回線であってもデータ多重化が行えるという、ミラーリングにはない長所を有するが、以下のような問題点があった。
第1の問題点は、システム全体の性能が大きく低下するということである。その理由は、レプリケーションはDBMSが提供する機能であり、一般にDBMSは処理負荷が高く、システムにおいて最もボトルネックと成りやすい構成要素のため、さらにレプリケーション機能を実現する処理を行わせた場合、DBMSの処理性能が大きく低下するからである。一方、ミラーリングにおいては、DBMSに処理負荷がかかることは無いが、転送するデータ量が膨大なため、転送処理に時間がかかってしまう。
第2の問題点は、レプリケーション可能なDBMSが限定されるということである。その理由は、レプリケーション機能がDBMS毎に固有の機能であるため、レプリケーション機能に対応していないDBMSではレプリケーションを行うことができないからである。また、レプリケーションに対応しているDBMS同士でも、レプリケーションの方式(操作ログのフォーマット、転送プロトコル等)が異なるため、種類の異なるDBMS間でレプリケーションを行うことはできない。
『発明の目的』
本発明の目的は、システムの性能を低下させずデータの多重化ができるデータ多重化システムを提供することにある。
本発明の他の目的は、DBMSを限定することなくデータの多重化ができるデータ多重化システムを提供することにある。
本発明の第1のデータ多重化システムは、ストレージのデータを管理するDBMSと、標準規格のインタフェースを有し且つアプリケーションからのアクセスを前記DBMSへのアクセスに変換する機能を有するミドルウェアと、前記アプリケーションから前記ミドルウェアへ発行される前記DBMSへのデータの操作情報を取得する取得手段と、前記取得された操作情報がデータベースの更新に関する操作情報の場合、前記DBMSへのデータの操作情報を多重化するための処理を行う多重化手段と、を備えるアプリケーションサーバと、を備えることを特徴とする。
本発明の第2のデータ多重化システムは、第1のデータ多重化システムにおいて、前記多重化手段が、前記DBMSに対応するアプリケーションサーバが、前記操作情報を前記他のDBMSに対応するアプリケーションサーバへ送信する手段と、前記他のDBMSに対応するアプリケーションサーバが、受信した操作情報を前記他のDBMSに対応する操作情報に変換する変換手段と、を備えることを特徴とする。
本発明の第3のデータ多重化システムは、第のデータ多重化システムにおいて、前記変換手段が、DBMSに対応するアドレスの変換と、DBMSにアクセスするための認証情報の変換と、DBMSの操作情報の表現形式の変換と、データベーススキーマの変換の少なくとも一つを行うことを特徴とする。
本発明の第4のデータ多重化システムは、第のデータ多重化システムにおいて、前記変換手段は、DBMSに対応するアドレスと、DBMSにアクセスするための認証情報と、DBMSの操作情報の表現形式と、データベーススキーマの少なくとも一つについて変換対象の対応関係を示す変更情報を参照して、受信した操作情報を前記他のDBMSに対応する操作情報に変換することを特徴とする。
本発明の第5のデータ多重化システムは、第2乃至第4のデータ多重化システムにおいて、前記DBMSと前記他のDBMSとによる同じ操作についての応答情報を比較する検証手段と、該検証手段の検証結果を通知する通知手段とを備えることを特徴とする。
本発明の第6のデータ多重化システムは、第2乃至第5のデータ多重化システムにおいて、前記アプリケーションから前記ミドルウェアへ発行された操作情報に基づく前記DBMSによるストレージに対する操作は、前記操作情報に基づく前記他のDBMSによるストレージに対する操作の完了を確認してから行うものであることを特徴とする。
本発明の第7のデータ多重化システムは、第1のデータ多重化システムにおいて、前記取得手段で取得された前記DBMSへのデータの操作情報を前記ストレージとは異なるストレージに記録する記録手段を備えることを特徴とする。
本発明の第8のデータ多重化システムは、プライマリシステムとバックアップシステムが通信回線を介して接続されている計算機システムにおいて、プライマリシステムに、ストレージのデータを管理するDBMSと、標準規格のインタフェースを有し且つアプリケーションからのアクセスを前記DBMSへのアクセスに変換する機能を有するミドルウェアと、前記アプリケーションから前記ミドルウェアへ発行される前記DBMSへのデータの操作情報を取得する取得手段と、該取得手段で取得された前記DBMSへのデータの操作情報のうちバックアップシステムへ送信すべき操作情報を識別する識別手段と、該識別手段で識別された操作情報をバックアップシステムへ送信する送信手段とを備えるアプリケーションサーバとを備え、バックアップシステムに、他のストレージのデータを管理する他のDBMSと、前記送信手段により送信された操作情報を受信する受信手段と、該受信手段で受信された操作情報を前記他のDBMSへのデータの操作情報に適するように変更する変更手段と、該変更手段により変更された操作情報を再生し前記他のDBMSへ発行する再生手段とを備えるアプリケーションサーバとを備えることを特徴とする。
本発明の第9のデータ多重化システムは、プライマリシステムとバックアップシステムが通信回線を介して接続されている計算機システムにおいて、プライマリシステムに、ストレージのデータを管理するDBMSと、標準規格のインタフェースを有し且つアプリケーションからのアクセスを前記DBMSへのアクセスに変換する機能を有するミドルウェアと、前記アプリケーションから前記ミドルウェアへ発行される前記DBMSへのデータの操作情報を取得する取得手段と、該取得手段で取得された前記DBMSへのデータの操作情報のうちバックアップシステムへ送信すべき操作情報を識別する識別手段と、該識別手段で識別された操作情報をバックアップシステム側DBMSへのデータの操作情報に適するように変更する変更手段と、該変更手段により変更された操作情報をバックアップシステムへ送信する送信手段とを備えるアプリケーションサーバとを備え、バックアップシステムに、他のストレージのデータを管理する他のDBMSと、前記送信手段により送信された操作情報を受信する受信手段と、該受信手段で受信された操作情報を再生し前記他のDBMSへ発行する再生手段とを備えることを特徴とする。
本発明の第10のデータ多重化システムは、プライマリシステムとバックアップシステムが通信回線を介して接続されている計算機システムにおいて、プライマリシステムに、ストレージのデータを管理するDBMSと、標準規格のインタフェースを有し且つアプリケーションからのアクセスを前記DBMSへのアクセスに変換する機能を有するミドルウェアと、前記アプリケーションから前記ミドルウェアへ発行される前記DBMSへのデータの操作情報を取得する取得手段と、該取得手段で取得された前記DBMSへのデータの操作情報のうちバックアップシステムへ送信すべき操作情報を識別する識別手段と、該識別手段で識別された操作情報をバックアップシステム側DBMSへのデータの操作情報に適するように変更する変更手段と、該変更手段により変更された操作情報を再生し前記ミドルウェアを通じて前記バックアップシステムのストレージを管理する他のDBMSに発行する再生手段とを備えるアプリケーションサーバとを備えることを特徴とする。
本発明の第11のデータ多重化システムは、第8乃至第10のデータ多重化システムにおいて、プライマリシステムにおけるデータ操作の応答情報とバックアップシステムにおけるデータ操作の応答情報を比較する検証手段と、該検証手段の検証結果を通知する通知手段とを備えることを特徴とする。
本発明の第12の多重化システムは、プライマリシステムとバックアップシステムが通信回線を介して接続されている計算機システムにおいて、プライマリシステムに、ストレージのデータを管理するDBMSと、標準規格のインタフェースを有し且つアプリケーションからのアクセスを前記DBMSへのアクセスに変換する機能を有するミドルウェアと、前記アプリケーションから前記ミドルウェアへ発行される前記DBMSへのデータの操作情報を取得する取得手段と、該取得手段で取得された前記DBMSへのデータの操作情報のうちバックアップシステムへ送信すべき操作情報を識別する識別手段と、該識別手段で識別された操作情報をバックアップシステムへ送信する送信手段とを備えるアプリケーションサーバとを備え、バックアップシステムに、前記送信手段により送信された操作情報を受信する受信手段と、該受信手段で受信された操作情報を前記ストレージと異なる他のストレージに記録する記録手段とを備えることを特徴とする。
本発明の第13のデータ多重化システムは、第8乃至第12のデータ多重化システムにおいて、1つのプライマリシステムと複数のバックアップシステムとから構成され、複数のバックアップシステムが、1つのプライマリシステムのデータの複製をそれぞれ格納することを特徴とする。
本発明の第14のデータ多重化システムは、第8乃至第12のデータ多重化システムにおいて、複数のプライマリシステムと1つのバックアップシステムとから構成され、1つのバックアップシステムが、複数のプライマリシステムのデータの複製を集約して格納することを特徴とする。
本発明の第15のデータ多重化システムは、第8乃至第12のデータ多重化システムにおいて、複数のプライマリシステムと複数のバックアップシステムとから構成され、それぞれのバックアップシステムが、複数のプライマリシステムの何れか複数のデータの複製を集約して格納することを特徴とする。
本発明の第16のデータ多重化システムは、第8乃至第12のデータ多重化システムにおいて、1つのプライマリシステムと複数のバックアップシステムとから構成され、プライマリシステムの複製のデータをあるバックアップシステムが格納し、そのバックアップシステムの複製のデータをさらに別のバックアップシステムが格納する如く、連鎖的に複製のデータを格納することを特徴とする。
本発明の第1のアプリケーションサーバは、DBMSとのインタフェースを有するアプリケーションサーバであって、アプリケーションの処理に必要なデータベースの操作情報を前記DBMSに対して発行する手段と、前記発行された操作情報がデータベースの更新に関する操作情報の場合、他のDBMSとのインタフェースを有する他のアプリケーションサーバに当該操作情報を送信する手段と、前記他のアプリケーションサーバから前記他のDBMSに対する操作情報を受信した場合、前記他のDBMSに対する操作情報を、前記DMBSに対する操作情報に変換して前記DBMSに対して発行する手段と、を備えることを特徴とする。
本発明の第2のアプリケーションサーバは、DBMSとのインタフェースを有するアプリケーションサーバであって、アプリケーションの処理に必要なデータベースの操作情報を前記DBMSに対して発行する手段と、前記発行された操作情報がデータベースの更新に関する操作情報の場合、前記操作情報を、他のDBMSに対する操作情報に変換して他のDBMSに対して発行する手段と、を備えることを特徴とする。
本発明の第1のデータ多重化方法は、アプリケーションサーバに、標準規格のインタフェースを有し且つアプリケーションからのアクセスを前記DBMSへのアクセスに変換する機能を有するミドルウェアを設け、前記アプリケーションから前記ミドルウェアへ発行される前記DBMSへのデータの操作情報を取得手段により取得し、取得した操作情報がデータベースの更新に関する操作情報の場合、前記DBMSへのデータの操作情報を多重化するための処理を行うことを特徴とする。
本発明の第2のデータ多重化方法は、第1のデータ多重化方法において、前記DBMSへのデータの操作情報を多重化するための処理では、前記DBMSに対応するアプリケーションサーバが、前記操作情報を前記他のDBMSに対応するアプリケーションサーバへ送信し、前記他のDBMSに対応するアプリケーションサーバが、受信した操作情報を前記他のDBMSに対応する操作情報に変換することを特徴とする。
本発明の第のデータ多重化方法は、第1又は第2のデータ多重化方法において、前記DBMSと前記他のDBMSとによる同じ操作についての応答情報を検証手段により比較し、前記検証手段の検証結果を通知手段により通知することを特徴とする。
本発明の第のデータ多重化方法は、第乃至第のデータ多重化方法において、前記アプリケーションから前記ミドルウェアへ発行された操作情報に基づく前記DBMSによるストレージに対する操作は、前記操作情報に基づく前記他のDBMSによるストレージに対する操作の完了を確認してから行うことを特徴とする。
本発明の第のデータ多重化方法は、第1乃至第4のデータ多重化方法において、前記取得手段で取得された前記DBMSへのデータの操作情報を前記ストレージとは異なるストレージに記録手段により記録することを特徴とする。本発明の第6のデータ多重化方法は、DBMSとのインタフェースを有するアプリケーションサーバにおいて、アプリケーションの処理に必要な操作情報を前記DBMSに対して発行し、前記発行された操作情報がデータベースの更新に関する操作情報の場合、他のDBMSとのインタフェースを有する他のアプリケーションサーバに当該操作情報を送信し、前記アプリケーションサーバが前記他のアプリケーションサーバから前記他のDBMSに対する操作情報を受信した場合、受信した操作情報を、自サーバがインタフェースを有するDBMSに対する操作情報に変換して発行することを特徴とする。本発明の第7のデータ多重化方法は、DBMSとのインタフェースを有するアプリケーションサーバにおいて、アプリケーションの処理に必要な操作情報を前記DBMSに対して発行し、前記発行された操作情報がデータベースの更新に関する操作情報の場合、当該操作情報を他のDBMSに対する操作情報に変換し、変換された操作情報を前記他のDBMSに対して発行することを特徴とする。
本発明の第1のプライマリ計算機システムは、バックアップシステムと通信回線を介して接続されているプライマリ計算機システムにおいて、ストレージのデータを管理するDBMSと、標準規格のインタフェースを有し且つアプリケーションからのアクセスを前記DBMSへのアクセスに変換する機能を有するミドルウェアと、前記アプリケーションから前記ミドルウェアへ発行される前記DBMSへのデータの操作情報を取得する取得手段と、該取得手段で取得された前記DBMSへのデータの操作情報のうちバックアップシステムへ送信すべき操作情報を識別する識別手段と、該識別手段で識別された操作情報をバックアップシステムへ送信する送信手段とを備えるアプリケーションサーバと、を備えることを特徴とする。
本発明の第2のプライマリ計算機システムは、バックアップシステムに通信回線を介して接続されているプライマリ計算機システムにおいて、ストレージのデータを管理するDBMSと、標準規格のインタフェースを有し且つアプリケーションからのアクセスを前記DBMSへのアクセスに変換する機能を有するミドルウェアと、前記アプリケーションから前記ミドルウェアへ発行される前記DBMSへのデータの操作情報を取得する取得手段と、該取得手段で取得された前記DBMSへのデータの操作情報のうちバックアップシステムへ送信すべき操作情報を識別する識別手段と、該識別手段で識別された操作情報をバックアップシステム側DBMSへのデータの操作情報に適するように変更する変更手段と、該変更手段により変更された操作情報をバックアップシステムへ送信する送信手段とを備えるアプリケーションサーバと、を備えることを特徴とする。
本発明の第3のプライマリ計算機システムは、バックアップシステムに通信回線を介して接続されているプライマリ計算機システムにおいて、ストレージのデータを管理するDBMSと、標準規格のインタフェースを有し且つアプリケーションからのアクセスを前記DBMSへのアクセスに変換する機能を有するミドルウェアと、前記アプリケーションから前記ミドルウェアへ発行される前記DBMSへのデータの操作情報を取得する取得手段と、該取得手段で取得された前記DBMSへのデータの操作情報のうちバックアップシステムへ送信すべき操作情報を識別する識別手段と、該識別手段で識別された操作情報をバックアップシステム側DBMSへのデータの操作情報に適するように変更する変更手段と、該変更手段により変更された操作情報を再生し前記ミドルウェアを通じて前記バックアップシステムのストレージを管理する他のDBMSに発行する再生手段とを備えるアプリケーションサーバと、を備えることを特徴とする。
本発明の第4のプライマリ計算機システムは、第1乃至第3のプライマリ計算機システムにおいて、自システムにおけるデータ操作の応答情報とバックアップシステムにおけるデータ操作の応答情報を比較する検証手段と、該検証手段の検証結果を通知する通知手段とを備えることを特徴とする。
本発明の第1のバックアップ計算機システムは、プライマリシステムに通信回線を介して接続されているバックアップ計算機システムにおいて、バックアップのDBMSと、標準規格のインタフェースを有し且つアプリケーションからのアクセスをDBMSへのアクセスに変換する機能を有するミドルウェアへ前記アプリケーションから発行された前記DBMSへのデータの操作情報を前記プライマリシステムから受信する受信手段と、前記受信手段で受信された操作情報を前記前記バックアップのDBMSへのデータの操作情報に適するように変更する変更手段と、該変更手段により変更された操作情報を再生し前記バックアップのDBMSへ発行する再生手段とを備えるアプリケーションサーバと、を備えることを特徴とする。
本発明の第2のバックアップ計算機システムは、プライマリシステムに通信回線を介して接続されているバックアップ計算機システムにおいて、バックアップシステム側DBMSと、標準規格のインタフェースを有し且つアプリケーションからのアクセスをDBMSへのアクセスに変換する機能を有するミドルウェアへ前記アプリケーションから発行された前記DBMSへのデータの操作情報であってバックアップシステム側DBMSへのデータの操作情報に適するように変更された操作情報を前記プライマリシステムから受信する受信手段と、前記受信手段で受信された操作情報を再生し前記バックアップシステム側DBMSへ発行する再生手段とを備えるアプリケーションサーバと、を備えることを特徴とする。
本発明の第3のバックアップ計算機システムは、プライマリシステムに通信回線を介して接続されているバックアップ計算機システムにおいて、ストレージとバックアップシステム側DBMSとを備え、前記バックアップシステム側DBMSは、プライマリシステム側のアプリケーションサーバにおいて標準規格のインタフェースを有し且つアプリケーションからのアクセスをDBMSへのアクセスに変換する機能を有するミドルウェアへ前記アプリケーションから発行された前記DBMSへのデータの操作情報であってバックアップシステム側DBMSへのデータの操作情報に適するように変更され再生手段によって再生されて前記ミドルウェアを通じて発行された操作情報を受信し、前記ストレージのデータを管理するものであることを特徴とする。
本発明の第4のバックアップ計算機システムは、プライマリシステムに通信回線を介して接続されているバックアップ計算機システムにおいて、標準規格のインタフェースを有し且つアプリケーションからのアクセスをDBMSへのアクセスに変換する機能を有するアプリケーションサーバのミドルウェアへ前記アプリケーションサーバの前記アプリケーションから発行された前記DBMSへのデータの操作情報をプライマリシステムから受信する受信手段と、該受信手段で受信された操作情報をストレージに記録する記録手段とを備えることを特徴とする。
『作用』
本発明にあっては、標準規格のインタフェースを有し且つアプリケーションからのアクセスをDBMSへのアクセスに変換する機能を有するミドルウェアに対して、アプリケーションからDBMSへのデータの操作情報が発行されると、それが取得手段によって取得され、多重化に供される。つまり、典型的な構成にあっては、前記DBMSとは異なる他のDBMSに対して前記操作情報が適用され、他のDBSMで管理されるデータベースのデータがバックアップ元のDBSMで管理されるデータベースのデータと同じように操作される。
第1の効果は、システムの性能を低下させることなく、データの多重化ができることにある。その理由は、アプリケーションからミドルウェアへ発行されるDBMSへのデータの操作情報を多重化しており、この操作情報は抽象化されていてデータ量が少ないので、広帯域な通信回線を必要とせず短時間で行うことができ、またDBMSに処理負荷をかけないからである。
第2の効果は、DBMSを限定することなくデータの多重化ができることにある。その理由は、アプリケーションやDBMSを限定しない標準的なインタフェースを備えたミドルウェアをアプリケーションとDBMSとの間に設けてあり、アプリケーションからDBMSへ発行される操作情報がアプリケーション及びDBMSによらず同じになるためである。
従来のデータ多重化システムの構成を示すブロック図である。 従来のデータ多重化システムの別の構成を示すブロック図である。 本発明の第1の実施の形態の構成を示すブロック図である。 本発明の第1の実施の形態の動作を示す流れ図である。 本発明の第1の実施の形態における取得手段の説明図である。 本発明の第1の実施の形態の変形例である1対N構成を示すブロック図である。 本発明の第1の実施の形態の変形例であるN対1構成を示すブロック図である。 本発明の第1の実施の形態の変形例であるN対M構成を示すブロック図である。 本発明の第1の実施の形態の変形例である連鎖構成を示すブロック図である。 本発明の第1の実施の形態の変形例である相互構成を示すブロック図である。 本発明の第1の実施の形態の変形例である並列構成を示すブロック図である。 本発明の第2の実施の形態の構成を示すブロック図である。 本発明の第2の実施の形態の動作を示す流れ図である。 本発明の第3の実施の形態の構成を示すブロック図である。 本発明の第3の実施の形態の別の構成例を示すブロック図である。 本発明の第3の実施の形態の動作を示す流れ図である。 本発明の第4の実施の形態の構成を示すブロック図である。 本発明の第4の実施の形態の動作を示す流れ図である。
符号の説明
3100…プライマリシステム
3101…アプリケーションサーバ
3102…アプリケーション
3103…ミドルウェア
3104…DBアクセス手段
3105…取得手段
3106…識別手段
3107…識別情報格納部
3108…送信手段
3109…送信情報格納部
3121…データベースサーバ
3122…DBMS
3123…ストレージ
3200…バックアップシステム
3201…アプリケーションサーバ
3202…アプリケーション
3203…ミドルウェア
3204…DBアクセス手段
3205…再生手段
3206…変更手段
3207…変更情報格納部
3208…受信手段
3221…データベースサーバ
3222…DBMS
3223…ストレージ
3300…通信回線
[第1の実施の形態]
次に、本発明の第1の実施の形態について図面を参照して詳細に説明する。
『構成の説明』
図3を参照すると、本発明の第1の実施の形態は、プライマリシステム3100と、バックアップシステム3200と、それらを結ぶ通信回線3300とから構成されている。
プライマリシステム3100は、サービスを提供するアプリケーションサーバ3101と、このアプリケーションサーバ3101にデータを提供するデータベースサーバ3121とを備える。
データベースサーバ3121は、データを格納するストレージ3123と、このストレージ3123内のデータを管理するDBMS3122とを備える。
アプリケーションサーバ3101は、サービスを提供するアプリケーション3102と、ミドルウェア3103とを備える。ミドルウェア3103は、アプリケーションサーバ3101上で稼働するアプリケーション3102をはじめとする複数のアプリケーションプログラムに対し共通な機能を提供するプログラムである。本例の場合、ミドルウェア3103は、アプリケーション3102からのアクセスをデータベースサーバ3121のDBMS3122へのアクセスに変換し、その逆にDBMS3122からの応答をアプリケーション3102への応答に変換するDBアクセス手段3104を備える。DBアクセス手段3104におけるアプリケーション3102との間のインタフェースには、例えばJDBC(Java(登録商標) Database Connectivity)などの標準規格のインタフェースが使用される。他方、DBアクセス手段3104におけるDBMS3122との間のインタフェースは、当該DBMS3122固有のインタフェースが使用される。
またアプリケーションサーバ3101には、更に、データベースサーバ3121へのアクセスのためにアプリケーション3102からミドルウェア3103のDBアクセス手段3104に発行された操作情報を取得する取得手段3105と、この取得手段3105によって取得された操作情報のうちバックアップシステム3200へ送信すべき操作情報を識別する識別手段3106と、この識別に必要な情報を格納する識別情報格納部3107と、送信すべきと識別された操作情報をバックアップシステム3200に送信する送信手段3108と、送信先アドレスなど送信に必要な情報を格納する送信情報格納部3109とを備える。
バックアップシステム3200は、アプリケーションサーバ3101のバックアップであるアプリケーションサーバ3201と、データベースサーバ3121のバックアップであるデータベースサーバ3221とを備える。
データベースサーバ3221は、データを格納するストレージ3223と、このストレージ3223内のデータを管理するDBMS3222とを備える。ストレージ3223およびDBMS3222は、データベースサーバ3121のストレージ3123およびDBMS3122と全く同じものであっても良いし、ストレージ3123およびDBMS3122と異なる製造メーカ、異なる仕様のものであっても良い。
アプリケーションサーバ3201は、アプリケーションサーバ3101から送信された操作情報を受信する受信手段3208と、この受信手段3208で受信された操作情報は本来はデータベースサーバ3121のDBMS3122に対して送信されたものであり、これをデータベースサーバ3221のDBMS3222に対する操作情報とするために必要な変更情報を格納する変更情報格納部3207と、この変更情報格納部3207に格納された変更情報に基づいて受信手段3206で受信された操作情報を変更する変更手段3206と、アプリケーション3102と同様のアプリケーション3202およびDBアクセス手段3204を有するミドルウェア3203と、変更手段3206から必要に応じて変更された操作情報を受け取り、DBアクセス手段3204に発行する再生手段3205とを備える。
通信回線3300は、バス、シリアル、パラレル、LAN、無線LAN、インターネット、公衆回線などの任意の通信回線であり、また複数を組み合わせた多重化通信回線であっても良い。
『動作の説明』
次に、図3および図4のフローチャートを参照して、本実施の形態の動作について詳細に説明する。
まず、プライマリシステム3100において、アプリケーションサーバ3101のアプリケーション3102は、サービスを提供する際、必要に応じてミドルウェア3103のDBアクセス手段3104を介して、データベースサーバ3121のDBMS3122に接続し、処理に必要なデータの参照更新などを行う操作情報を発行する(ステップ401)。
DBMS3122は、アプリケーション3102から発行された操作情報に基づき、ストレージ3123に対し、格納されたデータの参照・更新などの操作を行い、その結果である応答情報を返す(ステップ402)。
アプリケーション3102は、DBMS3122からの応答情報を、DBアクセス手段3104を介して受け取る(ステップ403)。
ステップ401の実行の際、取得手段3105は、アプリケーション3102がDBMS3122に発行した操作情報を取得する(ステップ404)。ここで、アプリケーション3102およびDBMS3122は、通常処理どおり、DBアクセス手段3104にのみ、それぞれ接続しようとする。したがって、取得手段3105は、アプリケーション3102およびDBMS3122からのDBアクセス手段3104への接続を透過的にトラップすることで、操作情報を取得する。具体例を図5を参照して説明する。
取得手段3105がない場合、アプリケーション3102とDBアクセス手段3104とDBMS3122とは図5(1)に示されるようなインタフェース関係で相互に接続されている。図5(2)はいわゆるラッパによる取得手段3105の実現例であり、取得手段3105は、アプリケーション3102とはDBアクセス手段3104が有するAP-DBアクセス手段間インタフェースと同様のインタフェースで接続し、DBアクセス手段3104とはアプリケーション3102が有するAP-DBアクセス手段間インタフェースと同様のインタフェースで接続する。このため取得手段3105は、アプリケーション3102からはDBアクセス手段3104と同様に見え、DBアクセス手段3104からはアプリケーション3102と同様に見えるため、アプリケーション3102からのDBアクセス手段3104への接続を透過的にトラップすることができる。
図5(3)は、DBアクセス手段3104に取得手段3105の機能を持たせることで、アプリケーション3102およびDBMS3122からのDBアクセス手段3104への接続を透過的にトラップする例を示す。具体的には、ミドルウェア3103を構成するJDBCドライバなどに取得手段3105の機能が実装される。
また、取得手段3105による操作情報の取得は、DBアクセス手段3104を介しDBMS3122に接続する全てのアプリケーションに対し行っても良いし、特定のアプリケーションに対してのみ行っても良い。例えば、アプリケーション3102からDBMS3122への操作は、[接続認証(ユーザ・接続先)]→[操作(対象・操作)]というステップを踏むので、接続認証の際に特定のユーザあるいは特定の接続先(DBMS)で認証したアプリケーションからの操作情報のみを取得したり、操作において特定の対象(スキーマ)に対する操作を行うアプリケーションからの操作情報のみを取得する。この場合、ストレージ3123、3223全体ではデータは同じにならず、操作情報の多重化を行うアプリケーションに関するストレージ内データに関してデータが同一となる。これは、重要でないデータまで多重化する必要がないという理由に基づく変形例である。
再び図4を参照すると、識別手段3106は、識別情報格納部3107に格納された識別情報に基づき、取得手段3105が取得した操作情報のうち、バックアップシステム3200に送信する操作情報を識別する(ステップ405)。例えば、識別手段3106は、送信するデータ量をさらに減少させるために、更新操作のみを送信するようにし、参照操作は送信せず破棄する、などが考えられる。これは、アプリケーション3102から発行される操作情報がSQL文(文字列)を含む場合、更新操作であれば、「UPDATE」「INSERT」等の更新を意味する文字列(SQLコマンド)が含まれるため、それらのコマンドを識別情報として識別情報格納部3107に格納しておき、識別手段3106は、操作情報を解析し、識別情報に登録されたコマンド文字列が出現している操作情報のみバックアップシステム3200に送信する操作情報と識別することで可能である。
次に、送信手段3108は、識別手段3106が送信すべきものとして識別した操作情報を、送信情報格納部3109に格納された送信情報(例えばバックアップシステム3200のIPアドレス等)に基づき、通信回路3300を介してバックアップシステム3200に送信する(ステップ406)。
バックアップシステム3200において、アプリケーションサーバ3201の受信手段3208は、プライマリシステム3100から送信された操作情報を受信する(ステップ407)。
次に、変更手段3206は、受信手段3208が受信した操作情報を解析し、変更情報格納部3207に格納された変更情報に基づき、必要な箇所を変更する(ステップ408)。変更する場合の例としては、以下の(1)〜(4)のような場合が考えられる。
(1)DBMS3122とDBMS3222でアクセスするアドレスが異なっている場合
DBMS3122のIPアドレスを例えば192.168.0.1とすると、DBMS3122をアクセスするアプリケーション3102の発行する操作情報にはそのIPアドレスが含まれている。しかし、バックアップシステム側ではDBMS3222をアクセスするので、アドレスを変換する必要がある。そこで、DBMS3222のIPアドレスを192.168.0.2とすると、192.168.0.1と192.168.0.2の対応関係が変更情報格納部3207に格納されており、変更手段3206は、受信手段3208で取得された操作情報に含まれるIPアドレス192.168.0.1を192.168.0.2に変更する。
(2)認証情報が異なっている場合
アプリケーション3102がDBMS3122をアクセスする際のユーザ名/パスワードを例えばuser1/pass1とすると、DBMS3122をアクセスするアプリケーション3102の発行する操作情報にはそのような認証情報が含まれている。しかし、バックアップシステム側ではアプリケーション3202が操作情報を発行したかのようにみせる必要がある。そこで、アプリケーション3202がDBMS3222をアクセスする際のユーザ名/パスワードを例えばuser2/pass2とすると、user1/pass1とuser2/pass2の対応関係が変更情報格納部3207に格納されており、変更手段3206は、受信手段3208で取得された操作情報に含まれる認証情報user1/pass1をuser2/pass2に変更する。
(3)操作情報のバージョンが異なっている場合
DBMS3122とDBMS3222とで操作情報のバージョンが異なる場合、DBMS3122をアクセスするアプリケーション3102の発行する操作情報を、DBMS3222のバージョンの操作情報に変更する必要がある。例えば、DBMS3122では「DECODE(key,val1,res1,val2,res2,res3)」と表現される操作情報が、DBMS3222では「CASE WHEN key=val1 THEN res1 WHEN
key=val2 THEN res2 ELSE res3」と表現される場合、前者の表現形式の文法と後者の表現形式の文法との対応関係が変更情報格納部3207に格納されており、変更手段3207は、受信手段3208で取得された操作情報に含まれる前者の表現形式を後者の表現形式に変更する。
(4)異なるデータベーススキーマに適用したい場合
データベースサーバ3121側とデータベースサーバ3221側とでデータベースのテーブル名や構造が異なる場合、データベースサーバ3121をアクセスするアプリケーション3102の発行する操作情報を、データベースサーバ3221の該当する箇所がアクセスされるように操作情報を変更する必要がある。例えば、データベースサーバ3121側のテーブル名table1、レコード名recode1などが、データベースサーバ3221ではテーブル名table2、レコード名recode2などに対応する場合、その対応関係が変更情報格納部3207に格納されており、変更手段3207は、受信手段3208で取得された例えば「UPDATE table1 SET recode1 = x
WHERE key1 = y」という操作情報を、例えば「UPDATE table2 SET recode2 =
x WHERE key2 = y」という操作情報に変換する。
次に、再生手段3205は、変更手段3206が必要に応じて変更した操作情報を再生し、DBアクセス手段3204を介して、データベースサーバ3221のDBMS3222 に発行する(ステップ409)。再生手段3205とアプリケーション3202およびDBアクセス手段3204間のインタフェース関係は、図5(2)で説明した取得手段3105とアプリケーション3102およびDBアクセス手段3104間のインタフェース関係と同様になっている。従って、DBアクセス手段3204からは、再生手段3205から発行された操作情報がアプリケーション3202から発行された操作情報のようにみえる。
次に、DBMS3222は、再生手段3205が再生・発行した操作情報に基づき、ストレージ3223に対し、格納されたデータの更新などの操作を行い、その結果である応答情報を返す(ステップ410)。
最後に、再生手段3205は、DBMS3222からの応答情報を、DBアクセス手段3204を介して受け取り、これを破棄する(ステップ411)。
以上のようにバックアップシステム3200のストレージ3223のデータが、プライマリシステム3100のストレージ3123のデータと同様に操作されることにより、双方のストレージ3123、3223には、同一のデータが格納される。
そのため、プライマリシステム3100で障害が発生し、ストレージ3123に格納されたデータが失われても、バックアップシステム3200のストレージ3223に同様のデータが格納されているため、このデータからストレージ3123のデータを復元し、サービスを継続することができる。
あるいは、プライマリシステム3100のアプリケーション3102がバックアップシステム3200のストレージ3223のデータを参照するように操作情報、応答情報の経路を制御することで、サービスを継続することができる。
あるいは、災害(ディザスタ)等でプライマリシステム3100全体が使用不能となった場合は、アプリケーション3202を起動し、バックアップシステム3200のみでサービスを継続することができる。
次に、本実施の形態の効果について説明する。
通信回線3300に広帯域を必要としない。その理由は、本実施の形態では、プライマリシステム3100のアプリケーションサーバ3101で動作するアプリケーション3102から発行される操作情報によってデータベースサーバ3121のストレージデータを操作すると同時に、その操作情報をバックアップシステム3200に転送し、バックアップシステム3200側のストレージデータを同じように操作することで、データの多重化を実現しており、プライマリシステム3100からバックアップシステム3200へ転送される操作情報によるデータ量は、図2で説明したレプリケーション方式と同程度で、図1で説明したミラーリングによる転送データ量より少なくなるためである。
DBMSの処理に負荷をかけずにデータ多重化が行える。その理由は、図2で説明したレプリケーション方式のようにDBMSがデータ多重化処理に深く関与することがないためである。
負荷分散のための多重実行が容易である。その理由は、アプリケーションサーバ3101はデータベースサーバ3121と異なり、負荷分散のための多重実行が容易だからである。これにより、システムの性能を低下させることなく、データの多重化を行うことができる。
アプリケーション毎やDBMS毎にアドホックな機能を作り込むことなく、異なるDBMS間、たとえレプリケーション機能に対応していないDBMS間においても、データの多重化を行うことができる。その理由は、アプリケーションやDBMSを限定しない標準的なインタフェースを備えたミドルウェア3103のDBアクセス手段3104をアプリケーションとDBMSとの間に設けてあり、アプリケーションからDBMSへ発行される操作情報が、アプリケーション及びDBMSによらず同じになるためである。
なお、本実施の形態では、ステップ402〜403は、ステップ404〜411と独立に行われる。つまり、いわゆる非同期多重のため、プライマリシステム3100においてストレージ3123へのデータ操作が行われていても、バックアップシステム3200においてストレージ3223へのデータ操作が行われていない状態がありえる。そのため、障害発生直前のデータおよびデータ操作情報は失われる可能性がある。そこで、ステップ402〜403を、ステップ411を待ってから行う、つまりバックアップシステム3200においてストレージ3223へのデータ操作の完了を確認してから、プライマリシステム3100においてストレージ3123へのデータ操作を行う、いわゆる同期多重を行っても構わない。
また、本実施の形態では、プライマリシステム1つに対し、バックアップシステム1つという1対1構成を採用したが、これ以外の構成も考えられる。構成の幾つかの変形例を以下に示す。なお、以下の変形例は一例であり、これらに限定するものではない。
1)変形例1(1対N構成)
本変形例の概要を図6に示す。図6を参照すると、本変形例は、1つのプライマリシステム510と、複数のバックアップシステム520-1、520-2、・・・、520-nとから構成される。複数のバックアップシステム520-1、520-2、・・・、520-nのストレージ521-1、521-2、・・・、521-nは、すべてプライマリシステム510のストレージ511と同じデータを格納する。
本変形例は、プライマリシステム510の送信手段412(図3の送信手段3108に相当)が、複数のバックアップシステム520-1、520-2、・・・、520-nにそれぞれ操作情報を送信することによって実現できる。各バックアップシステム520-1、520-2、・・・、520-nの送信先アドレス等は、図3の送信情報格納部3109に相当する部分に格納されている。
本変形例においては、バックアップシステムが複数存在するため、プライマリシステム510を含め複数のバックアップシステムで同時に障害が発生しても、残ったバックアップシステムのデータを用いて復旧ができる。
2)変形例2(N対1構成)
本変形例の概要を図7に示す。図7を参照すると、本変形例は、複数のプライマリシステム610-1、610-2、・・・、610-nと、1つのバックアップシステム620とから構成される。
複数のプライマリシステム610-1、610-2、・・・、610-nのストレージ611-1、611-2、・・・、611-nのデータは、バックアップシステム620のストレージ621に集約して複製される。
本変形例は、バックアップシステム620の変更手段622(図3の変更手段3206に相当)が、複数のプライマリシステム610-1、610-2、・・・、610-nから送信される操作情報を、それぞれストレージ611の異なる領域、つまりDBMSレイヤで異なるスキーマに適用するように変更することによって実現できる。このような変更は、図3の変更情報格納部3207に相当する部分に各プライマリシステム610-1、610-2、・・・、610-nを特定するための情報(例えばIPアドレス)に対応して図3の実施の形態で説明したような変更情報を格納しておき、変更手段622が操作情報の送信元のプライマリシステムに対応する変更情報に基づいて操作情報を変更することで可能である。
なお、本変形例では、バックアップシステム620において変更手段622が操作情報の変更を行っているが、負荷分散のために、プライマリシステム610-1、610-2、・・・、610-nがそれぞれ変更手段を備え、事前に操作情報を変更してから、バックアップシステム620に送信するようにしても構わない。
本変形例は、プライマリシステムの数だけバックアップシステムを用意する必要が無いので、システム構築のコストを軽減できる。
3)変形例3(N対M構成)
本変形例の概要を図8に示す。図8を参照すると、本変形例は、複数のプライマリシステム710-1、710-2、・・・、710-nと、複数のバックアップシステム720-1、720-2、・・・、720-mとから構成される。
本変形例は、プライマリシステム710-1、710-2、・・・、710-nの送信手段712-1、712-2、・・・、712-n(図3の送信手段3108に相当)が、それぞれ複数のバックアップシステム720-1、720-2、・・・、720-mの何れか複数に操作情報を送信し、バックアップシステム720-1、720-2、・・・、720-mの変更手段722-1、722-2、・・・、722-m(図3の変更手段3206に相当)はそれぞれ、複数のプライマリシステムから受信した操作情報を、それぞれストレージ721-1、721-2、・・・、721-mの異なる領域、つまりDBMSレイヤで異なるスキーマに適用するように変更することによって実現できる。
各プライマリシステム710-1、710-2、・・・、710-nの送信情報格納部(図3の送信情報格納部3109に相当)には、操作情報を送信すべき複数のバックアップシステムの送信先アドレス等が格納されており、送信手段712-1、712-2、・・・、712-nはそれを参照して送信を行う。また、図3の変更情報格納部3207に相当する部分に各プライマリシステム610-1、610-2、・・・、610-nを特定するための情報(例えばIPアドレス)に対応して図3の実施の形態で説明したような変更情報が格納されており、変更手段722-1、722-2、・・・、722-mは操作情報の送信元のプライマリシステムに対応する変更情報に基づいて操作情報を変更する。
本変形例は、1対N構成のように複数のバックアップシステムが存在するため耐障害性が高く、N対1構成のようにデータを集約して複製するためバックアップシステムの数を少なくすることでシステム構築のコストを軽減できる。
4)変形例4(連鎖構成)
図9を参照すると、本変形例は、1つのプライマリシステム810と、このプライマリシステム810に縦列接続された少なくとも2つ以上のバックアップシステム820-1、820-2、・・・、820-nとから構成される。
複数のバックアップシステム820-1、820-2、・・・、820-nのストレージ821-1、821-2、・・・、821-nは、すべてプライマリシステム810のストレージ811と同じデータを格納する。
本変形例は、バックアップシステム820-1、820-2、・・・、820-nが、通信手段として図3の受信手段3208に相当する受信手段823-1、823-2、・・・、823-nだけでなく、この受信手段で受信した操作情報を後段のバックアップシステムへ送信する送信手段822-1、822-2・・・822-nを備え、まず、プライマリシステム810が操作情報をバックアップシステム820-1に送信し、次にバックアップシステム820-1が受信した操作情報をバックアップシステム820-2に送信し、次にバックアップシステム820-2が受信した操作情報をバックアップシステム820-3に送信し・・・と連鎖的に送受信を行うことによって実現できる。
本変形例は、1対N構成のように複数のバックアップシステムが存在するため耐障害性が高く、また、各システムは常に1つのバックアップシステムに対してのみ送受信を行うため、1つのシステムに負荷が集中することを避けることができる。
5)変形例5(相互構成)
本変形例の概要を図10に示す。図10を参照すると、本変形例は、システムA910、システムB920とから構成される。
アプリケーションA911に注目した場合、システムA910がプライマリシステムで、システムB920がバックアップシステムとなる。また、アプリケーションB921に注目した場合、システムB920がプライマリシステムで、システムA910がバックアップシステムとなる。
すなわちシステムA910ではアプリケーションA911がストレージ913に格納されたデータA914を用いて動作する。アプリケーションA911が発行した操作情報は、システムB920に送信され、システムB920は受信した操作情報に従い、ストレージ923にデータA914の複製であるデータA925を格納する。
一方、システムB920ではアプリケーションB921がストレージ923に格納されたデータB924を用いて動作する。アプリケーションB921が発行した操作情報は、システムA910に送信され、システムA910は受信した操作情報に従い、ストレージ913にデータB924の複製であるデータB915を格納する。
本変形例は、以上のように相互に相手をバックアップシステムとみなして動作することによって実現できる。本変形例は、バックアップシステムでもアプリケーションを動作させサービスを提供することで、システムを無駄なく活用することができる。なお、本構成は2個のシステムから構成されているが、それ以上でもかまわない。
6)変形例6(並列構成)
本変形例の概要を図11に示す。図11を参照すると、本変形例は、システムA1010、システムB1020から構成される。
2つのシステムは同格であり、互いにプライマリシステムでもあり、バックアップシステムでもある。すなわちシステムA1010ではアプリケーション1011がストレージ1013に格納されたデータ1014を用いて動作する。アプリケーション1011が発行した操作情報はシステムB1020に送信され、システムB1020は受信した操作情報に従い、ストレージ1023にデータ1014の複製であるデータ1024を格納する。
一方、システムB1020ではアプリケーション1021がストレージ1023に格納されたデータ1024を用いて動作する。アプリケーション1021が発行した操作情報はシステムA1010に送信され、システムA1010は受信した操作情報に従い、ストレージ1013にデータ1024の複製であるデータ1014を格納する。
さらにシステムA1010、システムB1020は、自分がデータを更新している間は、相手のデータ更新を許可しない、同期手段1012、1022を備える。
本変形例は、以上のように2つのシステムがデータを同期させるように並列に動作することによって実現できる。
本変形例は、バックアップシステムでもアプリケーションを動作させサービスを提供することで、システムを無駄なく活用することができ、また、アプリケーションの処理負荷を分散させることができる。
なお、本構成は2個のシステムから構成されているが、それ以上でもかまわない。
[第2の実施の形態]
次に、本発明の第2の実施の形態について図面を参照して詳細に説明する。
『構成の説明』
図12を参照すると、本実施の形態は、プライマリシステム11100と、バックアップシステム11200と、第1の実施の形態と同様の通信回線3300とから構成されている。
プライマリシステム11100は、サービスを提供するアプリケーションサーバ11101と、第1の実施の形態と同様のDBMS3122およびストレージ3123を含むデータベースサーバ3121とを備える。
アプリケーションサーバ11101は、第1の実施の形態におけるアプリケーションサーバ3101と同様の、アプリケーション3102と、DBアクセス手段3104を有するミドルウェア3103と、取得手段3105と、識別手段3106と、識別情報格納部3107とを備え、また第1の実施の形態におけるアプリケーションサーバ3201と同様の、変更手段3206と、変更情報格納部3207と、再生手段3205とを備える。
バックアップシステム11200は、第1の実施の形態と同様のDBMS3222およびストレージ3223を含むデータベースサーバ3221を備える。
『動作の説明』
次に、図12および図13のフローチャートを参照して、本実施の形態の動作について詳細に説明する。
図13のステップ1201〜1205で示される本実施の形態における、アプリケーション3102、DBMS3122、取得手段3105、識別手段3106の動作は、図4のステップ401〜405で示される第1の実施の形態における、アプリケーション3102、DBMS3122、取得手段3105、識別手段3106の動作と同一のため、説明は省略する。
変更手段3206は、識別手段3106が識別した操作情報を、変更情報3207に基づき、必要であれば変更し(ステップ1206)、再生手段3205に伝達する。
再生手段3205は、変更手段3206が必要に応じて変更した操作情報を、あたかもアプリケーション3102が発行した操作情報であるかのように再生し、DBアクセス手段3104を介して、バックアップシステム11200のデータベースサーバ3221のDBMS3222に発行する(ステップ1207)。再生された操作情報は、変更手段3206によって接続アドレスをDBMS3222に変更されているので、同じDBアクセス手段3104を経由しても、DBMS3122ではなく、DBMS3222に接続する。
次に、DBMS3222は、再生手段3205が再生・発行した操作情報に基づき、ストレージ3223に対し、格納されたデータの更新などの操作を行い、その結果である応答情報を返す(ステップ1208)。
最後に、再生手段3205は、DBMS3222からの応答情報を、DBアクセス手段3104を介して受け取り、これを破棄する(ステップ1209)。
この結果、プライマリシステム11100のストレージ3123と、バックアップシステム11200のストレージ3223には、同一のデータが格納される。
次に、本実施の形態の効果について説明する。
本実施の形態では、第1の実施の形態で得られる効果に加えて、バックアップシステムにアプリケーションサーバを必要としないため、システム構築のコストを軽減できる。
なお、本実施の形態では、ステップ1202〜1203は、ステップ1204〜1209と独立に行われる。つまり、いわゆる非同期多重のため、プライマリシステム11100においてストレージ3123へのデータ操作が行われていても、バックアップシステム11200においてストレージ3223へのデータ操作が行われていない状態がありえる。そのため、障害発生直前のデータおよびデータ操作情報は失われる可能性がある。そこで、ステップ1202〜1203を、ステップ1209を待ってから行う、つまりバックアップシステム11200においてストレージ3223へのデータ操作の完了を確認してから、プライマリシステム11100においてストレージ3123へのデータ操作を行う、いわゆる同期多重を行っても構わない。
また、本実施の形態においても、第1の実施の形態で述べた変形例1〜6と同様の変形が可能である。ただし、相互構成や並列構成の場合、バックアップシステム側にもアプリケーションサーバが必要である。
[第3の実施の形態]
次に、本発明の第3の実施の形態について図面を参照して詳細に説明する。
『構成の説明』
図14を参照すると、本実施の形態は、バックアップシステム3200の代わりに、バックアップシステム13200を備えている点で、第1の実施の形態と構成が異なり、その他の構成は同じである。
バックアップシステム13200は、操作情報を格納するストレージサーバ13201を備える。
ストレージサーバ13201は、プライマリシステム3100のアプリケーションサーバ3101から送信された操作情報を受信する受信手段13202と、受信した操作情報を記録する記録手段13203と、操作情報を格納するストレージ13204とを備える。
『動作の説明』
次に、図14および図16のフローチャートを参照して、本実施の形態の動作について詳細に説明する。
図16のステップ1401〜1406で示される本実施の形態における、アプリケーション3102、DBMS3122、取得手段3105、識別手段3106、送信手段3108の動作は、図4のステップ401〜406で示される第1の実施の形態における、アプリケーション3102、DBMS3122、取得手段3105、識別手段3106、送信手段3108の動作と同一のため、説明は省略する。
バックアップシステム13200において、ストレージサーバ13201の受信手段13202は、プライマリシステム3100から送信された操作情報を受信する(ステップ1407)。
記録手段13203は、受信手段13202が取得した操作情報を、ストレージ13204に格納する
(ステップ1408)。
この結果、ストレージ3123に格納されたデータそのものは多重化されないが、データを復元するのに必要な操作情報がストレージ13204に保存されているため、プライマリシステム3100で障害が発生し、ストレージ3123に格納されたデータが失われても、操作情報を再生しDBMS3122に再発行することで、データを復元することが可能である。ストレージ13204に保存された操作情報をDBMS3122に再発行する場合、可搬型であればストレージ3205をプライマリシステム3100に移動させて行う方法が考えられる。可搬型でないか、あるいは可搬型であっても、図15のような構成にすれば通信回線3300を通じてバックアップシステム13200から遠隔で行うことが可能である。以下、図15を参照して、本実施の形態におけるデータ復元時の動作例について、詳細に説明する。
まず、バックアップシステム13200において、記録管理手段13213は、ストレージ13204に格納された操作情報を読み出す。
次に、送受信手段13212は、記録管理手段13213が読み出した操作情報を、送信情報格納部13211に格納されたプライマリシステム13100の通信アドレスに基づき、プライマリシステム13100に送信する。
プライマリシステム13100において、アプリケーションサーバ13101の送受信手段13108は、バックアップシステム13200から送信された操作情報を受信し、取得・再生手段13105に伝達する。
次に、取得・再生手段13105は、送受信手段13018が受信した操作情報を、あたかもアプリケーション3102が発行した操作情報であるかのように再生し、DBアクセス手段3104を介して、データベースサーバ3121のDBMS3122に発行する。
DBMS3122は、取得・再生手段13105が再生・発行した操作情報に基づき、ストレージ3123に対し、格納されたデータの更新などの操作を行い、その結果である応答情報を返す。
最後に、取得・再生手段13105は、DBMS3122からの応答情報を、DBアクセス手段3104を介して受け取り、これを破棄する。
この結果、プライマリシステム13100のストレージ3123のデータは復旧される。
なお、図14、15の実施の形態では、ステップ1401〜1403は、ステップ1404〜1408と独立に行われる。つまり、いわゆる非同期多重のため、プライマリシステム13100においてストレージ3123へのデータ操作が行われていても、バックアップシステム13200において操作情報がストレージ13204に格納されていない状態がありえる。そのため、障害発生直前の操作情報は失われる可能性がある。そこで、ステップ1402〜1403を、ステップ1408を待ってから行う、つまりバックアップシステム13200においてストレージ13204への操作情報の記録の完了を確認してから、プライマリシステム3100,13100においてストレージ3123へのデータ操作を行う、いわゆる同期多重を行っても構わない。
また、本実施の形態においても、第1の実施の形態で述べた変形例1〜6と同様の変形が可能である。ただし、並列構成の場合、適用した場合には第1の実施の形態と同様になる。
また、データ操作開始から全ての操作情報を記録するのではなく、ミラーリング等の既存のデータ多重化技術を併用し、定期的にストレージ3123のバックアップを行い、それ以降ストレージ3123に対して行われた操作情報のみを差分として記録するようにしても構わない。
次に、本実施の形態の効果について説明する。
本実施の形態では、第1の実施の形態で得られる効果に加えて、バックアップシステムにDBMS等の構成要素を必要としないため、システム構築のコストを軽減できる。
また、操作情報を変更したり再生したり発行したりする必要が無いため、同期多重を行っても、システムの性能の低下を抑えることができる。
[第4の実施の形態]
次に、本発明の第4の実施の形態について図面を参照して詳細に説明する。
『構成の説明』
図17を参照すると、本発明の第4の実施の形態は、プライマリシステム15100と、バックアップシステム15200と、第1の実施の形態と同様の通信回線3300とから構成されている。
プライマリシステム15100は、サービスを提供するアプリケーションサーバ15101と、第1の実施の形態と同様のDBMS3122およびストレージ3123を含むデータベースサーバ3121とを備える。
アプリケーションサーバ15101は、取得手段3105の代わりに、アプリケーション3102から発行される操作情報と、それに対するDBMS3122からの応答情報の両方を取得する取得手段15105と、識別手段3106の代わりに、取得手段3105で取得された操作情報および応答情報のうち、バックアップシステム15200へ送信すべき操作情報および応答情報を識別する識別手段15106と、識別情報格納部3107の代わりに、操作情報の識別だけでなく、応答情報の識別にも必要な情報を格納する識別情報格納部15107と、送信手段3108の代わりに、送信・受信両方の機能を持つ送受信手段15108と、応答情報を比較検証する検証手段15110と、検証結果を通知する通知手段15111と、を備えている点で第1の実施の形態のアプリケーションサーバ3100と構成が異なり、その他の構成は同じである。
バックアップシステム15200は、アプリケーションサーバ15101のバックアップであるアプリケーションサーバ15201と、第1の実施の形態と同様のDBMS3222およびストレージ3223を含むデータベースサーバ3121とを備える。
アプリケーションサーバ15201は、再生手段3205の代わりに、変更手段3206が変更した操作情報の再生と、DBMS3222からの応答情報の取得を行う再生・取得手段15205と、受信手段3208の代わりに、送信・受信両方の機能を持つ送受信手段15208と、プライマリシステム15100の通信アドレス等の送信に必要な情報を格納する送信情報格納部15209と、再生・取得手段15205が取得した応答情報のうち、プライマリシステム15100に送信すべき応答情報を識別する識別手段15210と、その識別に必要な情報を格納する識別情報格納部15211と、を備えている点で第1の実施の形態のアプリケーションサーバ3201と構成が異なり、その他の構成は同じである。
『動作の説明』
次に、図17および図18のフローチャートを参照して、本実施の形態の動作について詳細に説明する。
図18のステップ1601〜1610で示される本実施の形態におけるアプリケーション3102、DBMS3122、取得手段15105、識別手段15106、送受信手段15108、送受信手段15208、変更手段3206、再生・取得手段15205、DBMS3222の動作は、図4のステップ401〜410で示される第1の実施の形態におけるアプリケーション3102、DBMS3122、取得手段3105、識別手段3106、送信手段3108、受信手段3208、変更手段3206、再生手段3205、DBMS3222の動作と同一のため、説明は省略する。
再生・取得手段15205は、DBMS3222からの応答情報を、DBアクセス手段3204を介して取得する(ステップ1611)。
次に、識別手段15210は、識別情報格納部15211に格納された識別情報基づき、再生・取得手段15205が取得した応答情報のうち、検証のためにプライマリシステム15100に送信する応答情報を識別する(ステップ1612)。例えば、送信するデータ量を減少させるために、操作の応答をコード化して送信するようにする、あるいは、一定回数おきに応答情報を送信するようする、などが考えられる。操作の応答をコード化して送信する例を以下に示す。
例えばJAVA(登録商標)におけるDBアクセスミドルウェアであるJDBCの場合、アプリケーションに返す応答はJAVA(登録商標)のオブジェクトであるが、このオブジェクトはサイズが大きいため、このオブジェクトを返すのではなく、その意味するところを単なるブーリアン値等に置き換えて、つまり操作成功なら真、失敗なら偽を返すようにする。具体的には、SQLを実行する操作であるStatement.executeQuery(SQL)は、成功ならResultSetオブジェクト、失敗ならSQLExceptionオブジェクトを返すため、ResultSetオブジェクトなら成功とみなして真、SQLExceptionオブジェクトなら失敗とみなして偽を送信する。この場合、どのオブジェクトなら真、偽かという対応表を識別情報として識別情報格納部15211に格納しておく。また、応答としてオブジェクトではなく、サイズの小さい単なる数値等(プリミティブ値)が返される場合もあるが、そのような応答はそのまま送信する。
次に、送受信手段15208は、識別手段15210が送信するように識別した応答情報を、送信情報格納部15209に格納されたプライマリシステム15100の通信アドレスに基づき、通信回路3300を介してプライマリシステム15100に送信する(ステップ1613)。
プライマリシステム15100において、送受信手段15108は、バックアップシステム15200から送信された応答情報を受信し(ステップ1614)、検証手段15110に伝達する。
また、プライマリシステム15100において、取得手段15105は、アプリケーション3102がDBMS3122の応答情報を受け取る(ステップ1603)際に、この応答情報を取得し(ステップ1615)、識別手段15106に伝達する。識別手段15106は、識別情報格納部15107に格納された識別情報に基づき、取得手段15105が取得した応答情報のうち、検証のために必要な応答情報を識別し(ステップ1616)、検証手段15110へ伝達する。識別方法は、ステップ1612と同様の方法を用いる。
次に、検証手段15110は、識別手段15106が識別したプライマリシステム15100の応答情報と、送受信手段15108が受信したバックアップシステム15200の応答情報とを比較し、検証する(ステップ1617)。
プライマリシステム15100の応答情報とバックアップシステム15200の応答情報とが一致すれば双方におけるデータ操作は成功し、データ多重化処理は正常に完了したとみなす。不一致であれば、データ多重化処理に異常が発生したとみなす。
最後に、通知手段15111は、検証の結果が異常であれば、通知を行う(ステップ1618)。通知先は、システム管理者や、この通知結果を用いて何らかの制御を行う手段、例えば該当するデータ操作を取り消し再試行する手段などが考えられる。また、異常が検出された場合にのみ結果を通知するだけでなく、検証の結果を常に通知しても構わない。
なお、本実施の形態では、ステップ1603は、ステップ1610〜1618と独立に行われる。そのため、異常を検出しても、それにかまわずアプリケーション3102の処理が進んでしまう。そこで、ステップ1603をステップ1610〜1618を待ってから行う、つまりデータ多重化処理が正常に完了したのを確認してから、アプリケーション3102に応答情報を返すようにしても構わない。
また、本実施の形態では、バックアップシステム15200からプライマリシステム15100に応答情報を送信し、検証を行っているが、検証手段をバックアップシステムに持たせ、プライマリシステム15100から応答情報もバックアップシステム15200に送信し、バックアップシステム15200で検証を行っても構わない。
あるいは通信回線300上の異なるシステム、あるいはそれら複数のシステム上で検証を行っても構わない。
特に1対N構成の場合などは、複数のバックアップシステムからの応答情報を単一のプライマリシステムで受信し、検証すると、一連の検証処理がボトルネックとなるため、負荷分散のためにバックアップシステムで検証を行ったほうが良い。
また、本実施の形態においても、第1の実施の形態で述べた変形例1〜6と同様の変形が可能である。
次に、本実施の形態の効果について説明する。
本実施の形態では、第1の実施の形態で得られる効果に加えて、DBMSの応答情報を比較し検証することで、データ操作の正常・異常を検知できるので、より確実にデータの多重化が行える。
以上本発明を実施するための最良の形態について説明したが、本発明は以上の実施の形態に限定されず、その他各種の付加変更が可能である。また、各実施の形態を組み合わせた形態も可能である。例えば、第4の実施の形態を1対N構成で用いて検証しながらデータの多重化を行うとともに、さらにN個のバックアップシステムに対し第3の実施の形態を連鎖構成で用いてデータの操作情報を記録しておく、といった形態等が考えられる。
また、本発明の各実施の形態におけるデータ多重化機能を実現する各構成要素は、その機能をハードウェア的に実現することはもちろん、コンピュータとプログラムとで実現することが出来る。プログラムは、磁気ディスクや半導体メモリ等のコンピュータ可読記録媒体に記録されて提供され、コンピュータの立ち上げ時などにコンピュータに読み取られ、そのコンピュータの動作を制御することにより、そのコンピュータを前述した各実施の形態における構成要素として機能させる。
本発明は、DBMSを用いてサービスを提供するシステムにおいて、高い信頼性を持つシステムの構築といった用途に適用できる。

Claims (41)

  1. ストレージのデータを管理するDBMSと、
    前記DBMSとアプリケーションとの間のインタフェースを有し且つ前記アプリケーションからのアクセスを前記DBMSへのアクセスに変換する機能を有するミドルウェアと、前記アプリケーションから前記ミドルウェアへ発行される前記DBMSへのデータの操作情報を取得する取得手段と、前記取得された操作情報がデータベースの更新に関する操作情報の場合、前記DBMSへのデータの操作情報を多重化するための処理を行う多重化手段と、を備えるアプリケーションサーバと、
    を備えることを特徴とするデータ多重化システム。
  2. 前記多重化手段は、
    前記DBMSに対応するアプリケーションサーバが、前記操作情報を前記他のDBMSに対応するアプリケーションサーバへ送信する手段と、
    前記他のDBMSに対応するアプリケーションサーバが、受信した操作情報を前記他のDBMSに対応する操作情報に変換する変換手段と、
    を備えることを特徴とする請求項1に記載のデータ多重化システム。
  3. 前記変換手段は、DBMSに対応するアドレスの変換と、DBMSにアクセスするための認証情報の変換と、DBMSの操作情報の表現形式の変換と、データベーススキーマの変換の少なくとも一つを行う
    ことを特徴とする請求項2に記載のデータ多重化システム。
  4. 前記変換手段は、DBMSに対応するアドレスと、DBMSにアクセスするための認証情報と、DBMSの操作情報の表現形式と、データベーススキーマの少なくとも一つについて変換対象の対応関係を示す変更情報を参照して、受信した操作情報を前記他のDBMSに対応する操作情報に変換する
    ことを特徴とする請求項3に記載のデータ多重化システム。
  5. 前記DBMSと前記他のDBMSとによる同じ操作についての応答情報を比較する検証手段と、該検証手段の検証結果を通知する通知手段とを備えることを特徴とする請求項2、3または4記載のデータ多重化システム。
  6. 前記アプリケーションから前記ミドルウェアへ発行された操作情報に基づく前記DBMSによるストレージに対する操作は、前記操作情報に基づく前記他のDBMSによるストレージに対する操作の完了を確認してから行うものであることを特徴とする請求項2、3、4または5記載のデータ多重化システム。
  7. 前記取得手段で取得された前記DBMSへのデータの操作情報を前記ストレージとは異なるストレージに記録する記録手段を備えることを特徴とする請求項1記載のデータ多重化システム。
  8. プライマリシステムとバックアップシステムが通信回線を介して接続されている計算機システムにおいて、
    プライマリシステムに、
    ストレージのデータを管理するDBMSと、
    前記DBMSとアプリケーションとの間のインタフェースを有し且つ前記アプリケーションからのアクセスを前記DBMSへのアクセスに変換する機能を有するミドルウェアと、前記アプリケーションから前記ミドルウェアへ発行される前記DBMSへのデータの操作情報を取得する取得手段と、該取得手段で取得された前記DBMSへのデータの操作情報のうちバックアップシステムへ送信すべき操作情報を識別する識別手段と、該識別手段で識別された操作情報をバックアップシステムへ送信する送信手段とを備えるアプリケーションサーバとを備え
    バックアップシステムに、
    他のストレージのデータを管理する他のDBMSと、
    前記送信手段により送信された操作情報を受信する受信手段と、該受信手段で受信された操作情報を前記他のDBMSへのデータの操作情報に適するように変更する変更手段と、該変更手段により変更された操作情報を再生し前記他のDBMSへ発行する再生手段とを備えるアプリケーションサーバとを備える
    ことを特徴とするデータ多重化システム。
  9. プライマリシステムとバックアップシステムが通信回線を介して接続されている計算機システムにおいて、
    プライマリシステムに、
    ストレージのデータを管理するDBMSと、
    前記DBMSとアプリケーションとの間のインタフェースを有し且つ前記アプリケーションからのアクセスを前記DBMSへのアクセスに変換する機能を有するミドルウェアと、前記アプリケーションから前記ミドルウェアへ発行される前記DBMSへのデータの操作情報を取得する取得手段と、該取得手段で取得された前記DBMSへのデータの操作情報のうちバックアップシステムへ送信すべき操作情報を識別する識別手段と、該識別手段で識別された操作情報をバックアップシステム側DBMSへのデータの操作情報に適するように変更する変更手段と、該変更手段により変更された操作情報をバックアップシステムへ送信する送信手段とを備えるアプリケーションサーバとを備え
    バックアップシステムに、
    他のストレージのデータを管理する他のDBMSと、前記送信手段により送信された操作情報を受信する受信手段と、該受信手段で受信された操作情報を再生し前記他のDBMSへ発行する再生手段とを備える
    ことを特徴とするデータ多重化システム。
  10. プライマリシステムとバックアップシステムが通信回線を介して接続されている計算機システムにおいて、
    プライマリシステムに、
    ストレージのデータを管理するDBMSと、
    前記DBMSとアプリケーションとの間のインタフェースを有し且つ前記アプリケーションからのアクセスを前記DBMSへのアクセスに変換する機能を有するミドルウェアと、前記アプリケーションから前記ミドルウェアへ発行される前記DBMSへのデータの操作情報を取得する取得手段と、該取得手段で取得された前記DBMSへのデータの操作情報のうちバックアップシステムへ送信すべき操作情報を識別する識別手段と、該識別手段で識別された操作情報をバックアップシステム側DBMSへのデータの操作情報に適するように変更する変更手段と、該変更手段により変更された操作情報を再生し前記ミドルウェアを通じて前記バックアップシステムのストレージを管理する他のDBMSに発行する再生手段とを備えるアプリケーションサーバとを備える
    ことを特徴とするデータ多重化システム。
  11. プライマリシステムにおけるデータ操作の応答情報とバックアップシステムにおけるデータ操作の応答情報を比較する検証手段と、該検証手段の検証結果を通知する通知手段とを備えることを特徴とする請求項8、9または10に記載のデータ多重化システム。
  12. プライマリシステムとバックアップシステムが通信回線を介して接続されている計算機システムにおいて、
    プライマリシステムに、
    ストレージのデータを管理するDBMSと、
    前記DBMSとアプリケーションとの間のインタフェースを有し且つ前記アプリケーションからのアクセスを前記DBMSへのアクセスに変換する機能を有するミドルウェアと、前記アプリケーションから前記ミドルウェアへ発行される前記DBMSへのデータの操作情報を取得する取得手段と、該取得手段で取得された前記DBMSへのデータの操作情報のうちバックアップシステムへ送信すべき操作情報を識別する識別手段と、該識別手段で識別された操作情報をバックアップシステムへ送信する送信手段とを備えるアプリケーションサーバとを備え
    バックアップシステムに、
    前記送信手段により送信された操作情報を受信する受信手段と、
    該受信手段で受信された操作情報を前記ストレージと異なる他のストレージに記録する記録手段とを備える
    ことを特徴とするデータ多重化システム。
  13. 1つのプライマリシステムと複数のバックアップシステムとから構成され、複数のバックアップシステムが、1つのプライマリシステムのデータの複製をそれぞれ格納することを特徴とする請求項8乃至12の何れか1項に記載のデータ多重化システム。
  14. 複数のプライマリシステムと1つのバックアップシステムとから構成され、1つのバックアップシステムが、複数のプライマリシステムのデータの複製を集約して格納することを特徴とする請求項8乃至12の何れか1項に記載のデータ多重化システム。
  15. 複数のプライマリシステムと複数のバックアップシステムとから構成され、それぞれのバックアップシステムが、複数のプライマリシステムの何れか複数のデータの複製を集約して格納することを特徴とする請求項8乃至12の何れか1項に記載のデータ多重化システム。
  16. 1つのプライマリシステムと複数のバックアップシステムとから構成され、プライマリシステムの複製のデータをあるバックアップシステムが格納し、そのバックアップシステムの複製のデータをさらに別のバックアップシステムが格納する如く、連鎖的に複製のデータを格納することを特徴とする請求項8乃至12の何れか1項に記載のデータ多重化システム。
  17. DBMSとのインタフェースを有するアプリケーションサーバであって、
    アプリケーションの処理に必要なデータベースの操作情報を前記DBMSに対して発行する手段と、
    前記発行された操作情報がデータベースの更新に関する操作情報の場合、他のDBMSとのインタフェースを有する他のアプリケーションサーバに当該操作情報を送信する手段と、
    前記他のアプリケーションサーバから前記他のDBMSに対する操作情報を受信した場合、前記他のDBMSに対する操作情報を、前記DMBSに対する操作情報に変換して前記DBMSに対して発行する手段と、
    を備えることを特徴とするアプリケーションサーバ。
  18. DBMSとのインタフェースを有するアプリケーションサーバであって、
    アプリケーションの処理に必要なデータベースの操作情報を前記DBMSに対して発行する手段と、
    前記発行された操作情報がデータベースの更新に関する操作情報の場合、前記操作情報を、他のDBMSに対する操作情報に変換して他のDBMSに対して発行する手段と、
    を備えることを特徴とするアプリケーションサーバ。
  19. アプリケーションサーバに、DBMSとアプリケーションとの間のインタフェースを有し且つ前記アプリケーションからのアクセスを前記DBMSへのアクセスに変換する機能を有するミドルウェア設け、前記アプリケーションから前記ミドルウェアへ発行される前記DBMSへのデータの操作情報を取得手段により取得し、取得した操作情報がデータベースの更新に関する操作情報の場合、前記DBMSへのデータの操作情報を多重化するための処理を行うことを特徴とするデータ多重化方法。
  20. 前記DBMSへのデータの操作情報を多重化するための処理では、
    前記DBMSに対応するアプリケーションサーバが、前記操作情報を前記他のDBMSに対応するアプリケーションサーバへ送信し、
    前記他のDBMSに対応するアプリケーションサーバが、受信した操作情報を前記他のDBMSに対応する操作情報に変換する
    ことを特徴とする請求項19に記載のデータ多重化方法。
  21. 前記DBMSと前記他のDBMSとによる同じ操作についての応答情報を検証手段により比較し、前記検証手段の検証結果を通知手段により通知することを特徴とする請求項19又は20に記載のデータ多重化方法。
  22. 前記アプリケーションから前記ミドルウェアへ発行された操作情報に基づく前記DBMSによるストレージに対する操作は、前記操作情報に基づく前記他のDBMSによるストレージに対する操作の完了を確認してから行うことを特徴とする請求項19から21のいずれか1項に記載のデータ多重化方法。
  23. 前記取得手段で取得された前記DBMSへのデータの操作情報を前記ストレージとは異なるストレージに記録手段により記録することを特徴とする請求項19から22のいずれか1項に記載のデータ多重化方法。
  24. DBMSとのインタフェースを有するアプリケーションサーバにおいて、アプリケーションの処理に必要な操作情報を前記DBMSに対して発行し、
    前記発行された操作情報がデータベースの更新に関する操作情報の場合、他のDBMSとのインタフェースを有する他のアプリケーションサーバに当該操作情報を送信し、
    前記アプリケーションサーバが前記他のアプリケーションサーバから前記他のDBMSに対する操作情報を受信した場合、受信した操作情報を、自サーバがインタフェースを有するDBMSに対する操作情報に変換して発行する
    ことを特徴とするデータ多重化方法。
  25. DBMSとのインタフェースを有するアプリケーションサーバにおいて、アプリケーションの処理に必要な操作情報を前記DBMSに対して発行し、
    前記発行された操作情報がデータベースの更新に関する操作情報の場合、当該操作情報を他のDBMSに対する操作情報に変換し、変換された操作情報を前記他のDBMSに対して発行する
    ことを特徴とするデータ多重化方法。
  26. バックアップシステムと通信回線を介して接続されているプライマリ計算機システムにおいて、
    ストレージのデータを管理するDBMSと、
    前記DBMSとアプリケーションとの間のインタフェースを有し且つ前記アプリケーションからのアクセスを前記DBMSへのアクセスに変換する機能を有するミドルウェアと、前記アプリケーションから前記ミドルウェアへ発行される前記DBMSへのデータの操作情報を取得する取得手段と、該取得手段で取得された前記DBMSへのデータの操作情報のうちバックアップシステムへ送信すべき操作情報を識別する識別手段と、該識別手段で識別された操作情報をバックアップシステムへ送信する送信手段とを備えるアプリケーションサーバと、
    を備えることを特徴とするプライマリ計算機システム。
  27. バックアップシステムに通信回線を介して接続されているプライマリ計算機システムにおいて、
    ストレージのデータを管理するDBMSと、
    前記DBMSとアプリケーションとの間のインタフェースを有し且つ前記アプリケーションからのアクセスを前記DBMSへのアクセスに変換する機能を有するミドルウェアと、前記アプリケーションから前記ミドルウェアへ発行される前記DBMSへのデータの操作情報を取得する取得手段と、該取得手段で取得された前記DBMSへのデータの操作情報のうちバックアップシステムへ送信すべき操作情報を識別する識別手段と、該識別手段で識別された操作情報をバックアップシステム側DBMSへのデータの操作情報に適するように変更する変更手段と、該変更手段により変更された操作情報をバックアップシステムへ送信する送信手段とを備えるアプリケーションサーバと、
    を備えることを特徴とするプライマリ計算機システム。
  28. バックアップシステムに通信回線を介して接続されているプライマリ計算機システムにおいて、
    ストレージのデータを管理するDBMSと、
    前記DBMSとアプリケーションとの間のインタフェースを有し且つ前記アプリケーションからのアクセスを前記DBMSへのアクセスに変換する機能を有するミドルウェアと、前記アプリケーションから前記ミドルウェアへ発行される前記DBMSへのデータの操作情報を取得する取得手段と、該取得手段で取得された前記DBMSへのデータの操作情報のうちバックアップシステムへ送信すべき操作情報を識別する識別手段と、該識別手段で識別された操作情報をバックアップシステム側DBMSへのデータの操作情報に適するように変更する変更手段と、該変更手段により変更された操作情報を再生し前記ミドルウェアを通じて前記バックアップシステムのストレージを管理する他のDBMSに発行する再生手段とを備えるアプリケーションサーバと、
    を備えることを特徴とするプライマリ計算機システム。
  29. 自システムにおけるデータ操作の応答情報とバックアップシステムにおけるデータ操作の応答情報を比較する検証手段と、該検証手段の検証結果を通知する通知手段とを備えることを特徴とする請求項26、27または28記載のプライマリ計算機システム。
  30. プライマリシステムに通信回線を介して接続されているバックアップ計算機システムにおいて、
    バックアップのDBMSと、
    DBMSとアプリケーションとの間のインタフェースを有し且つ前記アプリケーションからのアクセスを前記DBMSへのアクセスに変換する機能を有するミドルウェアへ前記アプリケーションから発行された前記DBMSへのデータの操作情報を前記プライマリシステムから受信する受信手段と、前記受信手段で受信された操作情報を前記バックアップのDBMSへのデータの操作情報に適するように変更する変更手段と、該変更手段により変更された操作情報を再生し前記バックアップのDBMSへ発行する再生手段とを備えるアプリケーションサーバと、
    を備えることを特徴とするバックアップ計算機システム。
  31. プライマリシステムに通信回線を介して接続されているバックアップ計算機システムにおいて、
    バックアップシステム側DBMSと、
    DBMSとアプリケーションとの間のインタフェースを有し且つ前記アプリケーションからのアクセスを前記DBMSへのアクセスに変換する機能を有するミドルウェアへ前記アプリケーションから発行された前記DBMSへのデータの操作情報であってバックアップシステム側DBMSへのデータの操作情報に適するように変更された操作情報を前記プライマリシステムから受信する受信手段と、前記受信手段で受信された操作情報を再生し前記バックアップシステム側DBMSへ発行する再生手段とを備えるアプリケーションサーバと、
    を備えることを特徴とするバックアップ計算機システム。
  32. プライマリシステムに通信回線を介して接続されているバックアップ計算機システムにおいて、
    ストレージとバックアップシステム側DBMSとを備え、
    前記バックアップシステム側DBMSは、プライマリシステム側のアプリケーションサーバにおいて前記DBMSとアプリケーションとの間のインタフェースを有し且つ前記アプリケーションからのアクセスを前記DBMSへのアクセスに変換する機能を有するミドルウェアへ前記アプリケーションから発行された前記DBMSへのデータの操作情報であってバックアップシステム側DBMSへのデータの操作情報に適するように変更され再生手段によって再生されて前記ミドルウェアを通じて発行された操作情報を受信し、前記ストレージのデータを管理するものであることを特徴とするバックアップ計算機システム。
  33. プライマリシステムに通信回線を介して接続されているバックアップ計算機システムにおいて、
    DBMSとアプリケーションとの間のインタフェースを有し且つ前記アプリケーションからのアクセスを前記DBMSへのアクセスに変換する機能を有するアプリケーションサーバのミドルウェアへ前記アプリケーションサーバの前記アプリケーションから発行された前記DBMSへのデータの操作情報をプライマリシステムから受信する受信手段と、該受信手段で受信された操作情報をストレージに記録する記録手段とを備えることを特徴とするバックアップ計算機システム。
  34. バックアップシステムと通信回線を介して接続されたプライマリシステムのアプリケーションサーバを、DBMSとアプリケーションとの間のインタフェースを有し且つ前記アプリケーションからのアクセスを前記DBMSへのアクセスに変換するDBアクセス手段、前記アプリケーションから前記DBアクセス手段へ発行される前記DBMSへのデータの操作情報を取得する取得手段、該取得手段で取得された前記DBMSへのデータの操作情報のうちバックアップシステムへ送信すべき操作情報を識別する識別手段、該識別手段で識別された操作情報をバックアップシステムへ送信する送信手段、として機能させるためのプログラム。
  35. バックアップシステムに通信回線を介して接続されたプライマリシステムのアプリケーションサーバを、DBMSとアプリケーションとの間のインタフェースを有し且つ前記アプリケーションからのアクセスを前記DBMSへのアクセスに変換するDBアクセス手段、前記アプリケーションから前記DBアクセス手段へ発行される前記DBMSへのデータの操作情報を取得する取得手段、該取得手段で取得された前記DBMSへのデータの操作情報のうちバックアップシステムへ送信すべき操作情報を識別する識別手段、該識別手段で識別された操作情報をバックアップシステム側DBMSへのデータの操作情報に適するように変更する変更手段、該変更手段により変更された操作情報をバックアップシステムへ送信する送信手段、として機能させるためのプログラム。
  36. バックアップシステムに通信回線を介して接続されたプライマリシステムのアプリケーションサーバを、DBMSとアプリケーションとの間のインタフェースを有し且つ前記アプリケーションからのアクセスを前記DBMSへのアクセスに変換するDBアクセス手段、前記アプリケーションから前記DBアクセス手段へ発行される前記DBMSへのデータの操作情報を取得する取得手段、該取得手段で取得された前記DBMSへのデータの操作情報のうちバックアップシステムへ送信すべき操作情報を識別する識別手段、該識別手段で識別された操作情報をバックアップシステム側DBMSへのデータの操作情報に適するように変更する変更手段、該変更手段により変更された操作情報を再生し前記DBアクセス手段を通じて前記バックアップシステムのストレージを管理する他のDBMSに発行する再生手段、として機能させるためのプログラム。
  37. 前記アプリケーションサーバを、自計算機におけるデータ操作の応答情報とバックアップシステムにおけるデータ操作の応答情報を比較する検証手段、該検証手段の検証結果を通知する通知手段、として機能させるための請求項34、35または36記載のプログラム。
  38. プライマリシステムに通信回線を介して接続されたバックアップシステムのアプリケーションサーバを、DBMSとアプリケーションとの間のインタフェースを有し且つ前記アプリケーションからのアクセスを前記DBMSへのアクセスに変換する機能を有するミドルウェアへ前記アプリケーションから発行された前記DBMSへのデータの操作情報を前記プライマリシステムから受信する受信手段、該受信手段で受信された操作情報を前記バックアップ側DBMSへのデータの操作情報に適するように変更する変更手段、該変更手段により変更された操作情報を再生し前記バックアップ側DBMSへ発行する再生手段、として機能させるためのプログラム。
  39. プライマリシステムに通信回線を介して接続されたバックアップシステムのアプリケーションサーバを、DBMSとアプリケーションとの間のインタフェースを有し且つ前記アプリケーションからのアクセスを前記DBMSへのアクセスに変換する機能を有するミドルウェアへ前記アプリケーションから発行された前記DBMSへのデータの操作情報であってバックアップシステム側DBMSへのデータの操作情報に適するように変更された操作情報を前記プライマリシステムから受信する受信手段、該受信手段で受信された操作情報を再生し前記バックアップ側DBMSへ発行する再生手段、として機能させるためのプログラム。
  40. プライマリシステムに通信回線を介して接続されているバックアップ計算機を、プライマリシステム側のアプリケーションサーバにおいてDBMSとアプリケーションとの間のインタフェースを有し且つ前記アプリケーションからのアクセスを前記DBMSへのアクセスに変換する機能を有するミドルウェアへ前記アプリケーションから発行された前記DBMSへのデータの操作情報であって自DBMSへのデータの操作情報に適するように変更され再生手段によって再生されて前記ミドルウェアを通じて発行された操作情報を受信し、前記ストレージのデータを管理するバックアップ側DBMS、として機能させるためのプログラム。
  41. プライマリシステムに通信回線を介して接続されているバックアップ計算機を、DBMSとアプリケーションとの間のインタフェースを有し且つ前記アプリケーションからのアクセスを前記DBMSへのアクセスに変換する機能を有するミドルウェアへ前記アプリケーションから発行された前記DBMSへのデータの操作情報をプライマリシステムのアプリケーションサーバから受信する受信手段、該受信手段で受信された操作情報をストレージに記録する記録手段、として機能させるためのプログラム。
JP2006542419A 2004-11-08 2005-11-02 データ多重化システム Expired - Fee Related JP4844743B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006542419A JP4844743B2 (ja) 2004-11-08 2005-11-02 データ多重化システム

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2004323688 2004-11-08
JP2004323688 2004-11-08
PCT/JP2005/020197 WO2006049202A1 (ja) 2004-11-08 2005-11-02 データ多重化システム
JP2006542419A JP4844743B2 (ja) 2004-11-08 2005-11-02 データ多重化システム

Publications (2)

Publication Number Publication Date
JPWO2006049202A1 JPWO2006049202A1 (ja) 2008-05-29
JP4844743B2 true JP4844743B2 (ja) 2011-12-28

Family

ID=36319207

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006542419A Expired - Fee Related JP4844743B2 (ja) 2004-11-08 2005-11-02 データ多重化システム

Country Status (3)

Country Link
US (1) US20070266061A1 (ja)
JP (1) JP4844743B2 (ja)
WO (1) WO2006049202A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008009814A (ja) * 2006-06-30 2008-01-17 Nec Corp データレプリケーションシステム及びデータレプリケーション方法
JP2009181308A (ja) * 2008-01-30 2009-08-13 Hamamatsu Photonics Kk ストレージシステム
US8095684B2 (en) * 2009-09-15 2012-01-10 Symantec Corporation Intelligent device and media server selection for optimized backup image duplication
US10022245B2 (en) 2012-12-17 2018-07-17 DePuy Synthes Products, Inc. Polyaxial articulating instrument

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000112801A (ja) * 1998-09-30 2000-04-21 Toshiba Corp データベースバックアップシステム及びバックアップ方法
JP2000132435A (ja) * 1998-10-29 2000-05-12 Hitachi Ltd 異種データベース管理システム間のデータ整合処理装置
JP2001265803A (ja) * 2000-03-22 2001-09-28 Mitsubishi Electric Corp データベースアクセス高速化システム及びデータベースアクセス高速化方法
JP2001350777A (ja) * 2000-06-05 2001-12-21 Mitsubishi Electric Corp 分散データベースシステム

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5987452A (en) * 1997-01-22 1999-11-16 At&T Corp Query translation system
JP4282030B2 (ja) * 1999-06-03 2009-06-17 株式会社日立製作所 データ二重化制御方法および二重化した記憶サブシステム
US6901380B1 (en) * 1999-09-10 2005-05-31 Dataforce, Inc. Merchandising system method, and program product utilizing an intermittent network connection
JP3686564B2 (ja) * 1999-12-21 2005-08-24 株式会社日立製作所 データベースシステム、データベースのレプリカ生成方法およびデータベースのレプリカ生成プログラムを記録したコンピュータ読み取り可能な記録媒体
US6611834B1 (en) * 2000-01-12 2003-08-26 International Business Machines Corporation Customization of information retrieval through user-supplied code
US6963875B2 (en) * 2000-03-23 2005-11-08 General Atomics Persistent archives
US6505200B1 (en) * 2000-07-06 2003-01-07 International Business Machines Corporation Application-independent data synchronization technique
US20040162836A1 (en) * 2001-02-06 2004-08-19 Eyal Aronoff System and method for altering database requests and database responses
US7451163B2 (en) * 2001-10-24 2008-11-11 Bea Systems, Inc. Data synchronization
JP2003316522A (ja) * 2002-04-26 2003-11-07 Hitachi Ltd 計算機システムおよび計算機システムの制御方法
JP4283576B2 (ja) * 2003-03-27 2009-06-24 株式会社日立製作所 トランザクション同期方法、データベースシステム及びデータベース装置
GB0323780D0 (en) * 2003-10-10 2003-11-12 Ibm A data brokering method and system
US7487188B2 (en) * 2004-09-07 2009-02-03 Computer Associates Think, Inc. System and method for providing increased database fault tolerance

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000112801A (ja) * 1998-09-30 2000-04-21 Toshiba Corp データベースバックアップシステム及びバックアップ方法
JP2000132435A (ja) * 1998-10-29 2000-05-12 Hitachi Ltd 異種データベース管理システム間のデータ整合処理装置
JP2001265803A (ja) * 2000-03-22 2001-09-28 Mitsubishi Electric Corp データベースアクセス高速化システム及びデータベースアクセス高速化方法
JP2001350777A (ja) * 2000-06-05 2001-12-21 Mitsubishi Electric Corp 分散データベースシステム

Also Published As

Publication number Publication date
JPWO2006049202A1 (ja) 2008-05-29
WO2006049202A1 (ja) 2006-05-11
US20070266061A1 (en) 2007-11-15

Similar Documents

Publication Publication Date Title
US11921679B2 (en) Synchronizing configuration of partner objects across distributed storage systems using transformations
US10387673B2 (en) Fully managed account level blob data encryption in a distributed storage environment
CN100440155C (zh) 用于创建虚拟数据拷贝的方法和系统
US6615223B1 (en) Method and system for data replication
KR100983300B1 (ko) 데이터 처리 시스템 내에서의 고장 복구
US10659225B2 (en) Encrypting existing live unencrypted data using age-based garbage collection
US20030126133A1 (en) Database replication using application program event playback
JP4461147B2 (ja) リモートデータミラーリングを用いたクラスタデータベース
US7685385B1 (en) System and method for satisfying I/O requests before a replica has been fully synchronized
US8626722B2 (en) Consolidating session information for a cluster of sessions in a coupled session environment
US20110225382A1 (en) Incremental replication using snapshots
US7991783B2 (en) Apparatus, system, and method for supporting storage functions using an embedded database management system
JP4136615B2 (ja) データベースシステム及びデータベースのアクセス方法
JP4844743B2 (ja) データ多重化システム
US7765197B2 (en) System and method for producing data replica
KR20020023663A (ko) 네트워크 노드들을 구비하는 네트워크
JP2002244908A (ja) データベース同期制御方法及び該方法によるdbシステム
JP2002007441A (ja) 分散データベースシステム
KR101430239B1 (ko) 액티브-액티브 데이터베이스 서버 시스템에서 데이터동기화 장치 및 방법
JP2002222107A (ja) データ同期装置
JP2011253400A (ja) 分散ミラードディスクシステム、コンピュータ装置、ミラーリング方法およびそのプログラム
JP3598202B2 (ja) オンラインシステム
JP4096147B2 (ja) 分散型計算機システムにおける重複配置複製データの複製方式
JPH0844609A (ja) データバックアップ方法
JP2002202906A (ja) データベース二重化システムおよび方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081016

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110323

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110517

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110615

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110812

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

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

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

Free format text: PAYMENT UNTIL: 20141021

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4844743

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees