JP5786701B2 - 修復システム、修復方法及びプログラム - Google Patents

修復システム、修復方法及びプログラム Download PDF

Info

Publication number
JP5786701B2
JP5786701B2 JP2011276213A JP2011276213A JP5786701B2 JP 5786701 B2 JP5786701 B2 JP 5786701B2 JP 2011276213 A JP2011276213 A JP 2011276213A JP 2011276213 A JP2011276213 A JP 2011276213A JP 5786701 B2 JP5786701 B2 JP 5786701B2
Authority
JP
Japan
Prior art keywords
data
unit
backup
received
storage device
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
JP2011276213A
Other languages
English (en)
Other versions
JP2013127666A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2011276213A priority Critical patent/JP5786701B2/ja
Publication of JP2013127666A publication Critical patent/JP2013127666A/ja
Application granted granted Critical
Publication of JP5786701B2 publication Critical patent/JP5786701B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、データを修復する修復システム、修復方法及びプログラムに関する。
コンピュータの記憶装置に記憶されたデータを、バックアップ装置に記憶したバックアップデータを用いて修復する技術がある(例えば、特許文献1、2参照)。バックアップ装置は、万が一の天災、テロ等を考慮し、コンピュータから離れた遠隔地に設置される場合が多い。コンピュータ及びバックアップ装置は、夫々別のLAN(Local Area Network)に接続され、コンピュータ及びバックアップ装置が夫々接続されたLAN同士は、他のネットワークにより接続される。
特開2007−86854号公報 特開2008−171241号公報
しかしながら、コンピュータ及びバックアップ装置が夫々接続されたLANを相互に接続する他のネットワークの帯域幅が狭い場合、バックデータの転送に多大な時間を要し、データの修復が遅れるという問題がある。
1つの側面では、本発明は、データを迅速に修復することができる修復システム、修復方法及びプログラムを提供することを目的とする。
本願による開示の一観点は、第一通信網に接続され、各々が記憶部を有する複数の記憶装置並びに前記第一通信網及び該第一通信網の帯域幅と異なる帯域幅を有し、該第一通信網と接続された第二通信網を介して前記複数の記憶装置と通信するバックアップ装置を備え、前記複数の記憶装置に含まれる一の記憶装置が有する前記記憶部に記憶されたデータを修復する修復システムにおいて、前記バックアップ装置は、前記記憶部に夫々記憶されたデータ及び該データのメタデータを前記複数の記憶装置から受信する受信部と、該受信部が受信したデータの識別子を生成する生成部と、該生成部が生成したデータの識別子を、前記受信部が該データを受信した前記複数の記憶装置に夫々送信する識別子送信部と、被修復データの指定を受け付ける受付部と、該受付部が受け付けた被修復データに対応する識別子及び前記受信部が受信したデータに係るメタデータが関連付けてある一覧を前記一の記憶装置に送信する一覧送信部とを有し、前記複数の記憶装置は、前記識別子送信部が送信したデータの識別子を受信する識別子受信部と、該識別子受信部が受信した識別子を前記記憶部に記憶されたデータと対応付けて該記憶部に記憶する識別子記憶部とを有し、前記一の記憶装置は、前記一覧送信部が送信した一覧を受信する一覧受信部と、該一覧受信部が受信した一覧に基づいた一又は複数の他の記憶装置への問い合わせに対する応答に応じて、被修復データに対応するデータを自身に送信する要求を該他の記憶装置又は前記バックアップ装置に送信する要求送信部と、該要求送信部が送信した要求に係るデータを前記他の記憶装置又は前記バックアップ装置から受信する要求受信部と、前記一覧受信部が受信した一覧及び前記識別子記憶部が記憶した識別子に基づいて、前記要求受信部が受信したデータを用いて被修復データを修復する修復部とを有する。
1実施形態によれば、データを迅速に修復することができる。
修復システムのハードウェア構成例の概要を示すブロック図である。 コンピュータのハードウェア構成例を示すブロック図である。 バックアップサーバのハードウェア構成例を示すブロック図である。 エージェント保有データ一覧テーブルのレコードレイアウトの一例を示す説明図である。 サーバ保有データ一覧テーブルのレコードレイアウトの一例を示す説明図である。 データパステーブルのレコードレイアウトの一例を示す説明図である。 バックアップイメージ構成テーブルのレコードレイアウトの一例を示す説明図である。 修復イメージ構成テーブルのレコードレイアウトの一例を示す説明図である。 データ管理処理の手順の一例を示すフローチャートである。 バックアップ処理の手順の一例を示すフローチャートである。 バックアップ処理の手順の一例を示すフローチャートである。 バックアップ処理の手順の一例を示すフローチャートである。 重複データマージ処理の手順の一例を示すフローチャートである。 重複データマージ処理の手順の一例を示すフローチャートである。 データ同期処理の手順の一例を示すフローチャートである。 修復処理の手順の一例を示すフローチャートである。 修復処理の手順の一例を示すフローチャートである。 修復処理の手順の一例を示すフローチャートである。 修復処理の手順の一例を示すフローチャートである。 第一の処理の手順の一例を示すフローチャートである。 第一の処理の手順の一例を示すフローチャートである。 第二の処理の手順の一例を示すフローチャートである。 第二の処理の手順の一例を示すフローチャートである。 第二の処理の手順の一例を示すフローチャートである。 第三の処理の手順の一例を示すフローチャートである。
本実施の形態に係る修復システムをその図面に基づいて説明する。
図1は、修復システムのハードウェア構成例の概要を示すブロック図である。修復システムは、コンピュータ(記憶装置)1及びバックアップサーバ(バックアップ装置)2を含む。
コンピュータ1は、バックアップ対象のバックアップクライアントであり、データの修復(リストア)が必要になった場合、リストアターゲットになる情報処理装置である。コンピュータ1は、汎用コンピュータ、ワークステーション、デスクトップ型PC(パーソナルコンピュータ)及びノート型PCを含む。また、コンピュータ1は、携帯電話機、スマートフォン、PHS(Personal Handyphone System)端末機、PDA(PersonalDigital Assistant)、タブレットPC及びゲーム装置を含む。コンピュータ1は、後述するエージェントプログラムであるプログラム1Pを実行することができる全ての情報処理装置を含む。
以下では、コンピュータ1の例として、デスクトップ型PCを挙げて説明する。コンピュータ1は、複数台である。複数のコンピュータ1は、同一セグメントのローカルエリアネットワーク(第一通信網)1Nにより相互に接続されている。ローカルエリアネットワーク1Nは、有線又は無線により構築されている。
バックアップサーバ2は、バックアップ処理全体の制御を行う管理サーバとして機能する。また、リストアターゲットのコンピュータ1において、データの修復が必要になった場合、修復処理はバックアップサーバ2から実行される。バックアップサーバ2は、汎用コンピュータ、ワークステーション、PC等を含む。以下では、バックアップサーバ2の例として、ワークステーションを挙げて説明する。バックアップサーバ2は、例えば1台であり、ローカルエリアネットワーク(第三通信網)2Nに接続されている。ローカルエリアネットワーク2Nは、有線又は無線により構築されている。
ローカルエリアネットワーク1Nとローカルエリアネットワーク2Nとは、ネットワーク(第二通信網)3Nで接続されている。ネットワーク3Nは、例えばWAN(Wide Area Network)、インターネット、電話通信回線網、衛星通信回線網等である。なお、ローカルエリアネットワーク1Nとローカルエリアネットワーク2Nとは、LANスイッチ(通信網接続装置)で接続されてもよい。
ネットワーク3Nは、多くの通信機器によって利用される。そのため、ネットワーク3Nの帯域幅(通信路容量)又は通信速度は、ローカルエリアネットワーク1N、2Nの帯域幅(通信路容量)又は通信速度より小さい場合がある。
バックアップ対象のコンピュータ1は、自身の記憶装置に記憶されたデータの破壊、消失、改変等に備え、ネットワーク3Nを介して、バックアップデータをバックアップサーバ2に転送する。バックアップサーバ2は、ネットワーク3Nを介して、バックアップ対象のコンピュータ1からバックアップデータを受信し、受信したバックアップデータを自身に接続された記憶装置に記憶する。
なお、コンピュータ1及びバックアップサーバ2は、地理的に離れた場所に設置されていてもよいし、地理的に近接した場所に設定されていてもよい。
リストアターゲットのコンピュータ1は、自身の記憶装置に記憶されたデータが破壊、消失等を被った場合、バックアップサーバ2からバックアップデータを取得し、データの修復を実行する。
ところで、ローカルエリアネットワーク1Nで接続された他のコンピュータ1が、リストアターゲットのコンピュータ1におけるデータの修復に必要なバックアップデータと同一のデータを保有している場合がある。同一の当該データは、例えばOS(Operating System)のシステムファイル、同報メールの添付ファイル、プログラム1P等である。かかる場合、リストアターゲットのコンピュータ1は、他のコンピュータ1から同一の当該データを取得し、取得した当該データを用いて破損等を被ったデータを修復する。これにより、修復システムは通信速度の遅いネットワーク3Nを使用しないため、迅速な修復処理が可能となる。
各コンピュータ1の記憶装置には、上記のバックアップ処理及び修復処理を実行するプログラム1Pがインストールされている。プログラム1Pは、コンピュータ1に常駐する常駐プログラムである。
また、バックアップサーバ2の記憶装置には、上記のバックアップ処理及び修復処理を実行するプログラム2Pがインストールされている。プログラム2Pは、バックアップサーバ2に常駐する常駐プログラムである。
図2は、コンピュータ1のハードウェア構成例を示すブロック図である。
コンピュータ1は、制御部(生成部、識別子記憶部、固有値算出部、判定部、書き換え部、修復部)11、ROM(Read Only Memory)12、RAM(Random Access Memory)13を含む。
制御部11は、CPU、MPU等のプロセッサであり、コンピュータ1の各構成部を制御する。制御部11は、ハードディスク14に記憶されたプログラム1PをRAM13に読み出し、読み出したプログラム1Pを実行する。
ROM12は、例えば不揮発性の半導体メモリ又は半導体メモリ以外の読み出し専用記憶媒体である。ROM12は、端末装置1の起動時に制御部11が実行するBIOS(Basic Input/Output System)、ファームウェア等を記憶している。
RAM13は、例えばSRAM(Static RAM)又はDRAM(Dynamic RAM)であり、制御部11が実行する処理の過程で必要な作業変数、データ等を一時的に記憶する。なお、RAM13は主記憶装置の一例であり、RAM13の代わりにフラッシュメモリ、メモリカード等が用いられてもよい。
コンピュータ1は、ハードディスク(記憶部)14、ディスクドライブ15、表示部16及び操作部17を含む。
ハードディスク14は、バックアップサーバ2に保存されるバックアップデータに対応するオリジナルデータを記憶している。以下、ハードディスク14に記憶されているオリジナルデータを元データ1Dと呼ぶ。
ハードディスク14は、エージェント保有データ一覧テーブル1T及び修復イメージ構成テーブル2Tを記憶している。エージェント保有データ一覧テーブル1Tは、ハードディスク14に記憶されている元データ1Dの一覧情報を格納するテーブルである。コンピュータ1は、ハードディスク14が記憶する元データ1Dのメタデータをエージェント保有データ一覧テーブル1Tに登録する。エージェント保有データ一覧テーブル1Tにより、コンピュータ1は、ハードディスク14に保有している元データ1Dを管理する。
なお、図2には図示されていないが、OSのシステムファイル、同報メールの添付ファイル等は元データ1Dに含まれる。また、プログラム1P、エージェント保有データ一覧テーブル1T及び修復イメージ構成テーブル2Tも、元データ1Dに含まれる。
修復イメージ構成テーブル2Tは、リストアターゲットのコンピュータ1が修復処理に使用するバックアップデータの一覧情報を格納するテーブルである。修復イメージ構成テーブル2のレコード(一覧)は、バックアップサーバ2により作成され、バックアップサーバ2からリストアターゲットのコンピュータ1に転送される。
ハードディスク14は、制御部11が実行するプログラム1Pを記憶している。プログラム1Pは、コンピュータ1が他のコンピュータ1及びバックアップサーバ2と通信し、自らが判断能力を持って自律的に振る舞うためのエージェントプログラムである。プログラム1Pには、エージェント保有データ一覧テーブル1Tを管理する処理、バックアップ処理及び修復処理に関する手順が記述されている。
なお、ハードディスク14は、コンピュータ1の内部に取り付けられるものであってもよいし、コンピュータ1の外部に置かれるものであってもよい。ハードディスク14は、補助記憶装置の一例であり、大容量の情報の記憶が可能なフラッシュメモリ又はCD(Compact Disc)、DVD(Digital Versatile Disk)、BD(Blu-ray Disc、登録商標)等の光ディスク1aで代替されてもよい。
ディスクドライブ15は、外部の記憶媒体であるCD、DVD、BD等の光ディスク1aから情報を読み出し、光ディスク1aに情報を記憶する。制御部11は、操作部17からディスクドライブ15に対する光ディスク1aの排出命令を受け付けた場合、ディスクドライブ15の図示しないトレイを排出する。
表示部16は、例えば液晶ディスプレイ、有機EL(Electro-Luminescence)ディスプレイ、CRT(Cathode RayTube)ディスプレイ等の画面を有し、制御部11からの指示に従って、プログラム1Pに係る各種情報を表示する。
操作部17は、ユーザが各種の入力を行うキーボード、マウス、電源スイッチ、ディスクドライブ15から光ディスク1aを排出するための操作ボタン等の入力デバイスを含む。操作部17は、ユーザによる操作に基づいて入力信号を生成する。生成された入力信号は、バス1bを介して制御部11に送信される。
コンピュータ1は、通信部(識別子受信部、一覧受信部、要求送信部、要求受信部、問い合わせ送信部、応答受信部、問い合わせ受信部、応答送信部、データ送信部、判定結果受信部、重複識別子受信部、送信部)18を含む。コンピュータ1のハードウェア各部は、バス1bを介して相互に接続されている。
通信部18は、有線又は無線通信のモデム、LANカード、USB端子等である。通信部18は、ローカルエリアネットワーク1Nを介して他のコンピュータ1と接続されている。通信部18は、ローカルエリアネットワーク1N、2Nと、ネットワーク3N又はLANスイッチ4とを介してバックアップサーバ2と接続されている。
図2は、ローカルエリアネットワーク1NがLANスイッチ4と接続されている様子を例示している。
図3は、バックアップサーバ2のハードウェア構成例を示すブロック図である。
バックアップサーバ2は、制御部(算出部、同一判定部、変換部、抽出部、削除部)21、ROM22、RAM23、ハードディスク(バックアップデータ記憶部)24、ディスクドライブ25及び表示部26を含む。
制御部21は、CPU等のプロセッサであり、バックアップサーバ2の各構成部を制御する。制御部21は、ハードディスク24に記憶されたプログラム2PをRAM23に読み出し、読み出したプログラム2Pを実行する。
ROM22は、例えば不揮発性の半導体メモリ又は半導体メモリ以外の読み出し専用記憶媒体である。ROM22は、バックアップサーバ2の起動時に制御部21が実行するBIOS、ファームウェア等を記憶している。
RAM23は、例えばSRAM又はDRAMであり、制御部21が実行する処理の過程で必要な作業変数、データ等を一時的に記憶する。また、RAM23は、例えば制御部21がビューを実行した結果を一時的に記憶してもよい。なお、RAM23は主記憶装置の一例であり、RAM23の代わりにフラッシュメモリ、メモリカード等が用いられてもよい。
ハードディスク24は、コンピュータ1から送信されたバックアップデータ2Dを記憶する。バックアップデータ2Dは、元データ1Dに対応する実データである。また、ハードディスク24は、制御部21が実行するプログラム2P及び各種テーブルを記憶している。
各種テーブルは、サーバ保有データ一覧テーブル3T、データパステーブル4T、バックアップイメージ構成テーブル5T及び修復イメージ構成テーブル2Tを含む。
サーバ保有データ一覧テーブル3Tは、バックアップサーバ2がハードディスク24に保有するバックアップデータ2Dの一覧情報を格納するテーブルである。バックアップサーバ2は、異なるバックアップ対象のコンピュータ1から同一のバックアップデータ2Dが複数転送されてきた場合、後述する重複データマージ処理により、サーバ保有データ一覧テーブル3Tのレコードを1件にマージする。
データパステーブル4Tは、ハードディスク24におけるバックアップデータ2Dの位置を記憶するテーブルである。バックアップイメージ構成テーブル5Tは、バックアップ処理によりバックアップ対象のコンピュータ1からバックアップサーバ2に転送されてきたバックアップデータ2Dのメタデータを格納するテーブルである。異なるバックアップ対象のコンピュータ1から同一のバックアップデータ2Dが複数転送されてきた場合でも、バックアップイメージ構成テーブル5Tには、異なるバックアップ情報としてレコードが保持される。
修復イメージ構成テーブル2Tは、リストアターゲットのコンピュータ1以外の他のコンピュータ1のうち、どのコンピュータ1がバックアップデータ2Dに対応する元データ1Dを保有しているかを示した修復用の元データ1Dの一覧情報である。バックアップサーバ2は、修復イメージ構成テーブル2Tのレコードを作成し、作成したレコードをリストアターゲットのコンピュータ1に転送する。リストアターゲットのコンピュータ1は、バックアップサーバ2から修復イメージ構成テーブル2Tのレコードを取得し、取得したレコードに基づいて、修復処理を実行する。
なお、ハードディスク24は、バックアップサーバ2の内部に取り付けられるものであっても、バックアップサーバ2の外部に置かれるものであってもよい。ハードディスク24は、補助記憶装置の一例であり、大容量の情報の記憶が可能なフラッシュメモリ又はCD、DVD、BD等の光ディスク1aで代替されてもよい。
バックアップデータ2Dを格納する記憶媒体はテープでもよい。かかる場合、バックアップデータ2Dを格納する記憶装置はテープドライブ装置になる。更には、バックアップデータ2Dを格納する記憶媒体は光ディスク1aでもよい。かかる場合、バックアップデータ2Dを格納する記憶装置はディスクドライブ25になる。
また、バックアップデータ2Dは別のサーバと接続された記憶装置に格納してもよい。かかる場合、ハードディスク24には管理用の上記各種テーブルが記憶されるが、バックアップデータ2Dは別のサーバの内外に置かれた記憶装置に記憶される。
ディスクドライブ25は、外部の記憶媒体であるCD、DVD、BD等の光ディスク1aから情報を読み出し、光ディスク1aに情報を記憶する。制御部21は、操作部27からディスクドライブ25に対する光ディスク1aの排出命令を受け付けた場合、ディスクドライブ25の図示しないトレイを排出する。
表示部26は、例えば液晶ディスプレイ、有機ELディスプレイ、CRTディスプレイ等の画面を有し、制御部21からの指示に従って、プログラム2Pに係る各種情報を表示する。
コンピュータ1は、操作部(受付部)27及び通信部(受信部、識別子送信部、一覧送信部、データ受信部、判定結果送信部、通信網データ送信部、重複識別子送信部)28を含む。バックアップサーバ2のハードウェア各部は、バス2bを介して相互に接続されている。
操作部27は、ユーザが各種の入力を行うキーボード、マウス、電源スイッチ、ディスクドライブ25から光ディスク1aを排出するための操作ボタン等の入力デバイスを含む。操作部27は、ユーザによる操作に基づいて入力信号を生成する。生成された入力信号は、バス2bを介して制御部21に送信される。
通信部28は、有線又は無線通信のモデム、LANカード、USB端子等であり、ローカルエリアネットワーク2Nと接続されている。通信部28は、ローカルエリアネットワーク1N、2Nと、ネットワーク3N又はLANスイッチ4とを介して複数のコンピュータ1と接続されている。
図3は、ローカルエリアネットワーク2Nがネットワーク3Nと接続されている様子を例示している。
次に、各種テーブルを詳細に説明する。
図4は、エージェント保有データ一覧テーブル1Tのレコードレイアウトの一例を示す説明図である。エージェント保有データ一覧テーブル1Tは、コンピュータ1がハードディスク14に保有する元データ1Dの一覧情報を記憶するテーブルである。
エージェント保有データ一覧テーブルは、データID、ファイル名、パス、作成日時、サイズ及びハッシュ値の各列を含む。データIDは、元データ1D及び元データ1Dに対応するバックアップデータ2Dを識別する記号である。データIDは、バックアップサーバ2により発番される。データIDは、コンピュータ1がバックアップサーバ2からバックアップ時にデータIDを取得した場合、データID列に書き込まれる。元データ1Dが作成されてからバックアップ処理が実行されるまでの間、データID列にはnullが格納される。
ファイル名は、元データ1Dの名称である。パスは、コンピュータ1のハードディスク14における元データ1Dのパスである。図3の例では、パスは元データ1Dのファイル名を含まない。しかし、パスは、元データ1Dのファイル名を含んでもよい。作成日時は、元データ1Dが作成された日時である。作成日時のフォーマット形式は、例えばyyyy/mm/dd hh:mmである。サイズは、元データ1Dの容量であり、単位は例えばKB(キロバイト)である。ハッシュ値は、元データ1Dのバイナリ表現に対してハッシュ関数を適用し、得られる固有値である。
なお、エージェント保有データ一覧テーブル1Tには、他の列が含まれてもよい。例えば、エージェント保有データ一覧テーブル1Tは、元データ1Dを所定の暗号化鍵により暗号化した暗号化データ、元データ1Dを所定の圧縮アルゴリズムに基づいて圧縮した圧縮データ等を格納する列を含んでもよい。暗号化データ及び圧縮データは、元データ1Dのデータであるため、メタデータである。
図5は、サーバ保有データ一覧テーブル3Tのレコードレイアウトの一例を示す説明図である。サーバ保有データ一覧テーブル3Tは、バックアップサーバ2が保有するバックアップデータ2Dの一覧情報を記憶するテーブルである。
サーバ保有データ一覧テーブル3Tは、データID、サイズ、ハッシュ値、データ保有マシン及びマージ済フラグの各列を含む。データIDは、元データ1D及び元データ1Dに対応するバックアップデータ2Dを識別する記号である。サイズは、バックアップデータ1Dの容量であり、単位は例えばKB(キロバイト)である。ハッシュ値は、バックアップデータ1Dのバイナリ表現に対してハッシュ関数を適用し、得られる固有値である。データ保有マシンは、バックアップデータ2Dに対応する元データ1Dを保有しているコンピュータ1の識別情報である。データ保有マシンは、例えばコンピュータ1が備える通信部18のMAC(Media Access Control)アドレスである。
マージ済フラグは、バックアップデータ2Dがバックアップサーバ2により重複データマージ処理を施されたか否かを示すフラグである。重複データマージ処理は、複数の異なるコンピュータ1から転送されたバックアップデータ2Dがハードディスク24に重複して記憶されている場合、1つのバックアップデータ2Dを残して、他のバックアップデータ2Dを削除する処理である。マージ済フラグは、バックアップデータ2Dが重複データマージ処理を施されている場合、例えばYESである。マージ済フラグは、バックアップデータ2Dが重複データマージ処理を施されていない場合、例えばNOである。バックアップサーバ2は、重複データマージ処理を実行した場合、マージ済みフラグをNOからYESに更新する。また、バックアップサーバ2は、重複データマージ処理を実行した場合、サーバ保有データ一覧テーブル3Tのデータ保有マシンをマージする。図5のデータID=12430のレコードは、重複データマージ処理が実行された場合のレコードを例示している。
なお、サーバ保有データ一覧テーブル3Tには、他の列が含まれてもよい。例えば、サーバ保有データ一覧テーブル3Tは、コンピュータ1が元データ1Dを暗号化する場合の暗号化鍵と同一の暗号化鍵によりバックアップデータ2Dを暗号化した暗号化データを格納する列を含んでもよい。あるいは、例えば、サーバ保有データ一覧テーブル3Tは、コンピュータ1Dが元データ1Dを圧縮する場合の圧縮アルゴリズムと同一の圧縮アルゴリズムによりバックアップデータ2Dを圧縮した圧縮データを格納する列を含んでもよい。
図6は、データパステーブル4Tのレコードレイアウトの一例を示す説明図である。データパステーブル4Tは、バックアップデータ2Dの識別情報と、ハードディスク24に記憶されたバックアップデータ2Dのパスとを関連付けて記憶するテーブルである。
データパステーブル4Tは、データID及びパスの各列を含む。データIDは、サーバ保有データ一覧テーブル3TのデータIDと同じである。パスは、バックアップサーバ2のハードディスク24におけるバックアップデータ2Dのパスである。
図6の例では、パスはバックアップデータ2Dのファイル名を含む。しかし、パスは、バックアップデータ2Dのファイル名を含まなくてもよい。パスがバックアップデータ2Dのファイル名を含まない場合、データパステーブル4Tにファイル名の列を追加する。
図7は、バックアップイメージ構成テーブル5Tのレコードレイアウトの一例を示す説明図である。バックアップイメージ構成テーブル5Tは、バックアップ処理毎に作成されるバックアップデータ2Dのカタログ情報に類似する。
バックアップイメージ構成テーブル5Tは、イメージID、データID、ファイル名、パス及び作成日時の各列を含む。イメージIDは、1台のコンピュータ1に対して1回のバックアップ処理が実行された場合に発番される識別記号である。バックアップサーバ2は、イメージIDによりバックアップデータ2Dの世代管理も実行する。ファイル名は、バックアップデータ2Dのファイル名である。パスは、コンピュータ1のハードディスク14における元データ1Dのパスである。図7の例では、パスは元データ1Dのファイル名を含まない。しかし、パスは、元データ1Dのファイル名を含んでもよい。作成日時は、元データ1Dが作成された日時である。作成日時のフォーマット形式は、例えばyyyy/mm/dd hh:mmである。
なお、バックアップイメージ構成テーブル5Tは、図7に示した列の他にバックアップデータ2Dに関する他のメタデータを記憶する列を更に含んでもよい。他のメタデータの列は、例えば更新日時、更新履歴、アクセス日時、アクセス制限、元データ1Dの作成者、元データ1Dを作成したアプリケーション等である。
図8は、修復イメージ構成テーブル2Tのレコードレイアウトの一例を示す説明図である。修復イメージ構成テーブル2Tは、リストアターゲットのコンピュータ1が修復処理で使用する修復用の元データ1Dを、どの他のコンピュータ1が保有しているかを示すテーブルである。修復イメージ構成テーブル2Tのレコードは、サーバ保有データ一覧テーブル3Tのレコードとバックアップイメージ構成テーブル5Tのレコードとから、バックアップサーバ2により生成される。修復イメージ構成テーブル2Tは、データID列、メタデータの列及び修復用の元データ1Dを保有する他のコンピュータ1を特定する情報の列を含む。リストアターゲットのコンピュータ1は、バックアップサーバ2から修復イメージ構成テーブル2Tのレコードを取得する。
修復イメージ構成テーブル2Tは、データID、ファイル名、パス、作成日時、サイズ、ハッシュ値及びデータ保有マシンの各列を含む。データIDは、サーバ保有データ一覧テーブルのデータIDと同じである。ファイル名は、バックアップイメージ構成テーブル5Tのファイル名と同じである。パスは、バックアップイメージ構成テーブル5Tのパスと同じである。作成日時は、バックアップイメージ構成テーブル5Tの作成日時と同じである。サイズは、サーバ保有データ一覧テーブル3Tのサイズと同じである。ハッシュ値は、サーバ保有データ一覧テーブル3Tのハッシュ値と同じである。
データ保有マシンは、サーバ保有データ一覧テーブル3Tのデータ保有マシンと同じである。リストアターゲットのコンピュータ1がバックアップサーバ2から修復イメージ構成テーブル2Tのレコードを取得した場合、自身が備える通信部18のMACアドレスはデータ保有マシンに含まれない。例えば、図8のデータID=231のレコードにおいて、データ保有マシンに、2つのMACアドレスが書き込まれている。このことから、リストアターゲットのコンピュータ1は、これら2つのMACアドレスに夫々対応するコンピュータ1が修復対象データであるaaa.txtを保有していることを認識する。
例えば、図8のデータID=14のレコードにおいて、データ保有マシンに「なし」が書き込まれている。「なし」は、ローカルエリアネットワーク1に接続されたコンピュータ1のうち、bbb.docを保有しているマシンはバックアップサーバ2だけであるとバックアップサーバ2が認識していることを示している。少なくとも、バックアップサーバ2はbbb.docを保有している。
ただし、リストアターゲットのコンピュータ1以外の他のコンピュータ1がデータ保有マシンに「なし」と書き込まれたレコードに対応する元データ1Dを保有している場合がある。その場合とは、例えばバックアップサーバ2が修復イメージ構成テーブル2Tのレコードを作成した時点と、他のコンピュータ1がバックアップ処理を実行した時点との間にタイムラグが生じた場合である。バックアップ処理は、バックアップの運用ポリシー次第で、複数のバックアップ対象のコンピュータ1に対して同時に実施される場合もあれば、夫々異なる日時に実施される場合もある。
例えば、全てのコンピュータ1がbbb.docを保有しているものとする。ある日時に複数のコンピュータ1のうち、ある1台のコンピュータ1だけがバックアップ処理を実施し、他のコンピュータ1はバックアップ処理を実施していない場合、バックアップサーバ2はその1台のコンピュータ1だけがbbb.docを保有していると認識する。その時点で、バックアップ処理を済ませたこの1台のコンピュータ1がリストアターゲットになった場合、バックアップサーバ2は、bbb.docについてデータ保有マシンに「なし」を書き込んだ修復イメージ構成テーブル2Tのレコードを作成する。しかし、リストアターゲットのコンピュータ1がデータ保有マシンに「なし」と書き込まれた修復イメージ構成テーブル2Tのレコードを取得した時、他のコンピュータ1はbbb.docを保有している。
なお、修復イメージ構成テーブル2Tには、他の列が含まれてもよい。例えば、サーバ保有データ一覧テーブル3Tが、バックアップデータ2Dに基づく暗号化データ又は圧縮データを格納する列を含む場合、修復イメージ構成テーブル2Tは、暗号化データ又は圧縮データを格納する列を含んでもよい。
次に、修復システムの動作について説明する。
まず、コンピュータ1が実行するデータ管理処理について説明する。コンピュータ1が実行するデータ管理処理は、エージェント保有データ一覧テーブル1Tのレコード登録処理である。コンピュータ1は、操作部17からのユーザ操作により、データ管理処理を開始する。あるいは、コンピュータ1は、バックアップサーバ2から所定の命令を受け付けた場合、データ管理処理を実行してもよい。
図9は、データ管理処理の手順の一例を示すフローチャートである。制御部11は、ハードディスク14に記憶された未処理の元データ1Dの1つを選択する(ステップS101)。制御部11は、選択した元データ1Dのハッシュ値が算出済みか否かを判定する(ステップS102)。処理対象の元データ1Dに関するレコードをエージェント保有データ一覧テーブル1Tに登録する際、ハッシュ値を含むレコードが登録される。そのため、ハッシュ値が算出済みでない場合は、処理対象の元データ1Dに関するレコードがエージェント保有データ一覧テーブル1Tに登録されていない場合である。制御部11は、エージェント保有データ一覧テーブル1Tを参照し、選択した元データ1Dのハッシュ値が算出済みと判定した場合(ステップS102:YES)、ステップS105に処理を進める。
制御部11は、エージェント保有データ一覧テーブル1Tを参照し、選択した元データ1Dのハッシュ値が算出済みでないと判定した場合(ステップS102:NO)、ハッシュ値を算出する(ステップS103)。なお、コンピュータ1及びバックアップサーバ2がハッシュ値を算出する場合のアルゴリズムは、同じである。制御部11は、元データ1Dのハッシュ値及びファイル名等のメタデータをエージェント保有データ一覧テーブル1Tに登録する(ステップS104)。その際、データIDの列にはnullを格納する。
制御部11は、ハードディスク14に記憶された元データ1Dの全てについてデータ管理処理を実行したか否かを判定する(ステップS105)。制御部11は、ハードディスク14に記憶された元データ1Dの全てについてデータ管理処理をしていないと判定した場合(ステップS105:NO)、ステップS101に処理を戻す。制御部11は、ハードディスク14に記憶された元データ1Dの全てについてデータ管理処理をしたと判定した場合(ステップS105:YES)、処理を終了する。
なお、制御部11は、エージェント保有データ一覧テーブル1Tにレコードを新規登録する際、ハッシュ値列にnullを格納し、後にハッシュ値をバックアップサーバ2から取得した場合、取得したハッシュ値をハッシュ値列に格納してもよい。
以下、バックアップ処理を説明し、その次に修復処理を説明する。
修復システムが実行するバックアップは、特定のバックアップ方式に限定されない。例えば、修復システムが実行するバックアップは、フルバックアップ、差分バックアップ及び増分バックアップのいずれでもよい。また、バックアップされる元データ1Dは、ハードディスク14全体、パーティション単位、ディレクトリ単位、ファイル単位等のいずれでもよい。バックアップには、3rdミラー、スナップショット、レプリケーション等のいずれの技術が利用されてよい。
以下、バックアップジョブは、ユーザ主導によりバックアップサーバ2から開始されるものとする。ただし、バックアップジョブは、バックアップサーバ2によるスケジュール管理の下、バッチで行われてもよい。また、バックアップジョブは、コンピュータ1から開始されてもよい。
ユーザは、バックアップサーバ2の操作部27からバックアップ対象のコンピュータ1及び当該コンピュータ1のハードディスク14に記憶された元データ1Dを指定する。バックアップサーバ2は、一意な値であるイメージIDを発番し、バックアップ対象のコンピュータ1にバックアップ開始の信号を送信する。バックアップ対象のコンピュータ1は、バックアップサーバ1からバックアップ開始の信号を受信し、元データ1Dから複製されたバックアップデータ2Dをバックアップサーバ2に送信する。
バックアップサーバ2は、バックアップ対象のコンピュータ1からバックアップデータ2Dを受信し、受信したバックアップデータ2Dに関連付けるデータIDを発番する。バックアップサーバ2は、発番したデータIDをバックアップ対象のコンピュータ1に送信する。バックアップ対象のコンピュータ1は、バックアップサーバ2からデータIDを受信し、受信したデータIDをエージェント保有データ一覧テーブル1TのデータID列に書き込む。
バックアップサーバ2は、受信したバックアップデータ2Dをハードディスク24に記憶し、発番したデータID及びハードディスク24におけるバックアップデータ2Dのパスをデータパステーブル4Tに登録する。バックアップサーバ2は、発番したイメージID、発番したデータID及びバックアップデータ2Dのメタデータをバックアップイメージ構成テーブル5Tに登録する。
バックアップサーバ2は、受信したバックアップデータ2Dのハッシュ値を算出する。バックアップサーバ2は、算出したハッシュ値、バックアップデータ2DのデータID及びサイズ、バックアップ対象のコンピュータ1のMACアドレス等をサーバ保有データ一覧テーブル3Tに登録する。その際、バックアップサーバ2は、マージフラグにNOを格納する。
図10、図11及び図12は、バックアップ処理の手順の一例を示すフローチャートである。制御部21は、バックアップ対象のコンピュータ1の識別情報及びバックアップ対象である元データ1Dの範囲を受け付ける(ステップS201)。以下、バックアップ対象のコンピュータ1は、1台であるものとする。バックアップ対象のコンピュータ1が複数台である場合、以下の処理をコンピュータ1の数だけ複数回繰り返せばよい。制御部21は、イメージIDを発番する(ステップS202)。制御部21は、バックアップ対象のコンピュータ1にバックアップ開始の信号を送信する(ステップS203)。
ステップS203において、制御部21は、バックアップ対象の元データ1Dの範囲又は元データ1Dを特定する情報もバックアップ対象のコンピュータ1に送信する。なお、バックアップの範囲がハードディスク14全体、パーティション全体等である場合、制御部21はバックアップ対象の元データ1Dを特定する情報をバックアップ対象のコンピュータ1に送信しない。ここで、バックアップ対象の元データ1Dが複数である場合、ステップS203におけるバックアップ対象の元データ1Dは、バックアップ処理が終了していない元データ1Dである。
制御部11は、バックアップサーバ2からバックアップ開始の信号を受信する(ステップS204)。制御部11は、元データ1Dを複製し、複製した元データ1D、すなわちバックアップデータ2Dをバックアップサーバ2に送信する(ステップS205)。ステップS205において、制御部11は、元データ1Dのメタデータも共にバックアップサーバ2に送信する。
制御部21は、バックアップ対象のコンピュータ1からバックアップデータ2D及びメタデータを受信する(ステップS206)。制御部21は、受信したバックアップデータ2Dに関連付けるデータIDを発番する(ステップS207)。制御部21は、受信したバックアップデータ2Dをハードディスク24に記憶する(ステップS208)。制御部21は、発番したデータIDとハードディスク24に記憶したバックアップデータ2Dのパスとを関連付けてデータパステーブル4Tに登録する(ステップS209)。制御部21は、発番したデータIDをバックアップ対象のコンピュータ1に送信する(ステップS210)。
制御部11は、バックアップサーバ2からデータIDを受信する(ステップS211)。制御部11は、受信したデータIDを送信したバックアップデータ2Dに対応するエージェント保有データ一覧テーブル1TのレコードのデータID列に書き込む(ステップS212)。なお、ステップS212より前の段階では、エージェント保有データ一覧テーブル1TのデータID列にはnull値が書き込まれている。制御部11は、エージェント保有データ一覧テーブル1Tの更新処理が終了した旨の信号をバックアップサーバ2に送信する(ステップS213)。
制御部21は、バックアップ対象のコンピュータ1からエージェント保有データ一覧テーブル1Tの更新処理が終了した旨の信号を受信する(ステップS214)。制御部21は、指定されたバックアップ対象の元データ1Dに対応するバックアップデータ2Dの全てを受信したか否かを判定する(ステップS215)。制御部21は、指定されたバックアップ対象の元データ1Dに対応するバックアップデータ2Dの全てを受信していないと判定した場合(ステップS215:NO)、ステップS203に処理を戻す。
制御部21は、バックアップデータ2Dの全てを受信したと判定した場合(ステップS215:YES)、バックアップイメージ構成テーブル5Tに受信したバックアップデータ2Dの全てについて夫々レコードを登録する(ステップS216)。すなわち、制御部21は、発番したイメージID、データID、バックアップデータ2Dのメタデータをバックアップイメージ構成テーブル5Tに登録する。
制御部21は、受信したバックアップデータ2Dの全てについて、夫々対応するハッシュ値を算出する(ステップS217)。制御部21は、受信したバックアップデータ1Dの全てについて、算出したハッシュ値、データID、サイズ、データ保有マシン及びマージ済フラグをサーバ保有データ一覧テーブルに登録し(ステップS218)、処理を終了する。
バックアップサーバ2は、操作部27からの命令により重複データマージ処理を実行する。重複データマージ処理は、バックアップサーバ2のハードディスク24に記憶されたバックアップデータ2Dをマージする処理である。重複したバックアップデータ2Dの1つは残され、他は削除される。これにより、バックアップデータ2D全体の容量を削減することができる。
なお、重複データマージ処理は、バックアップサーバ2により定期的に又はスケジュール管理の下に実行されるバッチ処理であってもよい。あるいは、重複データマージ処理は、バックアップ処理中、バックアップ処理終了後、制御部21のプロセッサ使用率が一定の割合より小さくなったとき等に実行されてもよい。
図13及び図14は、重複データマージ処理の手順の一例を示すフローチャートである。制御部21は、サーバ保有データ一覧テーブル3TのレコードをRAM23に読み出す(ステップS301)。制御部21は、読み出したレコードのうち、未処理のレコードを1件選択する(ステップS302)。制御部21は、マージ済フラグがYESか否かを判定する(ステップS303)。制御部21は、マージ済フラグがYESであると判定した場合(ステップS303:YES)、ステップS311に処理を進める。
制御部21は、制御部21は、マージ済フラグがYESでないと判定した場合(ステップS303:NO)、処理中のレコードに対応するバックアップデータ2Dをハードディスク24から読み出し、ハッシュ値を算出する(ステップS304)。制御部21は、サーバ保有データ一覧テーブル3Tに基づいて、ステップS304で算出したハッシュ値と同一のハッシュ値に対応するバックアップデータ2Dがあるか否かを判定する(ステップS305)。制御部21は、ステップS304で算出したハッシュ値と同一のハッシュ値に対応するバックアップデータ2Dがないと判定した場合(ステップS305:NO)、ステップS310に処理を進める。
制御部21は、ステップS304で算出したハッシュ値と同一のハッシュ値に対応するバックアップデータ2Dがあると判定した場合(ステップS305:YES)、ステップS306に処理を進める。制御部21は、処理中のレコードに対応するバックアップデータ2Dのバイナリ及びハッシュ値が一致したバックアップデータ2Dのバイナリを比較する(ステップS306)。制御部21は、バイナリ比較の結果、処理中のレコードに対応するバックアップデータ2Dのバイナリ及びハッシュ値が一致したバックアップデータ2Dのバイナリが一致するか否か判定する(ステップS307)。制御部21は、処理中のレコードに対応するバックアップデータ2Dのバイナリ及びハッシュ値が一致したバックアップデータ2Dのバイナリが一致しないと判定した場合(ステップS307:NO)、ステップS310に処理を進める。
制御部21は、処理中のレコードに対応するバックアップデータ2Dのバイナリ及びハッシュ値が一致したバックアップデータ2Dのバイナリが一致すると判定した場合(ステップS307:YES)、各種テーブルを更新する(ステップS308)。
ステップS308における各種テーブルは、具体的にはサーバ保有データ一覧テーブル3T、データパステーブル4T及びバックアップイメージ構成テーブル5Tである。以下、これらのテーブルの更新処理について説明する。
ステップS308において、処理中のレコードに対応するバックアップデータ2Dのバイナリと一致するバイナリを有する重複バックアップデータ2Dの数は単数又は複数である。制御部21は、処理中のレコードに対応するバックアップデータ2D及びハッシュ値が一致した重複バックアップデータ2Dの中から、1つにマージするマージ先のバックアップデータ2DのデータIDを決定する。
制御部21は、サーバ保有データ一覧テーブル3Tにおいて、決定したデータIDのデータ保有マシンの列に、マージされる重複バックアップデータ2Dに対応するデータ保有マシンの値をマージする。制御部21は、サーバ保有データ一覧テーブル3Tにおいて、マージされる重複バックアップデータ2Dに対応するデータIDのレコードを削除する。
制御部21は、データパステーブル4Tにおいて、マージされる重複バックアップデータ2Dに対応するデータIDのレコードを削除する。制御部21は、バックアップイメージ構成テーブル5Tにおいて、マージされる重複バックアップデータ2Dに対応するデータIDのレコードのデータID列の値を決定したデータIDに更新する。
制御部21は、マージされる重複バックアップデータ2Dをハードディスク24から削除する(ステップS309)。制御部21は、サーバ保有データ一覧テーブル3Tにおいて、決定したデータIDのレコード又は処理中のレコードのマージ済フラグをNOからYESに更新する(ステップS310)。
制御部21は、ステップS301で読み出した全レコードについて重複データマージ処理を実行したか否かを判定する(ステップS311)。ステップS311において、ハードディスク24から削除した重複バックアップデータ2Dに対応するレコードは、処理済みとみなされる。制御部21は、ステップS301で読み出した全レコードについて重複データマージ処理を実行していないと判定した場合(ステップS311:NO)、ステップS302に処理を戻す。
制御部21は、ステップS301で読み出した全レコードについて重複データマージ処理を実行したと判定した場合(ステップS311:YES)、ステップS312に処理を進める。制御部21は、重複バックアップデータ2Dを保有するコンピュータ1に、重複バックアップデータ2DのデータID及び決定したデータIDを送信し(ステップS312)、処理を終了する。なお、重複バックアップデータ2Dがない場合、ステップS312はスキップされる。
ステップS312は、重複バックアップデータ2DのデータIDが重複データマージ処理により欠番となったことを、重複バックアップデータ2Dに対応する元データ1Dを保有するコンピュータ1に通知する処理である。これにより、修復システム全体でバックアップデータ2Dと元データ1Dとの同期を取る。重複バックアップデータ2DのデータIDが変更されたことを受け付けたコンピュータ1は、データ同期処理を実行する。
図15は、データ同期処理の手順の一例を示すフローチャートである。データ同期処理は、常駐プログラムであるプログラム1が有する一機能であり、常に待機しているコンピュータ1により、重複データマージ処理のステップS312をトリガーにして実行される。
制御部11は、重複バックアップデータ2DのデータID及びマージ先のバックアップデータ2Dに対応するところの決定されたデータIDを、バックアップサーバ2から受信したか否かを判定する(ステップS401)。
制御部11は、重複バックアップデータ2DのデータID及び決定されたデータIDを受信していないと判定した場合(ステップS401:NO)、ステップS401に処理を戻す。制御部11は、重複バックアップデータ2DのデータID及び決定されたデータIDを受信したと判定した場合(ステップS401:YES)、ステップS402に処理を進める。制御部11は、エージェント保有データ一覧テーブル1Tにおいて、重複バックアップデータ2DのデータIDに対応するレコードのデータIDを決定されたデータIDで更新し(ステップS402)、ステップS401に処理を戻す。
次に、修復処理について説明する。
コンピュータ1が保有する元データ1Dが破壊、消失等を被った場合、ユーザは当該コンピュータ1をリストアターゲットに設定し、修復する元データ1Dの世代及び元データ1Dの修復範囲を決定する。ユーザは、修復の運用ポリシーに基づいて、バックアップサーバ2の操作部27からリストアターゲットのコンピュータ1の識別情報、修復する元データ1Dの世代及び元データ1Dの修復範囲を入力する。
バックアップサーバ2は、リストアターゲットのコンピュータ1の識別情報、修復する元データ1Dの世代及び元データ1Dの修復範囲を受け付け、修復イメージ構成テーブル2Tのレコードを作成する。具体的には、バックアップサーバ2は、バックアップイメージ構成テーブル5Tとサーバ保有データ一覧テーブル3Tとから、修復イメージ構成テーブル2Tのレコードを作成する。バックアップサーバ2は、作成した修復イメージ構成テーブル2Tのレコードを、リストアターゲットのコンピュータ1に送信する。バックアップサーバ2は、リストアターゲットのコンピュータ1に修復処理の実行指示を送信する。
リストアターゲットのコンピュータ1は、バックアップサーバ2から修復イメージ構成テーブル2Tのレコード及び修復処理の実行指示を受信する。リストアターゲットのコンピュータ1は、修復イメージ構成テーブル2Tのレコードに基づいて、データIDの単位で元データ1Dの修復処理を開始する。
リストアターゲットのコンピュータ1は、ローカルエリアネットワーク1Nに接続されている情報処理装置にブロードキャストでデータID及びハッシュ値の組み合わせが一致する元データ1Dを保有しているか否かを問い合わせる。ここで、リストアターゲットのコンピュータ1は、ブロードキャスト宛を意味する、例えばFF−FF−FF−FF−FF−FFの予約されたMACアドレスを宛先として、当該問い合わせを実行する。プログラム1Pがインストールされたリストアターゲット以外の他のコンピュータ1は、リストアターゲットのコンピュータ1が問い合わせた元データ1Dを保有している場合、リストアターゲットのコンピュータ1に保有している旨の応答をする。なお、他のコンピュータ1は、ハッシュ値のみが一致する場合も、リストアターゲットのコンピュータ1に保有している旨の応答をする。
なお、リストアターゲットのコンピュータ1は、上記の問い合わせに際し、ファイル名、作成日時及びサイズ等のメタデータの組み合わせが一致する元データ1Dを保有しているか否かを問い合わせてもよい。あるいは、修復イメージ構成テーブル2Tに暗号化データ又は圧縮データを格納する列が含まれている場合、リストアターゲットのコンピュータ1は、上記の問い合わせに際し、暗号化データ又は圧縮データから復号したデータが一致する元データ1Dを保有しているか否かを問い合わせてもよい。
他のコンピュータ1は、リストアターゲットのコンピュータ1からメタデータの組み合わせを受信した場合、当該メタデータの組み合わせに対応する元データ1Dを保有しているとき、リストアターゲットのコンピュータ1に保有している旨の応答をする。あるいは、他のコンピュータ1は、暗号化データ又は圧縮データを受け付けた場合、当該データを復元することにより、復元したデータに対応する元データ1Dを保有しているとき、リストアターゲットのコンピュータ1に保有している旨の応答をする。
以降の修復処理は、次の3通りに分かれる。
第一の処理は、リストアターゲットのコンピュータ1が修復イメージ構成テーブル2Tのデータ保有マシンに対応する他のコンピュータ1から保有している旨の応答を受信した場合に該当する。第二の処理は、リストアターゲットのコンピュータ1が修復イメージ構成テーブル2Tのデータ保有マシンに対応しない他のコンピュータ1から保有している旨の応答を受信した場合に該当する。第二の処理は、例えば図8の修復イメージ構成テーブル2Tのデータ保有マシンが「なし」である場合、リストアターゲットのコンピュータ1が他のコンピュータ1から保有している旨の応答を受信する場合に該当する。第三の処理は、リストアターゲットのコンピュータ1がどのコンピュータ1からも保有している旨の応答を所定時間経過しても受信しない場合に該当する。
リストアターゲットのコンピュータ1が実行する上記処理の優先順位は、第一、第二及び第三の順である。修復処理を早急に終了するためには、ネットワーク3Nのスループットがボトルネックとなる。そのため、リストアターゲットのコンピュータ1は、ネットワーク3Nを介したバックアップサーバ2との通信を極力控えることが望ましい。第一、第二及び第三の処理の順に、修復システムがネットワーク3Nを使用する使用率は高くなるため、上記の優先順位が設定される。
第一の処理では、リストアターゲットのコンピュータ1は、応答してきた他のコンピュータ1に修復用の元データ1Dの送信を要求する。元データ1Dを要求されたコンピュータ1は、修復用の元データ1Dを複製し、複製した元データ1Dをリストアターゲットのコンピュータ1に送信する。リストアターゲットのコンピュータ1は、修復用の元データ1Dを受信する。リストアターゲットのコンピュータ1は、受信した元データ1Dが修復用のデータとして妥当か否かを検証する。この検証処理は、受信した元データ1Dに基づいて、バックアップサーバ2と同じアルゴリズムでハッシュ値を算出し、算出したハッシュ値が修復イメージ構成テーブル2Tのハッシュ値と一致するか否かを判定することである。検証の結果、受信した元データ1Dが修復用のデータとして妥当である場合、リストアターゲットのコンピュータ1は、受信した元データ1Dを用いて修復処理を実行する。
第二の処理では、リストアターゲットのコンピュータ1は、応答してきた他のコンピュータ1に修復用の元データ1Dを自身及びバックアップサーバ2に送信するように要求する。元データ1Dを要求されたコンピュータ1は、修復用の元データ1Dを複製し、複製した元データ1Dをリストアターゲットのコンピュータ1及びバックアップサーバ2に送信する。リストアターゲットのコンピュータ1及びバックアップサーバ2は、修復用の元データ1Dを受信する。
バックアップサーバ2は受信した元データ1Dが修復用の元データ1Dとして妥当か否かを検証する。この検証処理は、受信した元データ1Dに基づいて、ハッシュ値を算出し、修復イメージ構成テーブル2Tのハッシュ値と比較すること及びバックアップサーバ2が保有するバックアップデータ2Dとバイナリ比較をすることである。バックアップサーバ2は、検証結果をリストアターゲットのコンピュータ1に送信する。リストアターゲットのコンピュータ1は、他のコンピュータ1から受信した元データ1Dが修復用の元データ1Dとして妥当である旨の検証結果をバックアップサーバ2から受信した場合、受信した元データ1Dを用いて修復処理を実行する。
第二の処理において、リストアターゲットのコンピュータ1に応答する他のコンピュータ1は、修復イメージ構成テーブル2Tのデータ保有マシンに対応しない。そのため、対応しない当該コンピュータ1は、送信した修復用の元データ1Dについてバックアップ処理を実行していない可能性がある。バックアップ処理が実行されていない場合、修復イメージ構成テーブル2Tのデータ保有マシンに対応しないコンピュータ1が有するエージェント保有データ一覧テーブル1Tにおいて、処理対象レコードのデータID列にはnullが格納されている。そして、当該コンピュータ1は、ハッシュ値の一致のみからリストアターゲットのコンピュータ1に応答した可能性がある。そのため、修復用の元データ1Dの信頼性は、バックアップサーバ2において厳密なバイナリ比較により検証される。
第二の処理において、バックアップサーバ2は、修復用の元データ1Dを送信してきた他のコンピュータ1に対して、当該元データ1DのデータIDを送信する。この他のコンピュータ1は、自身のエージェント保有データ一覧テーブル1Tにおいて処理対象レコードのデータID列にnullが格納されている場合、受信したデータIDを用いてエージェント保有データ一覧テーブル1Tを更新する。
第三の処理では、リストアターゲットのコンピュータ1は、バックアップサーバ2に対して、修復用のバックアップデータ2Dの送信を要求する。バックアップサーバ2は、確実に修復用のバックアップデータ2Dを保有している。バックアップサーバ2はリストアターゲットのコンピュータ1に修復用のバックアップデータ2Dを送信する。リストアターゲットのコンピュータ1はバックアップサーバ2から修復用のバックアップデータ2Dを受信する。リストアターゲットのコンピュータ1は、受信したバックアップデータ2Dを用いて修復処理を実行する。
リストアターゲットのコンピュータ1は、1つの元データ1Dの修復処理が終了する度に、修復イメージ構成テーブル2Tの対象レコードを削除し、次のレコードに基づいて修復処理を繰り返す。その際、リストアターゲットのコンピュータ1は、最初は第一の処理を試み、第一の処理で元データ1Dを修復できない場合、第二の処理を試みる。リストアターゲットのコンピュータ1は、第二の処理で元データ1を修復できない場合、第三の処理を試みる。リストアターゲットのコンピュータ1は、第三の処理を試みた場合、元データ1Dの修復処理を確実に実行する。
リストアターゲットのコンピュータ1は、修復イメージ構成テーブル2Tのレコードを全て削除した場合、全ての修復処理が終了した旨をバックアップサーバ2に通知する。リストアターゲットのコンピュータ1から全ての修復処理が終了した旨を受信したバックアップサーバ2は、修復処理を終了する。
図16、図17、図18及び図19は、修復処理の手順の一例を示すフローチャートである。図16、図17、図18及び図19は、修復処理の概要を示しており、第一、第二及び第三の処理の詳細は省略されている。
バックアップサーバ2は、修復処理の命令を受け付ける(ステップS501)。バックアップサーバ2は、バックアップイメージ構成テーブル5TをRAM13に読み出す(ステップS502)。バックアップサーバ2は、サーバ保有データ一覧テーブル3TをRAM13に読み出す(ステップS503)。バックアップサーバ2は、読み出したバックアップイメージ構成テーブル5T及びサーバ保有データ一覧テーブル3Tから修復イメージ構成テーブル2Tのレコードを作成する(ステップS504)。バックアップサーバ2は、作成した修復イメージ構成テーブル2Tのレコード及び修復処理の開始指示をリストアターゲットのコンピュータ1に送信する(ステップS505)。
リストアターゲットのコンピュータ1は、バックアップサーバ2から修復イメージ構成テーブル2Tのレコード及び修復処理の開始指示を受信する(ステップS506)。リストアターゲットのコンピュータ1は、修復イメージ構成テーブル2Tの次のレコードをRAM13に読み出す(ステップS507)。ステップS507は、修復イメージ構成テーブル2Tのレコードを1件ずつ処理するループ処理の始まりである。ステップS507において、リストアターゲットのコンピュータ1は、最初のループ処理時には、修復イメージ構成テーブル2Tの先頭レコードをRAM13に読み出す。
リストアターゲットのコンピュータ1は、読み出した修復イメージ構成テーブル2Tのレコードに対応する元データ1Dを保有しているか否かをブロードキャストで問い合わせ、データID及びハッシュ値を送信する(ステップS508)。ステップS508におけるデータID及びハッシュ値は、リストアターゲットのコンピュータ1が修復イメージ構成テーブル2Tから読み出したデータID及びハッシュ値である。
他のコンピュータ1は、リストアターゲットのコンピュータ1から問い合わせ、データID及びハッシュ値を受信する(ステップS509)。他のコンピュータ1は、エージェント保有データ一覧テーブル1Tを参照し、リストアターゲットのコンピュータ1が問い合わせた元データ1Dを保有しているか否かを判定する(ステップS510)。ステップS510において、他のコンピュータ1は、データID及びハッシュ値が一致する元データ1Dを保有している場合、問い合わせられた元データ1Dを保有していると判定する。
なお、ステップS510において、他のコンピュータ1は、データID又はハッシュ値が一致する元データ1Dを保有している場合、問い合わせられた元データ1Dを保有していると判定してもよい。
他のコンピュータ1は、リストアターゲットのコンピュータ1が問い合わせた元データ1Dを保有していないと判定した場合(ステップS510:NO)、ステップS509に処理を戻す。他のコンピュータ1は、リストアターゲットのコンピュータ1が問い合わせた元データ1Dを保有していると判定した場合(ステップS510:YES)、保有している旨の応答をリストアターゲットのコンピュータ1に送信する(ステップS511)。
リストアターゲットのコンピュータ1は、所定時間の間、他のコンピュータ1からの応答を受信する(ステップS512)。リストアターゲットのコンピュータ1は、受信した応答を送信した他のコンピュータ1の識別情報をRAM13に記憶する(ステップS513)。ステップS513における他のコンピュータ1の識別情報は、例えば他のコンピュータ1が備える通信部18のMACアドレスである。
リストアターゲットのコンピュータ1は、RAM13に記憶した他のコンピュータ1の識別情報に基づいて、問い合わせに対して応答してきた他のコンピュータ1があるか否かを判定する(ステップS514)。リストアターゲットのコンピュータ1は、問い合わせに対して応答してきた他のコンピュータ1がないと判定した場合(ステップS514:NO)、第三の処理を実行する(ステップS515)。その後、リストアターゲットのコンピュータ1は、ステップS519に処理を進める。
リストアターゲットのコンピュータ1は、問い合わせに対して応答してきた他のコンピュータ1があると判定した場合(ステップS514:YES)、ステップS516を実行する。リストアターゲットのコンピュータ1は、当該他のコンピュータ1が処理中のレコードに記載されたデータ保有マシンに含まれるか否かを判定する(ステップS516)。
リストアターゲットのコンピュータ1は、問い合わせに対して応答してきた他のコンピュータ1が処理中のレコードに記載されたデータ保有マシンに含まれると判定した場合(ステップS516:YES)、第一の処理を実行する(ステップS517)。その後、リストアターゲットのコンピュータ1は、第二の処理(ステップS518)、第三の処理(ステップS515)又はステップS519に処理を進める。リストアターゲットのコンピュータ1は、問い合わせに対して応答してきた他のコンピュータ1が処理中のレコードに記載されたデータ保有マシンに含まれないと判定した場合(ステップS516:NO)、第二の処理を実行する(ステップS518)。その後、リストアターゲットのコンピュータ1は、第三の処理(ステップS515)又はステップS519に処理を進める。
リストアターゲットのコンピュータ1は、処理対象である修復イメージ構成テーブル2Tのレコードを削除する(ステップS519)。リストアターゲットのコンピュータ1は、修復イメージ構成テーブル2Tの全レコードを削除したか否かを判定する(ステップS520)。リストアターゲットのコンピュータ1は、修復イメージ構成テーブル2Tの全レコードを削除していないと判定した場合(ステップS520:NO)、ステップS507に処理を戻す。リストアターゲットのコンピュータ1は、修復イメージ構成テーブル2Tの全レコードを削除したと判定した場合(ステップS520:YES)、修復対象である全ての元データ1Dの修復処理が終了した旨をバックアップサーバ2に送信する(ステップS521)。
バックアップサーバ2は、リストアターゲットのコンピュータ1から修復対象である全ての元データ1Dの修復処理が終了した旨を受信し(ステップS522)、処理を終了する。
図20及び図21は、第一の処理の手順の一例を示すフローチャートである。第一の処理は、リストアターゲットのコンピュータ1が、修復イメージ構成テーブル2Tのデータ保有マシンであるコンピュータ1から修復用の元データ1Dを取得し、修復処理を実行する処理である。
リストアターゲットのコンピュータ1は、応答してきた他のコンピュータのうち、未処理のコンピュータ1に修復用の元データ1Dを要求する旨を送信する(ステップS601)。ステップS601は、修復イメージ構成テーブル2Tのデータ保有マシンが複数台である場合、データ保有マシンに対応するコンピュータ1に修復用の元データ1Dを要求するループ処理の始まりである。
他のコンピュータ1は、リストアターゲットのコンピュータ1から修復用の元データ1Dを要求する旨を受信する(ステップS602)。他のコンピュータ1は、要求された修復用の元データ1Dをリストアターゲットのコンピュータ1に送信する(ステップS603)。リストアターゲットのコンピュータ1は、他のコンピュータ1から修復用の元データ1Dを受信する(ステップS604)。リストアターゲットのコンピュータ1は、受信した修復用の元データ1Dに基づいて、ハッシュ値を算出する(ステップS605)。リストアターゲットのコンピュータ1は、算出したハッシュ値と、修復イメージ構成テーブル2Tにおける処理中のレコードのハッシュ値とが一致するか否かを判定する(ステップS606)。
リストアターゲットのコンピュータ1は、算出したハッシュ値と、修復イメージ構成テーブル2Tにおける処理中のレコードのハッシュ値とが一致しないと判定した場合(ステップS606:NO)、ステップS607に処理を進める。リストアターゲットのコンピュータ1は、応答してきたコンピュータ1の中に、修復イメージ構成テーブル2Tのデータ保有マシンに含まれ、かつ第一の処理が未処理のコンピュータ1があるか否かを判定する(ステップS607)。リストアターゲットのコンピュータ1は、修復イメージ構成テーブル2Tのデータ保有マシンに含まれ、かつ第一の処理が未処理のコンピュータ1があると判定した場合(ステップS607:YES)、ステップS601に処理を戻す。
リストアターゲットのコンピュータ1は、応答してきたコンピュータ1の中に、修復イメージ構成テーブル2Tのデータ保有マシンに含まれ、かつ第一の処理が未処理のコンピュータ1はないと判定した場合(ステップS607:NO)、ステップS608に処理を進める。リストアターゲットのコンピュータ1は、ステップS513でRAM13に記憶したコンピュータ1の中に、修復イメージ構成テーブル2Tのデータ保有マシンに対応しないコンピュータ1が含まれるか否かを判定する(ステップS608)。リストアターゲットのコンピュータ1は、修復イメージ構成テーブル2Tのデータ保有マシンに対応しないコンピュータ1が含まれると判定した場合(ステップS608:YES)、第二の処理に移行する(ステップS518)。
リストアターゲットのコンピュータ1は、修復イメージ構成テーブル2Tのデータ保有マシンに対応しないコンピュータ1が含まれないと判定した場合(ステップS608:NO)、第三の処理に移行する(ステップS515)。ステップS608において、修復イメージ構成テーブル2Tのデータ保有マシンに対応しないコンピュータ1が含まれない場合(ステップS608:NO)とは、次の場合である。すなわち、応答してきたコンピュータ1が修復イメージ構成テーブル2Tのデータ保有マシンのみであり、受信した修復用の元データ1Dに関するハッシュ値が全て修復イメージ構成テーブル2Tにおける処理中のレコードのハッシュ値と一致しなかった場合である。
リストアターゲットのコンピュータ1は、算出したハッシュ値と、修復イメージ構成テーブル2Tにおける処理中のレコードのハッシュ値とが一致すると判定した場合(ステップS606:YES)、取得した修復用の元データ1Dを用いて修復処理を実行する(ステップS609)。その後、リストアターゲットのコンピュータ1は、ステップS519に処理を進める。
図22、図23及び図24は、第二の処理の手順の一例を示すフローチャートである。第二の処理は、リストアターゲットのコンピュータ1が、修復イメージ構成テーブル2Tのデータ保有マシンに対応しないコンピュータ1から修復用の元データ1Dを取得し、修復処理を実行する処理である。
リストアターゲットのコンピュータ1は、応答してきた他のコンピュータ1のうち、未処理のコンピュータ1に自身及びバックアップサーバ2に対して修復用の元データ1Dを送信する要求を送信する(ステップS701)。ステップS701は、修復イメージ構成テーブル2Tのデータ保有マシンに対応しないコンピュータ1が複数台である場合、データ保有マシンに対応しないコンピュータ1に修復用の元データ1Dを要求するループ処理の始まりである。
他のコンピュータ1は、リストアターゲットのコンピュータ1から修復用の元データ1Dをリストアターゲットのコンピュータ1及びバックアップサーバ2に対して送信する要求を受信する(ステップS702)。他のコンピュータ1は、要求された修復用の元データ1Dをリストアターゲットのコンピュータ1及びバックアップサーバ2に送信する(ステップS703)。ステップS703において、他のコンピュータ1は、送信する元データ1DのデータIDを認識している場合、当該データIDもコンピュータ1及びバックアップサーバ2に送信する。
リストアターゲットのコンピュータ1は、他のコンピュータ1から修復用の元データ1Dを受信する(ステップS704)。ステップS704において、データIDも送信されてきた場合、当該データIDも受信する。
バックアップサーバ2は、他のコンピュータ1から修復用の元データ1Dを受信する(ステップ705)。ステップS705において、バックアップサーバ2は、データIDも送信されてきた場合、当該データIDも受信する。バックアップサーバ2は、他のコンピュータ1から受信した修復用の元データ1Dに基づいて、ハッシュ値を算出する(ステップS706)。
バックアップサーバ2は、算出したハッシュ値と、作成した修復イメージ構成テーブル2Tのハッシュ値とが一致するか否かを判定する(ステップS707)。つまり、ステップS707において、バックアップサーバ2は、算出したハッシュ値と同一のハッシュ値に対応するレコードが修復イメージ構成テーブル2Tに登録されているか否かを判定する。また、ステップS707において、バックアップサーバ2は、データIDも受信した場合、作成した修復イメージ構成テーブル2Tを参照し、受信したデータID及び算出したハッシュ値と同じデータID及びハッシュ値に対応するレコードの有無を判定する。
なお、ステップS707において、バックアップサーバ2は、修復イメージ構成テーブル2Tではなく、サーバ保有データ一覧テーブル3Tを参照してもよい。
バックアップサーバ2は、算出したハッシュ値と、作成した修復イメージ構成テーブル2Tのハッシュ値とが一致しないと判定した場合(ステップS707:NO)、ステップS709に処理を進める。なお、バックアップサーバ2は、データIDを受信した場合、受信したデータID及び算出したハッシュ値と同じデータID及びハッシュ値に対応するレコードがない場合も、ステップS709に処理を進める。
バックアップサーバ2は、算出したハッシュ値と、作成した修復イメージ構成テーブル2Tのハッシュ値とが一致すると判定した場合(ステップS707:YES)、ステップS708に処理を進める。なお、ステップS707において、バックアップサーバ2は、データIDを受信した場合、受信したデータID及び算出したハッシュ値と同じデータID及びハッシュ値に対応するレコードがある場合も、ステップS708に処理を進める。
バックアップサーバ2は、受信した修復用の元データ1Dのバイナリと、ハッシュ値が一致したバックアップデータ2Dのバイナリとが一致するか否かを判定する(ステップS708)。バックアップサーバ2は、受信した修復用の元データ1Dのバイナリと、ハッシュ値が一致したバックアップデータ2Dのバイナリとが一致しないと判定した場合(ステップS708:NO)、ステップS709に処理を進める。
バックアップサーバ2は、受信した修復用の元データ1Dのバイナリと、ハッシュ値が一致したバックアップデータ2Dのバイナリとが一致すると判定した場合(ステップS708:YES)、ステップS710に処理を進める。
バックアップサーバ2は、受信した元データ1Dは修復用の元データ1Dとして妥当でない旨の検証結果を設定する(ステップS709)。
バックアップサーバ2は、受信した元データは、修復用の元データ1Dとして妥当である旨の検証結果を設定する(ステップS710)。
バックアップサーバ2は、ステップS709又はステップS710で設定した検証結果を、データIDと共に、リストアターゲットのコンピュータ1及び元データ1Dを送信してきた他のコンピュータ1に送信する(ステップS711)。ステップS711において、バックアップサーバ2は、データIDを受信しない場合、算出したハッシュ値で修復イメージ構成テーブル2T又はサーバ保有データ一覧テーブル3TからデータIDを検索する。ステップS711において、バックアップサーバ2は、当該検索により、ヒットしたレコードのデータIDを、検証結果と共に、リストアターゲットのコンピュータ1及び元データ1Dを送信してきた他のコンピュータ1に送信する。
他のコンピュータ1は、バックアップサーバ2から検証結果及びデータIDを受信する(ステップS712)。他のコンピュータ1は、ステップS703でリストアターゲットのコンピュータ1及びバックアップサーバ2に送信した元データ1Dに対応するエージェント保有データ一覧テーブル1TのレコードのデータID列を受信したデータIDで更新する(ステップS713)。
リストアターゲットのコンピュータ1は、バックアップサーバ2から検証結果及びデータIDを受信する(ステップS714)。リストアターゲットのコンピュータ1は、受信した検証結果が修復用の元データ1Dとして妥当か否かを判定する(ステップS715)。リストアターゲットのコンピュータ1は、受信した検証結果が修復用の元データ1Dとして妥当でないと判定した場合(ステップS715:NO)、第二の処理が未処理である他のコンピュータ1があるか否かを判定する(ステップS716)。
リストアターゲットのコンピュータ1は、第二の処理が未処理である他のコンピュータ1があると判定した場合(ステップS716:YES)、ステップS701に処理を戻す。リストアターゲットのコンピュータ1は、第二の処理が未処理である他のコンピュータ1がないと判定した場合(ステップS716:NO)、第三の処理(ステップS515)に処理を進める。
リストアターゲットのコンピュータ1は、受信した検証結果が修復用の元データ1Dとして妥当であると判定した場合(ステップS715:YES)、他のコンピュータ1から受信した修復用の元データ1Dを用いて修復処理を実行する(ステップS717)。その後、リストアターゲットのコンピュータ1は、ステップS519に処理を進める。
なお、第二の処理(ステップS518)において、バックアップサーバ2は、修復用の元データ1Dの信頼性を検証する際、ハッシュ値及びバイナリが一致した場合、受信した元データ1Dは修復用の元データ1Dとして妥当であると判定した。しかし、バックアップサーバ2は、ハッシュ値又はバイナリが一致した場合、受信した元データ1Dは修復用の元データ1Dとして妥当であると判定してもよい。
図25は、第三の処理の手順の一例を示すフローチャートである。第三の処理は、リストアターゲットのコンピュータ1が、バックアップサーバ2から修復用のバックアップデータ2Dを取得し、修復処理を実行する処理である。
リストアターゲットのコンピュータ1は、バックアップサーバ2に修復用のバックアップデータ2Dを要求する旨を送信する(ステップS801)。バックアップサーバ2は、リストアターゲットのコンピュータ1から修復用のバックアップデータ2Dを要求する旨を受信する(ステップS802)。
バックアップサーバ2は、リストアターゲットのコンピュータ1に修復用のバックアップデータ2Dを送信する(ステップS803)。リストアターゲットのコンピュータ1は、バックアップサーバ2から修復用のバックアップデータ2Dを受信する(ステップS804)。リストアターゲットのコンピュータ1は、受信したバックアップデータ2Dを用いて修復処理を実行する(ステップS805)。その後、リストアターゲットのコンピュータ1は、ステップS519に処理を進める。
なお、バックアップサーバ2は、ローカルネットワーク2Nに属していなくてもよい。例えば、バックアップサーバ2はネットワーク3Nに直接接続されてもよい。かかる場合、コンピュータ1とバックアップサーバ2とは、ローカルエリアネットワーク1N及びネットワーク3Nを介して、情報の送受信を行う。
図16、図17、図18及び図19の修復処理において、リストアターゲットのコンピュータ1は、データID及びハッシュ値に基づいて、修復用の元データ1の保有を他のコンピュータに問い合わせた。しかし、リストアターゲットのコンピュータ1は、データID及び修復用の元データ1Dのメタデータに基づいて、修復用の元データ1の保有を他のコンピュータに問い合わせてもよい。ここでのメタデータは、エージェント保有データ一覧テーブル1Tと修復イメージ構成テーブル2Tとで重複するメタデータであり、例えばファイル名、パス、作成日時、サイズ等を組み合わせた情報である。ここでのメタデータは、ハッシュ値を含んでもよいし、含まなくてもよい。また、ここでのメタデータは、更に更新日時、アクセス日時等の他のメタデータを含んでもよい。
他のコンピュータ1は、リストアターゲットのコンピュータ1から上記メタデータを問い合わせと共に受信する。他のコンピュータ1は、上記メタデータに基づく情報と一致する情報に対応する元データ1Dが自身のハードディスク14に記憶されている場合、修復用の元データ1Dを保有している旨の応答をリストアターゲットのコンピュータ1に送信してもよい。
第二の処理(ステップS518)において、修復イメージ構成テーブル2Tのデータ保有マシンに対応しないコンピュータ1が保有する修復用の元データ1Dは、バックアップサーバ2により信頼性が検証される。そのため、図22、図23及び図24の例では、修復用の元データ1Dは、データ保有マシンに対応しない他のコンピュータ1からバックアップサーバ2に送信された。しかし、修復用の元データ1は、リストアターゲットのコンピュータ1からバックアップサーバ2に送信されてもよい。
かかる場合、リストアターゲットのコンピュータ1は、応答してきた他のコンピュータ1のうち、未処理のコンピュータ1に自身のみに対して修復用の元データ1Dを送信する要求を送信する。そして、他のコンピュータ1は、要求された修復用の元データ1Dをリストアターゲットのコンピュータ1に送信する。リストアターゲットのコンピュータ1は、バックアップサーバ2に受信した修復用の元データ1D及びデータIDを送信する。バックアップサーバ2は、リストアターゲットのコンピュータ1から修復用の元データ1D及びデータIDを受信する。バックアップサーバ2は、受信したデータIDにより受信した修復用の元データ1Dを特定する。バックアップサーバ2による以降の手順は、図22、図23及び図24に示した手順と同じである。
本実施の形態に係る修復システムによれば、破損等を被った元データ1Dを迅速に修復することができる。
リストアターゲットのコンピュータ1は、第一の処理(ステップS517)において、ローカルネットワーク1Nに接続された他のコンピュータ1から修復用の元データ1Dを取得する。そのため、第一の処理(ステップS517)において、帯域幅が狭いネットワーク3Nは使用されないので、迅速な修復処理が可能となる。
第一の処理(ステップS517)の前後において、ネットワーク3Nが使用される機会は、バックアップサーバ2及びリストアターゲットのコンピュータ1の間における修復処理の開始及び終了の応答時以外には、修復イメージ構成テーブル2Tのレコードセットの転送時のみである。修復イメージ構成テーブル2Tのレコードセットの容量は、修復処理に用いられるバックアップデータ2D全体の容量よりも遥かに小さい。従って、修復システムによるネットワーク3Nの転送データ量は従来よりも大幅に削減されている。これにより、ネットワーク3Nのスループットが低い場合であっても、早急なデータの修復が可能となる。
第二の処理(ステップS518)では、修復イメージ構成テーブル2Tのレコードに記録されていないコンピュータ1から取得した元データ1Dを用いて修復処理が実行される。そのため、修復用の元データ1Dの信頼性は、バイナリ比較による厳密な解析により確認される。バイナリ比較はハードウェアに対する負荷が大きいが、第二の処理(ステップS518)では処理能力の高いバックアップサーバ2がバイナリ比較を実行することで、修復システム全体の処理能力を担保することができる。
第三の処理(ステップS515)において、リストアターゲットのコンピュータ1は、バックアップサーバ2からバックアップデータ2Dを取得するために、ネットワーク3Nを使用する。しかし、第三の処理(ステップS515)は、他のコンピュータ1が修復用の元データ1Dを保有していない場合、又は第一の処理(ステップS517)若しくは第二の処理(518)を試みても修復用の元データ1Dを取得できない場合に限られる。従って、第三の処理(ステップS515)が実行される頻度は低いので、修復システムはネットワーク3Nに対する負荷を従来よりも低減することができる。
コンピュータ1を動作させるためのプログラム1Pは、ディスクドライブ15を介して光ディスク1aから読み込まれてもよい。あるいは、プログラム1Pは、通信部18を介して外部の情報処理装置又は記録装置から読み込まれてもよい。さらに、プログラム1Pを記録したフラッシュメモリ等の半導体メモリ1cが、コンピュータ1内に実装されていてもよい。
同様に、バックアップサーバ2を動作させるためのプログラム2Pは、ディスクドライブ25を介して光ディスク1aから読み込まれてもよい。あるいは、プログラム2Pは、通信部28を介して外部の情報処理装置又は記録装置から読み込まれてもよい。さらに、プログラム2Pを記録したフラッシュメモリ等の半導体メモリ1cが、バックアップサーバ2内に実装されていてもよい。
以上の実施の形態に関し、さらに以下の付記を開示する。
(付記1)
第一通信網に接続され、各々が記憶部を有する複数の記憶装置並びに
前記第一通信網及び該第一通信網の帯域幅と異なる帯域幅を有し、該第一通信網と接続された第二通信網を介して前記複数の記憶装置と通信するバックアップ装置
を備え、
前記複数の記憶装置に含まれる一の記憶装置が有する前記記憶部に記憶されたデータを修復する修復システムにおいて、
前記バックアップ装置は、
前記記憶部に夫々記憶されたデータ及び該データのメタデータを前記複数の記憶装置から受信する受信部と、
該受信部が受信したデータの識別子を生成する生成部と、
該生成部が生成したデータの識別子を、前記受信部が該データを受信した前記複数の記憶装置に夫々送信する識別子送信部と、
被修復データの指定を受け付ける受付部と、
該受付部が受け付けた被修復データに対応する識別子及び前記受信部が受信したデータに係るメタデータが関連付けてある一覧を前記一の記憶装置に送信する一覧送信部と
を有し、
前記複数の記憶装置は、
前記識別子送信部が送信したデータの識別子を受信する識別子受信部と、
該識別子受信部が受信した識別子を前記記憶部に記憶されたデータと対応付けて該記憶部に記憶する識別子記憶部と
を有し、
前記一の記憶装置は、
前記一覧送信部が送信した一覧を受信する一覧受信部と、
該一覧受信部が受信した一覧に基づいた一又は複数の他の記憶装置への問い合わせに対する応答に応じて、被修復データに対応するデータを自身に送信する要求を該他の記憶装置又は前記バックアップ装置に送信する要求送信部と、
該要求送信部が送信した要求に係るデータを前記他の記憶装置又は前記バックアップ装置から受信する要求受信部と、
前記一覧受信部が受信した一覧及び前記識別子記憶部が記憶した識別子に基づいて、前記要求受信部が受信したデータを用いて被修復データを修復する修復部と
を有する
修復システム。
(付記2)
前記バックアップ装置は、所定のアルゴリズムに基づいて、前記受信部が受信したデータから一意に定まる固有値を算出する算出部を有し、
前記バックアップ装置の前記一覧送信部が送信する一覧には、前記識別子及び前記算出部が算出した固有値が関連付けてあり、
前記複数の記憶装置は、前記バックアップ装置の前記算出部が用いたアルゴリズムと同一のアルゴリズムに基づいて、前記記憶部が記憶するデータから一意に定まる固有値を算出する固有値算出部を有し、
前記一の記憶装置は、
前記一覧受信部が受信した一覧に基づいて、被修復データに対応するデータを保有しているか否かの問い合わせを、前記他の記憶装置に送信する問い合わせ送信部と、
該問い合わせ送信部が問い合わせたデータの保有に関する応答を前記他の記憶装置から受信する応答受信部と
を有し、
前記他の記憶装置は、
前記問い合わせ送信部が送信した問い合わせを受信する問い合わせ受信部と、
前記識別子受信部が受信した識別子又は前記固有値算出部が算出した固有値に基づいて、夫々前記一覧において関連付けてある識別子又は固有値に対応するデータを前記記憶部が記憶しているか否かを判定する判定部と、
前記判定部が前記問い合わせ受信部により受信された問い合わせに関する前記データを記憶していると判定した場合、前記データの保有に関する応答を前記一の記憶装置に送信する応答送信部と
を有し、
前記一の記憶装置の前記要求送信部は、被修復データに対応するデータを、前記応答受信部が受信した前記応答を送信してきた前記他の記憶装置に要求する
付記1に記載の修復システム。
(付記3)
前記バックアップ装置の前記一覧送信部が送信する一覧には、前記識別子、前記固有値及び前記受信部がデータを受信した前記複数の記憶装置に夫々対応する識別情報が関連付けてあり、
前記一の記憶装置の前記要求送信部は、前記応答受信部が前記一覧受信部により受信された一覧において関連付けられた識別情報に対応しない前記他の記憶装置から前記応答を受信した場合、被修復データに対応するデータを自身及び前記バックアップ装置に送信する要求を前記識別情報に対応しない前記他の記憶装置に送信し、
前記他の記憶装置は前記要求送信部により送信された要求に係るデータを前記一の記憶装置及び前記バックアップ装置に送信するデータ送信部を有し、
前記バックアップ装置は、
前記データ送信部が送信したデータを受信するデータ受信部と、
該データ受信部が受信したデータ及び前記受信部が受信したデータが同一か否かを判定する同一判定部と、
該同一判定部が判定した判定結果を前記一の記憶装置に送信する判定結果送信部と
を有し、
前記一の記憶装置は前記判定結果送信部が送信した判定結果を受信する判定結果受信部を有し、
前記一の記憶装置の前記要求受信部は、前記他の記憶装置の前記データ送信部が送信したデータを受信し、
前記一の記憶装置の前記修復部は、前記判定結果受信部により受信された判定結果が同一である場合、前記要求受信部が受信したデータを用いて被修復データを修復する
付記2に記載の修復システム。
(付記4)
前記バックアップ装置は前記データ受信部が受信したデータ及び前記受信部が受信したデータをバイナリデータに夫々変換する変換部を有し、
前記バックアップ装置の前記算出部は、前記データ受信部が受信したデータ及び前記受信部が受信したデータから一意に定まる固有値を夫々算出し、
前記バックアップ装置の前記同一判定部は、前記算出部が算出した各固有値が一致した場合又は前記変換部が変換した各バイナリデータが一致した場合、同一と判定する
付記3に記載の修復システム。
(付記5)
前記一の記憶装置の前記要求送信部は、前記応答受信部が前記一覧受信部により受信された一覧において関連付けられた識別情報に対応する前記他の記憶装置から前記応答を受信した場合、被修復データに対応するデータを自身に送信する要求を前記識別情報に対応する前記他の記憶装置に送信し、
前記識別情報に対応する前記他の記憶装置の前記データ送信部は、前記要求送信部により送信された要求に係るデータを前記一の記憶装置に送信し、
前記一の記憶装置の前記要求受信部は、前記データ送信部が送信したデータを受信し、
前記一の記憶装置の前記固有値算出部は、前記要求受信部が受信したデータから固有値を算出し、
前記一の記憶装置の前記修復部は、前記一覧受信部が受信した一覧において関連付けられた固有値及び前記固有値算出部が算出した固有値が同一である場合、前記要求受信部が受信したデータを用いて被修復データを修復する
付記3又は付記4に記載の修復システム。
(付記6)
前記一の記憶装置の前記要求送信部は、前記応答受信部が前記応答を受信しない場合、被修復データに対応するデータを自身に送信する要求を前記バックアップ装置に送信し、
前記バックアップ装置は前記要求送信部が送信した要求に係るデータを前記一の記憶装置に送信する通信網データ送信部を有し、
前記一の記憶装置の前記要求受信部は、前記通信網データ送信部が送信したデータを受信し、
前記一の記憶装置の前記修復部は、前記要求受信部が受信したデータを用いて被修復データを修復する
付記3から付記5までのいずれか一項に記載の修復システム。
(付記7)
前記バックアップ装置は第三通信網に接続されており、
前記複数の記憶装置及び前記バックアップ装置は、前記第一通信網と、前記第三通信網と、該第一及び第三通信網を接続する通信網接続装置又は該第一及び第三通信網の帯域幅と異なる帯域幅を有し、第一及び第三通信網と接続された第二通信網とを介して通信する
付記1から付記6までのいずれか一項に記載の修復システム。
(付記8)
前記バックアップ装置の前記算出部及び前記複数の記憶装置の前記固有値算出部が算出する固有値は、ハッシュ値である
付記2から付記7までのいずれか一つに記載の修復システム
(付記9)
前記複数の記憶装置は前記記憶部に記憶されたデータ及び該データのメタデータを前記バックアップ装置に送信する送信部を有し、
前記バックアップ装置の前記受信部は、前記送信部が夫々送信したデータ及びメタデータを受信する
付記1に記載の修復システム。
(付記10)
前記一の記憶装置の前記修復部は、前記一覧受信部が受信した一覧において関連付けられた識別子及び前記識別子記憶部がデータと対応付けて記憶した識別子に基づいて、前記記憶部に記憶された被修復データを特定することにより、前記要求受信部が受信したデータを用いて、特定した被修復データを修復する
付記1に記載の修復システム。
(付記11)
前記バックアップ装置の前記変換部は、前記受信部が前記複数の記憶装置から受信したデータをバイナリデータに夫々変換し、
前記バックアップ装置は、
前記受信部が受信したデータを前記生成部が生成した識別子と関連付けて記憶するバックアップデータ記憶部と、
前記生成部が生成した識別子から、前記算出部が算出した固有値及び前記変換部が変換したバイナリデータが夫々一致するデータに対応する識別子を抽出する抽出部と、
該抽出部が抽出した複数の識別子から一の識別子以外の他の識別子に対応するデータを前記バックアップデータ記憶部から削除する削除部と、
該削除部が削除しなかったデータに対応する一の識別子及び該削除部が削除したデータに対応する他の識別子を前記複数の記憶装置に送信する重複識別子送信部と
を有し、
前記複数の記憶装置は、
前記重複識別子送信部が送信した各識別子を受信する重複識別子受信部と、
前記識別子記憶部により記憶されたデータの識別子が前記重複識別子受信部により受信された前記他の識別子を含む場合、該他の識別子に対応するデータの識別子を前記一の識別子で書き換える書き換え部と
を有する
付記4に記載の修復システム。
(付記12)
第一通信網に接続され、各々が記憶部を有する複数の記憶装置が、該第一通信網及び該第一通信網の帯域幅と異なる帯域幅を有し、該第一通信網と接続された第二通信網を介して、バックアップ装置と通信することにより、前記複数の記憶装置に含まれる一の記憶装置が有する前記記憶部に記憶されたデータを修復する修復方法において、
前記記憶部に夫々記憶されたデータ及び該データのメタデータを前記複数の記憶装置から前記バックアップ装置へ送信し、
送信したデータの識別子を前記バックアップ装置により生成し、
生成したデータの識別子を前記バックアップ装置から前記複数の記憶装置のうち少なくとも前記一の記憶装置へ送信し、
前記複数の記憶装置が前記識別子を受信した場合、該識別子を前記記憶部に記憶されたデータと対応付けて該記憶部に該複数の記憶装置により夫々記憶し、
被修復データの指定を前記バックアップ装置により受け付け、
受け付けた被修復データに対応する識別子及び受信したデータに係るメタデータが関連付けられた一覧を前記バックアップ装置から前記一の記憶装置へ送信し、
前記一覧に基づいた一の記憶装置と、一又は複数の他の記憶装置との間の応答に応じて、被修復データに対応するデータを前記一の記憶装置へ送信する要求を、該一の記憶装置から前記他の記憶装置又は前記バックアップ装置へ送信し、
前記一の記憶装置が前記要求に係るデータを前記他の記憶装置又は前記バックアップ装置から受信した場合、受信した一覧及び記憶した識別子に基づいて、受信したデータを用いて前記記憶部に記憶された被修復データを前記一の記憶装置により修復する
修復方法。
(付記13)
第一通信網に接続され、記憶部を有するコンピュータに、該第一通信網及び該第一通信網の帯域幅と異なる帯域幅を有し、該第一通信網と接続された第二通信網を介してバックアップ装置と通信することにより、前記記憶部に記憶されたデータを修復する処理を実行させるプログラムにおいて、
前記記憶部に記憶されたデータ及び該データのメタデータを前記バックアップ装置に送信し、
送信したデータの識別子を受信し、
受信した識別子を前記記憶部に記憶されたデータと対応付けて該記憶部に記憶し、
被修復データに対応する識別子及び送信したデータに係るメタデータが関連付けられた一覧を前記バックアップ装置から受信し、
受信した一覧に基づいて、被修復データに対応するデータを保有しているか否かの問い合わせを前記第一通信網と接続された一又は複数の他のコンピュータに送信し、
送信した問い合わせに対する応答を前記他のコンピュータから受信し、
受信した応答に応じて、被修復データに対応するデータを前記コンピュータに送信する要求を前記他のコンピュータ又は前記バックアップ装置に送信し、
送信した要求に係るデータを前記他のコンピュータ又は前記バックアップ装置から受信し、
受信した一覧及び前記記憶部に記憶した識別子に基づいて、受信したデータを用いて前記記憶部に記憶された被修復データを修復する
処理をコンピュータに実行させることを特徴とするプログラム。
1 コンピュータ(記憶装置)
11 制御部(生成部、識別子記憶部、固有値算出部、判定部、書き換え部、修復部)
14 ハードディスク(記憶部)
1D 元データ
1P プログラム
18 通信部(識別子受信部、一覧受信部、要求送信部、要求受信部、問い合わせ送信部、応答受信部、問い合わせ受信部、応答送信部、データ送信部、判定結果受信部、重複識別子受信部、送信部)
2 バックアップサーバ(バックアップ装置)
21 制御部(算出部、同一判定部、変換部、抽出部、削除部)
24 ハードディスク(バックアップデータ記憶部)
27 操作部(受付部)
2D バックアップデータ
2P プログラム
28 通信部(受信部、識別子送信部、一覧送信部、データ受信部、判定結果送信部、通信網データ送信部、重複識別子送信部)
4 LANスイッチ(通信網接続装置)
1N ローカルエリアネットワーク(第一通信網)
2N ローカルエリアネットワーク(第三通信網)
3N ネットワーク(第二通信網)
1T エージェント保有データ一覧テーブル
2T 修復イメージ構成テーブル
3T サーバ保有データ一覧テーブル
4T データパステーブル
5T バックアップイメージ構成テーブル

Claims (9)

  1. 第一通信網に接続され、各々が記憶部を有する複数の記憶装置並びに
    前記第一通信網及び該第一通信網の帯域幅と異なる帯域幅を有し、該第一通信網と接続された第二通信網を介して前記複数の記憶装置と通信するバックアップ装置
    を備え、
    前記複数の記憶装置に含まれる一の記憶装置が有する前記記憶部に記憶されたデータを修復する修復システムにおいて、
    前記バックアップ装置は、
    前記記憶部に夫々記憶されたデータ及び該データのメタデータを前記複数の記憶装置から受信する受信部と、
    該受信部が受信したデータの識別子を生成する生成部と、
    該生成部が生成したデータの識別子を、前記受信部が該データを受信した前記複数の記憶装置に夫々送信する識別子送信部と、
    被修復データの指定を受け付ける受付部と、
    該受付部が受け付けた被修復データに対応する識別子及び前記受信部が受信したデータに係るメタデータが関連付けてある一覧を前記一の記憶装置に送信する一覧送信部と
    を有し、
    前記複数の記憶装置は、
    前記識別子送信部が送信したデータの識別子を受信する識別子受信部と、
    該識別子受信部が受信した識別子を前記記憶部に記憶されたデータと対応付けて該記憶部に記憶する識別子記憶部と
    を有し、
    前記一の記憶装置は、
    前記一覧送信部が送信した一覧を受信する一覧受信部と、
    該一覧受信部が受信した一覧に基づいた一又は複数の他の記憶装置への問い合わせに対する応答に応じて、被修復データに対応するデータを自身に送信する要求を該他の記憶装置又は前記バックアップ装置に送信する要求送信部と、
    該要求送信部が送信した要求に係るデータを前記他の記憶装置又は前記バックアップ装置から受信する要求受信部と、
    前記一覧受信部が受信した一覧及び前記識別子記憶部が記憶した識別子に基づいて、前記要求受信部が受信したデータを用いて被修復データを修復する修復部と
    を有する
    修復システム。
  2. 前記バックアップ装置は、所定のアルゴリズムに基づいて、前記受信部が受信したデータから一意に定まる固有値を算出する算出部を有し、
    前記バックアップ装置の前記一覧送信部が送信する一覧には、前記識別子及び前記算出部が算出した固有値が関連付けてあり、
    前記複数の記憶装置は、前記バックアップ装置の前記算出部が用いたアルゴリズムと同一のアルゴリズムに基づいて、前記記憶部が記憶するデータから一意に定まる固有値を算出する固有値算出部を有し、
    前記一の記憶装置は、
    前記一覧受信部が受信した一覧に基づいて、被修復データに対応するデータを保有しているか否かの問い合わせを、前記他の記憶装置に送信する問い合わせ送信部と、
    該問い合わせ送信部が問い合わせたデータの保有に関する応答を前記他の記憶装置から受信する応答受信部と
    を有し、
    前記他の記憶装置は、
    前記問い合わせ送信部が送信した問い合わせを受信する問い合わせ受信部と、
    前記識別子受信部が受信した識別子又は前記固有値算出部が算出した固有値に基づいて、夫々前記一覧において関連付けてある識別子又は固有値に対応するデータを前記記憶部が記憶しているか否かを判定する判定部と、
    前記判定部が前記問い合わせ受信部により受信された問い合わせに関する前記データを記憶していると判定した場合、前記データの保有に関する応答を前記一の記憶装置に送信する応答送信部と
    を有し、
    前記一の記憶装置の前記要求送信部は、被修復データに対応するデータを、前記応答受信部が受信した前記応答を送信してきた前記他の記憶装置に要求する
    請求項1に記載の修復システム。
  3. 前記バックアップ装置の前記一覧送信部が送信する一覧には、前記識別子、前記固有値及び前記受信部がデータを受信した前記複数の記憶装置に夫々対応する識別情報が関連付けてあり、
    前記一の記憶装置の前記要求送信部は、前記応答受信部が前記一覧受信部により受信された一覧において関連付けられた識別情報に対応しない前記他の記憶装置から前記応答を受信した場合、被修復データに対応するデータを自身及び前記バックアップ装置に送信する要求を前記識別情報に対応しない前記他の記憶装置に送信し、
    前記他の記憶装置は前記要求送信部により送信された要求に係るデータを前記一の記憶装置及び前記バックアップ装置に送信するデータ送信部を有し、
    前記バックアップ装置は、
    前記データ送信部が送信したデータを受信するデータ受信部と、
    該データ受信部が受信したデータ及び前記受信部が受信したデータが同一か否かを判定する同一判定部と、
    該同一判定部が判定した判定結果を前記一の記憶装置に送信する判定結果送信部と
    を有し、
    前記一の記憶装置は前記判定結果送信部が送信した判定結果を受信する判定結果受信部を有し、
    前記一の記憶装置の前記要求受信部は、前記他の記憶装置の前記データ送信部が送信したデータを受信し、
    前記一の記憶装置の前記修復部は、前記判定結果受信部により受信された判定結果が同一である場合、前記要求受信部が受信したデータを用いて被修復データを修復する
    請求項2に記載の修復システム。
  4. 前記バックアップ装置は前記データ受信部が受信したデータ及び前記受信部が受信したデータをバイナリデータに夫々変換する変換部を有し、
    前記バックアップ装置の前記算出部は、前記データ受信部が受信したデータ及び前記受信部が受信したデータから一意に定まる固有値を夫々算出し、
    前記バックアップ装置の前記同一判定部は、前記算出部が算出した各固有値が一致した場合又は前記変換部が変換した各バイナリデータが一致した場合、同一と判定する
    請求項3に記載の修復システム。
  5. 前記一の記憶装置の前記要求送信部は、前記応答受信部が前記一覧受信部により受信された一覧において関連付けられた識別情報に対応する前記他の記憶装置から前記応答を受信した場合、被修復データに対応するデータを自身に送信する要求を前記識別情報に対応する前記他の記憶装置に送信し、
    前記識別情報に対応する前記他の記憶装置の前記データ送信部は、前記要求送信部により送信された要求に係るデータを前記一の記憶装置に送信し、
    前記一の記憶装置の前記要求受信部は、前記データ送信部が送信したデータを受信し、
    前記一の記憶装置の前記固有値算出部は、前記要求受信部が受信したデータから固有値を算出し、
    前記一の記憶装置の前記修復部は、前記一覧受信部が受信した一覧において関連付けられた固有値及び前記固有値算出部が算出した固有値が同一である場合、前記要求受信部が受信したデータを用いて被修復データを修復する
    請求項3又は請求項4に記載の修復システム。
  6. 前記一の記憶装置の前記要求送信部は、前記応答受信部が前記応答を受信しない場合、被修復データに対応するデータを自身に送信する要求を前記バックアップ装置に送信し、
    前記バックアップ装置は前記要求送信部が送信した要求に係るデータを前記一の記憶装置に送信する通信網データ送信部を有し、
    前記一の記憶装置の前記要求受信部は、前記通信網データ送信部が送信したデータを受信し、
    前記一の記憶装置の前記修復部は、前記要求受信部が受信したデータを用いて被修復データを修復する
    請求項3から請求項5までのいずれか一項に記載の修復システム。
  7. 前記バックアップ装置は第三通信網に接続されており、
    前記複数の記憶装置及び前記バックアップ装置は、前記第一通信網と、前記第三通信網と、該第一及び第三通信網を接続する通信網接続装置又は該第一及び第三通信網の帯域幅と異なる帯域幅を有し、第一及び第三通信網と接続された第二通信網とを介して通信する
    請求項1から請求項6までのいずれか一項に記載の修復システム。
  8. 第一通信網に接続され、各々が記憶部を有する複数の記憶装置が、該第一通信網及び該第一通信網の帯域幅と異なる帯域幅を有し、該第一通信網と接続された第二通信網を介して、バックアップ装置と通信することにより、前記複数の記憶装置に含まれる一の記憶装置が有する前記記憶部に記憶されたデータを修復する修復方法において、
    前記記憶部に夫々記憶されたデータ及び該データのメタデータを前記複数の記憶装置から前記バックアップ装置へ送信し、
    送信したデータの識別子を前記バックアップ装置により生成し、
    生成したデータの識別子を前記バックアップ装置から前記複数の記憶装置のうち少なくとも前記一の記憶装置へ送信し、
    前記複数の記憶装置が前記識別子を受信した場合、該識別子を前記記憶部に記憶されたデータと対応付けて該記憶部に該複数の記憶装置により夫々記憶し、
    被修復データの指定を前記バックアップ装置により受け付け、
    受け付けた被修復データに対応する識別子及び受信したデータに係るメタデータが関連付けられた一覧を前記バックアップ装置から前記一の記憶装置へ送信し、
    前記一覧に基づいた一の記憶装置と、一又は複数の他の記憶装置との間の応答に応じて、被修復データに対応するデータを前記一の記憶装置へ送信する要求を、該一の記憶装置から前記他の記憶装置又は前記バックアップ装置へ送信し、
    前記一の記憶装置が前記要求に係るデータを前記他の記憶装置又は前記バックアップ装置から受信した場合、受信した一覧及び記憶した識別子に基づいて、受信したデータを用いて前記記憶部に記憶された被修復データを前記一の記憶装置により修復する
    修復方法。
  9. 第一通信網に接続され、記憶部を有するコンピュータに、該第一通信網及び該第一通信網の帯域幅と異なる帯域幅を有し、該第一通信網と接続された第二通信網を介してバックアップ装置と通信することにより、前記記憶部に記憶されたデータを修復する処理を実行させるプログラムにおいて、
    前記記憶部に記憶されたデータ及び該データのメタデータを前記バックアップ装置に送信し、
    送信したデータの識別子を受信し、
    受信した識別子を前記記憶部に記憶されたデータと対応付けて該記憶部に記憶し、
    被修復データに対応する識別子及び送信したデータに係るメタデータが関連付けられた一覧を前記バックアップ装置から受信し、
    受信した一覧に基づいて、被修復データに対応するデータを保有しているか否かの問い合わせを前記第一通信網と接続された一又は複数の他のコンピュータに送信し、
    送信した問い合わせに対する応答を前記他のコンピュータから受信し、
    受信した応答に応じて、被修復データに対応するデータを前記コンピュータに送信する要求を前記他のコンピュータ又は前記バックアップ装置に送信し、
    送信した要求に係るデータを前記他のコンピュータ又は前記バックアップ装置から受信し、
    受信した一覧及び前記記憶部に記憶した識別子に基づいて、受信したデータを用いて前記記憶部に記憶された被修復データを修復する
    処理をコンピュータに実行させることを特徴とするプログラム。
JP2011276213A 2011-12-16 2011-12-16 修復システム、修復方法及びプログラム Expired - Fee Related JP5786701B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011276213A JP5786701B2 (ja) 2011-12-16 2011-12-16 修復システム、修復方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011276213A JP5786701B2 (ja) 2011-12-16 2011-12-16 修復システム、修復方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2013127666A JP2013127666A (ja) 2013-06-27
JP5786701B2 true JP5786701B2 (ja) 2015-09-30

Family

ID=48778178

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011276213A Expired - Fee Related JP5786701B2 (ja) 2011-12-16 2011-12-16 修復システム、修復方法及びプログラム

Country Status (1)

Country Link
JP (1) JP5786701B2 (ja)

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3290801B2 (ja) * 1994-05-17 2002-06-10 三菱電機株式会社 資源所在位置検出方式
JP2004094617A (ja) * 2002-08-30 2004-03-25 Fujitsu Ltd 差分圧縮によるバックアップ方法、システム及び差分圧縮方法
JP2007108905A (ja) * 2005-10-12 2007-04-26 Fuji Xerox Co Ltd ファイルサーバ、ファイル提供方法及びプログラム
JP2007249760A (ja) * 2006-03-17 2007-09-27 Nec Corp 分散相互バックアップシステム、情報処理装置、分散相互バックアップ方法、およびプログラム
JP2007264823A (ja) * 2006-03-27 2007-10-11 Nifty Corp ファイル共有プログラム
US8051043B2 (en) * 2006-05-05 2011-11-01 Hybir Inc. Group based complete and incremental computer file backup system, process and apparatus
JP5018403B2 (ja) * 2007-10-31 2012-09-05 日本電気株式会社 バックアップシステム、サーバ装置及びそれらに用いるバックアップ方法並びにそのプログラム
JP5414223B2 (ja) * 2008-09-16 2014-02-12 株式会社日立ソリューションズ インターネットバックアップにおける転送データ管理システム
JP5387827B2 (ja) * 2009-03-19 2014-01-15 日本電気株式会社 ネットワーク管理装置、ネットワーク管理システム、ネットワーク管理方法、及びプログラム
WO2011155072A1 (ja) * 2010-06-11 2011-12-15 オリンパスイメージング株式会社 情報記憶装置および情報サービスシステム

Also Published As

Publication number Publication date
JP2013127666A (ja) 2013-06-27

Similar Documents

Publication Publication Date Title
JP5727020B2 (ja) クラウドコンピューティングシステム及びそのデータ同期化方法
US9256499B2 (en) Method and apparatus of securely processing data for file backup, de-duplication, and restoration
US9122882B2 (en) Method and apparatus of securely processing data for file backup, de-duplication, and restoration
JP6191159B2 (ja) サーバ、バックアップシステム、バックアップ方法、および、コンピュータ・プログラム
EP3364310A1 (en) Data processing method and device
US10983867B1 (en) Fingerprint change during data operations
JP2012533126A (ja) ソースおよびターゲットを含む分散型環境におけるデータを重複排除する方法、システム、及びプログラム
JP6062551B2 (ja) 差分データ転送システム及び方法
WO2013065135A1 (ja) データ共有システム
US20190065330A1 (en) Copy-on-read process in disaster recovery
JP5795554B2 (ja) 差分暗号化によるファイル同期システム、その方法およびプログラム
US20120250857A1 (en) Method and apparatus of securely processing data for file backup, de-duplication, and restoration
JP5786701B2 (ja) 修復システム、修復方法及びプログラム
US20080270832A1 (en) Efficiently re-starting and recovering synchronization operations between a client and server
JP2007299019A (ja) データ通信システム、サーバ装置及びそれに用いるデータ通信方法並びにそのプログラム
JP5945252B2 (ja) 分散処理システム
JP6160455B2 (ja) システム移行プログラム、システム移行方法および情報処理システム
JP7119324B2 (ja) 情報処理装置及び情報処理プログラム
JP2018206230A (ja) 情報処理システム、情報処理装置および情報処理方法
KR101748913B1 (ko) 분산 저장 환경에서 게이트웨이를 선택하기 위한 클러스터 관리 방법 및 데이터 저장 시스템
KR102000162B1 (ko) 저사양 기기의 소프트웨어 업데이트 지원 장치 및 방법
JP6891603B2 (ja) バックアップシステム、ストレージ装置、データ転送方法及びプログラム
US9514000B2 (en) Backup of baseline installation
JP3215125U (ja) バックアップシステム
JP7367346B2 (ja) 機器、データ生成プログラム、およびデータ生成方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140805

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150515

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150713

R150 Certificate of patent or registration of utility model

Ref document number: 5786701

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees