JP3977803B2 - バックアップシステム及び方法並びにプログラム - Google Patents

バックアップシステム及び方法並びにプログラム Download PDF

Info

Publication number
JP3977803B2
JP3977803B2 JP2003419162A JP2003419162A JP3977803B2 JP 3977803 B2 JP3977803 B2 JP 3977803B2 JP 2003419162 A JP2003419162 A JP 2003419162A JP 2003419162 A JP2003419162 A JP 2003419162A JP 3977803 B2 JP3977803 B2 JP 3977803B2
Authority
JP
Japan
Prior art keywords
data
received
site
backup
unit
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 - Lifetime
Application number
JP2003419162A
Other languages
English (en)
Other versions
JP2005182251A (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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2003419162A priority Critical patent/JP3977803B2/ja
Priority to US10/874,247 priority patent/US7047376B2/en
Publication of JP2005182251A publication Critical patent/JP2005182251A/ja
Application granted granted Critical
Publication of JP3977803B2 publication Critical patent/JP3977803B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

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/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1443Transmit or communication errors
    • 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/2056Error 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 by mirroring
    • 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/2056Error 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 by mirroring
    • G06F11/2058Error 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 by mirroring using more than 2 mirrored copies

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Description

本発明は、記憶装置やサーバのデータをバックアップする技術に関し、特に、複数のサイト間でデータの更新を非同期で行うものに関する。
データベースやWebサイトなどのデータは、物理的に異なる記憶装置へバックアップを行うことでデータの冗長化を図っている。例えば、現在使用中のサイト(以下、現用系のサイト)のデータを、地理的に異なる遠隔地に設けたサイト(以下、遠地系のサイト)の記憶装置に転送し、データを更新しておくことで、現用系のサイトに損傷が生じても、遠地系サイトにバックアップしたデータを用いることで、地震などの災害等からデータの損傷を回避することが行われている。
このようなデータのバックアップシステムでは、現用系のサイトでデータの更新が発生すると、遠地系のサイトのデータも現用系のサイトに同期して更新する同期バックアップシステム(特許文献1)と、現用系のサイトでデータの更新が発生した後に遠地系サイトのデータを更新する非同期バックアップシステムが知られている(特許文献2)。
欧州特許出願公開第0671686A1号明細書 欧州特許出願公開第0672985A1号明細書
しかし、上記従来の技術では、現用系のサイトから、遠地系のサイトへ送信したデータが、遠地系のサイトで正しくバックアップされているか否かを確認することについては考慮されていなかった。
そこで本発明は、上記問題点に鑑みてなされたもので、複数のサイト間でデータのバックアップを行う際に正しくバックアップされていることを確認することを目的とする。
本発明は、送信元サイト(第1の装置)のデータを第1のバックアップサイト(第2の装置)と第2のバックアップサイト(第3の装置)でバックアップを行うものであって、第1のバックアップサイトは、送信元サイトから受信したデータを格納するとともに、第2のバックアップサイトへ前記格納したデータを転送し、前記第2のバックアップサイトは、前記第1のバックアップサイトから受信したデータを格納するとともに、送信元サイトへ前記格納したデータを転送し、前記送信元サイトは、前記第1のバックアップサイトへ送信したデータと、前記第2のバックアップサイトから受信して戻ってきたデータとを照合し、これらのデータが不一致の場合には前記データを前記第1のバックアップサイトへ再度送信する。
したがって、本発明は、バックアップデータの送信元(第1の装置)は、第1バックアップサイト(第2の装置)に向けてバックアップデータを送信し、第2のバックアップサイト(第3の装置)から戻ってきたデータと第1のバックアップサイトへ送信したデータでバックアップデータの照合を実現することができ、複数のサイト間でデータのバックアップが正確に行われたことを確認することが可能となるのである。
以下、本発明の一実施形態を添付図面に基づいて説明する。
図1〜図3は、本発明を適用するシステムの全体的な構成を示すブロック図で、図1はあるサイトの構成を示すブロック図で、図2は上記図1のサーバと記憶装置の関係を示すブロック図、図3は地理的に異なる3カ所に現用系サイト1、近地系サイト2、遠地系サイト3を設け、現用系サイト1のデータを近地系サイト2と遠地系サイト3でバックアップを行う例を示す。
図1は、図3に示す現用系サイト1の一例を示すブロック図である。
上記図3に示す現用系サイト1は、例えば、図1のように、内部ネットワークが、基幹LAN(Local Area Network)11AとSAN(Storage Area Network)11Bから構成することができる。なお、基幹LAN11Aは図示しないゲートウェイ(ルータなど)を介してインターネットやWANなどの外部ネットワーク(図示省略)に接続される。
基幹LAN11Aには各種サーバ10A〜10Fが接続され、同じく基幹LAN11Aに接続された業務クライアント(クライアントコンピュータ)5A、5B、5Cからの要求に応じて情報の処理及び蓄積を行っている。
各種サーバ10A〜10Fは、次のように各記憶装置と接続されている。
まず、業務サーバ10A、10Bは、SAN11Bを介して記憶装置12A、12Bに接続され、サーバ10A、10Bは記憶装置12A、12Bのデータに対して読み書きを行う。
また、NASサーバ10CはSAN11Bを介して、記憶装置12A、12Bに接続され、NASサーバ10Cは業務クライアント5A〜5Cの要求に応じて記憶装置12A、12Bのデータに対して読み書きを行う。
次に、NASサーバ10Dは、記憶装置12Dに接続されており、NASサーバ10Dは業務クライアント5A〜5Cの要求に応じて記憶装置12Dのデータに対して読み書きを行う。
次に、ファイルサーバ10E、10Fは、記憶装置12E、12Fをローカルに接続しており、ファイルサーバ10Eは業務クライアント5A〜5Cの要求に応じて記憶装置12Eのデータに対して読み書きを行い、ファイルサーバ10Fは業務クライアント5A〜5Cの要求に応じて記憶装置12Fのデータに対して読み書きを行う。
そして、各サーバ10A〜10Fは、記憶装置12A〜12F内のデータを、後述するソフトウェアにより、図3に示す近地系サイト2と遠地系サイト3へバックアップを行う。
なお、図3に示す近地系サイト2と遠地系サイト3も現用系サイト1と同様に、図1に示す構成とすることができる。
次に、図2は、現用系サイト1を構成する業務サーバ10Aと記憶装置12Aの関係を示す詳細なブロック図である。
業務サーバ10Aは、CPU、メモリ及び外部ネットワークと内部ネットワーク11Aに接続されるインターフェース(図中I/F、以下同様)を有し、記憶装置12Aは、CPU、メモリ、キャッシュメモリ(データキャッシュ)及び内部ネットワーク11Bに接続されるインターフェースと、ディスク装置120に接続されるインターフェースを有する制御部121を備える。また、業務サーバ10Aには図示しない表示装置や入力装置が備えられる。
そして、業務サーバ10Aは後述するクライアントからの要求などに応じて、SAN記憶装置12Aからデータの読み出しまたは書き込みを行い、データが更新された場合には後述のように近地系サイト2と遠地系サイト3にデータを転送してバックアップを行う。なお、業務サーバ10Aは、上記図1のファイルサーバ10E、10Fのように、ローカルなディスク装置を備えるものであっても良い。
なお、図1、図2の業務サーバ10A及び記憶装置12Aが図3に示す各サイトに設けられ、各サイト間でデータの送受信を行って、バックアップを行う例を以下に示し、説明を簡易にするため図3の現用系サイト1、近地系サイト2及び遠地系サイト3にそれぞれ業務サーバ10AとSAN11B及び記憶装置12Aが配置され、各サイトの業務サーバ10Aでバックアップシステムが稼働するものとする。
なお、上記図1及び図2において、業務サーバ10Aと記憶装置12AをSAN11Bで接続したが、SAN11Bに代わってLANや独自ネットワークで構成しても良い。また、上記図1において、内部ネットワーク11AをLANとしたが、IPネットワークなどで構成しても良い。
図3は、地理的に異なる3つのサイト間でデータのバックアップを行う際の、データの流れを示す説明図である。
本発明のバックアップシステムでは、現用系サイト1でデータの書き込みが発生すると(図中S1)、現用系サイト1の記憶装置12へ書き込みを行った後、書き込んだデータを遠地系サイト3に転送(コピー)する(図中S2)。
遠地系サイト3では現用系サイト1から受信したデータを記憶装置(例えば図1の12A)へ書き込んだ後、この書き込んだデータを近地系サイト2へ転送(コピー)する(図中S3)。近地系サイト2では遠地系サイト3から受信したデータを記憶装置(例えば、図1のS12A)へ書き込んだ後、この書き込んだデータを現用系サイト1へ転送する(図中S4)。
現用系サイト1では、上記S2で遠地系サイト3に送信したデータと、近地系サイト2から受信したデータとを照合して、遠地系サイト3及び近地系サイト2で書き込んだデータが正しいものであるか否かを照合する(図中S5)。照合結果が正しくなければ、現用系サイト1は遠地系サイト3へデータの再送を行う。
つまり、バックアップするデータを送信元となるサイト(現用系サイト1)からバックアップ先のサイト(近地系サイト2、遠地系サイト3)へ送り、バックアップ先のサイトで書き込んだデータを、送信元のサイトへ転送してデータをループさせて、データのループが完了した時点で、送信元から送信したデータと、最後にバックアップされたデータとを比較して照合を行うのである。
これにより、送信元ではデータ更新とバックアップを行いながらも、送信元の負荷の増大を抑制しながらデータの整合性を確保できるのである。すなわち、本発明では、一つの送信元となるサイトから、バックアップ先のサイトをデイジーチェーンにしておくことで、送信元となるサイトはバックアップ先サイトの数にかかわらず、最小限の負荷でバックアップを行うことが可能となるのである。
なお、サイトとは、サーバなどの計算機と、データを格納する記憶装置と、計算機と記憶装置または計算機同士あるいは記憶装置同士を接続するネットワークを含む情報処理装置で構成されるものである。そして、現用系サイト1は、バックアップすべきデータを有するサイトであり、例えば、業務サーバ10Aが内部ネットワーク(SANまたはLAN)11Bを介して接続された記憶装置12Aにデータを格納する。
次に、現用系サイト1と近地系サイト2及び遠地系サイト3のソフトウェア構成を図4に示す。
図4において、バックアップするデータの送信元となる現用系サイト1のソフトウェア群100と、現用系サイト1からのデータをバックアップする近地系サイト2及び遠地系サイト3のソフトウェア群200の2種に大別できる。これらソフトウェア群100、200は、図1に示した業務サーバ10Aで実行されるものとする。
まず、ソフトウェア群100の構成について説明する。書き込んだデータを送信し、バックアップ先から戻ってきたデータの照合を行う現用系サイト1のソフトウェア群100は、各サイトの役割を決定する役割定義部101と、記憶装置12へ書き込んだデータと送信するデータの管理を行うデータ管理部102と、記憶装置12Aに対してデータの書き込みを行うデータwrite部103と、記憶装置12Aへ書き込んだデータをバックアップ先へ送信するデータ転送部104と、バックアップ先からループして戻ってきたデータを受信するデータ受信部105と、データ転送部104で送信したデータと、データ受信部105で受信したデータを比較して照合を行う照合部106の6つのモジュールから構成される。
バックアップ先のサイトで実行されるソフトウェア群200では、近地系サイト2と遠地系サイト3のサーバは図1の業務サーバ10Aと同一の構成であり、近地系サイト2と遠地系サイト3のサーバの違いは後述する役割定義による受信先と送信先が異なるのみであって、他の処理は同一である。
ソフトウェア群200は、送信されたバックアップデータ及び役割定義を受信するデータ受信部201と、受信した役割定義を解析し、役割定義に基づくサーバの動作を規定する役割解析部202と、受信したバックアップデータを記憶装置12Aに書き込むデータwrite部203と、書き込んだデータを次のバックアップ先または送信元(現用系サイト1)へ送信する転送部204から構成される。
ここで、送信元の現用系サイト1の業務サーバ10Aで実行される役割定義部101は、送信元の現用系サイト1からどのような順序でバックアップデータを転送し、各サイトにおいてどのような処理を行うかを定義したもので、例えば、図5で示すようなテーブルとして設定される。
図5のテーブルの例では、各サイトの送信先について、送信元の現用系サイト1のバックアップデータの送信先(転送先)は、遠地系サイト3であり、遠地系サイト3の転送先は近地系サイト2であり、近地系サイト2の転送先は現用系サイト1であることが定義される。
そして、各サイトが受信したデータの処理について、現用系サイト1では、データの転送(送信)と、送信したデータと受信したデータの照合を行うことが定義され、遠地系サイト3の受信後の処理は、受信したバックアップデータを記憶装置へ書き込み、書き込んだデータを転送することが定義されている。同様に、近地系サイト2の受信後の処理は、受信したバックアップデータを記憶装置へ書き込み、書き込んだデータを転送することが定義されている。
この図5の役割定義により、図3で示したように、現用系サイト1で記憶装置12Aへの書き込みが発生すると、書き込んだデータを現用系サイト1に割り当てられた転送先である遠地系サイト3に転送する。遠地系サイト3は現用系サイト1から受信したデータを記憶装置へ書き込んで、このデータを近地系サイト2へ転送する。近地系サイト2は、遠地系サイト3から受信したデータを記憶装置へ書き込み、書き込んだデータを現用系サイト1に転送する。現用系サイト1では近地系サイト2から受信したデータを、送信したデータと比較し、データが一致しているか否か(つまり、各サイトをループしたデータが正しいか)を照合する。この照合結果が不一致であれば、後述するように、再度バックアップデータを送信するなど所定の処理を実行する。
役割定義部101の処理は、図6で示すように構成され、現用系サイト1の業務サーバ10Aは、ソフトウェア群100を実行すると、まず最初に、役割定義部101を実行して、上記図5の役割定義を読み込んで(S10)、近地系サイト2と遠地系サイト3にそれぞれ図5で示した各サイトの受信後処理とデータ転送先を送信する(S11)。
つまり、図5のテーブルに基づいて、現用系サイト1は、近地系サイト2に対して受信後処理が書き込みと転送であり、転送先が現用系サイト1である役割定義(役割分担情報)を送信し、同様に現用系サイト1は、遠地系サイト3に対して受信後処理が書き込みと転送で、転送先が近地系サイト2である役割定義(役割分担情報)を送信する。
次に、近地系サイト2と遠地系サイト3のサーバで実行される、ソフトウェア群200の詳細について、図7のフローチャートを参照しながら説明する。
図7は、図4に示したデータ受信部201、役割解析部202、データwrite部203、データ転送部204を示しており、まず、S20では、送信元からのデータ受信を待ち、データを受信するとS21に進んで、受信したデータの判定を行い、データの種類に応じた分岐処理を行う。
S21では、受信したデータが役割定義(役割分担情報)であればS22の処理へ進む一方、転送データ(バックアップデータ)であればS23の処理へ進む。
S22では、受信したデータが役割定義であるため、このサイトの次に転送すべきサイトを受信したデータに基づいて設定するとともに、受信したデータに対する処理の内容を設定する。例えば、遠地系サイト3の場合、図5のテーブルより、現用系サイト1が送信した役割定義から、データ転送先が近地系サイト2で、受信後処理が書き込み(write)と転送であることを設定する。この後、S20へ戻って次のデータを待つ。
一方、S21の判定で受信したデータが転送データ(バックアップデータ)である場合のS23では、受信したデータを記憶装置へ書き込む。そして、この書き込んだデータをS22で設定された転送先へ送信する。
以上の処理により、現用系サイト1から役割定義を受信した近地系サイト2と遠地系サイト3は、受信した役割定義に沿って転送先や受信データの処理内容を設定する。この後、現用系サイト1で記憶装置12Aへの書き込みが発生すると、図8に示す手順で、各サイトでバックアップ処理が行われる。なお、データの書き込みは、業務サーバ10Aが記憶装置12Aの制御部121へ送信し、制御部121が書き込み指令を受け付けた時点を書き込みの完了とする。
複数のサイト間でデータの同期を行う手法としては様々な手法があるが、ここでは、スナップショットを用いる例を示す。
送信元の現用系サイト1の業務サーバ10Aでは、記憶装置12Aへデータを書き込んだ後に、スナップショットを取得し、後述するデータ管理情報を作成してから図8で示すように転送先の遠地系サイト3へデータの転送を行う。
なお、スナップショットは、記憶装置12Aへ書き込んだファイルやブロックまたはボリュームについてスナップショットを取得すればよい。
このスナップショットは、初回のスナップショット取得時であれば、全データのスナップショットを取得し、転送する。そして、次回以降のスナップショット取得時では、更新のあったデータだけを転送する。つまり、バックアップ開始時では、全データのスナップショットを取得するとともに、全データを他のサイトに転送しておき、次回からはデータの差分についてスナップショットを取得するとともに、データの差分を他のサイトへ転送してバックアップを行う。
図8は、各サイト間のデータの流れを示す図である。
現用系サイト1は、このバックアップシステム(ソフトウェア群100)の起動時等の初期化時とスナップショットの取得要求があったときに、S31にてデータのスナップショットを取得する同期要求の処理が行われる。
この同期処理は、後述するように、例えば、バックアップするデータの物理的位置(記憶装置12A上の位置)を示すスナップショットの生成や、識別情報(例えば、タイムスタンプやアドレスなどからなるデータに固有の情報)を生成し、書き込んだデータを他のサイトでバックアップした後に照合するための管理情報として保持する(図4のデータ管理部102で実現する処理)。
次に、業務サーバ10Aは、書き込んだデータに管理情報を付したものを、役割定義で決定された転送先である遠地系サイト3に送信する(S32、図4のデータ転送部104)。
遠地系サイト3のサーバは、上記図7のフローチャートに基づいて受信したデータを、役割定義に応じて処理する。すなわち、データを受信した後(S33)、受信したデータを記憶装置へ書き込んでバックアップを実行する(S34)。その後、記憶装置へ書き込んだデータを、役割定義に沿った転送先である近地系サイト2へ送信する(S35)。
遠地系サイト3から送信されたデータは、近地系サイト2のサーバが受信する(S36)。近地系サイト2のサーバは、上記図7のフローチャートに基づいて受信したデータを、役割定義に応じて処理する。すなわち、データを受信した後(S36)、受信したデータを記憶装置へ書き込んでバックアップを実行する(S37)。その後、記憶装置へ書き込んだデータを、役割定義に沿った転送先である現用系サイト1へ送信する(S38)。
近地系サイト2から送信されたデータは、現用系サイト1の業務サーバ10Aが受信する(S39)。現用系サイト1の業務サーバ10Aは、上記図4のソフトウェア群100に基づいて受信したデータを、役割定義に応じて処理する。すなわち、データを受信し(S39、データ受信部105)、受信したデータの管理情報と、上記S31で保持したデータの管理情報とを比較して、現用系サイト1から送信したデータが、2つのサイトでバックアップを実行した後に戻ってきた結果が一致するか否かを照合する(S40、図4のデータ照合部106)。
この照合結果が一致していれば、S42でデータ管理情報を更新する一方、不一致の場合には再び、S32の処理へ戻って、照合に失敗したデータをもう一度送信する(S41)。なお、S42でデータ管理情報を更新した後には、次のデータについてバックアップ処理を行う。
このように、現用系サイト1で書き込んだデータは、データに固有の管理情報を付与されてから近地系サイト2と遠地系サイト3でそれぞれバックアップされた後に、送信元で保持された送信データの管理情報と、近地系サイト2から受信した各サイトをループしてきたデータに含まれる管理情報とを比較することで、確実にデータがバックアップされたか否かを、容易に照合することができるのである。
つまり、バックアップデータの送信元である現用系サイト1でデータの照合を行う場合、バックアップするサイトが多数存在したとしても、送信したデータの管理情報を保持しておき、最後にデータのバックアップデータを行ったサイトから受信したデータについて管理情報を比較すればよいので、照合に要する負荷はバックアップを行うサイトの数に影響を受けることがないのである。
なお、上記図8において、S31〜S32及びS39〜S42で行われる処理が、データ送信元の業務サーバ10Aで実行される図4のソフトウェア群100のうち、データ管理部102〜データ照合部106によって実現される。
次に、現用系サイト1の業務サーバ10Aで作成されるデータの管理情報について説明する。
データ管理情報は、例えば、図9で示すように、スナップショットを取得した時刻Tiをタイムスタンプとして用い、このタイムスタンプをインデックスとして、データのアドレス41、送信時刻42や再送カウンタ43などの付加情報44を管理情報とし、データの長さ及び値を含む管理リスト40から構成される。そして、この管理リスト40は、現用系サイト1で書き込みが行われてスナップショットを取得する度に、タイムスタンプTi毎にデータの管理情報が追加されていく。つまり、アドレス41、付加情報44、データ50の図中一列が一つのエントリ(またはレコード)として順次作成され、複数のエントリはタイムスタンプTi毎に管理される。
そして、データ転送処理は、図10で示すように、予め設定したデータ形式でデータ50に管理情報(タイムスタンプTi、アドレス41、付加情報44)を付加して遠地系サイト3へ送信する。
図10は、データ形式の一例を示しており、例えば、転送するデータの先頭(0バイト)から8バイトをタイムスタンプTiとし、12バイト目までをアドレス41、16バイト目までを付加情報44として、17バイト以降にデータ長を含むデータ50が格納され、転送される。
ここで、管理情報の一例を説明する。まず、タイムスタンプTiは、例えば、年月日時分秒+1/100秒で構成され、スナップショットを取得した時刻が2003年10月29日9時53分2秒78であれば、「2003102909530278」となる。
次に、データ50のアドレス41は、ファイルシステム上の論理的な位置や記憶装置12A上の物理的な位置で構成することができ、例えば、「file_a10」の論理的な位置を示す場合では、「/nas/data/dir_a/file_a10」がアドレス41となる。また、データの値は、例えば、テキストデータの場合「“NASのバックアップ方式事例”」などのデータが格納される。
また、再送カウンタ43は、照合結果が不一致となったときにデータを再度転送した回数を示す値である。なお、付加情報44としては、タイムアウト(一定時間内に転送データが戻ってこないとき)の回数を示すカウンタや照合結果が不一致の回数を示すカウンタなどを含んでも良い。また、付加情報44に送信時刻42を含んだ例を示したが、タイムスタンプTiで転送するデータを管理する場合では、送信時刻42を含まなくとも良い。
ここで、管理リスト40は、タイムスタンプTiに対応付けられているグループは、異なるタイミングで現用系サイト1で書き込まれたデータを含んでもよく、例えば、第一のデータのブロック(例えば、ブロック1)とし、このブロック1を記憶装置12Aへ書き込んだ後、転送を行うために管理リスト40に登録する。このとき、ブロック1についてはスナップショットを取得した時刻のタイムスタンプT1が付されてリストに登録される。次に、第二のデータのブロック(ブロック2)について、記憶装置12Aへ書き込んだ後、転送を行う際に管理リスト40に登録する。このとき、時刻T1のスナップショットがブロック1とブロック2を含んでいれば、ブロック1と2は、同一のタイムスタンプTiをインデックスとした管理リスト40のグループとなる。
なお、上記スナップショット取得処理及びデータ管理情報作成処理で得た、スナップショット及び管理リスト40は、図1に示す業務サーバ10Aのメモリや記憶装置12Aの所定の領域に記憶する。なお、これらのスナップショット及び管理リスト40の各エントリは、後述の照合結果が一致すれば削除される。
図11は、本バックアップシステムが稼働するイベントを示すタイムチャートである。
時刻T0でバックアップシステムが起動すると、まず初期化が行われる。
この初期化処理では、上記図6のS10以降が実行されてバックアップを行うサイトに役割分担情報を配布し、その後、後述する処理及び上記図8のデータ同期要求により全データのスナップショットを取得して、現用系サイト1のデータとバックアップを行う近地系サイト2、遠地系サイト3のデータを同期させておく。
その後、業務サーバ10Aに書き込み(write)要求があると、業務サーバ10Aは記憶装置12Aにデータを格納してから、時刻T1で更新されたデータのスナップショットを取得する。
初期化処理の時点で各サイトのデータ同期を取っているので、時刻T1以降のスナップショット取得では、差分データだけを転送して、各サイトのデータ同期が行われ、現用系サイト1にwrite要求があるときは、差分データを管理するだけでよくなり、write要求の処理負荷を低減することができる。
次に、上記スナップショット取得処理、データ管理情報作成処理、データ転送処理の詳細について、図12及び図13に示すフローチャートを参照しながら詳述する。
図12において、まず、S55では、スナップショット処理の種別が、初期化であるか否かを判定して、初期化の場合にはS56へ進む一方、初期化が完了した後であれば通常のスナップショット取得処理と判定して、S60に進む。
なお、本バックアップシステムの初期起動時には、ターゲットとなるデータを”スナップショット未取得”に初期化しておき、スナップショット取得時にその状態を判定する。また、ターゲットとなるデータは、上述のようなファイル単位の他、ボリューム単位などである。
初期化処理となるS56では、最初のタイムスタンプTiをi=0とし、タイムスタンプT0を取得するとともにスナップショットを取得する。そして、S57では、全データのデータ管理情報を作成する。その後、S58では、次回のタイムスタンプT1で用いる管理リスト40やスナップショット用の領域を確保するとともに初期化しておく。
S59では、上記S57で作成したタイムスタンプT0のデータを、遠地系サイト3に転送する。このとき、管理リスト40の送信時刻42に現在の時刻を書き込むとともに、再送カウンタの値を初期化しておく。
次に、2回目以降の処理となるS60では、タイムスタンプT(i)を取得するとともに、図11で示したように、業務サーバ10Aでのwrite要求の後にバックアップを行うため、最新のスナップショットの時刻を取得する。
次に、S61では、次回のタイムスタンプT(i+1)で用いる管理リスト40やスナップショット用の領域を確保するとともに初期化しておく。なお、この2回目以降のスナップショット取得処理では、更新されたデータのスナップショットを後述するWrite要求処理で実行する。
次に、S62では、上記S60で作成したタイムスタンプT(i)のデータを、遠地系サイト3に転送する。このとき、管理リスト40の送信時刻42に現在の時刻を書き込む。
次に、上記図11のwrite要求時に行われる処理について、図13のフローチャートを参照しながら説明する。
書き込み要求があると、S65にてこのデータのアドレス、データを含む管理情報を作成する。すなわち、管理リスト40には、次回のタイムスタンプT(i)をインデックスとする管理情報のエントリが追加される。
そして、S66では記憶装置12Aに対してこのデータの書き込み指令を発行する。
以上図12、図13の処理により、初期化終了後からは書き込み要求があると、書き込むデータの管理情報作成した後に、タイムスタンプT(i)を取得するとともに、スナップショットの取得が行われて、現用系サイト1に書き込まれたデータは、役割定義(役割分担情報)に基づいて遠地系サイト3に送信される。
また、S58とS61で行われる次のデータ用の領域確保は、T(i+1)の管理情報の作成をwrite処理(図13)で行うようにすると、write時に毎回管理情報が作成済みか否かの判定が必要になり、データ書き込み処理が重くなる場合がある。このため、データ管理情報の作成はスナップショット取得とほぼ等価なので、領域確保をスナップショット取得処理で行うことで、write処理を軽くすることができる。
上記S65の処理により、比較する元データ(転送データ)を、データ管理情報に格納しておき、照合処理においてデータ管理情報から該当するデータを取り出して比較を行う。
したがって、時刻Tiの時点における現用系サイト1のデータ内容を、他のサイトへ同期させることができ、時刻Tiの時点のデータが、時刻Ti以降の同一アドレスのデータで上書きされても問題ないように、データ管理情報に時刻Tiでのデータ内容を保存しておくのである。
つまり、現用系サイト1の記憶装置で同一アドレスの更新が数回あるとき、S65の処理で、同一アドレスを持つデータ管理情報リストのデータ(値)を上書きしておくのである。
次に、上記図8のS40で行われるデータの照合処理について、図14のフローチャートを参照しながら詳述する。
まず、S70では業務サーバ10Aが受信した近地系サイト2からのデータから、上記図10で示したように、管理情報からタイムスタンプTiとアドレス41を抽出する。そして、タイムスタンプTiをインデックスとして管理リスト40を検索し、該当するタイムスタンプTiのエントリからアドレス41が一致するデータを抽出する。
次に、S71では、受信したデータと管理リスト40のデータ50と比較を行い、一致するか否かの判定を行う。
ここで、受信したデータと管理リスト40に保持しておいたデータ50との比較は、両者の値を全ビット照合しても良いし、あるいは、送信時にチェックサムを生成して、チェックサムを比較することでデータの照合を行っても良い。または、データの一部を比較して照合を行っても良く、例えば、データの先頭から所定ビット数の範囲やデータの最後から所定ビット数の範囲、あるいはデータの境界を含む所定のビット数の範囲などで照合を行えばよい。なお、データの境界は、データブロックの境界やパケットデータの境界等を示す。
受信したデータと管理リスト40のデータ50が一致する場合にはS76へ進む一方、不一致の場合にはS72に進む。
各サイトをループして戻ってきた受信データと管理リスト40のデータ50が不一致の場合のS72では、管理リスト40の再送カウンタ43を読み込み、再送カウンタ43の値が所定の再送回数を超えていないか否かを判定する。
再送カウンタ43の値が所定の再送回数を超えていれば、S74へ進んで業務サーバ10Aの図示しない表示装置などに再送エラーの通知(所定の再送回数を超えた通知)を行う。これにより、業務サーバ10Aの管理者などに、現用系サイト1からバックアップされたデータが遠地系サイト3と近地系サイト2をループする過程で、複数回の異常が生じたことを通知することができる。
一方、所定の再送回数を超えていない場合でも、再送エラーの場合には、S73へ進んで業務サーバ10Aの図示しないコンソールなどにデータの照合エラーが生じた警告を通知する。
その後、S75へ進んで、上記管理リスト40の再送カウンタ43の値をインクリメントするとともに、送信時刻を更新してから元のデータ50を再度送信する。
上記S72からS75の処理が、図8に示したS39〜S41及びS32の処理に相当する。
次に、上記S71の判定で、近地系サイト2から受信したデータと管理リスト40のデータ50が一致する場合のS76では、データ50の管理情報から送信時刻42を抽出し、上記S70でデータを受信した時刻と送信時刻42を比較して、到着時間(受信時刻−送信時刻42)が予め設定した基準時間を超えたか否かを判定する。
到着時間が基準時間を超えた場合には、S77へ進んで業務サーバ10Aの図示しない表示装置などにバックアップ側のサイトや外部ネットワークの性能が低下したことを示す警告を通知する。この警告により、業務サーバ10Aの管理者などは、外部ネットワークのトラフィックの増大やサーバの性能の低下などを推測することができる。
次に、S78では、受信したデータと管理リスト40のデータ50が一致したエントリを削除する。
そして、S79では、データ50のインデックスとなっているタイムスタンプTiの全エントリが削除されたか否かを判定し、タイムスタンプTiで管理されるエントリが全て削除された場合には、S80に進んでタイムスタンプTiに対応するスナップショットを削除するとともに、管理リスト40からタイムスタンプTiのインデックスを削除して処理を終了する。なお、上記S78〜S80の処理が図8に示したS42のデータ管理情報更新処理に相当する。
以上のデータ照合処理により、現用系サイト1から遠地系サイト3、近地系サイト2をループして戻ってきたデータを、送信前に作成した管理リスト40のデータ50と比較することで、各バックアップサイトで正確にバックアップを行われたか否かを戻ってきた時点で照合するようにしたので、業務サーバ10Aはバックアップするサイトの数にかかわらず、最後にバックアップを行ったサイトからのデータのみを照合すればよいので、多数のサイトでバックアップを行うようにしても、業務サーバ10Aの負荷が増大することはないのである。したがって、多数のサイトでバックアップを行うようなバックアップシステムであっても照合処理を極めて低負荷で行うことが可能となる。
次に、図15は、現用系サイト1の業務サーバ10Aで所定時間毎(例えば、数百msecなど)に実行されるタイムアウト監視処理の一例を示すフローチャートである。
送信元の現用系サイト1では、送信したデータがループして戻ってきた時点で照合を行うため、バックアップサイト2、3や外部ネットワークの障害により、データが戻ってこない場合についての処理を以下のように行う。
まず、S91では、管理リスト40から、送信時刻42が記載されたエントリを取り出して、現在時刻と送信時刻42の時間差を演算する。
そして、S92では、この時間差が予め設定したタイムアウト判定値(一定時間)を超えたか否かを判定する。
この時間差がタイムアウト判定値以下であれば処理を終了する一方、時間差がタイムアウト判定値を超えた場合には、S93へ進んで再送カウンタ43の値を読み込み、再送カウンタ43の値が所定の再送回数以下であるか否かを判定する。
再送カウンタ43の値が所定の再送回数以下の場合には、S95へ進んで業務サーバ10Aの図示しない表示装置などに送信タイムアウトが発生した警告を通知する。その後、S96へ進んで当該データ50を再度送信する。このとき該当するエントリの再送カウンタ43の値をインクリメントするとともに、送信時刻を更新する。
一方、再送カウンタ43の値が所定の再送回数を超えた場合には、S94へ進んで業務サーバ10Aの図示しない表示装置などに送信タイムアウトのエラーが生じ、再送回数が規定値を超えたことを通知する。
上記S91〜S96の処理は、管理リスト40の先頭から最後のエントリまで順次行う。
以上の処理により、バックアップを行う近地系サイト2や遠地系サイト3または外部ネットワークに障害が発生して、送信したデータが戻ってこない場合を的確に検知することができ、業務サーバ10Aの管理者などへ照合処理ができないことを通知することができる。
以上のように、本発明によれば、バックアップデータの送信元となる現用系サイト1は、単一のサイトに向けてバックアップデータを送信し、複数(または単一)のサイトでバックアップを実行したデータを戻してもらうことで、極めて低い処理負荷でバックアップの実行と、バックアップデータの照合を実現することができ、データ更新の管理を簡素にしながらも複数のサイト間でデータのバックアップを正確に行うことが可能となるのである。
そして、所定時間毎にタイムアウトの監視処理を行うようにしたので、バックアップのループの最後のサイトからデータが受信できない場合には、警告を通知するようにしたので、業務サーバ10Aの管理者などに対処を促すことができる。
なお、上記図15のS94ではエラーの警告(通知)を行ったが、この場合は、再送回数が規定値を超えて、かつ、送信タイムアウトのエラーが生じているので、バックアップを行うサイトや外部ネットワークのいずれかが停止している可能性があるので、バックアップシステムを停止するように処理しても良い。
また、上記実施形態においては、業務サーバ10Aが内部ネットワーク11Bを介して記憶装置12Aに接続された例を示したが、業務サーバ10Aに代わって図1に示したNASサーバ10C、10Dやファイルサーバ10E、Fで上記バックアップ処理を行うことができ、さらに、NASサーバC、10DをNASヘッドに置き換えてもよい。
<変形例1>
上記実施形態においては、スナップショットを取る場合の一例を示したが、スナップショットを取得せずに、データを記憶装置12Aへ書き込んだ時刻をタイムスタンプTiとしてもよい。あるいは、管理情報を作成した時刻などをタイムスタンプTiとして、管理リスト40を管理してもよい。
あるいは、時刻Tiに限定することなく、現用系サイト1のデータ内容に、追いついて同期させていくようにしてもよい。
上述のようなスナップショットという特定の時刻のデータ内容に同期させるのではなく、同期要求(図8)があったときに、各サイト間のデータの不一致が解消するまで、同期の処理が継続し、バックアップサイトでは最新の現用系サイト1のデータ内容に合わせればよいので、図9、図10に示したデータ管理情報のうちタイムスタンプとデータ50は不要になり、アドレス41で管理するようにしてもよい。つまり、データ管理情報中にはデータの実体はなく、照合の際にはデータ管理情報から特定したアドレス41に格納されているデータを取得するようにする。なお、この場合では、図12に示したスナップショットの取得というパスは不要となり、また、図13のS65では、同一アドレスのデータのwriteがあるとき、データ管理情報の送信時刻42をリセットすればよい。
<変形例2>
上記実施形態では、送信元までバックアップをループさせて照合を行ったが、図16で示すように、バックアップの送信元と照合を行うサイトが異なっても良い。つまり、現用系サイト1は遠地系サイト3にバックアップデータを転送するとともに、管理情報(管理リスト40)をバックアップのループの最後となる近地系サイト2へ転送しておく。
そして、近地系サイト2では、遠地系サイト3からデータを受信すると、記憶装置へ書き込んだ後、書き込んだデータと、現用系サイト1から受信した管理リスト40から上記実施形態と同様の処理を行ってデータの照合を実行する。
これにより、バックアップデータの送信元となる現用系サイト1の業務サーバ10Aの負荷をさらに低減することが可能となり、現用系サイト1の業務サーバ10Aにおける書き込み処理などのレスポンスを向上させることができる。
このように、複数のバックアップサイトがある場合では、送信元またはバックアップサイトのいずれかひとつでデータの照合を行えば良く、好ましくはバックアップのループの最後のサイトで照合を行うことで、データの整合性を確実に保証することができる。
なお、各サイトの役割は、図5に示した役割定義に応じて随時変更することができるので、各サイトにソフトウェア群100を設定しておけば、役割定義の受信後処理、データ転送先を変更するだけで、バックアップのループの流れや照合サイトを任意に変更することが可能となる。
<変形例3>
上記図1においては、現用系サイト1と近地系サイト2を外部ネットワークを介して接続したが、現用系サイト1の記憶装置と近地系サイト2の記憶装置とを同一のSAN11Bで接続することができる。
この場合、上記実施形態のように業務サーバ10Aでバックアップシステム(ソフトウェア群100、200)を稼動させても良いし、記憶装置12Aの制御部121でバックアップシステムを稼働させても良い。この場合、業務サーバ10Aの負荷をさらに低減でき、加えて、記憶装置12Aは同一のSAN11Bを介して高速に通信を行うことで、バックアップシステム全体の性能を向上させることができる。
<変形例4>
上記実施形態では、各サイトのサーバ同士を外部ネットワークで接続したが、各サイトの記憶装置12Aの制御部121同士を外部ネットワークで接続し、各制御部121で上記実施形態のソフトウェア群100、200をそれぞれ実行しても良い。
なお、上記記憶装置12Aではディスク装置を備えた例を示したが、テープ装置や光ディスク装置を備えたものであっても良い。
また、管理情報に用いるアドレスは、上記実施形態のようにファイルの位置を示すものの他、記憶装置12A上の物理的な格納位置をアドレス41として用いることができる。
アドレスが物理的格納位置の場合、通常、現用系サイト1と他サイトは、同一物理構成にする必要があり、各サイトでは同一のアドレスに同一のデータを格納する。なお、アドレスが論理的情報であれば、各サイトは同一物理構成である必要はない。
システムの全体的な構成を示すブロック図。 現用系サイトの一例を示すブロック図。 地理的に異なる3つのサイト間でデータのバックアップを行う際の、データの流れを示す説明図。 現用系サイトと近地系サイト及び遠地系サイトのソフトウェア構成を示すブロック図。 役割定義テーブルの一例を示す説明図。 役割定義部の処理の流れを示す説明図。 バックアップサイトで行われる処理の一例を示すフローチャート。 各サイト間のデータの流れを示すフローチャート。 管理リストの一例を示す説明図。 転送データの一例を示す説明図。 スナップショットと書き込みタイミングを示すタイムチャート。 スナップショット取得処理を示すフローチャート。 Write要求処理の一例を示すフローチャート。 データの照合処理の一例を示すフローチャート。 タイムアウト監視処理の一例を示すフローチャート。 変形例を示し、バックアップサイトで照合処理を行う場合のデータの流れを示す説明図。
符号の説明
1 現用系サイト
2 近地系サイト
3 遠地系サイト
10、20、30 業務サーバA
11A、11B内部ネットワーク
12A 記憶装置

Claims (21)

  1. 書き込み要求を受け付けたデータを格納するとともに、第2の装置に送信する第1の装置と、前記第1の装置から受信したデータを格納して、前記データを第3の装置へ送信する第2の装置と、前記第2の装置から受信したデータを格納する第3の装置を有し、前記第1の装置のデータを前記第2の装置及び第3の装置でバックアップするデータのバックアップ方法において、
    前記第1の装置が前記データを格納するとともに、前記データを前記第2の装置へ送信する手順と、
    前記第2の装置が第1の装置から受信した前記データを格納する手順と、
    前記第2の装置が前記格納したデータを前記第3の装置へ送信する手順と、
    前記第3の装置が第2の装置から受信した前記データを格納する手順と、
    前記第3の装置が前記格納したデータを第1の装置へ送信する手順と、
    前記第1の装置は、前記第2の装置へ送信したデータと、前記第3の装置から受信したデータとを照合して、これらデータが一致または不一致のいずれであるかを判定する手順と、
    前記判定が不一致であった場合には、第1の装置が前記データを前記第2の装置へ再度送信する手順と、
    を含むことを特徴とするデータのバックアップ方法。
  2. 前記第1の装置は、前記書き込み要求を受け付けたデータに、データ固有の識別情報を付加してから前記第2の装置へ送信し、
    前記データの一致または不一致を判定する手順は、前記第3の装置から受信したデータより前記識別情報を抽出し、この抽出した識別情報と前記データに付加した識別情報とを照合する手順を含むことを特徴とする請求項1に記載のデータのバックアップ方法。
  3. 前記第1の装置は、前記書き込み要求を受け付けたデータに、データ固有の識別情報を付加してから前記第2の装置へ送信するとともに、識別情報を格納するテーブルを保持し、
    前記照合が完了したデータに対応する前記識別情報をテーブルから消去する手順を含むことを特徴とする請求項2に記載のデータのバックアップ方法。
  4. 前記データの一致または不一致を判定する手順は、前記第3の装置から受信したデータと、前記書き込み要求を受け付けたデータとの照合結果が不一致となった回数を前記第1の装置に設定したテーブルに格納する手順を含むことを特徴とする請求項1に記載のデータのバックアップ方法。
  5. 前記第1の装置は、前記送信したデータの送信時刻を格納する手順と、
    前記送信したデータの送信時刻から所定の時間を経過したか否かを判定する手順と、
    前記所定の時間が経過した場合には、前記データを再度送信する手順と、
    を含むことを特徴とする請求項1に記載のデータのバックアップ方法。
  6. 前記第1の装置は、第1の計算機と、この第1の計算機に接続された第1の記憶装置から構成され、
    前記データを格納する手順は、前記第1の計算機が書き込み要求を受け付けたデータを、前記第1の記憶装置に対して書き込みを指令し、
    前記送信する手順は、前記第1の記憶装置に書き込みを指令したデータを前記第2の装置へ送信することを特徴とする請求項1に記載のデータのバックアップ方法。
  7. 前記第2の装置は、第2の計算機と、この第2の計算機に接続された第2の記憶装置から構成され、
    前記第2の装置がデータを格納する手順は、前記第1の装置から受信したデータを、前記第2の記憶装置に対して書き込みを指令し、
    前記第3の装置へ送信する手順は、前記第2の記憶装置に書き込みを指令したデータを前記第3の装置へ送信することを特徴とする請求項1に記載のデータのバックアップ方法。
  8. 前記第1の装置は、通信を行う制御部とデータを格納する記憶部を有する第1の記憶装置から構成され、
    前記第1の装置がデータを格納する手順は、前記制御部が書き込み要求を受け付けたデータを、前記記憶部に対して書き込みを指令し、
    前記第2の装置へ送信する手順は、前記記憶部に書き込みを指令したデータを、前記制御部が前記第2の装置へ送信することを特徴とする請求項1に記載のデータのバックアップ方法。
  9. 前記第2の装置は、通信を行う制御部とデータを格納する記憶部を有する第2の記憶装置から構成され、
    前記第2の装置がデータを格納する手順は、前記制御部が第1の装置から受信したデータを、前記記憶部に対して書き込みを指令し、
    前記第3の装置へ送信する手順は、前記記憶部に書き込みを指令したデータを、前記制御部が前記第3の装置へ送信することを特徴とする請求項1に記載のデータのバックアップ方法。
  10. 第1の装置が書き込み要求を受け付けたデータを格納するとともに、当該データを第2の装置へ送信し、前記第2の装置が格納した前記データを第3の装置に送信し、前記第3の装置が格納した前記データを第1の装置に送信してデータをバックアップするプログラムであって、
    前記データを格納するとともに、前記データを前記第2の装置へ送信する処理と、
    前記第3の装置から前記送信したデータを受信する処理と、
    前記第2の装置へ送信したデータと、前記第3の装置から受信したデータとを照合して、これらデータが一致または不一致のいずれであるかを判定する処理と、
    前記判定が不一致であった場合には、前記データを第2の装置へ再度送信する処理と、
    を第1の装置に機能させることを特徴とするプログラム。
  11. 前記第2の装置へ送信する処理は、前記書き込み要求を受け付けたデータに、データ固有の識別情報を付加する処理を含み、
    前記データの一致または不一致を判定する処理は、前記第3の装置から受信したデータより前記識別情報を抽出し、この抽出した識別情報と前記データに付加した識別情報とを照合する処理を含むことを特徴とする請求項10に記載のプログラム。
  12. 前記データ固有の識別情報を付加する処理は、
    前記識別情報を予め設定したテーブルに格納する処理と、
    前記照合が完了したデータに対応する前記識別情報をテーブルから消去する処理と、
    を含むことを特徴とする請求項11に記載のプログラム。
  13. 前記データの一致または不一致を判定する処理は、前記第3の装置から受信したデータと、前記書き込み要求を受け付けたデータとの照合結果が不一致となった回数を前記第1の装置に設定したテーブルに格納する処理を含むことを特徴とする請求項10に記載のプログラム。
  14. 前記第2の装置へ送信したデータの送信時刻を格納する処理と、
    前記送信したデータの送信時刻から所定の時間を経過したか否かを判定する処理と、
    前記所定の時間が経過した場合には、前記データを再度送信する処理と、
    を含むことを特徴とする請求項10に記載のプログラム。
  15. 書き込み要求を受け付けたデータを格納するとともに、第2の装置に送信する第1の装置と、前記第1の装置から受信したデータを格納して、前記データを第3の装置へ送信する第2の装置と、前記第2の装置から受信したデータを格納する第3の装置を有するデータのバックアップシステムにおいて、
    前記第1の装置は、前記データを格納する第1の記憶部と、前記データを前記第2の装置へ送信する第1の送信部を有し、
    前記第2の装置は、前記第1の装置から受信した前記データを格納する第2の記憶部と、第2の記憶部に格納した前記データを第3の装置へ送信する第2の送信部を有し、
    前記第3の装置は、前記第2の装置から受信した前記データを格納する第3の記憶部と、第3の記憶部に格納した前記データを第1の装置へ送信する第3の送信部を有し、
    前記第1の装置は、前記第3の装置からのデータを受信する受信部と、
    前記第2の装置へ送信したデータと、前記第3の装置から受信したデータとを照合して、これらデータが一致または不一致のいずれであるかを判定する照合部と、を備えて、
    前記判定が不一致であった場合には、第1の装置が前記データを第2の装置へ再度送信することを特徴とするデータのバックアップシステム。
  16. 前記第1の送信部は、前記書き込み要求を受け付けたデータに、データ固有の識別情報を付加してから前記第2の装置へ送信し、
    前記照合部は、前記第3の装置から受信したデータより前記識別情報を抽出し、この抽出した識別情報と前記データに付加した識別情報とを照合することを特徴とする請求項15に記載のデータのバックアップシステム。
  17. 前記第1の装置は、前記書き込み要求を受け付けたデータに、データ固有の識別情報を付加してから前記第2の装置へ送信するとともに、この識別情報を格納するテーブルを有し、
    前記照合が完了したデータに対応する前記識別情報をテーブルから消去することを特徴とする請求項16に記載のデータのバックアップシステム。
  18. 前記照合部は、前記第3の装置から受信したデータと、前記書き込み要求を受け付けたデータとの照合結果が不一致となった回数を前記第1の装置に設定したテーブルに格納することを特徴とする請求項15に記載のデータのバックアップシステム。
  19. 前記第1の送信部は、前記送信したデータの送信時刻を格納する計時部と、
    前記送信したデータの送信時刻から所定の時間を経過したか否かを判定するタイムアウト判定部と、
    前記所定の時間が経過した場合には、前記データを前記第2の装置へ再度送信する再送部と、
    を有することを特徴とする請求項15に記載のデータのバックアップシステム。
  20. 第一の処理装置で書き込んだデータを、第二の処理装置と第三の処理装置で格納するバックアップシステムであって、
    前記第一の処理装置は、
    書き込み要求の対象となるバックアップデータを格納する記憶部と、
    前記バックアップデータ及び、当該データの前記第一の記憶部における格納場所を示すアドレス情報とを含む転送データを前記第二の処理装置へ送信する送信部と、
    前記第三の処理装置から送信される前記転送データを受信する受信部と、
    前記受信部が前記転送データを受信した場合に、受信した当該転送データに含まれる前記アドレス情報で特定されるアドレスに格納されている前記バックアップデータと、受信した前記転送データに含まれている前記バックアップデータとを照合する照合部と、
    前記照合部における前記照合結果に応じて、前記第一の記憶部に格納されている前記バックアップデータを含む転送データを前記第二の処理装置へ再送する再送部と、
    を有し、
    前記第二の処理装置は、
    前記第一の処理装置から送信されるデータを受信する受信部と、
    前記受信部が受信したデータを前記第三の処理装置へ転送する送信部と、
    を有し、
    前記第三の処理装置は、
    前記第二の処理装置から送信されるデータを受信する受信部と、
    前記受信部が受信したデータを前記第一の処理装置へ転送する送信部と、
    を有することを特徴とするバックアップシステム。
  21. 複数のサイトで同一のデータを循環させてバックアップするデータのバックアップシステムであって、
    書き込み要求を受け付けたデータを格納するとともに、このデータを第1のバックアップサイトに送信する送信元サイトと、
    前記第1のバックアップサイトは、送信元サイトから受信したデータを格納するとともに、第2のバックアップサイトへ前記格納したデータを転送し、
    前記第2のバックアップサイトは、前記第1のバックアップサイトから受信したデータを格納するとともに、送信元サイトへ前記格納したデータを転送し、
    前記送信元サイトは、前記第1のバックアップサイトに送信したデータと、前記第2のバックアップサイトから受信したデータを照合し、これらのデータが不一致の場合には前記データを前記第1のバックアップサイトへ再度送信することを特徴とするバックアップシステム。
JP2003419162A 2003-12-17 2003-12-17 バックアップシステム及び方法並びにプログラム Expired - Lifetime JP3977803B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2003419162A JP3977803B2 (ja) 2003-12-17 2003-12-17 バックアップシステム及び方法並びにプログラム
US10/874,247 US7047376B2 (en) 2003-12-17 2004-06-24 Backup system and method and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003419162A JP3977803B2 (ja) 2003-12-17 2003-12-17 バックアップシステム及び方法並びにプログラム

Publications (2)

Publication Number Publication Date
JP2005182251A JP2005182251A (ja) 2005-07-07
JP3977803B2 true JP3977803B2 (ja) 2007-09-19

Family

ID=34675199

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003419162A Expired - Lifetime JP3977803B2 (ja) 2003-12-17 2003-12-17 バックアップシステム及び方法並びにプログラム

Country Status (2)

Country Link
US (1) US7047376B2 (ja)
JP (1) JP3977803B2 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4812513B2 (ja) * 2006-05-23 2011-11-09 株式会社エヌ・ティ・ティ・ドコモ 到達確認型ブロードキャスト配信方法、移動端末、及びブロードキャスト配信サーバ
US7702953B2 (en) * 2007-01-04 2010-04-20 International Business Machines Corporation Storage management in cascaded replication of data
US8924352B1 (en) * 2007-03-31 2014-12-30 Emc Corporation Automated priority backup and archive
WO2009013833A1 (ja) * 2007-07-26 2009-01-29 Fujitsu Limited 記録制御装置、記録装置、記録システム及び記録制御プログラム
US8583601B1 (en) 2007-09-28 2013-11-12 Emc Corporation Imminent failure backup
JP2010033168A (ja) * 2008-07-25 2010-02-12 Makita Corp 充電システム、バッテリ、充電装置、及びプログラム
US9552215B2 (en) * 2011-03-08 2017-01-24 Rackspace Us, Inc. Method and system for transferring a virtual machine
US9027024B2 (en) 2012-05-09 2015-05-05 Rackspace Us, Inc. Market-based virtual machine allocation
US8874956B2 (en) * 2012-09-18 2014-10-28 Datadirect Networks, Inc. Data re-protection in a distributed replicated data storage system
US10812434B2 (en) 2017-03-23 2020-10-20 Blackberry Limited Apparatus and method for maintaining message databases in eventual consistency distributed database systems
DE112018007489B4 (de) * 2018-05-21 2022-03-31 Mitsubishi Electric Corporation Kommunikationsvorrichtung, kommunikationsverfahren und kommunikationsprogramm
US10901781B2 (en) 2018-09-13 2021-01-26 Cisco Technology, Inc. System and method for migrating a live stateful container

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5615329A (en) 1994-02-22 1997-03-25 International Business Machines Corporation Remote data duplexing
KR0128271B1 (ko) 1994-02-22 1998-04-15 윌리암 티. 엘리스 재해회복을 위한 일관성 그룹 형성방법 및 레코드갱싱의 섀도잉 방법, 주시스템, 원격데이타 섀도잉 시스템과 비동기 원격데이타 복제 시스템
JPH08314794A (ja) * 1995-02-28 1996-11-29 Matsushita Electric Ind Co Ltd 安定記憶装置へのアクセス待ち時間を短縮するための方法およびシステム
JPH09330262A (ja) 1996-06-11 1997-12-22 Toshiba Corp バックアップシステム
US6148383A (en) * 1998-07-09 2000-11-14 International Business Machines Corporation Storage system employing universal timer for peer-to-peer asynchronous maintenance of consistent mirrored storage
US6374266B1 (en) * 1998-07-28 2002-04-16 Ralph Shnelvar Method and apparatus for storing information in a data processing system
US6741581B1 (en) * 1998-09-22 2004-05-25 Hughes Electronics Corporation System and method for transmitting data in frame format using an R-Rake retransmission technique with blind identification of data frames
US6397292B1 (en) * 1999-08-19 2002-05-28 Emc Corporation Asymmetrical striping of mirrored storage device arrays and concurrent access to even tracks in the first array and odd tracks in the second array to improve data access performance
US6601187B1 (en) * 2000-03-31 2003-07-29 Hewlett-Packard Development Company, L. P. System for data replication using redundant pairs of storage controllers, fibre channel fabrics and links therebetween
US6785783B2 (en) * 2000-11-30 2004-08-31 International Business Machines Corporation NUMA system with redundant main memory architecture
US6662281B2 (en) * 2001-01-31 2003-12-09 Hewlett-Packard Development Company, L.P. Redundant backup device
EP1255198B1 (en) 2001-02-28 2006-11-29 Hitachi, Ltd. Storage apparatus system and method of data backup
EP1244221A1 (en) * 2001-03-23 2002-09-25 Sun Microsystems, Inc. Method and system for eliminating data redundancies
US7139808B2 (en) 2002-04-30 2006-11-21 Intel Corporation Method and apparatus for bandwidth-efficient and storage-efficient backups
US20030220920A1 (en) 2002-05-24 2003-11-27 Mentor Graphics Corporation Matching database fields in an electronic design automation environment
US7103728B2 (en) * 2002-07-23 2006-09-05 Hewlett-Packard Development Company, L.P. System and method for memory migration in distributed-memory multi-processor systems
US6851031B2 (en) 2002-08-30 2005-02-01 Alacritus, Inc. Method of importing data from a physical data storage device into a virtual tape library
US6862656B2 (en) 2002-08-30 2005-03-01 Alacritus, Inc. System and method for exporting a virtual tape
US7254683B2 (en) * 2003-11-03 2007-08-07 International Business Machines Corporation Speculative data mirroring apparatus method and system

Also Published As

Publication number Publication date
US20050138310A1 (en) 2005-06-23
JP2005182251A (ja) 2005-07-07
US7047376B2 (en) 2006-05-16

Similar Documents

Publication Publication Date Title
US11734306B2 (en) Data replication method and storage system
JP4215542B2 (ja) 2つのスナップショット間の変化を判定して宛先スナップショットに送信するシステム及び方法
JP5166735B2 (ja) 非常に短い更新インターバルで同期データ複製が可能なシステム及び方法
US6282610B1 (en) Storage controller providing store-and-forward mechanism in distributed data storage system
US7363444B2 (en) Method for taking snapshots of data
US9098455B2 (en) Systems and methods of event driven recovery management
US8301791B2 (en) System and method for non-disruptive check of a mirror
US7593989B2 (en) Symbiotic computing system and method of operation therefor
WO2018154698A1 (ja) ファイルストレージ、オブジェクトストレージ、およびストレージシステム
JP5292351B2 (ja) メッセージキュー管理システム及びロックサーバ及びメッセージキュー管理方法及びメッセージキュー管理プログラム
JP2007511008A (ja) ハイブリッドリアルタイムデータレプリケーション
JP3977803B2 (ja) バックアップシステム及び方法並びにプログラム
US20110282843A1 (en) Method and system for data backup and replication
WO2008121240A2 (en) Write ordering style asynchronous replication utilizing a loosely-accurate global clock
US7107355B2 (en) High availability lightweight directory access protocol service
JP5292350B2 (ja) メッセージキュー管理システム及びロックサーバ及びメッセージキュー管理方法及びメッセージキュー管理プログラム
US20210255933A1 (en) Using inode entries to mirror data operations across data storage sites
US11693844B2 (en) Processing delete requests based on change feed of updates
US20230205643A1 (en) Differential checksum validation
US7904678B1 (en) Technique for recovering mirror consistency in cooperative virtual storage
US9497266B2 (en) Disk mirroring for personal storage
US20230205641A1 (en) Disaster recovery drills based on checksum validations

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060920

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20060920

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20061003

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061017

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061201

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070403

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070531

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070621

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

Free format text: PAYMENT UNTIL: 20100629

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 3977803

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20100629

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110629

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110629

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120629

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120629

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130629

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term