(58)【調査した分野】(Int.Cl.,DB名)
前記グループ分け手段は、前記バックアップ対象のコンピュータ以外の複数のコンピュータをハードディスクの空き容量の大きいものから順に、異なるグループに振り分ける、
請求項1に記載のコンピュータ。
前記グループ分け手段は、前記バックアップ対象のコンピュータ以外の複数のコンピュータのうちの、前記バックアップ対象のコンピュータ以外のコンピュータに対するバックアップに参加しているコンピュータ、ハードディスクの空き容量が所定の容量以下であるコンピュータ、または、バックアップに参加することができない時間帯であるコンピュータを除外し、残りのコンピュータを前記複数のグループに分割する、
請求項1または2に記載のコンピュータ。
前記データ割当手段は、各グループ内の複数のコンピュータのそれぞれのハードディスクの空き容量に基づいて前記データを分割し、分割後の前記データを各グループ内の複数のコンピュータのそれぞれのハードディスクの空き容量に応じて分散して保持させる、
請求項1ないし3のいずれか1項に記載のコンピュータ。
前記バックアップ対象のコンピュータは、前記バックアップ対象のコンピュータ以外の複数のコンピュータをハードディスクの空き容量の大きいものから順に、異なるグループに振り分ける、
請求項8に記載のバックアップ方法。
【発明を実施するための形態】
【0018】
はじめに、一実施形態の概要について説明する。なお、この概要に付記する図面参照符号は、専ら理解を助けるための例示であり、本発明を図示の態様に限定することを意図するものではない。
【0019】
一実施形態では、コンピュータ同士で相互にバックアップを取る。同一のネットワークに所属するコンピュータの内、バックアップの対象となるコンピュータ(「親コンピュータ」という。)以外のコンピュータ(「子コンピュータ」という。)を2つ以上のグループに分け、各グループを1台のストレージとみなし、ミラーリングでバックアップをとる。
【0020】
子コンピュータはCPU(Central Processing Unit)とネットワーク負荷予定(例えば、週単位で各曜日の各時間帯でバックアップを受け入れられない時間帯または負荷の予定を表す表を有する)を備え、ある一定の負荷がある場合、バックアップ用コンピュータの対象としないようにしてもよい。また、子コンピュータにおいて未使用領域容量に余裕がない(所定の基準を予め決めておく)場合も、バックアップ用コンピュータの対象としないようにしてもよい。
【0021】
このようにすることで、専用のバックアップ装置を追加することなく、コンピュータのバックアップが可能となる。また、ミラーリングにより1つのグループ内の1台以上のコンピュータが故障してデータ消失した場合も、他のグループからバックアップしたデータを正常にリストアすることが可能となる。さらに、CPUおよびネットワークの負荷状況、未使用領域容量を事前に確認することで、重い負荷がかかっているコンピュータが除外されるため、全体の動作を軽くすることができる。また、バックアップデータを分割して複数のコンピュータで分散して保持するようにしたため、コンピュータ間で負荷が分散される。さらに、分割されたバックアップデータを結合しない限り元のデータ(ファイル)の内容を把握することはできないため、セキュリティを保つこともできる。
【0022】
図1は、一実施形態に係るコンピュータの構成を例示するブロック図である。
図1を参照すると、コンピュータ10は、複数のコンピュータのうちのバックアップ対象のコンピュータ(親コンピュータ)であって、複数のコンピュータのうちのバックアップ対象のコンピュータ10以外の複数のコンピュータ(例えば、
図2の子コンピュータ20a〜20d)を、それぞれ複数のコンピュータから成る複数のグループ(例えば、
図2のグループP、Q)に分けるグループ分け手段12と、バックアップ対象のコンピュータが保持するデータを、複数のグループ(グループP、Q)のそれぞれに割り当てるとともに、データを分割して各グループ内の複数のコンピュータに分散して(例えば、コンピュータ20aと20bの間で分散すると共に、コンピュータ20cと20dの間で分散して)保持させるデータ割当手段14と、を備えている。
【0023】
かかるコンピュータ10によると、制御用コンピュータや専用のバックアップ装置を導入する必要がなくなる。また、同一のデータが複数のグループに割り当てられると共に、当該データは各グループ内において分割されて複数のコンピュータに分散して格納される。したがって、かかるコンピュータ10によると、コンピュータのバックアップを安価に実現すると共に、可用性とセキュリティを同時に確保することができる。
【0024】
ここで、グループ分け手段12は、バックアップ対象のコンピュータ(親コンピュータ)10以外の複数のコンピュータ(子コンピュータ)20a〜20dをハードディスクの空き容量の大きいものから順に、異なるグループに振り分けてもよい。このとき、グループ間でハードディスクの空き容量の合計が均一化されるため、グループ間でデータをミラーリングし易くなる。
【0025】
また、グループ分け手段12は、バックアップ対象のコンピュータ(親コンピュータ)10以外の複数のコンピュータ(子コンピュータ)20a〜20bのうちの、バックアップ対象のコンピュータ(親コンピュータ)10以外のコンピュータに対するバックアップに参加しているコンピュータ、ハードディスクの空き容量が所定の容量以下であるコンピュータ、または、バックアップに参加することができない時間帯のコンピュータを除外し、残りのコンピュータを複数のグループに分割してもよい。このとき、バックアップ先として不適当なコンピュータが予め除外され、バックアップおよびリストアの動作を軽く(高速化)することができる。
【0026】
さらに、データ割当手段14は、各グループ内の複数のコンピュータのそれぞれのハードディスクの空き容量に基づいてデータを分割し、分割後のデータを各グループ内の複数のコンピュータのそれぞれのハードディスクの空き容量に応じて分散して保持させるようにしてもよい。このとき、各グループ内の複数のコンピュータの空き容量を有効に活用することで、大容量のデータをバックアップすることが可能となる。
【0027】
図2を参照すると、コンピュータ10は、グループ内のすべてのコンピュータ(例えば、グループP内のコンピュータ20a、20b)がリストア動作に参加可能であるようなグループ(例えば、グループP)を、複数のグループから抽出する抽出手段16と、抽出したグループ(グループP)に含まれる複数のコンピュータ(コンピュータ20a、20b)から分割後のデータを受信し、受信した分割後のデータを結合して、元のデータをリストアするリストア手段18を備えている。ここで、抽出手段16は、グループ内のすべてのコンピュータから死活の確認に対する応答が得られたグループを複数のグループの中から抽出してもよい。かかるコンピュータ10によると、リストアの際に1つのグループ内のコンピュータが故障してデータ消失した場合も、他のグループからバックアップしたデータを正常にリストアすることが可能となる。
【0028】
一実施形態によると、特定の制御用コンピュータおよび専用バックアップ装置を使用することなく、既存の計算機資源を利用することで簡便にバックアップを取ることが可能となる。
【0029】
図2においては、コンピュータ10をバックアップ対象のコンピュータ(親コンピュータ)とし、コンピュータ20a〜20dをバックアップ先のコンピュータ(子コンピュータ)として説明した。ただし、コンピュータ20a〜20dの構成をコンピュータ10と同様の構成とすることにより、コンピュータ20a〜20dのうちのいずれかをバックアップ対象のコンピュータ(親コンピュータ)とし、コンピュータ20a〜20dのうちの残りのコンピュータとコンピュータ10をバックアップ先のコンピュータ(子コンピュータ)とすることもできる。すなわち、同一のネットワークに所属するコンピュータ10、コンピュータ20a〜20dの間で、ハードディスクの未使用領域を利用して相互にバックアップを取ることもできる。
【0030】
一実施形態では、同一ネットワークに所属するコンピュータの内、バックアップの対象となるコンピュータ(親コンピュータ)以外のコンピュータ(子コンピュータ)を2つ以上のグループに分ける。ここで、子コンピュータのグループ分けの際、ハードディスク未使用領域容量の大きい子コンピュータから順に異なるグループに振り分けることが好ましい。また、各グループを1台のストレージとみなし、グループ間のミラーリングでバックアップをとる。バックアップファイルは、各グループ内における各子コンピュータの未使用領域容量の割合に応じて分割して各子コンピュータに割り当てることが好ましい。
【0031】
また、バックアップ開始時、親コンピュータは親になる宣言を各子コンピュータに通知する。このとき、各子コンピュータは他に親になる宣言を受け入れているコンピュータの有無を確認し、受け入れているコンピュータがある場合、受け入れできない旨の回答をするか、または、無回答とする。また、親コンピュータは各子コンピュータにハードディスクの未使用領域の容量を問い合わせる。このとき、各子コンピュータは、負荷予定を参照し(子コンピュータは週単位で、各曜日の各時間帯でバックアップを受け入れられない時間帯または負荷の予定表を持つ)、一定以上の負荷が存在する場合、受け入れできない旨の回答をするか、または、無回答とする。さらに、各子コンピュータは、未使用領域容量に余裕がない(予め基準を決めておく)場合、受け入れできない旨の回答をするか、または、無回答とする。
【0032】
各子コンピュータによって親宣言を確認することで、次の効果がもたらされる。すなわち、いずれかのコンピュータが親コンピュータとなりバックアップを開始し、そのコンピュータが親宣言した時点において、電源の未投入により、バックアップに参加していなかったコンピュータであって、その後稼働を開始したコンピュータが複数存在する場合、これらのコンピュータ間でバックアップを取ることが可能となる。
【0033】
親コンピュータは、各子コンピュータからの未使用領域容量の回答に基づいて上記グループ分けを実施し、グループ毎に各子コンピュータのハードディスクの未使用領域容量の割合に応じてバックアップファイルを分割して、各子コンピュータに分割したデータを送付する。このとき、日時とともに、どのグループのどの子コンピュータにどの分割データを送付したかのインデックスファイルを作成し、全子コンピュータに送付する。
【0034】
リストア開始時、親コンピュータは各子コンピュータにインデックスファイルを送付してもらう。親コンピュータは、それぞれのインデックスファイルの内、自らのバックアップ情報を含むインデックスファイルのみを参照する。親コンピュータは、インデックスファイルを参照して、第1のグループの各子コンピュータの死活を確認し、すべての子コンピュータが活きている場合、第1のグループ内の各コンピュータから分割データ(分割ファイル)を送付してもらい、受け取った分割データ(分割ファイル)を結合して、元のデータ(ファイル)をリストアする。一方、第1のグループに含まれる子コンピュータの中に応答のないコンピュータが含まれる場合、親コンピュータは、第2のグループに含まれる各子コンピュータから分割データ(分割ファイル)を送付してもらい、受け取った分割データ(分割ファイル)を結合して、元のデータ(ファイル)をリストアする。
【0035】
このようにすることで、専用のバックアップ装置を追加することなく、バックアップを取ることができる。また、リストアの際に1つのグループ内の1台以上のコンピュータが故障してデータ消失した場合も、他のグループからバックアップしたデータを正常にリストアすることができる。
【0036】
また、CPUおよびネットワークの負荷状況、未使用領域容量を事前に確認することで、負荷のかかるコンピュータが除外されるため、全体的な動作を軽くすることができる。
【0037】
さらに、バックアップデータを分割しているので、各コンピュータの負担は分散されると共に、分割されたデータを結合しないと元のデータの内容は分からないため、セキュリティを確保することもできる。
【0038】
<実施形態1>
次に、第1の実施形態に係るバックアップシステムについて、図面を参照して詳細に説明する。
【0039】
図3は、本実施形態に係るバックアップシステムの構成を例示する図である。
図3を参照すると、本実施形態のバックアップシステムは、コンピュータ10およびコンピュータ20を備えている。また、コンピュータ10とコンピュータ20は、ネットワーク30を介して相互に接続されている。
【0040】
図4は、コンピュータ10およびコンピュータ20の構成を例示するブロック図である。
図4を参照すると、コンピュータ10は、PC(Personal Computer)など通常の情報処理装置であり、CPU(Central Processing Unit)、ハードディスクなどの記憶装置等の通常の構成(非図示)を備えている。また、コンピュータ10は、これらの構成以外に、バックアッププログラム100、リストアプログラム110、負荷テーブル120、IPアドレステーブル130、バックアップデータインデックス140、および、子装置空き容量リスト150を備えている。
【0041】
なお、バックアッププログラム100は、上記一実施形態におけるグループ分け手段12およびデータ割当手段14に相当する。一方、リストアプログラム110は、上記一実施形態における抽出手段16およびリストア手段18に相当する。
【0042】
コンピュータ10は、バックアップの対象となるコンピュータ、または、リストアを実施するコンピュータである。
【0043】
本実施形態では、コンピュータ10をリストアする際に必要となるリストアプログラム110と、IPアドレステーブル130を、図示しないUSB(Universal Serial Bus)メモリ等の外部記憶装置に保管しているものとする。
【0044】
コンピュータ20は、PCなど通常の情報処理装置であり、CPU、ハードディスクなどの記憶装置等の通常の構成(非図示)を備えている。また、コンピュータ20は、これらの構成以外に、バックアッププログラム200、リストアプログラム210、負荷テーブル220、IPアドレステーブル230、バックアップデータインデックス240、および、子装置空き容量リスト250を備えている。
【0045】
コンピュータ20は、バックアップ先となるコンピュータであり、コンピュータ10と同一の構成を有する。
【0046】
図5は、負荷テーブル120の内容を説明するための図である。
図5を参照すると、負荷テーブル120は、コンピュータで設定した、曜日ごとのバックアップ不可能日時の情報を持つ。各コンピュータは、それぞれの自コンピュータの負荷情報を持つ。
図5に例示した負荷テーブル120の場合、コンピュータPC−AAAは、月曜日および水曜日の10:00〜11:00および13:00〜15:00、ならびに、金曜日の9:00〜17:00の時間帯はバックアップに参加することができない。負荷テーブル220も、負荷テーブル120と同様の情報を保持する。
【0047】
図6は、IPアドレステーブル130の内容を説明するための図である。
図6を参照すると、IPアドレステーブル130は、ネットワーク30内のコンピュータ名、IPアドレス、および、親装置フラグの情報を有する。IPアドレステーブル230も、IPアドレステーブル130と同様の情報を保持する。親装置フラグは、コンピュータのバックアップおよびリストアへの参加可否を判断するために使用する。親装置フラグをセットすることにより、バックアップおよびリストア参加中の場合に、重複してバックアップおよびリストアに参加しないようにする。
【0048】
図7は、バックアップデータインデックス140の内容について説明するための図である。
図7を参照すると、バックアップデータインデックス140はバックアップ日時、バックアップ元コンピュータ名、バックアップグループ、バックアップ先コンピュータ名、および、所持分割データの情報を持つ。
図7に示したバックアップデータインデックス140の場合、グループPに所属するコンピュータPC−BBBおよびPC−CCCと、グループQに所属するコンピュータPC−DDDおよびPC−EEEが、コンピュータPC−AAAのデータのバックアップに参加している。バックアップデータインデックス240も、バックアップデータインデックス140と同様の情報を保持する。
【0049】
図8は、子装置空き容量リスト150の内容について説明するための図である。
図8を参照すると、子装置空き容量リスト150はコンピュータ名、および、ハードディスク未使用領域容量の情報を持つ。子装置空き容量リスト250も、子装置空き容量リスト150と同様の情報を保持する。
【0050】
次に、本実施形態に係るバックアップシステム(
図3)のバックアップ動作およびリストア動作について、
図9ないし
図12を参照して詳細に説明する。
【0051】
図9および
図10は、本実施形態に係るバックアップシステムにおけるバックアップ動作を例示するシーケンス図である。まず、
図9および
図10を参照して、バックアップ動作について説明する。
【0052】
図9を参照すると、コンピュータ10のバックアッププログラム100は、IPアドレステーブル130に親装置フラグがないことを確認する(ステップA1)。
【0053】
コンピュータ10のバックアッププログラム100は、IPアドレステーブル130の自身の装置に親装置フラグをセットする(ステップA2)。
【0054】
コンピュータ10のバックアッププログラム100は、IPアドレステーブル130(
図6)に登録されている自身以外のIPアドレスすべてに対してping送信を行う(ステップA3)。
【0055】
ping送信を受けたコンピュータ20は、ping応答を返す(ステップA4)。
【0056】
コンピュータ10のバックアッププログラム100は、ping応答を行ったコンピュータ20のバックアッププログラム200に対して、親装置となることを宣言する(ステップA5)。
【0057】
コンピュータ20のバックアッププログラム200は、IPアドレステーブル230に親装置フラグがあるかどうかを確認する(ステップA6)。コンピュータ20のバックアッププログラム200は、IPアドレステーブル230に親装置フラグがある場合(ステップA6のYes)、コンピュータ10のバックアッププログラム100に受け入れ不可と回答し、処理を終了する(ステップA9)。
【0058】
コンピュータ20のバックアッププログラム200は、ハードディスクの未使用領域容量が規定値(例えば、総ハードディスク容量の10%とする)よりも多いかどうかを確認する(ステップA7)。コンピュータ20のバックアッププログラム200はハードディスクの未使用領域容量が規定値以下の場合(ステップA7のNo)、コンピュータ10のバックアッププログラム100に受け入れ不可と回答し、処理を終了する(ステップA9)。
【0059】
コンピュータ20のバックアッププログラム200は、負荷テーブル220の登録を確認し、現在がバックアップ不可能時間でないことを確認する。バックアッププログラム200は、負荷テーブル220にコンピュータ20の登録がないか、または、登録があってもバックアップ不可能時間以外である場合、バックアップ可能と判断する。コンピュータ20のバックアッププログラム200は、負荷テーブル220の登録を確認し、現在がバックアップ不可能時間である場合(ステップA8のYes)、コンピュータ10のバックアッププログラム100に受け入れ不可と回答し、処理を終了する(ステップA9)。
【0060】
コンピュータ20のバックアッププログラム200は、IPアドレステーブル230に親装置フラグがなく(ステップA6のNo)、かつ、ハードディスクの未使用領域容量が規定よりも多く(ステップA7のYes)、かつ、負荷テーブル220にコンピュータ20の登録がない、または、登録があってもバックアップ不可能時間以外である場合(ステップA8のNo)、IPアドレステーブル230のコンピュータ10に親装置のフラグをセットする(ステップA10)。
【0061】
コンピュータ20のバックアッププログラム200は、ハードディスクの未使用領域容量を親コンピュータ10のバックアッププログラム100に回答する(ステップA11)。
【0062】
図10を参照すると、コンピュータ10のバックアッププログラム100は、送信されてきたコンピュータ20のハードディスクの未使用領域容量を子装置空き容量リスト150に保存する(ステップA12)。
【0063】
コンピュータ10のバックアッププログラム100は、子装置空き容量リスト150に保存されている子コンピュータの空き容量に応じて多い順にグループに振り分ける(ステップA13)。バックアッププログラム100は、例えば、子コンピュータを2つのグループに分ける場合、空き容量が1番多い子コンピュータを第1グループに、空き容量が2番目に多い子コンピュータを第2グループに、空き容量が3番目に多い子コンピュータを第1グループに、空き容量が4番目に多い子コンピュータを第2グループにという具合に、サイクリックに振り分ける。なお、グループ数は、ミラーリングしたい数に応じて作成する。
【0064】
コンピュータ10のバックアッププログラム100は、グループ内のハードディスク未使用領域容量の全容量に対する、コンピュータ20のハードディスクの未使用領域容量の比率を算出し、送信するデータ量の分割比率として決定する(ステップA14)。
【0065】
コンピュータ10のバックアッププログラム100は、バックアップするデータをコンピュータ20に送信する容量に従って分割する(ステップA15)。
【0066】
コンピュータ10のバックアッププログラム100は、分割データをどのコンピュータに送信するかを記載したバックアップデータインデックス140(
図7)を作成する(ステップA16)。
【0067】
コンピュータ10のバックアッププログラム100は、分割データとバックアップデータインデックス140(
図7)をコンピュータ20に送信する(ステップA17)。
【0068】
コンピュータ20のバックアッププログラム200は、分割データとバックアップデータインデックス240をコンピュータ20のハードディスクに保存する(ステップA18)。ここで、バックアッププログラム200は、バックアップデータインデックス140をバックアップデータインデックス240として保存する。
【0069】
バックアッププログラム200は、保存が完了すると、コンピュータ10に対して保存の完了を通知する(ステップA19)。
【0070】
コンピュータ10のバックアッププログラム100は、子装置空き容量リスト150(
図8)の内容をクリアする(ステップA20)。
【0071】
コンピュータ10のバックアッププログラム100は、コンピュータ20のバックアッププログラム200に対して親装置の解除を宣言する(ステップA21)。
【0072】
コンピュータ20のバックアッププログラム200は、コンピュータ10のバックアッププログラム100から親装置の解除を受け取ると、IPアドレステーブル230からコンピュータ10の親装置フラグを削除し(ステップA23)、処理を終了する。
【0073】
コンピュータ10のバックアッププログラム100は、IPアドレステーブル130(
図6)から自身(コンピュータ10)の親装置フラグを削除し(ステップA24)、処理を終了する。
【0074】
なお、上記の方法によれば、いずれかのコンピュータが親コンピュータとなり、バックアップを開始して親宣言した時点で、電源が投入されていないなどの理由でバックアップに参加していないコンピュータであって、その後電源が投入されたコンピュータが複数台存在する場合、これらの複数台のコンピュータのうちのいずれかが親宣言をしたときにも、同様なフローにより、こられのコンピュータ同士でバックアップを取ることが可能となる。
【0075】
図11および
図12は、本実施形態に係るバックアップシステムにおけるリストア動作を例示するシーケンス図である。次に、
図11および
図12を参照してリストアの動作について説明する。
【0076】
図11を参照すると、コンピュータ10は、外部記憶装置からリストアプログラム110と、IPアドレステーブル130を読み込む(ステップB1)。
【0077】
コンピュータ10のリストアプログラム110は、IPアドレステーブル130の自装置の欄に親装置フラグをセットする(ステップB2)。
【0078】
コンピュータ10のリストアプログラム110は、IPアドレステーブル130に登録されている自身以外のIPアドレスのすべてに対してping送信を行う(ステップB3)。
【0079】
ping送信を受けたコンピュータ20は、ping応答を返す(ステップB4)。
【0080】
コンピュータ10のリストアプログラム110は、ping応答を行ったコンピュータ20のリストアプログラム210に対して、バックアップデータインデックス140を送信するように要求する(ステップB5)。
【0081】
コンピュータ20のリストアプログラム210は、バックアップデータインデックス240をコンピュータ10のリストアプログラム110に送信する(ステップB6)。
【0082】
コンピュータ10のリストアプログラム110は、受信したバックアップデータインデックス240を参照し、自身のバックアップデータのあるバックアップデータインデックス240を探し、バックアップデータインデックス140として保存する(ステップB7)。
【0083】
コンピュータ10のリストアプログラム110は、自身(コンピュータ10)のバックアップデータを保有しているコンピュータ20を特定する(ステップB8)。
【0084】
コンピュータ10のリストアプログラム110は、特定したバックアップデータを保有しているコンピュータ20に対し、親装置となることを宣言する(ステップB9)。
【0085】
コンピュータ20のリストアプログラム210は、IPアドレステーブル230に親装置フラグがない場合(ステップB10のNo)、IPアドレステーブル230のコンピュータ10に親装置のフラグをセットする(ステップB12)。
【0086】
次に、コンピュータ20のリストアプログラム210は、コンピュータ10のリストアプログラム110に対し、リストア対応可能であることを通知する(ステップB13)。
【0087】
一方、IPアドレステーブル230に親装置フラグがある場合(ステップB10のYes)、コンピュータ20のリストアプログラム210は、コンピュータ10のリストアプログラム110に受け入れ不可と回答し、処理を終了する(ステップB11)。
【0088】
図12を参照すると、コンピュータ10のリストアプログラム110は、リストア対応可能なコンピュータ20がすべて揃っているグループが存在する場合(ステップB14のYes)、分割データを送信するグループを決定して、決定したグループに含まれるコンピュータ20のリストアプログラム210に対してデータ送信依頼を通知する。一方、コンピュータ10のリストアプログラム110は、分割データを送信するグループに含まれないコンピュータ20に対して、親装置の解除宣言を通知する(ステップB15)。
【0089】
コンピュータ10のリストアプログラム110は、リストア対応可能なコンピュータ20がすべて揃っているグループが存在しない場合(ステップB14のNo)、親装置の解除を宣言すると共に(ステップB19)、IPアドレステーブル130からコンピュータ10の親装置フラグを削除して(ステップB20)、リストア失敗として処理を終了する。
【0090】
コンピュータ20のリストアプログラム210は、分割データを送信するグループに所属している場合(ステップB16のYes)、コンピュータ10のリストアプログラム110に分割データを送信する(ステップB17)。
【0091】
一方、コンピュータ20のリストアプログラム210は、分割データを送信するグループに所属していない場合(ステップB16のNo)、IPアドレステーブル230からコンピュータ10の親装置フラグを削除して(ステップB21)、処理を終了する。
【0092】
コンピュータ10のリストアプログラム110は、分割データを受信して結合する(ステップB18)。
【0093】
コンピュータ10のリストアプログラム110は、分割データを送信するグループに所属しているコンピュータ20のリストアプログラム210に対して親装置の解除を宣言する(ステップB19)。
【0094】
コンピュータ20のリストアプログラム210は、コンピュータ10のリストアプログラム110から親装置の解除を受け取ると、IPアドレステーブル230からコンピュータ10の親装置フラグを削除して(ステップB21)、処理を終了する。
【0095】
コンピュータ10のリストアプログラム110は、IPアドレステーブル130から自身(コンピュータ10)の親装置フラグを削除して(ステップB20)、処理を終了する。
【0096】
本実施形態のバックアップシステムによると、専用のバックアップ装置を用いることなく、バックアップを実施することができる。また、本実施形態のバックアップシステムによると、コンピュータの余剰リソースを利用し、かつ、リストアを実行するコンピュータ以外のコンピュータ1台が故障してもリストアが可能なバックアップシステムを提供することができる。さらに、本実施形態のバックアップシステムによると、コンピュータのハードディスクの余剰リソースを用いて、高価なバックアップ装置を購入することなく、バックアップを取ることが可能となる。
【0097】
なお、本発明において、さらに下記の形態が可能である。
[形態1]
上記第1の態様に係るコンピュータのとおりである。
[形態2]
前記グループ分け手段は、前記バックアップ対象のコンピュータ以外の複数のコンピュータをハードディスクの空き容量の大きいものから順に、異なるグループに振り分ける、
形態1に記載のコンピュータ。
[形態3]
前記グループ分け手段は、前記バックアップ対象のコンピュータ以外の複数のコンピュータのうちの、前記バックアップ対象のコンピュータ以外のコンピュータに対するバックアップに参加しているコンピュータ、ハードディスクの空き容量が所定の容量以下であるコンピュータ、または、バックアップに参加することができない時間帯であるコンピュータを除外し、残りのコンピュータを前記複数のグループに分割する、
形態1または2に記載のコンピュータ。
[形態4]
前記データ割当手段は、各グループ内の複数のコンピュータのそれぞれのハードディスクの空き容量に基づいて前記データを分割し、分割後の前記データを各グループ内の複数のコンピュータのそれぞれのハードディスクの空き容量に応じて分散して保持させる、
形態1ないし3のいずれか一に記載のコンピュータ。
[形態5]
グループ内のすべてのコンピュータがリストア動作に参加可能なグループを前記複数のグループから抽出する抽出手段と、
抽出したグループに含まれる複数のコンピュータから前記分割後のデータを受信し、受信した前記分割後のデータを結合して、前記データをリストアするリストア手段と、を備える、
形態1ないし4のいずれか一に記載のコンピュータ。
[形態6]
前記抽出手段は、グループ内のすべてのコンピュータから死活の確認に対する応答が得られたグループを前記複数のグループから抽出する、
形態5に記載のコンピュータ。
[形態7]
上記第2の態様に係るバックアップシステムのとおりである。
[形態8]
上記第3の態様に係るバックアップ方法のとおりである。
[形態9]
前記バックアップ対象のコンピュータは、前記バックアップ対象のコンピュータ以外の複数のコンピュータをハードディスクの空き容量の大きいものから順に、異なるグループに振り分ける、
形態8に記載のバックアップ方法。
[形態10]
前記バックアップ対象のコンピュータは、前記バックアップ対象のコンピュータ以外の複数のコンピュータのうちの、前記バックアップ対象のコンピュータ以外のコンピュータに対するバックアップに参加しているコンピュータ、ハードディスクの空き容量が所定の容量以下であるコンピュータ、または、バックアップに参加することができない時間帯であるコンピュータを除外し、残りのコンピュータを前記複数のグループに分割する、
形態8または9に記載のバックアップ方法。
[形態11]
前記バックアップ対象のコンピュータは、各グループ内の複数のコンピュータのそれぞれのハードディスクの空き容量に基づいて前記データを分割し、分割後の前記データを各グループ内の複数のコンピュータのそれぞれのハードディスクの空き容量に応じて分散して保持させる、
形態8ないし10のいずれか一に記載のバックアップ方法。
[形態12]
前記バックアップ対象のコンピュータが、グループ内のすべてのコンピュータがリストア動作に参加可能なグループを前記複数のグループから抽出するステップと、
抽出したグループに含まれる複数のコンピュータから前記分割後のデータを受信するステップと、
受信した前記分割後のデータを結合して、前記データをリストアするステップと、を含む、
形態8ないし11のいずれか一に記載のバックアップ方法。
[形態13]
前記バックアップ対象のコンピュータは、グループ内のすべてのコンピュータから死活の確認に対する応答が得られたグループを前記複数のグループから抽出する、
形態12に記載のバックアップ方法。
[形態14]
上記第4の態様に係るプログラムのとおりである。
[形態15]
前記バックアップ対象のコンピュータは、前記バックアップ対象のコンピュータ以外の複数のコンピュータをハードディスクの空き容量の大きいものから順に、異なるグループに振り分ける処理を、前記バックアップ対象のコンピュータに実行させる、
形態14に記載のプログラム。
[形態16]
前記バックアップ対象のコンピュータ以外の複数のコンピュータのうちの、前記バックアップ対象のコンピュータ以外のコンピュータに対するバックアップに参加しているコンピュータ、ハードディスクの空き容量が所定の容量以下であるコンピュータ、または、バックアップに参加することができない時間帯であるコンピュータを除外し、残りのコンピュータを前記複数のグループに分割する処理を、前記バックアップ対象のコンピュータに実行させる、
形態14または15に記載のプログラム。
[形態17]
各グループ内の複数のコンピュータのそれぞれのハードディスクの空き容量に基づいて前記データを分割し、分割後の前記データを各グループ内の複数のコンピュータのそれぞれのハードディスクの空き容量に応じて分散して保持させる処理を、前記バックアップ対象のコンピュータに実行させる、
形態14ないし16のいずれか一に記載のプログラム。
[形態18]
グループ内のすべてのコンピュータがリストア動作に参加可能なグループを前記複数のグループから抽出する処理と、
抽出したグループに含まれる複数のコンピュータから前記分割後のデータを受信する処理と、
受信した前記分割後のデータを結合して、前記データをリストアする処理と、を前記バックアップ対象のコンピュータに実行させる、
形態14ないし17のいずれか一に記載のプログラム。
[形態19]
グループ内のすべてのコンピュータから死活の確認に対する応答が得られたグループを前記複数のグループから抽出する処理を、前記バックアップ対象のコンピュータに実行させる、
形態18に記載のプログラム。
【0098】
なお、上記特許文献の全開示内容は、本書に引用をもって繰り込み記載されているものとする。本発明の全開示(請求の範囲を含む)の枠内において、さらにその基本的技術思想に基づいて、実施形態の変更・調整が可能である。また、本発明の全開示の枠内において種々の開示要素(各請求項の各要素、各実施形態の各要素、各図面の各要素等を含む)の多様な組み合わせ、ないし、選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。特に、本書に記載した数値範囲については、当該範囲内に含まれる任意の数値ないし小範囲が、別段の記載のない場合でも具体的に記載されているものと解釈されるべきである。