(57)【要約】【課題】  バックアップ対象データに基づく付加情報を適切に作成してデータ記憶手段に格納することができるようにする。【解決手段】  バックアップの対象となるバックアップ対象データのバックアップ先となるバックアップ先記憶装置（７Ａ）と、そのバックアップ対象データをバックアップ先記憶装置（７Ａ）に転送してバックアップ対象データのバックアップを行うバックアップ実行手段（１１）を有するバックアップ元装置（１）と、バックアップ対象データに基づいて作成される付加情報を記憶することができる付加情報記憶手段（７Ｐ）と、バックアップ対象データのバックアップが完了した後に、バックアップ対象データに基づいて付加情報を作成し付加情報記憶手段（７Ｐ）に格納する付加情報作成手段（２１）とを備える。【選択図】        図２
2005084771.tif 000002
【特許請求の範囲】
【請求項１】
バックアップの対象となるバックアップ対象データのバックアップ先となるバックアップ先記憶装置と、
前記バックアップ対象データを前記バックアップ先記憶装置に転送して前記バックアップ対象データのバックアップを行うバックアップ実行手段を有するバックアップ元装置と、
前記バックアップ対象データに基づいて作成される付加情報を記憶することができる付加情報記憶手段と、
前記バックアップ対象データのバックアップが完了した後に、前記バックアップ対象データに基づいて付加情報を作成し前記付加情報記憶手段に格納する付加情報作成手段と
を備えるバックアップシステム。
【請求項２】
前記付加情報作成手段は、前記バックアップ元装置とは別の装置に備えられている請求項１記載のバックアップシステム。
【請求項３】
前記バックアップ元装置が、前記付加情報の生成を行うために必要な付加情報生成用データを前記付加情報作成手段に送信する生成用データ送信手段を更に有し、
前記付加情報作成手段が、前記付加情報生成用データを受信し、前記付加情報生成用データを用いて前記付加情報を生成し、前記生成した付加情報を前記付加情報記憶手段に格納する、
請求項１記載のバックアップシステム。
【請求項４】
前記バックアップ元装置が、
所定の条件に基づいて、前記バックアップが行われるときに前記付加情報の作成を行う同期タイミングと、前記バックアップが行われた後に前記付加情報の作成を行う非同期タイミングのいずれか一方のタイミングを、前記付加情報の作成タイミングとして選択するタイミング選択手段と、
前記同期タイミングが選択された場合、前記バックアップが行なわれるときに前記付加情報を作成して前記付加情報記憶手段に格納する同期型付加情報作成手段と
を更に有する、
請求項１記載のバックアップシステム。
【請求項５】
前記タイミング選択手段は、前記バックアップ対象データのデータサイズ、前記バックアップ元装置と前記付加情報作成手段との間の通信トラフィック状態、前記バックアップ対象データの属性、及び、前記バックアップ元装置内のデータ処理状況のうちの少なくとも１つに基づいて、前記同期タイミングか前記非同期タイミングかを選択する、
請求項４記載のバックアップシステム。
【請求項６】
前記バックアップ先記憶装置は複数台存在し、
前記バックアップ実行手段は、前記バックアップ対象データを、複数の断片データを含んだ１以上の断片データグループに分割し、分割された前記断片データグループに含まれる複数の断片データをそれぞれ前記複数のバックアップ先記憶装置に分散して送信し、
前記付加情報作成手段は、各断片データグループ毎に、前記複数台のバックアップ先記憶装置からそれぞれ前記複数の断片データを取得し、その取得した前記複数の断片データを用いて前記付加情報を作成する、
請求項１記載のバックアップシステム。
【請求項７】
バックアップの対象となるバックアップ対象データのバックアップを行うバックアップ元装置から、データを記憶することができるバックアップ先記憶装置に前記バックアップ対象データが転送されて、そのバックアップ対象データのバックアップが完了した後に、前記バックアップ対象データに基づく付加情報を作成する手段と、
前記作成された付加情報を付加情報記憶手段に格納する手段と
を備える付加情報作成装置。
【請求項８】
バックアップの対象となるバックアップ対象データのバックアップ先となるバックアップ先記憶装置に、前記バックアップ対象データを転送して前記バックアップ対象データのバックアップを行うバックアップ実行手段と、
前記バックアップ対象データに基づく付加情報の生成を行うために必要な付加情報生成用データを、前記バックアップ対象データのバックアップが完了した後に前記付加情報生成用データを用いて前記付加情報を生成することができるように、前記付加情報を作成する付加情報作成手段に送信する生成用データ送信手段と
を備えるバックアップ元装置。
【請求項９】
バックアップの対象となるバックアップ対象データのバックアップを行うバックアップ元装置が、前記バックアップ対象データをバックアップ先記憶装置に送信するステップと、
前記バックアップ対象データのバックアップが完了した後に、前記バックアップ対象データに基づく付加情報を作成するステップと、
前記作成された付加情報を付加情報記憶手段に格納するステップと
を有するバックアップ方法。
【請求項１０】
バックアップの対象となるバックアップ対象データのバックアップを行うバックアップ元装置から、データを記憶することができるバックアップ先記憶装置に前記バックアップ対象データが転送されて、そのバックアップ対象データのバックアップが完了した後に、前記バックアップ対象データに基づく付加情報を作成するステップと、
前記作成された付加情報を付加情報記憶手段に格納するステップと
をコンピュータに実行させるためのコンピュータ読取り可能なコンピュータプログラム。
【請求項１１】
バックアップの対象となるバックアップ対象データのバックアップ先となるバックアップ先記憶装置に、前記バックアップ対象データを転送して前記バックアップ対象データのバックアップを行うステップと、
前記バックアップ対象データに基づく付加情報の生成を行うために必要な付加情報生成用データを、前記付加情報を作成する付加情報作成手段に送信するステップと
をコンピュータに実行させるためのコンピュータ読取可能なコンピュータプログラム。
【請求項１２】
通信ネットワークに複数台のサーバが通信可能に接続されており、
前記複数台のサーバには、
バックアップの対象となるバックアップ対象データのバックアップ先となるサーバであって、受信したデータを２台以上のデータ記憶装置にそれぞれ格納する２台以上のバックアップ先サーバと、
前記バックアップ対象データを、２以上の断片データを含んだ１以上の断片データグループに分割し、分割された前記断片データグループに含まれる２以上の断片データをそれぞれ前記２台以上のバックアップ先サーバに分散して送信するバックアップ元サーバと
が含まれており、
更に、前記複数台のサーバのうちの少なくとも１台のサーバが、
各断片データグループ毎に、各断片データグループ毎に、前記バックアップされる２以上の断片データを取得し、その取得した前記２以上の断片データを用いて前記付加情報を作成し、前記作成された付加情報を付加情報記憶手段に格納する付加情報作成手段と
を備えるバックアップシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、バックアップの対象となるバックアップ対象データをバックアップするための技術に関する。
【背景技術】
【０００２】
この種の技術として、例えば、正常のサーバと故障したサーバとが協働して、複数のサーバの中から代替サーバを決定し、その代替サーバに、正常サーバと故障サーバとが保持する同一のデータを転送する技術が知られている（例えば特許文献１）。
【０００３】
【特許文献１】特開２００２−２１５４７４号公報（段落６）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、バックアップ対象データのバックアップを行う際に、バックアップ対象データに基づく付加情報として、そのバックアップ対象データのパリティデータを作成し、バックアップ対象データと共にパリティデータもデータ記憶装置に格納することがある。データのバックアップのための技術では、そのデータの付加情報をどのように格納するかが重要な場合がある。例えば、バックアップ元装置は、バックアップ先のデータ記憶装置にバックアップ対象データを転送してバックアップを行っているときに、それと並行して、パリティデータを計算し格納する処理を行うことは可能であるが、バックアップ対象データのデータサイズが膨大な場合には、バックアップ元装置にとって負担が大である。
【０００５】
従って、本発明の目的は、バックアップ対象データに基づく付加情報を適切に作成してデータ記憶手段に格納することができるようにすることにある。
【課題を解決するための手段】
【０００６】
本発明の第１の側面に従うバックアップシステムは、バックアップの対象となるバックアップ対象データのバックアップ先となるバックアップ先記憶装置と、前記バックアップ対象データを前記バックアップ先記憶装置に転送して前記バックアップ対象データのバックアップを行うバックアップ実行手段を有するバックアップ元装置と、前記バックアップ対象データに基づいて作成される付加情報を記憶することができる付加情報記憶手段と、前記バックアップ対象データのバックアップが完了した後に、前記バックアップ対象データに基づいて付加情報を作成し前記付加情報記憶手段（例えばハードディスク等のデータ記憶装置）に格納する付加情報作成手段とを備える。
【０００７】
ここで、「付加情報」とは、バックアップ対象データに由来する情報であり、例えば、バックアップ対象データの全部又は一部（一例として、所定個数の断片データ）を復帰するために使用されるリストア情報（一例としてパリティデータ）であっても良いし、メッセージダイジェストであっても良い。
【０００８】
第１の好適な実施形態では、前記付加情報作成手段は、前記バックアップ元装置とは別の装置（例えば、１又は複数のバックアップ先装置及びそれとは別の独立した装置の少なくとも１つ）に備えられている。
【０００９】
第２の好適な実施形態では、前記バックアップ元装置が、前記付加情報の生成を行うために必要な付加情報生成用データを前記付加情報作成手段に送信する生成用データ送信手段を更に有し、前記付加情報作成手段が、前記付加情報生成用データを受信し、前記付加情報生成用データを用いて前記付加情報を生成し、前記生成した付加情報を前記付加情報記憶手段に格納する。
【００１０】
ここで、前記付加情報生成用データは、例えば、前記バックアップ対象データのバックアップ先の場所に関するバックアップ先場所情報であり、前記付加情報作成手段は、前記バックアップ先場所情報から特定される場所から前記バックアップされたバックアップ対象データを取得し、そのバックアップ対象データを用いて前記付加情報を作成する。
【００１１】
第３の好適な実施形態では、前記バックアップ元装置が、所定の条件に基づいて、前記バックアップが行われるときに前記付加情報の作成を行う同期タイミングと、前記バックアップが行われた後に前記付加情報の作成を行う非同期タイミングのいずれか一方のタイミングを、前記付加情報の作成タイミングとして選択するタイミング選択手段と、前記同期タイミングが選択された場合、前記バックアップが行なわれるときに前記付加情報を作成して前記付加情報記憶手段に格納する同期型付加情報作成手段とを更に有する。なお、前記非同期タイミングが選択された場合は、例えば、前記バックアップ元装置が、前記付加情報の生成を行うために必要な付加情報生成用データを前記付加情報作成手段に送信し、前記付加情報作成手段が、前記付加情報生成用データを受信し、前記付加情報生成用データを用いて前記付加情報を生成し、前記生成した付加情報を前記付加情報記憶手段に格納する。
【００１２】
ここで、「同期タイミング」とは、例えば、以下の（１）〜（３）
（１）バックアップ対象データ（又は後述する断片データ）が所定の場所から取得された直後或いはそれに実質的に相当する時期、
（２）バックアップ対象データ（又は後述する断片データ）がバックアップ先に送信される直前或いはそれに実質的に相当する時期、
（３）バックアップ対象データ（又は後述する断片データ）がバックアップ先に送信された直後或いはそれに実質的に相当する時期、
のいずれかである。
【００１３】
また、「非同期タイミング」とは、例えば、バックアップ対象データの全てがバックアップ先に送信された後の時期であり、具体例としては、バックアップ元装置又はそれのオペレータが指定した時期、上記付加情報生成用データが付加情報作成手段に入力された直後などである。
【００１４】
第３の好適な実施形態では、第２の好適な実施形態において、前記タイミング選択手段は、前記バックアップ対象データのデータサイズ、前記バックアップ元装置と前記付加情報作成手段との間の通信トラフィック状態、前記バックアップ対象データの属性、及び、前記バックアップ元装置内のデータ処理状況のうちの少なくとも１つに基づいて、前記同期タイミングか前記非同期タイミングかを選択する。
【００１５】
第４の好適な実施形態では、前記バックアップ先記憶装置は複数台存在し、前記バックアップ実行手段は、前記バックアップ対象データを、複数の断片データを含んだ１以上の断片データグループに分割し、分割された前記断片データグループに含まれる複数の断片データをそれぞれ前記複数のバックアップ先記憶装置に分散して送信し、前記付加情報作成手段は、各断片データグループ毎に、前記複数台のバックアップ先記憶装置からそれぞれ前記複数の断片データを取得し、その取得した前記複数の断片データを用いて前記付加情報を作成する。更に好適な例では、前記複数の断片データの各々は、所定のデータサイズであり、前記バックアップ実行手段は、前記断片データグループにおいて、前記複数の断片データの少なくとも１つが、前記所定のデータサイズに満たない場合には、前記複数の断片データの全てが前記所定のデータサイズになるように、ダミーデータを付加するようにする。
【００１６】
本発明に従う付加情報作成装置は、バックアップの対象となるバックアップ対象データのバックアップを行うバックアップ元装置から、データを記憶することができるバックアップ先記憶装置に前記バックアップ対象データが転送されて、そのバックアップ対象データのバックアップが完了した後に、前記バックアップ対象データに基づく付加情報を作成する手段と、前記作成された付加情報を付加情報記憶手段に格納する手段とを備える。
【００１７】
本発明に従うバックアップ元装置は、バックアップの対象となるバックアップ対象データのバックアップ先となるバックアップ先記憶装置に、前記バックアップ対象データを転送して前記バックアップ対象データのバックアップを行うバックアップ実行手段と、前記バックアップ対象データに基づく付加情報の生成を行うために必要な付加情報生成用データを、前記バックアップ対象データのバックアップが完了した後に前記付加情報生成用データを用いて前記付加情報を生成することができるように、前記付加情報を作成する付加情報作成手段に送信する生成用データ送信手段とを備える。それにより、付加情報作成手段が、前記付加情報生成用データを受信し、前記バックアップ対象データのバックアップが完了した後に、前記付加情報生成用データを用いて前記付加情報を生成し、前記付加情報を記憶することができる付加情報記憶手段に前記生成した付加情報を格納することができる。
【００１８】
本発明の第２の側面に従うバックアップシステムは、通信ネットワークに複数台のサーバが通信可能に接続されており、前記複数台のサーバには、バックアップの対象となるバックアップ対象データのバックアップ先となるサーバであって、受信したデータを２台以上のデータ記憶装置にそれぞれ格納する２台以上のバックアップ先サーバと、前記バックアップ対象データを、２以上の断片データを含んだ１以上の断片データグループに分割し、分割された前記断片データグループに含まれる２以上の断片データをそれぞれ前記２台以上のバックアップ先サーバに分散して送信するバックアップ元サーバとが含まれており、更に、前記複数台のサーバのうちの少なくとも１台のサーバが、各断片データグループ毎に、各断片データグループ毎に、前記バックアップされる２以上の断片データを取得し、その取得した前記２以上の断片データを用いて前記付加情報を作成し、前記作成された付加情報を付加情報記憶手段に格納する付加情報作成手段とを備える。
【００１９】
本発明に従うシステムに備えられる各装置や各手段はコンピュータにより実施することができるが、そのためのコンピュータプログラムは、ディスク型ストレージ、半導体メモリ及び通信ネットワークなどの各種媒体を通じてコンピュータにインストール又はロードすることができる。
【００２０】
また、本発明に従うシステムに備えられる各装置や各手段は、専用ハードウェア、プログラムされたコンピュータ、又はそれらの組合せのいずれによっても実現することができる。
【発明の効果】
【００２１】
本発明の第１のシステムによれば、バックアップ対象データのバックアップが完了した後に、バックアップ対象データに基づいて付加情報が作成されるので、バックアップ元装置のバックアップ実行時期における処理負担が少なくて済む。
【発明を実施するための最良の形態】
【００２２】
図１は、本発明の一実施例に係るバックアップシステムの全体構成を示す。
【００２３】
本実施例に係るバックアップシステムでは、１台（又は複数台）のバックアップ元サーバ１と、複数の（例えば３台の）バックアップ先サーバ５Ａ〜５Ｃと、例えば１台（１台に限らず複数台でも良い）のパリティ格納サーバ５Ｐとが、インターネット等の通信ネットワーク２を介して通信可能に接続することができるようになっている。
【００２４】
バックアップ元サーバ１は、有線又は無線で、バックアップ対象データを記憶することができるバックアップ元記憶装置３と通信可能に接続することができる。バックアップ元サーバ１は、バックアップ元記憶装置３からバックアップ対象データを読み出して、それを、１以上の断片データグループに分割する。各断片データグループには、バックアップ先サーバ５Ａ〜５Ｃと同数（例えば３つ）の断片化されたデータが含まれている。バックアップ元サーバ１は、各断片データグループに含まれている３つの断片データ（以下、これを「断片バックアップデータ」と言う）を、３台のバックアップ先サーバ５Ａ、５Ｂ及び５Ｃにそれぞれ分散して転送する。
【００２５】
バックアップ元記憶装置３は、例えば外付け式又は内蔵型のハードディスクであって、バックアップの対象となるデータを記憶することができる装置である。このバックアップ元記憶装置３では、各種データは、所定の形式、例えば、第１のディレクトリの下位に第２のディレクトリが属し、第２のディレクトリ内に１又は複数のデータファイルが格納される等のような階層構造の下で管理されている。従って、例えば、バックアップ元サーバ１に対しオペレータが第１のディレクトリをバックアップ対象として指定すれば、第１のディレクトリの下位に存在する全てのデータファイルがバックアップ対象として指定されることになる。
【００２６】
各バックアップ先サーバ、例えばバックアップ先サーバ５Ａは、断片バックアップデータの転送先となるサーバであって、ＳＡＮ（Storage  Area  Network）などの通信ネットワーク等を介して１又は複数台のバックアップ先記憶装置７Ａと通信可能に接続することができる。バックアップ先記憶装置７Ａは、バックアップ元サーバ１からバックアップ先サーバ５Ａを介して断片バックアップデータが格納される装置であって、例えば、その断片バックアップデータを記録することが可能な１又は複数の磁気テープを備えた磁気テープライブラリである。なお、バックアップ先記憶装置７Ａは、磁気テープライブラリに限らず、例えば、１又は複数のハードディスクを備えたものであっても良い。
【００２７】
他のバックアップ先サーバ５Ｂ及び５Ｃは、バックアップ先サーバ５Ａと同様の機能を有している。また、他のバックアップ先記憶装置７Ｂ及び７Ｃも、バックアップ先記憶装置７Ａと同様である。
【００２８】
パリティ格納サーバ５Ｐは、ＳＡＮなどの通信ネットワーク等を介して１又は複数台のパリティ記憶装置７Ｐと通信可能に接続することができるサーバである。パリティ格納サーバ５Ｐは、バックアップ先サーバ５Ａ〜５Ｃにアクセスし、そのサーバ５Ａ〜５Ｃから、各断片データグループに含まれる３つの断片バックアップデータを取得し、それら３つの断片バックアップデータからパリティデータを計算してパリティ記憶装置７Ｐに格納する（パリティ記憶装置７Ｐの構成は、例えばバックアップ先記憶装置７Ａと同様である）。なお、このパリティ記憶装置７Ｐに格納されるパリティデータは、このようにパリティ格納サーバ５Ｐによって計算されたものであっても良いし、或いは、バックアップ元サーバ１で求められたものであっても良い。また、そのパリティデータは、３台のバックアップ先サーバ５Ａ〜５Ｃのうちのいずれか１台によって単独で求められたものでも良いし、或いは、バックアップ先サーバ５Ａ〜５Ｃ及びパリティ格納サーバ５Ｐのうちの２台以上によって協同して求められたものであっても良い。
【００２９】
図２は、本実施例に係るバックアップシステムを構成する各サーバの機能を示すブロック図である。
【００３０】
バックアップ元サーバ１は、マイクロソフト社のWindows（登録商標）等のようなオペレーティングシステム（ＯＳ）１３と、そのＯＳ１３の上位に位置するアプリケーションソフトウェアであるバックアップ振分部１１とを備えている。バックアップ振分部１１は、種々の機能を有している。
【００３１】
例えば、バックアップ振分部１１は、バックアップ元記憶装置３から取得されたバックアップ対象データを、３つの断片バックアップデータを含む１以上の断片データグループに分割し、各断片データグループに含まれる３つの断片バックアップデータを、３台のバックアップ先サーバ５Ａ〜５Ｃにそれぞれ分散して転送する機能を有している。具体的には、例えば、バックアップ振分部１１は、バックアップ対象データから所定のデータサイズでデータを読み出すことによって断片バックアップデータが３つ得られる都度に、それら３つの断片バックアップデータをそれぞれ３台のバックアップ先サーバ５Ａ〜５Ｃに分散して転送する。
【００３２】
また、バックアップ振分部１１は、所定の条件に基づいて、パリティデータを計算して保存するタイミング（以下、「パリティ計算タイミング」と言う）を、「同期」にするか「非同期」にするかを選択する機能を有している。具体的には、例えば、バックアップ振分部１１は、１又は複数のデータファイルを含むバックアップ対象データのデータサイズが或る値未満であれば、パリティ計算タイミングとして「同期」を選択し、一方、バックアップ対象データのデータサイズが上記の或る値以上であれば、パリティ計算タイミングとして「非同期」を選択する。「同期」が選択されると、バックアップ振分部１１が、３つの断片バックアップデータをバックアップ先サーバ５Ａ〜５Ｃに送信するときに、それら３つの断片バックアップデータに基づくパリティデータを計算してパリティ格納サーバ５Ｐに送信する。一方、「非同期」が選択されると、バックアップ対象データがバックアップ先サーバ５Ａ〜５Ｃに送信されてバックアップが終了した後に、バックアップ元サーバ１以外のサーバ、例えば、パリティ格納サーバ５Ｐによって、バックアップ先サーバ５Ａ〜５Ｃから３つの断片バックアップデータが集められ、３つの断片バックアップデータが集まる都度に、その３つの断片バックアップデータに基づくパリティデータが計算されて、そのパリティデータがパリティ記憶装置７Ｐに格納される。
【００３３】
バックアップ振分部１１には、この他にも幾つかの機能を有しているが、その他の機能については後に詳述する。
【００３４】
バックアップ先サーバ５Ａ（５Ｂ及び５Ｃも同様）は、マイクロソフト社のWindows（登録商標）等のようなオペレーティングシステム（ＯＳ）１７と、アプリケーションソフトウェアであるバックアップ受付部１５とを備えている。バックアップ受付部１５は、種々の機能、例えば、バックアップ元サーバ１から断片バックアップデータを受信してバックアップ先記憶装置７Ａに格納する機能を有している（バックアップ先サーバ５Ａ〜５Ｃの各々のバックアップ受付部１５は、この他にも幾つかの機能を有しているが、その他の機能については後に詳述する）。
【００３５】
パリティ格納サーバ５Ｐは、マイクロソフト社のWindows（登録商標）等のようなオペレーティングシステム（ＯＳ）２３と、アプリケーションソフトウェアであるパリティバックアップ受付部２１とを備えている。パリティバックアップ受付部２１は、種々の機能、例えば、バックアップ先サーバ５Ａ〜５Ｃの各々から断片バックアップデータを受信することによって３つの断片バックアップデータを得る都度に、その３つの断片バックアップデータに基づくパリティデータを作成して、そのパリティデータをパリティ記憶装置７Ｐに格納する機能を有している（パリティ記憶装置７Ｐは、この他にも幾つかの機能を有しているが、その他の機能については後に詳述する）。
【００３６】
以上のように、どのサーバ１、５Ａ〜５Ｃ、５Ｐも、ＯＳを備えている。そのため、どのサーバ１、５Ａ〜５Ｃ、５Ｐにも、ＯＳの所定のモジュールを呼び出して、３つの断片バックアップデータからパリティデータを計算するという機能を搭載することが可能である。
【００３７】
以下、バックアップ振分部１１、バックアップ受付部１５及びパリティバックアップ受付部２１について説明する。
【００３８】
図３は、バックアップ元サーバ１に備えられるバックアップ振分部１１の機能を示すブロック図である。
【００３９】
バックアップ振分部１１は、バックアップ対象リスト作成機能２３と、アーカイブファイル作成機能２７と、パリティ計算タイミング選択機能３７と、管理テーブル作成機能３１と、バックアップ実行機能３９とを有している。
【００４０】
バックアップ対象リスト作成機能２３は、外部（例えばオペレータ）からバックアップ対象の指定を受け、その指定されたバックアップ対象のデータに関するリスト（以下、これを「バックアップ対象リスト」と言う）２５を作成する機能である。具体的には、バックアップ対象リスト作成機能２３は、外部からディレクトリ（又はファイル）の指定を受けて、バックアップ元記憶装置３にアクセスし、その指定されたディレクトリ（及びその下位のディレクトリ）内に存在する全てのデータファイルをバックアップ元記憶装置３から読み出す。そして、バックアップ対象リスト作成機能２３は、読み出された全てのデータファイルに関する情報、例えば、データファイルのパス名及びファイル名を記載したバックアップ対象リスト２５を作成する。作成されたバックアップ対象リスト２５は、例えば、所定の記憶装置（一例として、バックアップ元サーバ１内のＲＡＭ等のメモリ）に格納される。
【００４１】
アーカイブファイル作成機能２７は、識別情報を持ったアーカイブファイル２９を作成し、上記作成されたバックアップ対象リスト２５に記載されている情報に基づいて、バックアップ対象の全てのデータファイルを取得し、その全てのデータファイルをアーカイブファイル２９に格納する。この結果、アーカイブファイル２９には、図示のように、アーカイブファイル２９の識別情報と、バックアップ対象のデータファイルのエントリ数（すなわち、アーカイブファイル２９に格納されたデータファイルの数）と、そのエントリ数分のバックアップ対象情報（例えば、各データファイルのデータサイズ、パス、及び本体（ファイルの中身））と、アーカイブファイル２９の終わりを示すＥＯＦ（End Of File）情報とが含まれている。このアーカイブファイル２９は、所定の記憶装置に格納される。
【００４２】
パリティ計算タイミング選択機能３７は、外部（例えばオペレータ）からアーカイブファイル規定値の入力を受けて、アーカイブファイル２９のデータサイズと、入力されたアーカイブファイル規定値とを比較する。その結果、アーカイブファイル２９のデータサイズがアーカイブファイル規定値以上であれば、パリティ計算タイミング選択機能３７は、パリティ計算タイミングとして「非同期」を選択し、一方、アーカイブファイル２９のデータサイズがアーカイブファイル規定値未満であれば、パリティ計算タイミングとして「同期」を選択する。なお、アーカイブファイル規定値とは、前述の説明からわかるように、パリティ計算タイミングとして「同期」と「非同期」のどちらを選択する際に基準とされるアーカイブファイルのデータサイズの値である。
【００４３】
管理テーブル作成機能３１は、バックアップ先リスト３３等の情報を入力して、バックアップ管理テーブル３５を作成する。
【００４４】
ここで、バックアップ先リスト３３は、図４に示すように、バックアップ先サーバ５Ａ〜５Ｃに関する情報（例えば、バックアップ先サーバ５Ａ〜５Ｃの名称や場所情報）と、パリティ格納サーバ５Ｐに関する情報（例えば、パリティ格納サーバ５Ｐの名称や場所情報）とが記載されたリストである。管理テーブル作成機能３１に入力されるバックアップ先リスト３３は、オペレータが手動で入力したものであっても良いし、予め登録されている１又は複数のバックアップ先リストからユーザの操作に応じて又は自動で選択されたものであっても良い。
【００４５】
また、バックアップ管理テーブル（以下、単に「管理テーブル」と言う）３５は、図５に示すように、バックアップ対象データのバックアップに関する種々の情報が登録されるものである。具体的には、例えば、管理テーブル３５には、バックアップを識別するための「バックアップ名称」と、バックアップが行われた「バックアップ日付」と、バックアップ先サーバの個数を示す「バックアップ先個数」とが登録される。また、例えば、管理テーブル３５には、「バックアップ先個数」と同じ数だけ、換言すれば、各バックアップ先サーバ毎に、バックアップ先サーバの名称を表す「バックアップ先名称」と、初めに断片バックアップデータが格納される場所を表す「データ格納先頭位置」と、格納された断片バックアップデータの合計のデータサイズを表す「バックアップサイズ」とが登録される。さらに、例えば、管理テーブル３５には、パリティ格納サーバ５Ｐについて、パリティ格納サーバの名称を表す「パリティデータの格納先の名称」と、パリティデータが格納される場所を表す「データ格納位置」と、格納されたパリティデータのデータサイズを表す「パリティサイズ」とが登録される。
【００４６】
管理テーブル作成機能３１は、例えば以下のようにして、図５に示した管理テーブル３５を作成する。
【００４７】
すなわち、管理テーブル作成機能３１は、外部（例えばオペレータ）からバックアップ名称の入力を受け、入力されたバックアップ名称を、管理テーブル３５の「バックアップ名称」の欄に記入する。また、管理テーブル作成機能３１は、バックアップが行われた日付を管理テーブル３５の「バックアップ日付」の欄に記入する。また、管理テーブル作成機能３１は、バックアップ先リスト３３を入力して、そのバックアップ先リスト３３を検索し、バックアップ先サーバ５Ａ〜５Ｃの個数や名称、及び、パリティ可能サーバ５Ｐの名称等を特定する。そして、管理テーブル作成機能３１は、管理テーブル３５の「バックアップ先個数」の欄に上記特定したバックアップ先サーバの個数を記入し、且つ、各バックアップ先サーバ毎の特定された名称を、管理テーブル３５の「バックアップ先名称」の欄に記入する。また、管理テーブル作成機能３１は、管理テーブル３５の「パリティデータの格納先の名称」の欄に、上記特定したパリティ格納サーバ５Ｐの名称を記入する。更に、管理テーブル作成機能３１は、後述するように、各バックアップ先サーバ毎に、データ格納先頭位置と、格納された断片バックアップデータの合計のデータサイズとを取得し、そのバックアップ先サーバに対応付けて、取得したデータ格納先頭位置を管理テーブル３５の「データ格納先頭位置」の欄に記入し、取得したデータサイズを管理テーブル３５の「バックアップサイズ」の欄に記入する。同様に、管理テーブル作成機能３１は、後述するように、パリティ格納サーバ５Ｐから、データ格納位置と、格納されたパリティデータのデータサイズとを取得し、取得したデータ格納位置を管理テーブル３５の「データ格納位置」の欄に記入し、取得したデータサイズを管理テーブル３５の「パリティサイズ」の欄に記入する。
【００４８】
バックアップ実行機能３９は、アーカイブファイル２９にエントリされている各バックアップ対象ファイルを、３つの断片バックアップデータを含んだ１以上の断片データグループに分割し、各断片データグループに含まれている３つの断片バックアップデータを３つのバックアップ先サーバ５Ａ〜５Ｃにそれぞれ分散して転送する。具体的には、例えば、まず、バックアップ実行機能３９は、バックアップ元サーバ１に備えられている所定のカウンタ（以下、これを「読出しカウンタ」と言う）４１の値をゼロにセットし、アーカイブファイル２９内のバックアップ対象ファイルから所定サイズ（一例として１０２４バイト）のデータを取得し、それを、所定のメモリ上の断片データ格納領域３６における第１のデータ領域（以下、「第１領域」と略記）３６Ａに格納して、読出しカウンタ４１の値を１にする。次に、バックアップ実行機能３９は、そのバックアップ対象ファイルから次の所定サイズのデータを取得し、それを、断片データ格納領域３６における第２のデータ領域（以下、「第２領域」と略記）３６Ｂに格納して、読出しカウンタ４１の値を２にする。次に、バックアップ実行機能３９は、上記バックアップ対象ファイルのまた次の所定サイズのデータを取得し、それを、断片データ格納領域３６における第３のデータ領域（以下、「第２領域」と略記）３６Ｃに格納して、読出しカウンタ４１の値を０にする。このようにして、断片データ格納領域３６には、３つの所定サイズのデータが３つの断片バックアップデータとして蓄積され、バックアップ実行機能３９は、蓄積された３つの断片バックアップデータを、３つのバックアップ先サーバ５Ａ〜５Ｃにそれぞれ分散して送信する。バックアップ実行機能３９は、アーカイブファイル２９のＥＯＦ情報が検出されるまで、以上のような処理を繰返す。
【００４９】
また、バックアップ実行機能３９は、パリティ計算タイミング選択機能３７によって選択されたパリティ計算タイミングが「同期」か「非同期」かに応じて所定の処理を実行する。具体的には、例えば、バックアップ実行機能３９は、「同期」が選択されている場合には、３つの断片バックアップデータをバックアップ先サーバ５Ａ〜５Ｃに送信するときに、それら３つの断片バックアップデータからパリティデータを生成し、そのパリティデータを、管理テーブル３５に記述されている名称を持つパリティ格納サーバ５Ｐに送信する。つまり、「同期」が選択されている場合には、バックアップ実行機能３９は、３つの断片バックアップデータのバックアップを行うときに、パリティデータを作成して格納する処理を実行する。一方、バックアップ実行機能３９は、「非同期」が選択されている場合には、アーカイブファイル２９内のバックアップ対象ファイルの全てのバックアップが完了した後に、管理テーブル３５をパリティ格納サーバ５Ｐに送信する。それにより、パリティ格納サーバ５Ｐが、その管理テーブル３５を用いて、３つのバックアップ先サーバ５Ａ〜５Ｃからそれぞれ３つの断片バックアップデータを集め、それら３つの断片バックアップデータからパリティデータを生成して、それをパリティ記憶装置７Ｐに格納する。つまり、「非同期」が選択されている場合には、バックアップ実行機能３９は、管理テーブル３５をパリティ格納サーバ５Ｐに送信することにより、パリティ格納サーバ５Ｐによって、バックアップ対象ファイルの全てのバックアップが完了した後に、パリティデータの作成及び格納が行われるようにする。
【００５０】
図６は、バックアップ先サーバ５Ａに備えられるバックアップ受付部１５の機能を示すブロック図である（バックアップ先サーバ５Ｂ及び５Ｃに備えられるバックアップ受付部も同様である）。
【００５１】
バックアップ受付部１５は、バックアップ準備要求受付機能５１と、バックアップ要求受付機能５３と、バックアップ終了要求受付機能５５と、データ取得要求受付機能５７とを有している。
【００５２】
バックアップ準備要求受付機能５１は、バックアップ元サーバ１からバックアップ準備要求を受けて、バックアップ先記憶装置５Ａにデータの格納先の確保を要求し、それに応答して、バックアップ先記憶装置５Ａからデータ格納位置を取得したら、そのデータ格納位置をバックアップ元サーバ１に通知する。
【００５３】
バックアップ要求受付機能５３は、バックアップ元サーバ１から断片バックアップデータを受けて、バックアップ先記憶装置５Ａに、その断片バックアップデータの書き込み要求を行う。また、バックアップ要求受付機能５３は、書き込み要求した断片バックアップデータの合計サイズ（以下、「書き込みサイズ」と言う）を管理しており、バックアップ先記憶装置５Ａに書き込み要求する都度に、その書き込みサイズを更新する。
【００５４】
バックアップ終了要求受付機能５５は、バックアップ元サーバ１からバックアップ終了要求を受けて、バックアップ先記憶装置７Ａとの接続を切断し、バックアップ終了要求受付時の書き込みサイズ（すなわち、バックアップされた断片バックアップデータのトータルデータサイズ）をバックアップ元サーバ１に通知する。
【００５５】
データ取得要求受付機能５７は、呼び出し元（例えばパリティ格納サーバ５Ｐ）からデータの格納位置及びサイズの指定を受けて、そのデータ格納位置を持つバックアップ先記憶装置５Ａに接続し、そのデータ格納位置から上記指定されたサイズ分のデータを取得して、そのデータを呼び出し元に送信する。
【００５６】
図７は、パリティ格納サーバ１５Ｐに備えられるパリティバックアップ受付部２１の機能を示すブロック図である。
【００５７】
パリティバックアップ受付部２１は、バックアップ準備要求受付機能６１と、バックアップ要求受付機能６３と、バックアップ終了要求受付機能６５と、データ取得要求受付機能６７とを有している。
【００５８】
バックアップ準備要求受付機能６１は、上述したバックアップ準備要求受付機能５１と同様の機能である。
【００５９】
バックアップ要求受付機能６３は、パリティ計算タイミングとして「同期」が選択されている場合は、上述したバックアップ要求受付機能５３と同様の機能となる。一方、パリティ計算タイミングとして「非同期」が選択されている場合は、バックアップ要求受付機能６３は、以下の処理を行う。すなわち、バックアップ要求受付機能６３は、バックアップ元サーバ１から受けた管理テーブル３５（図５参照）を入力し、その管理テーブル３５の記載内容に基づいて、バックアップ先サーバ５Ａ〜５Ｃから、各断片データグループに含まれる３つの断片バックアップデータをそれぞれ取得し、それら３つの断片バックアップデータのパリティデータを計算して、そのパリティデータをパリティ記憶装置７Ｐに格納する。
【００６０】
バックアップ終了要求受付機能６５は、上述したバックアップ終了要求受付機能５５と同様の機能である。
【００６１】
また、データ取得要求受付機能６７は、上述したデータ取得要求受付機能５７と同様の機能である。
【００６２】
以上が、各アプリケーション１１、１５及び２１の機能である。なお、上記アプリケーション１１、１５及び２１のうち少なくともバックアップ振分部１１及びパリティバックアップ受付部２１は、３つの断片バックアップデータからパリティデータを計算することができるが、そのパリティデータは、所定の数値演算、例えば、３つの断片バックアップデータの排他的論理和（ＸＯＲ）で求めることができる。
【００６３】
以下、図８以降を参照して、各サーバ１、５Ａ〜５Ｂ、５Ｐに備えられる上述した各アプリケーション１１、１５、２１の動作流れについて説明する。
【００６４】
図８及び図９は、バックアップ元サーバ１に備えられるバックアップ振分部１１の動作流れを示す。
【００６５】
バックアップ振分部１１には、所定の情報として、例えば、バックアップ対象ディレクトリ（又はファイル）、バックアップ名称、バックアップ先リスト３３（図４参照）、及び、アーカイブファイル規定値が入力される（ステップＳ１）。これらの入力情報は、オペレータが手で入力したものであっても良いし、予め所定の記憶領域に登録されている１又は複数の情報の中かから手動で又は自動で選択されて読み出されたものであっても良い。
【００６６】
バックアップ振分部１１は、その入力されたバックアップ対象ディレクトリに属する全てのデータファイルを読み出し（Ｓ２）、それら全てのデータファイルに関する情報（例えば、データファイルのパス名及びファイル名）を記載したバックアップ対象リスト２５を作成する（Ｓ３）。
【００６７】
次に、バックアップ振分部１１は、アーカイブファイル２９（図３参照）を新規に作成し（Ｓ４）、Ｓ３で作成されたバックアップ対象リスト２５に基づいて、Ｓ２で読み出された全てのデータファイル（以下、「バックアップ対象ファイル」と言う）を取得し、その全てのバックアップ対象ファイルを、Ｓ４で作成したアーカイブファイル２９に格納する。
【００６８】
次に、バックアップ振分部１１は、全てのバックアップ対象ファイルが格納されたアーカイブファイル２９と、Ｓ１で入力されたアーカイブファイル規定値とを比較し、その結果、そのアーカイブファイル２９のデータサイズがアーカイブファイル規定値以上であれば、「非同期」を選択し、一方、そのアーカイブファイル２９のデータサイズがアーカイブファイル規定値未満であれば、「同期」を選択する（Ｓ５）。
【００６９】
次に、バックアップ振分部１１は、管理テーブル３５（図５参照）を作成する（Ｓ６）。
【００７０】
具体的には、バックアップ振分部１１は、Ｓ１で入力されたバックアップ名称や、この動作を行っている日付（つまりバックアップ日付）を管理テーブル３５に登録する。また、バックアップ振分部１１は、Ｓ１で入力されたバックアップ先リスト３３を検索して、バックアップ先サーバ５Ａ〜５Ｃの名称（ホスト名）を取得し、各バックアップ先サーバ５Ａ〜５Ｃに対し、バックアップ準備要求を行う。その結果、後述する図１１のＳ２１の動作が開始し、それにより、バックアップ振分部１１は、各バックアップ先サーバ５Ａ〜５Ｃから、断片バックアップデータが初めに格納される位置であるデータ格納先頭位置の通知を受ける。そして、バックアップ振分部１１は、バックアップ先サーバ５Ａ〜５Ｃの個数を管理テーブル３５に登録すると共に、各バックアップ先サーバ毎に、上記取得したホスト名や、上記通知されたデータ格納先頭位置を管理テーブル３５に設定する。
【００７１】
また、バックアップ振分部１１は、Ｓ１で入力されたバックアップ先リスト３３からパリティ格納サーバ５Ｐの名称（ホスト名）を取得し、そのパリティ格納サーバ５Ｐに対し、バックアップ準備要求を行う。それにより、バックアップ振分部１１は、パリティ格納サーバ５Ｐから、パリティデータが格納される位置であるデータ格納位置の通知を受ける。そして、バックアップ振分部１１は、パリティ格納サーバについて、上記取得したホスト名や、上記通知されたデータ格納位置を管理テーブル３５に設定する。
【００７２】
さて、次に、バックアップ振分部１１は、読出しカウンタ４１の値をゼロにセットし、アーカイブファイル２９内のバックアップ対象ファイルから読み出すデータの単位を所定サイズ（例えば１０２４バイト）にセットする（Ｓ７−Ａ）。そして、バックアップ振分部１１は、アーカイブファイル２９にエントリされているバックアップ対象ファイルを、上記セットした所定サイズ単位で読み出す。バックアップ振分部１１は、所定サイズのデータを読み出す都度に、読出しカウンタ４１の値を、１つインクリメントする。また、バックアップ振分部１１は、その所定サイズのデータを読み出したときに、断片が３つ蓄積したら、カウンタをゼロにリセットする（Ｓ７−Ｂ）。
【００７３】
ここで、バックアップ振分部１１は、所定サイズのデータを読み出したときに、ＥＯＦ情報が検出されず（Ｓ８でＮ）、且つ、読出しカウンタ４１の値がゼロでなければ（Ｓ８−ＡでＮ）、断片データ格納領域３６（図３参照）上に３つの断片バックアップデータが蓄積されていない状態なので、その状態になるまで、所定サイズ単位でのデータの読出しを繰返し、カウントアップする。そして、バックアップ振分部１１は、断片が３つ蓄積したら、カウンタをゼロにリセットする（Ｓ７−Ｂ）。
【００７４】
また、バックアップ振分部１１は、ＥＯＦ情報が検出されず（Ｓ８でＮ）、且つ、読出しカウンタ４１の値がゼロであれば（Ｓ８−ＡでＹ）、断片データ格納領域３６上に３つの断片バックアップデータが蓄積された状態なので、以下の処理を実行する。
【００７５】
すなわち、バックアップ振分部１１は、バックアップ先サーバ５Ａに、第１領域３６Ａに格納されている断片バックアップデータについてのバックアップ要求を行ってそのデータをそのサーバ５Ａに送信し、バックアップ先サーバ５Ｂに、第２領域３６Ｂに格納されている断片バックアップデータについてのバックアップ要求を行ってそのデータをそのサーバ５Ｂに送信し、バックアップ先サーバ５Ｃに、第１領域３６Ｃに格納されている断片バックアップデータについてのバックアップ要求を行ってそのデータをそのサーバ５Ｃに送信する（Ｓ８−Ｂ）。
【００７６】
そして、Ｓ５で、パリティ計算タイミングとして「非同期」が選択されていれば（Ｓ８−ＣでＮ）、バックアップ振分部１１は、再びＳ７−Ｂの動作を行う。
【００７７】
一方、Ｓ５で、「同期」が選択されていれば（Ｓ８−ＣでＹ）、バックアップ振分部１１は、断片データ格納領域３６上の３つの断片バックアップデータを用いて、それら３つの断片バックアップデータのパリティデータを計算し、そのパリティデータについて、パリティ格納サーバ５Ｐにバックアップ要求を行い、そのパリティデータをそのサーバ５Ｐに送信する（Ｓ８−Ｄ）。
【００７８】
バックアップ振分部１１は、Ｓ７−Ｂで所定サイズのデータを読み出したときに、ＥＯＦ情報が検出された場合には（Ｓ８でＹ）、図９に示すように、その時の読出しカウンタ４１の値を参照する（Ｓ９）。ＥＯＦ情報検出時の読出しカウンタ４１の値と、断片データ格納領域３６上の第１〜第３領域３６Ａ〜３６Ｃのデータ格納状況との関係は、図１０に示すようになっている。第１〜第３領域３６Ａ〜３６Ｃの各々は、例えばバックアップ振分部１１によって、アーカイブファイル２９から読み出されるデータと同じ所定サイズ（例えば１０２４バイト）に設定される。
【００７９】
バックアップ振分部１１は、ＥＯＦ情報検出時の読出しカウンタ４１の値に応じて、以下の動作を行う。
【００８０】
（１）ＥＯＦ情報検出時の読出しカウンタ４１の値がゼロの場合。
【００８１】
この場合には、第１〜第３領域３６Ａ〜３６Ｃの全てにデータが埋まっているか、或いは、第３領域３６Ｃにのみデータの埋まり方が不完全になっている。
【００８２】
バックアップ振分部１１は、第１〜第３領域３６Ａ〜３６Ｃの全てにデータが埋まっている場合には（Ｓ１０でＮ）、各バックアップ先サーバ５Ａ〜５Ｃにバックアップ要求を行い、第１〜第３領域３６Ａ〜３６Ｃ内のデータをバックアップ先サーバ５Ａ〜５Ｃに送信する（Ｓ１１）。
【００８３】
一方、バックアップ振分部１１は、第３領域３６Ｃのみデータの埋まり方が不完全である場合には（Ｓ１０でＹ）、図１０に示すように、第３領域３６Ｃの空き部分にダミーデータ（例えば全て０で表されるヌルデータ）を埋め込んだ上で、各バックアップ先サーバ５Ａ〜５Ｃにバックアップ要求を行い、第１〜第３領域３６Ａ〜３６Ｃ内のデータをバックアップ先サーバ５Ａ〜５Ｃに送信する（Ｓ１２）。
【００８４】
（２）ＥＯＦ情報検出時の読出しカウンタ４１の値が１の場合。
【００８５】
この場合には、第１領域３６Ａへのデータの埋まり方が不完全になっており、その他の領域３６Ｂ及び３６Ｃには、全くデータが埋まっていない。
【００８６】
この場合、バックアップ振分部１１は、図１０に示すように、第１〜第３領域３６Ａ〜３６Ｃの空き部分にダミーデータを埋め込んだ上で、各バックアップ先サーバ５Ａ〜５Ｃにバックアップ要求を行い、第１〜第３領域３６Ａ〜３６Ｃ内のデータをバックアップ先サーバ５Ａ〜５Ｃに送信する（Ｓ１３）。
【００８７】
（３）ＥＯＦ情報検出時の読出しカウンタ４１の値が２の場合。
【００８８】
この場合には、第１領域３６Ａにはデータが完全に埋まっており、第２領域３６Ｂへのデータの埋まり方は不完全になっており、第３領域３６Ｃには全くデータが埋まっていない。
【００８９】
この場合、バックアップ振分部１１は、図１０に示すように、第２〜第３領域３６Ｂ〜３６Ｃの空き部分にダミーデータを埋め込んだ上で、各バックアップ先サーバ５Ａ〜５Ｃにバックアップ要求を行い、第１〜第３領域３６Ａ〜３６Ｃ内のデータをバックアップ先サーバ５Ａ〜５Ｃに送信する（Ｓ１４）。
【００９０】
Ｓ１２〜Ｓ１４の処理の結果、第１〜第３領域３６Ａ〜３６Ｃのいずれか１つでもデータの埋まり方が不完全になっても、不足部分にはダミーデータが埋め込まれるので、バックアップ先サーバ５Ａ〜５Ｃにそれぞれ送信される３つのデータは、どれも同じデータサイズ（例えば図８のＳ７−Ａでセットされた１０２４バイト）になる。
【００９１】
さて、Ｓ１１〜Ｓ１４の後、バックアップ振分部１１は、パリティ計算タイミングとして「同期」が選択されている場合は（Ｓ１５でＹ）、それら３つの断片バックアップデータを用いてパリティデータを生成し、パリティ格納サーバ５Ｐにバックアップ要求を行って、そのパリティデータをそのサーバ５Ｐに送信する（Ｓ１６）。その後、バックアップ振分部１１は、管理テーブル３５に記録されている全てのバックアップ先サーバ５Ａ〜５Ｃ及びパリティ格納サーバ５Ｐに対してバックアップ終了要求をし、それに応答して、各サーバ５Ａ〜５Ｃ及び５Ｐから、そのサーバが格納した全てのデータのトータルサイズ（つまりバックアップサイズ或いはパリティサイズ）の通知を受ける（Ｓ１７−Ａ）。そして、バックアップ振分部１１は、その通知されたバックアップサイズやパリティサイズを、管理テーブル３５に登録する（Ｓ１８−Ａ）。
【００９２】
一方、Ｓ１１〜Ｓ１４の後、パリティ計算タイミングとして「非同期」が選択されている場合は（Ｓ１５でＮ）、バックアップ振分部１１は、管理テーブル３５に記録されている全てのバックアップ先サーバ５Ａ〜５Ｃに対してバックアップ終了要求をし、それに応答して、各サーバ５Ａ〜５Ｃから、そのサーバが格納した全てのデータのトータルサイズ（つまりバックアップサイズ）の通知を受ける（Ｓ１７−Ｂ）。そして、バックアップ振分部１１は、その通知されたバックアップサイズやパリティサイズを、管理テーブル３５に登録して、管理テーブル３５を更新する（Ｓ１８−Ｂ）。その後、バックアップ振分部１１は、更新後の管理テーブル３５を、その管理テーブル３５に記述されているパリティ格納サーバ５Ｐに送信する（Ｓ１９）。
【００９３】
以上が、バックアップ振分部１１の動作流れである。次に、バックアップ先サーバ５Ａ（５Ｂ及び５Ｃも同様）に備えられるバックアップ受付部１５の動作流れを説明する。
【００９４】
図１１は、バックアップ受付部１５のうちのバックアップ準備要求受付機能５１による動作流れを示す。
【００９５】
図８のＳ６の動作によって、バックアップ元サーバ１のバックアップ振分部１１からバックアップ準備要求を受けると（Ｓ２１）、バックアップ受付部１５は、バックアップ先記憶装置７Ａに書き込まれた断片バックアップデータの合計サイズを表す「書き込みサイズ」をゼロにセットする（Ｓ２２）。
【００９６】
次に、バックアップ受付部１５は、バックアップ先サーバ５Ａとバックアップ先記憶装置７Ａとを通信可能に接続し（Ｓ２３）、その接続先のバックアップ先記憶装置７Ａに対しデータ格納先の確保要求をし、それに応答して、そのバックアップ先記憶装置７Ａから、初めのデータの格納位置を示すデータ格納先頭位置を取得する（Ｓ２４）。そして、バックアップ受付部１５は、その取得されたデータ格納先頭位置を、バックアップ元サーバ１のバックアップ振分部１１に通知する（Ｓ２５）。これにより、前述したように、バックアップ振分部１１によって、そのデータ格納先頭位置が管理テーブル３５に記入される。
【００９７】
図１２は、バックアップ受付部１５のうちのバックアップ要求受付機能５３による動作流れを示す。
【００９８】
図８のＳ８−Ｂの動作によって、バックアップ元サーバ１のバックアップ振分部１１からバックアップ要求を受けると（Ｓ３１）、バックアップ受付部１５は、更に、断片バックアップデータも受ける（Ｓ３２）。すると、バックアップ受付部１５は、その断片バックアップデータを、接続されているバックアップ先記憶装置７Ａに書き込み（Ｓ３３）、それと共に、その断片バックアップデータのデータサイズの分だけ、書き込みサイズの値を増やす（Ｓ３４）。バックアップ受付部１５は、断片バックアップデータも受ける都度に、換言すれば、バックアップ元サーバ１からバックアップ終了要求が来るまで、Ｓ３２〜Ｓ３４の動作を繰返す。
【００９９】
図１３は、バックアップ受付部１５のうちのバックアップ終了要求受付機能５５による動作流れを示す。
【０１００】
バックアップ受付部１５は、バックアップ終了要求を受けた場合（Ｓ３５）、バックアップ先サーバ５Ａとバックアップ先記憶装置７Ａとの接続を切断し（Ｓ３６）、その時点での書き込みサイズ、すなわち、バックアップ先記憶装置７Ａに格納された断片バックアップデータのトータルデータサイズ（つまりバックアップサイズ）を、バックアップ元サーバ１のバックアップ振分部１１に通知する（Ｓ３７）。これにより、前述したように、バックアップ振分部１１によって、その書き込みサイズ（バックアップサイズ）が管理テーブル３５に記入される。
【０１０１】
以上の説明を概略的に纏めると、図１４に示す通りである。すなわち、バックアップ受付部１５は、何らかのリクエスト待ち状態にあるときに、バックアップ先サーバからバックアップ準備要求を受けたならば、Ｓ２１〜Ｓ２５を実行し、バックアップ要求を受けたならば、Ｓ３１〜Ｓ３４を実行し、バックアップ終了要求を受けたならば、Ｓ３５〜Ｓ３７を実行する。
【０１０２】
図１５は、パリティ計算タイミングとして「非同期」が選択されている場合のパリティデータ格納処理の流れを示す。以下、この図を参照して、バックアップ受付部１５のうちのデータ取得要求受付機能５７による動作流れと、「非同期」が選択されている場合の、パリティバックアップ受付部２１の各機能とを説明する。
【０１０３】
バックアップ元サーバ１から管理テーブル３５が入力された後、パリティバックアップ受付部２１は、図１５に例示するように、管理テーブル３５に記録されているバックアップ先個数分のポインタ（データ位置）を用意し、各ポインタに、管理テーブル３５に記録されている各バックアップ先サーバ５Ａ〜５Ｃの各データ格納先頭位置を設定する（Ｓ５１）。
【０１０４】
次に、パリティバックアップ受付部２１は、データの取得サイズ（読出しサイズ）を所定サイズ、例えば、断片バックアップデータのデータサイズと同じサイズである１０２４バイトに設定する（Ｓ５２）。
【０１０５】
次に、パリティバックアップ受付部２１は、自分に対してバックアップ準備要求を行う（Ｓ５３）。具体的には、パリティバックアップ受付部２１は、バックアップ先記憶装置７Ａに書き込まれた断片バックアップデータの合計サイズを表す「書き込みサイズ」をゼロにセットする。そして、パリティバックアップ受付部２１は、パリティ格納サーバ５Ｐとパリティ記憶装置７Ｐとを通信可能に接続し、その接続先のパリティ記憶装置７Ｐに対しデータ格納先の確保要求をし、それに応答して、そのパリティ記憶装置７Ｐから、初めのデータの格納位置を示すデータ格納先頭位置（以下、パリティ格納先頭位置）を取得する。
【０１０６】
次に、パリティバックアップ受付部２１は、管理テーブル３５に記録されている各バックアップ先サーバ５Ａ〜５Ｃに対し、データ取得要求を行う（Ｓ５４）。具体的には、パリティバックアップ受付部２１は、各バックアップ先サーバ５Ａ〜５Ｃに対し、そのバックアップ先サーバに対して用意されたポインタ（つまり、データの読出し開始位置となるデータ格納先頭位置）と、Ｓ５２で設定した取得サイズとを通知する。これにより、各バックアップ先サーバ５Ａ〜５Ｃのバックアップ要求受付部１５において、次の処理が行われる。
【０１０７】
バックアップ先サーバ５Ａ〜５Ｃのバックアップ要求受付部１５は、パリティバックアップ受付部２１からデータ格納先頭位置及びデータサイズの指定を受けると（Ｓ７１）、バックアップ受付部１５は、バックアップ先記憶装置７Ａ〜７Ｃに接続する（Ｓ７２）。
【０１０８】
そして、バックアップ受付部１５は、Ｓ７１で指定されたデータ格納先頭位置から、Ｓ７１で指定されたデータサイズ分のデータ（つまり断片バックアップデータ）を取得して、それをパリティ格納サーバ５Ｐに送信する（Ｓ７３）。その後、バックアップ受付部１５は、バックアップ先記憶装置７Ａ〜７Ｃとの接続を切断する（Ｓ７４）。
【０１０９】
このＳ７１〜Ｓ７４を経て、パリティバックアップ受付部２１は、各バックアップ先サーバ５Ａ〜５Ｃについて取得したポインタ（データ格納先頭位置）から、Ｓ５２で取得した取得サイズ分のデータ、すなわち断片バックアップデータを取得する。これにより、３つのバックアップ先サーバ５Ａ〜５Ｃからそれぞれ３つの断片バックアップデータが取得される。パリティバックアップ受付部２１は、取得された３つの断片バックアップデータを用いてパリティデータを計算する（Ｓ５５）。
【０１１０】
次に、パリティバックアップ受付部２１は、自分に対してバックアップ要求を行なって（Ｓ５６）、パリティ格納サーバ５Ｐとパリティ格納記憶装置７Ｐとを通信可能に接続する。そして、パリティバックアップ受付部２１は、Ｓ５５で計算されたパリティデータをパリティ格納記憶装置７Ｐに格納する（Ｓ５７）。
【０１１１】
その後、パリティバックアップ受付部２１は、各バックアップ先サーバ５Ａ〜５Ｃから取得した断片データが、取得対象データの最後尾のデータでなければ（Ｓ５８でＮ）、各バックアップ先サーバ５Ａ〜５Ｃに対する現在のポインタを、Ｓ５２で設定した取得サイズ分インクリメントし（Ｓ５９）、Ｓ５４の処理に戻る。
【０１１２】
一方、Ｓ５８において、各バックアップ先サーバ５Ａ〜５Ｃから取得した断片データが、取得対象データの最後尾のデータであれば（Ｓ５８でＹ）、パリティバックアップ受付部２１は、自分に対してバックアップ終了要求を行なって（Ｓ８１）、パリティ格納サーバ５Ｐとパリティ記憶装置７Ｐとの接続を切断する（Ｓ８２）。そして、パリティバックアップ受付部２１は、その時点での書き込みサイズ、すなわち、パリティ記憶装置７Ｐに格納された断片バックアップデータのトータルデータサイズを取得する（Ｓ８３）。その後、パリティバックアップ受付部２１は、その取得したトータルデータサイズ（パリティサイズ）や、パリティデータの格納位置を管理テーブルに書き込むことによって管理テーブルを更新し、更新後の管理テーブルをバックアップ元サーバ１に送信する（Ｓ８４）。
【０１１３】
以上が、非同期におけるパリティデータの格納処理の流れである。
【０１１４】
なお、上記流れにおいて、パリティバックアップ受付部２１は、バックアップ先サーバ５Ａ〜５Ｃからそれぞれ取得した断片データの総計と、管理テーブルに書かれているバックアップサイズとが一致したか否かを判別することにより、上記取得した断片データが最後尾であるか否かを判別することができる。或いは、パリティ格納サーバ５Ｐが、各バックアップ先サーバ５Ａ〜５Ｃに、管理テーブル３５に記録されているバックアップ先サーバ５Ａ〜５Ｃでのバックアップサイズを通知し、各サーバ５Ａ〜５Ｃが、指定サイズ分のデータをバックアップ先格納装置７Ａ〜７Ｃから取得する都度に、取得した断片データの合計データサイズをカウントし、そのカウント値が上記通知されたバックアップサイズと同じ値になったときに、そのときに取得されたデータを最後尾のデータとして特定してパリティ格納サーバ５Ｐに通知することにより、パリティバックアップ受付部２１が上記取得した断片データが最後尾である旨を判別しても良い。
【０１１５】
また、パリティバックアップ受付部２１の動作流れは、上記非同期のときの処理以外は、上述したバックアップ受付部２１の動作流れと略同様である（相違点は、例えば、図１２に示したバックアップ要求受付機能による動作において、書き込まれるデータが断片バックアップデータではなくパリティデータである点などの些細な点である）。
【０１１６】
また、上述した動作流れでは、Ｓ５２で設定された取得サイズ単位、すなわち、断片バックアップデータのデータサイズと同じデータサイズ単位でデータが取得されるが、各バックアップ先サーバ５Ａ〜５Ｃに断片バックアップデータが格納されるときは、図１０を参照して説明したように、ダミーデータが埋め込まれることによって、所定サイズ（例えば１０２４バイト）のデータとなってバックアップされるので、必ず、Ｓ５２で設定した取得サイズ（例えば１０２４バイト）単位でデータを取得することが可能である。換言すれば、図１６に示すように、各バックアップ先サーバ５Ａ〜５Ｃの各バックアップ先記憶装置７Ａ〜７Ｃには、同じデータサイズの断片バックアップデータが同じ数だけ格納されており、それ故、例えばサーバ５Ａから取得された断片データが最後のデータとなれば、他のサーバ５Ｂ及び５Ｃから取得される断片データも最後のデータとなる。
【０１１７】
以上、上述した実施形態によれば、アーカイブファイル２９のデータサイズと、外部から入力されたアーカイブファイル規定値とが比較され、アーカイブファイル２９のデータサイズがアーカイブファイル規定値以上であれば、パリティ計算タイミングとして「非同期」が選択され、一方、アーカイブファイル２９のデータサイズがアーカイブファイル規定値未満であれば、パリティ計算タイミングとして「同期」が選択される。これにより、バックアップ対象データのサイズのサイズに関わらず、バックアップ元サーバ１に負担をかけることなくパリティデータの計算及び格納を行うことができる。すなわち、効率的にパリティデータの計算及び格納を行うことができる。
【０１１８】
以上、本発明の好適な実施例を説明したが、これらは本発明の説明のための例示であって、本発明の範囲をこの実施例にのみ限定する趣旨ではない。本発明は、他の種々の形態でも実施することが可能である。
【０１１９】
例えば、各サーバ１、５Ａ〜５Ｃ及び５Ｐは、１台のマシンであっても良いし、複数台のマシンから成るシステムであっても良い。
【０１２０】
また、例えば、パリティ格納サーバ５Ｐは複数台備えられて、複数のパリティデータはそれら複数台のパリティ格納サーバ５Ｐにそれぞれ分散されて格納されても良い。
【０１２１】
また、例えば、パリティ格納サーバ５Ｐが備えられる代わりに、少なくとも１台のバックアップ先サーバが、自身に接続されているバックアップ先記憶装置にパリティデータを格納するようにしても良い。
【０１２２】
また、例えば、パリティデータは、サーバ５Ａ〜５Ｃ及び５Ｐの少なくとも２台以上が協同して求めたものでも良い。具体例としては、第１〜第３の断片データを用いてパリティデータを計算する場合、サーバ５Ｂが、サーバ５Ａから第１の断片データを取得し、その第１の断片データと、バックアップ先記憶装置５Ｂに格納されている第２の断片データとを用いてサブパリティデータを計算し、サーバ５Ｃが、サーバ５Ｂからそのサブパリティデータを取得し、そのサブパリティデータと、バックアップ先記憶装置５Ｃに格納されている第３の断片データとを用いてパリティデータを計算しても良い。
【０１２３】
また、上記実施例は、ブロック単位でデータが転送される例えばＩＰＳＡＮであるが、ファイル単位でデータが転送されるＮＡＳ（Network Attached Storage）にも適用し得る。
【０１２４】
また、上記「非同期」でパリティデータが計算される場合、そのパリティデータの計算は、管理テーブル３５がパリティ管理サーバに入力されたときに直ちに開始されても良いし、バックアップ元サーバ１がパリティ格納サーバ５Ｐにパリティデータ計算の開始時刻を命令しその時刻になったら自動的に開始されても良いし（この時刻はバックアップ元サーバ１によって管理テーブル３５に記述されても良い）、管理テーブル３５が入力された後のサーバ５Ｐ任意のタイミングで自動的に開始されても良い。
【０１２５】
また、パリティ計算タイミングは、アーカイブファイルのサイズ以外の条件（以下、「選択条件」と言う）、例えば、バックアップ対象データの属性（例えばメタデータに書かれている情報）、バックアップ元サーバ１とパリティ格納サーバ５Ｐとの通信トラフィックの状態、及び、バックアップ元サーバ１におけるデータ処理状況（例えばＣＰＵの使用率）のうちの少なくとも１つの条件に基づいて選択されても良い。具体例としては、バックアップ対象データの属性（例えばメタデータ）から、そのデータが重要であれば、「同期」が選択され、重要でなければ、「非同期」が選択されても良い。別の具体例としては、バックアップ元サーバ１とパリティ格納サーバ５Ｐとの間の通信トラフィックが、混雑していれば、「非同期」が選択され、混雑していなければ、「同期」が選択されても良い。また別の具体例としては、バックアップ元サーバ１におけるデータ処理状況において例えばＣＰＵの使用率が高ければ、「非同期」が選択され、そうでなければ、「同期」が選択されても良い。
【０１２６】
なお、更に、このパリティ計算タイミングは、２つ以上の選択条件の各々に優先順位を設定しておき（この優先順位は固定であっても良いしオペレータが自由に変更できても良い）、その優先順位に基づいて選択されても良い。例えば、バックアップ対象データが重要であるため「同期」が選択され得る場合、選択条件として、バックアップ対象データの属性よりもデータサイズの方が優先順位が高いときには、そのデータのデータサイズが膨大であれば、パリティ計算タイミングとして「非同期」が選択される。
【図面の簡単な説明】
【０１２７】
【図１】本発明の一実施例に係るバックアップシステムの全体構成を示すブロック図。
【図２】本実施例に係るバックアップシステムを構成する各サーバの機能を示すブロック図。
【図３】バックアップ元サーバ１に備えられるバックアップ振分部１１の機能を示すブロック図。
【図４】バックアップ先リスト３３を示す図。
【図５】バックアップ管理テーブル３５を示す図。
【図６】バックアップ先サーバ５Ａに備えられるバックアップ受付部１５の機能を示すブロック図。
【図７】パリティ格納サーバ１５Ｐに備えられるパリティバックアップ受付部２１の機能を示すブロック図。
【図８】バックアップ元サーバ１に備えられるバックアップ振分部１１の動作流れを示す。
【図９】バックアップ元サーバ１に備えられるバックアップ振分部１１の動作流れを示す。
【図１０】ＥＯＦ情報検出時の読出しカウンタ４１の値と、断片データ格納領域３６上の第１〜第３領域３６Ａ〜３６Ｃのデータ格納状況との関係を示す。
【図１１】バックアップ受付部１５のうちのバックアップ準備要求受付機能５１による動作流れを示す。
【図１２】バックアップ受付部１５のうちのバックアップ要求受付機能５３による動作流れを示す。
【図１３】バックアップ終了要求受付機能５５による動作流れを示す。
【図１４】バックアップ元サーバ１とバックアップ先サーバ５Ａ〜５Ｃとの間の通信の概要を示す。
【図１５】パリティ計算タイミングとして「非同期」が選択されている場合のパリティデータ格納処理の流れを示す。
【図１６】各バックアップ先サーバ５Ａ〜５Ｃの各バックアップ先記憶装置７Ａ〜７Ｃからデータを取得してパリティデータが計算されるときの処理内容を示す。
【符号の説明】
【０１２８】
１・・・バックアップ元サーバ、５Ａ〜５Ｃ・・・バックアップ先サーバ、５Ｐ・・・パリティ格納サーバ、１１・・・バックアップ振分部、１５・・・バックアップ受付部、２１・・・パリティバックアップ受付部
【図１】
2005084771.tif 000003
【図２】
2005084771.tif 000004
【図３】
2005084771.tif 000005
【図４】
2005084771.tif 000006
【図５】
2005084771.tif 000007
【図６】
2005084771.tif 000008
【図７】
2005084771.tif 000009
【図８】
2005084771.tif 000010
【図９】
2005084771.tif 000011
【図１０】
2005084771.tif 000012
【図１１】
2005084771.tif 000013
【図１２】
2005084771.tif 000014
【図１３】
2005084771.tif 000015
【図１４】
2005084771.tif 000016
【図１５】
2005084771.tif 000017
【図１６】
2005084771.tif 000018