(57)【特許請求の範囲】
【請求項１】
情報処理装置とネットワークを介して接続された２以上の情報処理端末に、該情報処理端末が記憶部に記憶しているファイルデータのバックアップを実行させるバックアッププログラムであって、
前記情報処理端末が複数の情報処理端末のうち第１端末として指定された場合、該第１端末の記憶部に格納された全てのファイルデータについての第１バックアップイメージを前記情報処理装置に送信すると共に、前記第１端末以外の前記情報処理端末である第２端末に該第１バックアップイメージを送信し、
前記情報処理端末が前記第２端末である場合、前記第１端末から送信された第１バックアップイメージと、前記第２端末の記憶部に格納された全てのファイルデータについての第２バックアップイメージとの差分である差分イメージを抽出し、
前記差分イメージを、前記情報処理装置に送信する
処理を情報処理端末に実行させるバックアッププログラム。
【請求項２】
前記バックアッププログラムは、さらに、
前記記憶部に格納された全てのファイルデータの属性情報を取得し、
他の前記情報処理端末へ全ての前記ファイルデータの属性情報を送信すると共に、該他の情報処理端末の記憶部に格納された全てのファイルデータの属性情報を受信して、前記情報処理端末間で相互に全ての前記ファイルデータの属性情報を共有し、
全ての前記共有したファイルデータの属性情報に対応するファイルデータのうち、当該情報処理端末自身が有する前記ファイルデータがどれであるかの判定を行い、
前記判定した結果を前記情報処理装置へ送信する
処理を情報処理端末に実行させることを特徴とする請求項１に記載のバックアッププログラム。
【請求項３】
前記第１バックアップイメージの送信において、前記情報処理端末が任意のグループに分類された複数の情報処理端末のうち第１端末として指定された場合、該第１端末の記憶部に格納された全てのファイルデータについての第１バックアップイメージを前記情報処理装置に送信すると共に、前記グループと同一のグループに分類された、前記第１端末以外の前記情報処理端末である第２端末に該第１バックアップイメージを送信する
処理を情報処理端末に実行させることを特徴とする請求項１に記載のバックアッププログラム。
【請求項４】
情報処理装置とネットワークを介して接続された２以上の情報処理端末に、該情報処理端末が記憶部に記憶しているファイルデータのバックアップを実行させるバックアッププログラムであって、
複数の前記情報処理端末のうち第１端末から、第１端末の記憶部に格納された全てのファイルデータについての第１バックアップイメージを受信し、
前記受信した第１バックアップイメージと、前記複数の情報処理端末のうち第２端末の記憶部に格納された全てのファイルデータについての第２バックアップイメージとの差分である差分イメージを抽出し、
前記差分イメージを、前記情報処理装置に送信する
処理を情報処理端末に実行させるバックアッププログラム。
【請求項５】
各情報処理端末とネットワークを介して接続された情報処理装置に、該情報処理端末のファイルデータのバックアップの制御処理を実行させるバックアッププログラムであって、
任意のグループに分類された前記情報処理端末間で相互に送受信されて共有されたファイルデータの属性情報に対応するファイルデータのうち前記各情報処理端末が有する前記ファイルデータがどれであるかが判定された判定結果を前記各情報処理端末から受信し、
前記受信した判定結果を用いて、前記グループ内で重複して保有されたファイルデータのデータ量に応じて、前記グループ内のいずれかの前記情報処理端末を第１端末として決定し、
前記第１端末の記憶部に格納された全てのファイルデータについての第１バックアップイメージを受信し、前記第１端末の属するグループに分類された、前記第１端末以外の前記情報処理端末である第２端末から、前記第１端末から該第２端末へ送信された第１バックアップイメージと、該第２端末の記憶部に格納された全てのファイルデータについての第２バックアップイメージとの差分である差分イメージを受信し、
前記第１バックアップイメージと前記差分イメージを記憶部に格納する
処理を情報処理装置に実行させることを特徴とするバックアッププログラム。
【請求項６】
前記各情報処理端末から該各情報処理端末の性能情報を取得し、
前記性能情報に応じて該各情報処理端末をグループに分類し、
前記性能情報は、前記情報処理端末で用いられているオペレーティングシステムの種類、オペレーティングシステムのバージョン、及びオペレーティングシステムの修正プログラムのバージョンに関する情報を含み、
前記情報処理端末を前記グループに分類する場合、前記オペレーティングシステムの種類、オペレーティングシステムのバージョン、及びオペレーティングシステムの修正プログラムのバージョンに関する情報に基づいて、前記各情報処理端末をグループに分類する
ことを特徴とする請求項５に記載のバックアッププログラム。
【請求項７】
前記情報処理端末を前記グループに分類する場合、前記分類した情報処理端末を、さらに、通信速度に応じて分類する
ことを特徴とする請求項６に記載のバックアッププログラム。
【請求項８】
前記第１端末を決定する場合、前記各情報処理端末から受信した判定結果を用いて、前記グループ内の各情報処理端末で重複して保有されたファイルデータのうち、保有するファイルのデータ量が最も大きい情報処理端末を前記第１端末として決定する
ことを特徴とする請求項５〜７のうちいずれか１項に記載のバックアッププログラム。
【請求項９】
情報処理装置とネットワークを介して接続され、記憶部に記憶しているファイルデータのバックアップを行う情報処理端末であって、
前記情報処理端末が複数の情報処理端末のうち第１端末として指定された場合、該第１端末の記憶部に格納された全てのファイルデータについての第１バックアップイメージを前記情報処理装置に送信すると共に、前記第１端末以外の前記情報処理端末である第２端末に該第１バックアップイメージを送信する第１バックアップイメージ送信部と、
前記情報処理端末が前記第２端末である場合、前記第１端末から送信された第１バックアップイメージと、前記第２端末の記憶部に格納された全てのファイルデータについての第２バックアップイメージとの差分である差分イメージを抽出する差分イメージ作成部と、
前記差分イメージを、前記情報処理装置に送信する差分イメージ送信部と、
を備えることを特徴とする情報処理端末。
【請求項１０】
情報処理端末とネットワークを介して接続され、該情報処理端末のファイルデータのバックアップの制御を行う情報処理装置であって、
任意のグループに分類された前記情報処理端末間で相互に送受信されて共有されたファイルデータの属性情報に対応するファイルデータのうち前記各情報処理端末が有する前記ファイルデータがどれであるかが判定された判定結果を前記各情報処理端末から受信する判定結果受信部と、
前記受信した判定結果を用いて、前記グループ内で重複して保有されたファイルデータのデータ量に応じて、前記グループ内のいずれかの前記情報処理端末を第１端末として決定する決定部と、
前記第１端末の記憶部に格納された全てのファイルデータについての第１バックアップイメージを受信し、前記第１端末の属するグループに分類された、前記第１端末以外の前記情報処理端末である第２端末から、前記第１端末から該第２端末へ送信された第１バックアップイメージと、該第２端末の記憶部に格納された全てのファイルデータについての第２バックアップイメージとの差分である差分イメージを受信するイメージ受信部と、
前記第１バックアップイメージと前記差分イメージを格納する記憶部と、
を備えることを特徴とする情報処理装置。
【請求項１１】
情報処理装置と、ネットワークを介して接続された２以上の情報処理端末とを含むバックアップシステムのバックアップ方法であって、
前記情報処理端末が複数の情報処理端末のうち第１端末として指定された場合、該第１端末は、該第１端末の記憶部に格納された全てのファイルデータについての第１バックアップイメージを前記情報処理装置に送信すると共に、前記第１端末以外の前記情報処理端末である第２端末に該第１バックアップイメージを送信し、
前記情報処理端末が前記第２端末である場合、該第２端末は、前記第１端末から送信された第１バックアップイメージと、前記第２端末の記憶部に格納された全てのファイルデータについての第２バックアップイメージとの差分である差分イメージを抽出し、
前記差分イメージを、前記情報処理装置に送信し、
前記情報処理装置は、受信した前記第１バックアップイメージと前記差分イメージを記憶部に格納する
ことを特徴とするバックアップ方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書は、ネットワーク経由でシステムのバックアップを実行する技術に関する。
【背景技術】
【０００２】
ネットワークを介して接続された多数の情報処理装置が存在するシステムにおいて、ネットワークを介して各情報処理装置のファイルのバックアップを行う技術がある。
例えば次のものがある。バックアップシステムは、ハードディスク、バックアップサーバ、監視部、抽出部、アップロード部、差分生成部、ユーザーデータベース、ダウンロード部を備える。ハードディスクは、端末装置に接続されデータを蓄積する。バックアップサーバは、ＩＰ網を介して端末装置と接続される。監視部は、端末装置側においてハードディスク内のデータ占有率を監視する。抽出部は、データ占有率が所定以上となった場合に、データ属性に応じて、データを抽出する。アップロード部は、抽出されたデータをバックアップサーバに送信する。差分生成部は、バックアップサーバ側に設けられ、既に蓄積されている既存データとアップロードされたデータとの差分データを生成する。ユーザーデータベースは、生成された差分データを蓄積する。ダウンロード部は、端末装置側からの要求に応じて、既存データと差分データとからダウンロード用データを生成し端末装置に送信する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】国際公開第２００５／０９３５７９号
【発明の概要】
【発明が解決しようとする課題】
【０００４】
情報処理端末（以下、端末という）においてバックアップが実行されると、端末の記憶装置に格納されたデータを、ファイルシステムのファイル構造を保ったまま、１つのイメージファイルとして記憶することができる。このようにして作成されたイメージファイルは、例えば、記憶装置の障害時に、記憶装置の状態を復元するために用いることができる。
【０００５】
一般的にバックアップは、全てのデータを一括にバックアップするフルバックアップ、前回のフルバックアップ時からの変更/追加されたデータのみをバックアップする差分バックアップ、そして前回のバックアップからの変更/追加のみをバックアップする増分バックアップに区分できる。
【０００６】
多数の端末が存在する環境で、ネットワークを介して全端末のフルバックアップを行う場合、全台を同時にフルバックアップするか、１台毎または数台づつに分けてフルバックアップすることが考えられる。いずれの場合にも、個々の端末におけるフルバックアップのイメージファイルは、ユニキャスト通信により、サーバに送信される。
【０００７】
しかしながら、全台を同時にフルバックアップした場合、一時に大量のデータがネットワーク上に流れるため、サーバ及びネットワークに対する負荷が増大する。そうかといって１台毎または数台づつに分けてフルバックアップを行うと、全端末のバックアップ終了までに時間を要してしまう。
【０００８】
そこで、本明細書では、サーバとネットワークに対する負荷及びバックアップ処理全体にかかる時間を軽減することができるバックアップ技術について説明する。
【課題を解決するための手段】
【０００９】
情報処理装置とネットワークを介して接続された２以上の各情報処理端末に、該情報処理端末が記憶部に記憶している記ファイルデータのバックアップを実行させるバックアッププログラムは、以下の処理を情報処理端末に実行させる。情報処理端末が複数の情報処理端末のうち第１端末として指定された場合、第１端末は、第１端末の記憶部に格納された全てのファイルデータについての第１バックアップイメージを情報処理装置に送信する。それと共に、第２端末は、第１端末以外の情報処理端末である第２端末に第１バックアップイメージを送信する。情報処理端末が第２端末である場合、第２端末は、第１端末から送信された第１バックアップイメージと、第２端末の記憶部に格納された全てのファイルデータについての第２バックアップイメージとの差分である差分イメージを抽出する。第２端末は、差分イメージを、情報処理装置に送信する。
【００１０】
各情報処理端末とネットワークを介して接続された情報処理装置に、情報処理端末のファイルデータのバックアップの制御処理を実行させるバックアッププログラムは、次の処理を情報処理装置に実行させる。情報処理装置は、任意のグループに分類された情報処理端末間で相互に送受信されて共有されたファイルデータの属性情報に対応するファイルデータのうち各情報処理端末が有するファイルデータがどれであるかが判定された判定結果を各情報処理端末から受信する。情報処理装置は、受信した判定結果を用いて、グループ内で重複して保有されたファイルデータのデータ量に応じて、グループ内のいずれかの情報処理端末を第１端末として決定する。
【００１１】
情報処理装置は、第１端末の記憶部に格納された全てのファイルデータについての第１バックアップイメージを受信する。また、情報処理装置は、第１端末の属するグループに分類された、第１端末以外の情報処理端末である第２端末から、差分イメージを受信する。差分イメージとは、第１端末から第２端末へ送信された第１バックアップイメージと、第２端末の記憶部に格納された全てのファイルデータについての第２バックアップイメージとの差分である。情報処理装置は、第１バックアップイメージと差分イメージを記憶部に格納する。
【発明の効果】
【００１２】
本明細書のバックアップシステムを用いることより、サーバとネットワークに対する負荷、及びバックアップ処理全体にかかる時間を軽減することができる。
【図面の簡単な説明】
【００１３】
【図１】第１の実施形態におけるバックアップシステムの構成の一例を示す。
【図２】第１の実施形態におけるサーバと端末の機能ブロックの一例を示す。
【図３】第１の実施形態におけるグループ管理テーブルの一例を示す。
【図４】第１の実施形態における端末管理テーブルの一例を示す。
【図５】第１の実施形態における、基本イメージと差分イメージとの関係を説明するための図である。
【図６】第１の実施形態におけるバックアップシステムの処理の一例を示す。
【図７】第１の実施形態におけるバックアップ処理のフローを示す。
【図８】第１の実施形態における、基本イメージをマルチキャストでグループ内のメンバーに送信する処理フローを示す。
【図９】第２の実施形態におけるサーバと端末の機能ブロックの一例を示す。
【図１０】第２の実施形態における性能管理テーブルの一例を示す。
【図１１】第２の実施形態における代表端末判定テーブルの一例を示す。
【図１２】第２の実施形態におけるグループ管理テーブルの一例を示す。
【図１３】第２の実施形態における端末管理テーブルの一例を示す。
【図１４】第２の実施形態におけるファイル属性テーブルの一例を示す。
【図１５】第２の実施形態におけるファイル保有テーブルの一例を示す。
【図１６】第２の実施形態におけるバックアップシステムの処理の一例を示す。
【図１７】第２の実施形態における端末をグループ化する処理フローを示す。
【図１８】グループ分類処理を説明するための図である。
【図１９】グループ分類処理（Ｓ５４）の詳細を示す。
【図２０Ａ】第２の実施形態における代表端末選定処理（Ｓ４２）のフロー（その１）を示す。
【図２０Ｂ】第２の実施形態における代表端末選定処理（Ｓ４２）のフロー（その２）を示す。
【図２１】第２の実施形態における各メンバーのファイル保有テーブルの作成・更新を説明するための図である。
【図２２】第２の実施形態における代表端末判定テーブルを用いて代表端末を決定する方法について説明するための図である。
【図２３】サーバ２または端末４のハードウェア環境の構成ブロック図である。
【発明を実施するための形態】
【００１４】
＜第1の実施形態＞
本実施形態では、次を説明する。ネットワークで接続された各端末がその性能に応じてグループに分類されている。グループ毎に、所定の端末（代表端末）が自身のフルバックアップイメージファイルをサーバに送信すると共に、その代表端末の属するグループ内の他の端末に対してそのフルバックアップイメージファイルをマルチキャスト送信する。他の各端末は、その代表端末のフルバックアップイメージファイルと自身のフルバックアップイメージとの差分をサーバに送信する。
【００１５】
図１は、第１の実施形態におけるバックアップシステムの構成の一例を示す。バックアップシステム１は、サーバ２、スイッチ３、複数の端末４、ネットワーク５を含む。複数の端末４は、ネットワーク５上に接続されている。
【００１６】
スイッチ３は、情報処理装置間のネットワークを接続するネットワークデバイスの１つであり、パケットのヘッダに含まれる宛先情報に応じて、端末４間及び端末４−サーバ２間の通信経路をスイッチングし、パケットを中継することができる。パケットとは、通信モデルの１つであるＴＣＰ／ＩＰ［Transmission Control Protocol/Internet Protocol］モデルの中のインターネットレイヤでの送信単位である。また、スイッチ３は、マルチキャストに対応する機能を有する。
【００１７】
ここで、マルチキャストとは、１対多のデータ配信を実現する技術であり、特定のグループに属する端末に対して、データを一斉に配信することができる。このグループは、マルチキャストグループと呼ばれ、マルチキャストアドレス（クラスＤアドレス：２２４．０．０．０〜２３９．２５５．２５５．２５５）によって識別される。
【００１８】
マルチキャストによるデータ配信方法は、スイッチ等のネットワーク機器が、配信元から配信された１つのデータを特定の端末のみにデータを複製して配信する。このため、ユニキャスト送信やブロードキャスト送信に比べて、マルチキャスト送信を用いた場合、ネットワーク帯域の利用効率が良い。ここで、ユニキャスト送信は、配信元が全ての端末毎にデータを生成して送信する方法である。ブロードキャスト送信は、１つのデータをネットワーク機器が同サブネット上の全ての端末に対してデータを複製して送信する方法である。
【００１９】
図１において、ネットワーク５上にある端末４はそれぞれ、その性能に応じて分類されて、いずれかのグループＧ１〜Ｇｐに属する。グループＧ１に属する端末４として、たとえば、端末Ｇ１_０，Ｇ１_１，・・・，Ｇ１_ｎがある。グループＧｐに属する端末４として、たとえば、端末Ｇｐ_０，Ｇｐ_１，・・・，Ｇｐ_ｍがある。また、各グループにおいて、任意の端末Ｇｘ_０を「代表端末」という。また、グループ内の端末を「メンバー」という。ここで、n，ｍ，p，xは、任意の整数である。
【００２０】
代表端末は、自身の記憶装置のフルバックアップイメージファイルを作成する。ここで、代表端末のフルバックアップイメージを「基本イメージ」と称する。代表端末以外の、グループ内の端末は、自身の記憶装置のフルバックアップイメージファイルを作成し、その作成した自身のフルバックアップイメージファイルと、代表端末の基本イメージとの差分（差分イメージ）をとる。
【００２１】
サーバ２は、グループ単位で、代表端末から基本イメージを取得する。また、サーバ２は、代表端末以外の、各グループ内の各端末から、差分イメージを取得する。すなわち、サーバ２は、グループ単位で、基準となる基本イメージと、差分イメージを取得することができる。これにより、サーバ２は、グループ単位で、バックアップイメージを取得することができる。
【００２２】
図２は、第１の実施形態におけるサーバと端末の機能ブロックの一例を示す。サーバ２は、記憶部１１、制御部１５を含む。記憶部１１は、イメージ格納域１２を有する。イメージ格納域１２には、ネットワーク５を介して、イメージバックアップの対象となる端末４から取得されたバックアップイメージが格納される。具体的には、イメージ格納域１２には、代表端末から取得した基本イメージと、代表端末以外の各グループ内の各端末から取得した差分イメージとが格納される。また、記憶部１１には、グループ管理テーブル１３、端末管理テーブル１４が格納される。なお、記憶部１１は、サーバ２に内蔵されていてもよいし、外付けタイプであってもよい。
【００２３】
グループ管理テーブル１３は、ネットワーク５上のグループを管理するために用いられる。グループとは、ネットワーク上にある端末を、その性能に応じて分類したものである。端末管理テーブル１４は、各グループに属する端末を管理するために用いるものである。
【００２４】
制御部１５は、各グループの任意の端末４（代表端末）に対して、本実施形態に係るバックアップを実行するように命令をしたり、各端末４からの応答に応じて処理を実行する。制御部１５は、バックアップイメージ受信部１６として機能する。バックアップイメージ受信部１６は、各端末４から送信されたバックアップイメージ（基本イメージ、差分イメージ）を取得して、イメージ格納域１２に格納する。
【００２５】
端末４は、記憶部１７、制御部１８を含む。制御部１８は、バックアップイメージ作成部１９、基本イメージ送信部２０、基本イメージ受信部２１、差分イメージ作成部２２、差分イメージ送信部２３として機能する。
【００２６】
バックアップイメージ作成部１９は、端末４の記憶部１７のフルバックアップイメージを作成する。具体的には、バックアップイメージ作成部１９は、端末４の記憶部１７に格納されたファイルデータを、ファイルシステムのファイル構造を保ったまま、１つのイメージファイル（フルバックアップイメージ）として、記憶部１７に記憶する。なお、代表端末のフルバックアップイメージを「基本イメージ」と称する。
【００２７】
基本イメージ送信部２０は、作成した基本イメージを所定の単位で分割して、その分割した基本イメージ（データブロック）を、データブロック単位で、同グループに属する端末（メンバー）にマルチキャストで送信する。
【００２８】
基本イメージ受信部２１は、代表端末から送信された基本イメージを受信する。差分イメージ作成部２２は、バックアップイメージ作成部１９により作成された当該端末４自身の記憶部１７のフルバックアップイメージと、受信した基本イメージとの差分をとる。この差分は、差分イメージとして得られる。差分の取得方法としては、例えば、基本イメージ同士を比較して違っている部分のみをオフセット情報（先頭位置からのオフセット情報）と共に記憶したものを差分イメージとする方法がある。また、例えば、基本イメージと同一でなければ、端末４自身の記憶部１７のフルバックアップイメージ全てを差分イメージとする方法がある。差分イメージ送信部２３は、差分イメージをサーバ２へ送信する。
【００２９】
記憶部１７には、ファイルシステムにより管理されている、バックアップ対象のファイルデータ（またはファイル）が格納されている。ここで、ファイルとは、コンピューターで、ハードディスクなどの記憶装置に記録された、情報の集まりをいう。ファイルには、例えば、コンピュータープログラムを記録したプログラムファイル、文書ファイル、画像ファイル、表計算ファイル、音楽ファイル、動画ファイル、データベースなどを記録したデータファイルが含まれる。また、記憶部１７には、基本イメージ及び／または差分イメージも格納される。
【００３０】
図３は、第１の実施形態におけるグループ管理テーブルの一例を示す。グループ管理テーブル１３は、例えば、「グループ番号」３１、「マルチキャストアドレス」３２、「基本イメージ名」３３のデータ項目を含む。
【００３１】
「グループ番号」３１には、ネットワーク５上におけるグループを識別する情報が格納される。「マルチキャストアドレス」３２には、グループ番号で特定されるグループに対して割り当てられたマルチキャストアドレスが格納される。「基本イメージ名」３３には、グループ番号で特定されるグループの代表端末の基本イメージを識別する情報が格納される。
【００３２】
図４は、第１の実施形態における端末管理テーブルの一例を示す。端末管理テーブル１４は、例えば、「端末番号」４１、「グループ番号」４２、「差分イメージ名」４３のデータ項目を含む。
【００３３】
「端末番号」４１には、各端末を識別する情報が格納される。「グループ番号」４２には、各端末が属するグループのグループ番号が格納される。「差分イメージ名」４３には、グループ番号及び端末番号で特定される差分イメージを識別する情報が格納される。なお、端末が代表端末である場合には、その端末は差分イメージを作成しないから、「差分イメージ名」４３には差分イメージ名は格納されない。
【００３４】
図５は、第１の実施形態における、基本イメージと差分イメージとの関係を説明するための図である。
サーバ２の記憶部１１内のイメージ格納域１２には、グループ単位で、代表端末の基本イメージと、そのグループのメンバーの端末の差分イメージが格納されている。
【００３５】
例えば、グループＧ１については、代表端末Ｇ１_０の基本イメージＢＩ_Ｇ１_０が格納され、各メンバーＧ１_１，・・・，Ｇ１_ｎの差分イメージＤＩ_Ｇ１_１，・・・，ＤＩ_Ｇ１_ｎが格納されている。
【００３６】
また、例えば、グループＧｐについては、代表端末Ｇｐ_０の基本イメージＢＩ_Ｇｐ_０が格納され、各メンバーＧｐ_１，・・・，Ｇｐ_ｎの差分イメージＤＩ_Ｇｐ_１，・・・，ＤＩ_Ｇｐ_ｎが格納されている。
【００３７】
図６は、第１の実施形態におけるバックアップシステムの処理の一例を示す。まずは、ユーザがネットワーク５上の端末４を、その性能に応じて、グループに分類する（Ｓ１）。端末４の性能とは、例えば、当該端末４にインストールされているオペレーティングシステム（operating system（ＯＳ））の種類、修正プログラムの有無及びＯＳのバージョン等の端末４の処理能力を左右するソフトウェアに関する情報、及び端末番号、機種名、ＣＰＵ（central processing unit）、メモリ容量、ハードディスク容量、ＬＡＮ（Local Area Network）ドライバ等のハードウェアに関する情報が含まれる。
【００３８】
本実施形態では、ユーザは、例えば、（ｉ）ＯＳ、（ｉｉ）修正プログラム番号及びＯＳのバージョン、（ｉｉｉ）処理能力の順で、各端末４をグループ化する。このとき、処理能力が極端に低い機種は、上記（ｉ）及び（ｉｉ）で分類したグループに含めないで、独立したグループにしてもよい。本実施形態では、グループ分けの結果、例えば、図１で説明したグループＧ１〜Ｇｐが形成されるとする。
【００３９】
次に、ユーザは、グループ毎に、任意の端末４を代表端末として選定する（Ｓ２）。本実施形態では、例えば、図１で説明したように、グループ毎に代表端末（例えば、Ｇ１_０、Ｇｐ_０）が選定される。
【００４０】
次に、ユーザは、各グループにグループ番号を割り当てる。それから、ユーザは、グループ番号と、各グループのメンバーの端末番号とを関係付けて、サーバ２の記憶部１１に格納されているグループ管理テーブル１３及び端末管理テーブル１４に登録する（Ｓ３）。
【００４１】
次に、サーバ２は、各グループに、マルチキャストアドレスを割り当てる。そして、サーバ２は、グループ管理テーブル１３及び端末管理テーブル１４を用いて、各グループの端末をマルチキャストのグループのメンバーとして設定する（Ｓ４）。
【００４２】
マルチキャスト設定の一例として、サーバ２は、グループ管理テーブル１３及び端末管理テーブル１４に基づいて、各グループの各端末４（代表端末を除く）に対し、マルチキャストアドレスを通知する。各端末４（代表端末を除く）は、スイッチ３に対して、ＩＧＭＰを用いて、通知されたマルチキャストアドレスのグループへの参加要求情報（ｊｏｉｎ）を送信する。なお、ＩＧＭＰは、Internet Group Management Protocolの略称である。これにより、各端末（代表端末を除く）は、通知されたマルチキャストアドレスのグループに参加することができる。
【００４３】
また、マルチキャスト設定の他の例として、グループ管理テーブル１３及び端末管理テーブル１４に基づいて、サーバ２がMADCAPを用いて、各グループの各メンバーに動的にマルチキャストアドレスを割り当てるようにしてもよい。MADCAPは、Multicast Address Dynamic. Client Allocation Protocolの略称である。なお、代表端末には、マルチキャストアドレスを割り当てないようにする。
【００４４】
ただし、後述する図７のＳ１４において、ＩＧＭＰによる送信元についてのフィルタ機能を用いる場合には、マルチキャスト送信の送信元が代表端末自身である場合には受信できないように設定することができる。したがって、当該フィルタ機能を用いる場合には、上述の２つのマルチキャスト設定例において、代表端末もマルチキャストアドレスのグループへ参加するようにしてもよい。なお、マルチキャストの設定は上記方法に限定されず、様々なプロトコルや方法を用いて、マルチキャストの設定を行ってもよい。
【００４５】
それから、サーバ２は、所定のタイミングで、またはユーザからの指示により、各グループの代表端末に対して、バックアップ命令を通知する。これにより、本実施形態のバックアップ処理が実行される（Ｓ５）。Ｓ５の処理については、図７で詳述する。
【００４６】
なお、Ｓ１において、サーバ２が各端末をランダムにグループ分けして、Ｓ２において、サーバ２がグループ内の任意の端末を代表端末として選択してもよい。また、サーバ２は、各グループにグループ番号を割り当て、グループ番号と、各グループのメンバーの端末番号とを関係付けて、グループ管理テーブル１３及び端末管理テーブル１４に登録してもよい。
【００４７】
図７は、第１の実施形態におけるバックアップ処理のフローを示す。サーバ２では、制御部１５は、各グループの代表端末に対して、フルバックアップ送信要求情報と、グループ管理テーブル１３を送信する（Ｓ１１）。
【００４８】
各グループの代表端末は、サーバ２からのフルバックアップ送信要求情報と、グループ管理テーブル１３を受信する。バックアップイメージ作成部１９は、サーバ２からのフルバックアップ送信要求情報により、自身の記憶部１７のフルバックアップイメージ（基本イメージ）を作成する（Ｓ１２）。
【００４９】
バックアップイメージ作成部１９は、作成した基本イメージをサーバ２へユニキャストで送信する（Ｓ１３）。
サーバ２の制御部１５は、バックアップイメージ受信部１６として機能する。この場合、バックアップイメージ受信部１６は、各代表端末から送信された基本イメージを受信して、記憶部１１のイメージ格納域１２へ格納する。
【００５０】
その後、代表端末では、基本イメージ送信部２０は、作成した基本イメージを所定の単位で分割して、その分割した基本イメージを、データブロック単位で、同グループのメンバーにマルチキャスト送信する（Ｓ１４）。同グループに属する代表端末以外の端末４における基本イメージ受信部２１は、代表端末から送信された基本イメージを受信する。Ｓ１４の処理については、図８で説明する。グループ内のメンバーへのマルチキャストによる基本イメージの送信が完了すると、代表端末は、その旨をサーバ２へ通知する。
【００５１】
サーバ２では、バックアップイメージ受信部１６は、Ｓ１３で送信された基本イメージの基本イメージ名を、グループ管理テーブル１３の、グループ番号に対応する「基本イメージ名」３３に登録する（Ｓ１５）。制御部１５は、各グループの代表端末以外のメンバーに、差分バックアック実行命令を送信する（Ｓ１６）。
【００５２】
各グループの代表端末以外の各メンバーは、差分バックアック実行命令を受信する。すると、各メンバーにおいて、バックアップイメージ作成部１９は、自身のフルバックアップイメージを作成する。それから、差分イメージ作成部２２は、自身のフルバックアップイメージと、代表端末から送信された基本イメージとの差分を取り、差分イメージを作成する（Ｓ１７）。差分イメージ送信部２３は、作成した差分イメージをサーバ２へ送信する（Ｓ１８）。
【００５３】
サーバ２では、バックアップイメージ受信部１６は、各メンバーから送信された差分イメージを受信して、記憶部１１のイメージ格納域１２へ格納する。それから、バックアップイメージ受信部１６は、その送信された差分イメージの差分イメージ名を、端末管理テーブル１４の、端末番号とグループ番号の組み合わせに対応する「差分イメージ名」４３に登録する（Ｓ１９）。
【００５４】
図８は、第１の実施形態における、基本イメージをマルチキャストでグループ内のメンバーに送信する処理フローを示す。当該フローは、代表端末の基本イメージ送信部２０により実行される。基本イメージ送信部２０は、まず、送信対象である基本イメージを一定量のブロックに分割する（Ｓ２１）。分割されたブロックをデータブロックという。
【００５５】
基本イメージ送信部２０は、応答フラグを０で初期化し、カウンタ変数ｉを１で初期化する。さらに、基本イメージ送信部２０は、基本イメージを分割した結果得られたデータブロック数を変数Ｎに格納する（Ｓ２２）。
【００５６】
基本イメージ送信部２０は、ｉ番目のデータブロックを同グループ内のメンバーに対してマルチキャストで送信する（Ｓ２３）。Ｓ２３で送信後、基本イメージ送信部２０は、各メンバーから所定時間内に応答（ＡＣＫ）を受信した場合（Ｓ２４で「Ｙｅｓ」）、Ｓ２９へ進む。
【００５７】
一方、Ｓ２４において、各メンバーから所定時間内に応答（ＡＣＫ）を受信しなかった場合（Ｓ２４で「Ｎｏ」）であって、応答フラグが０の場合には、基本イメージ送信部２０は、応答フラグを１に更新する（Ｓ２５）。それから、基本イメージ送信部２０は、応答フラグが１に更新されてから所定時間経過したか判定する（Ｓ２６）。応答フラグが１に更新されてから所定時間経過していない場合（Ｓ２６で「Ｎｏ」）、基本イメージ送信部２０は、再度、ｉ番目のデータブロックを同グループ内のメンバーに対してマルチキャストで送信する（Ｓ２３）。
【００５８】
応答フラグが１に更新されてから所定時間経過した場合（Ｓ２６で「Ｙｅｓ」）、基本イメージ送信部２０は、応答のなかったメンバーに対する処理を打ち切る（Ｓ２７）。それから、基本イメージ送信部２０は、応答フラグを０に更新する（Ｓ２８）。
【００５９】
そして、基本イメージ送信部２０は、再度、ｉ番目のデータブロックを同グループ内のメンバーに対してマルチキャストで送信する（Ｓ２３）。送信後、基本イメージ送信部２０は、各メンバー（処理を打ち切ったメンバーを除く）から所定時間内に応答（ＡＣＫ）を受信した否かを判定する（Ｓ２４）。
【００６０】
それから、基本イメージ送信部２０は、各メンバー（処理を打ち切ったメンバーを除く）から所定時間内に応答（ＡＣＫ）を受信しなかった場合（Ｓ２４で「Ｎｏ」）、Ｓ２５〜Ｓ２８，Ｓ２３の処理を繰り返す。
【００６１】
基本イメージ送信部２０は、各メンバー（処理を打ち切ったメンバーを除く）から所定時間内に応答（ＡＣＫ）を受信した場合（Ｓ２４で「Ｙｅｓ」）、ｉ≦Ｎか否かを判定する。ｉ≦Ｎの場合（Ｓ２９で「Ｙｅｓ」）、基本イメージ送信部２０は、ｉをインクリメントして（Ｓ３０）、Ｓ２３の処理へ進む。ｉ≦Ｎが成立する間、基本イメージ送信部２０は、Ｓ２３〜Ｓ３０の処理を繰り返す。ｉ＞Ｎとなったら（Ｓ２９で「Ｎｏ」）、本フローの処理は終了する。
【００６２】
本実施形態によれば、グループ内の各メンバーが差分イメージを作成する際に、代表端末は、基本イメージをマルチキャストで送信し、同グループに属するメンバーは基本イメージとの差分イメージのみをサーバへ送ることが可能になる。その結果、全端末のバックアップに必要な時間が短縮され、送信するデータ量も減らすことができる。
【００６３】
＜第２の実施形態＞
ネットワーク上の全端末を同時にバックアップした場合でも、一台毎あるいは数台ずつに分けてバックアップした場合でも、バックアップ対象の端末数の増加に伴い、バックアップに必要なサーバの記憶装置の記憶容量が端末数に比例して増大する。また、バックアップ対象となる端末数の増加に伴い、バックアップ処理全体にかかる時間が端末数に比例して増大する。
【００６４】
そこで、本実施形態では、サーバとネットワークに対する負荷、バックアップ全体のデータ量、及びバックアップ処理全体にかかる時間を軽減することができるバックアップシステムについて説明する。なお、本実施形態において、第１の実施形態と同じ構成または機能には第１の実施形態と同じ符号を付してその説明を省略する。
【００６５】
図９は、第２の実施形態におけるサーバと端末の機能ブロックの一例を示す。サーバ２は、記憶部１１、制御部１５ａを含む。記憶部１１は、イメージ格納域１２を有する。また、記憶部１１には、性能管理テーブル５１、代表端末判定テーブル５２、グループ管理テーブル５３、端末管理テーブル５４が格納されている。なお、記憶部１１は、サーバ２に内蔵されていてもよいし、外付けタイプであってもよい。
【００６６】
性能管理テーブル５１には、ネットワーク５に接続されている端末４の機種毎の性能情報の一部が予め格納されている。代表端末判定テーブル５２は、代表端末決定部５８が代表端末を決定する場合に用いる作業用テーブルである。グループ管理テーブル５３は、図２のグループ管理テーブル１３と同様に、ネットワーク５上のグループを管理するために用いられる。端末管理テーブル５４は、図２の端末管理テーブル１４と同様に、各グループに属する端末（メンバー）を管理するために用いるものである。
【００６７】
制御部１５ａは、性能情報受信部５５、グループ分類部５６、ファイル保有テーブル受信部５７、代表端末決定部５８、バックアップイメージ受信部１６として機能する。性能情報受信部５５はネットワーク５上の各端末４から性能情報を受信する。グループ分類部５６は、受信した性能情報に応じて各端末４をグループに分類する。グループ分類部５６は、さらに、グループ分類処理後に、各グループに対してマルチキャストアドレスを割り当てる。
【００６８】
ファイル保有テーブル受信部５７は、後述するように、端末４から、ファイル保有テーブル６３を受信する。ファイル保有テーブル６３は、グループ内のメンバー間で相互に共有したファイルデータの属性情報に対応するファイルデータのうち、各端末４が有するファイルデータがどれであるかの判定結果を格納するものである。
【００６９】
代表端末決定部５８は、各端末４から送信されるファイル保有テーブル６３を用いて代表端末判定テーブル５２を作成する。代表端末決定部５８は、その代表端末判定テーブル５２を用いて、グループ毎に、基本イメージ及び差分イメージを含むバックアップイメージの総和が最小となるように、各グループに属する端末４から代表端末を選定する。
【００７０】
バックアップイメージ受信部１６は、第１の実施形態と同じである。すなわち、バックアップイメージ受信部１６は、図７で説明したように、各グループの代表端末に対して、本実施形態に係るバックアップを実行するように命令をしたり、各端末から送信されたバックアップイメージを取得して、イメージ格納域１２に格納したりする。
【００７１】
端末４は、記憶部１７、制御部１８ａを含む。記憶部１７は、イメージ格納域６１を有する。イメージ格納域６１には、記憶部１７のフルバックアップイメージを格納したり、代表端末より送信された基本イメージを格納することができる。また、記憶部１７には、ファイル属性テーブル６２、ファイル保有テーブル６３が格納される。
【００７２】
また、記憶部１７には、ファイルシステムにより管理されている、バックアップ対象となる、ファイルも格納されている。なお、記憶部１７は、端末４に内蔵されていてもよいし、外付けタイプであってもよい。
【００７３】
制御部１８ａは、第１の実施形態と同様に、バックアップイメージ作成部１９、基本イメージ送信部２０、基本イメージ受信部２１、差分イメージ作成部２２、差分イメージ送信部２３として機能する。さらに、制御部１８ａは、ファイル属性テーブル作成部６４、ファイル属性共有部６５、ファイル保有判定部６６、ファイル保有テーブル送信部６７として機能する。
【００７４】
ファイル属性テーブル作成部６４は、記憶部１７に格納されたファイルに基づいて、ファイル属性テーブル６２を作成する。ファイル属性テーブル６２には、ファイルの属性を示す情報（ファイル属性情報）が格納される。
【００７５】
ファイル属性共有部６５は、ファイル属性テーブル６２から、他の端末から送信されたファイル属性情報以外のファイル属性情報を抽出し、その抽出したファイル属性情報をマルチキャストで同グループの他のメンバーに送信する。マルチキャストによる送信方法は、図８で説明したものと同様である。これにより、グループ内の各メンバーの有しているファイル属性情報をメンバー間で相互に交換して共有させる。
【００７６】
ファイル保有判定部６６は、自端末のファイル属性テーブル６２のファイル属性情報と、他の端末と共有したファイル属性情報とを用いて、ファイル保有テーブル６３を作成する。ファイル保有テーブル６３は、グループ内の各メンバーの有しているファイル属性情報を共有させ、その共有させたファイル属性情報に対応するファイルのうち、自端末で利用しているファイルがどれであるかが判定された結果が格納される。
【００７７】
バックアップイメージ作成部１９は、第１の実施形態と同じである。すなわち、バックアップイメージ作成部１９は、図７で説明したように、端末４の記憶部１７のフルバックアップイメージを作成する。具体的には、バックアップイメージ作成部１９は、端末４の記憶部１７に格納されたファイルを、ファイルシステムのファイル構造を保ったまま、１つのイメージファイル（フルバックアップイメージ）として、イメージ格納域６１に記憶する。
【００７８】
基本イメージ送信部２０は、第１の実施形態と同じである。すなわち、基本イメージ送信部２０は、図８で説明したように、作成した基本イメージを所定の単位で分割して、その分割した基本イメージを、データブロック単位で、同グループのメンバーにマルチキャストで送信する。
【００７９】
基本イメージ受信部２１は、第１の実施形態と同じである。すなわち、基本イメージ受信部２１は、図７で説明したように、代表端末から送信された基本イメージを受信する。
差分イメージ作成部２２は、第１の実施形態と同じである。すなわち、差分イメージ作成部２２は、図７で説明したように、当該端末４自身の記憶部１７のフルバックアップイメージと、代表端末から送信された基本イメージとの差分（差分イメージ）をとる。
【００８０】
差分イメージ送信部２３は、第１の実施形態と同じである。すなわち、差分イメージ送信部２３は、図７で説明したように、差分イメージ作成部２２で得られた差分イメージをサーバ２へ送信する。
【００８１】
図１０は、第２の実施形態における性能管理テーブルの一例を示す。性能管理テーブル５１には、ネットワーク５に接続されている端末４の性能情報が予め格納されている。
性能管理テーブル５１は、例えば、「機種名」８１、「ＣＰＵ」８２、「メモリ容量」８３、「ハードディスク容量」８４、「ＬＡＮドライバ」等のデータ項目を含む。
【００８２】
「機種名」８１には、端末４の種類または名称が格納される。「ＣＰＵ」８２には、その機種に搭載されているＣＰＵの種類または名称が格納される。「メモリ容量」８３には、その機種に搭載されているメモリ容量が格納されている。「ハードディスク容量」８４には、その機種に搭載されているハードディスクドライブの記憶容量が格納されている。「ＬＡＮドライバ」８５には、その機種のＬＡＮドライバの種類または名称が格納されている。
【００８３】
図１１は、第２の実施形態における代表端末判定テーブルの一例を示す。代表端末判定テーブル５２は、各端末４から送信されるファイル保有テーブル６３に基づいて、代表端末決定部５８によって、グループ単位で作成される。代表端末判定テーブル５２は、グループ内のどの端末を代表端末とすれば、グループ内の総バックアップデータが最小となるか判断するためのテーブルである。
【００８４】
代表端末判定テーブル５２は、例えば、「ファイル属性情報」９１、「端末名（メンバー）」９２、「保有数」９３、「ファイルサイズ×保有数」９４等のデータ項目を含む。「ファイル属性情報」９１は、「ファイル名」９１ａと「ファイルサイズ」９１ｂを含む。代表端末判定テーブル５２の詳細については後述する。
【００８５】
図１２は、第２の実施形態におけるグループ管理テーブルの一例を示す。グループ管理テーブル５３は、例えば「グループ番号」１０１、「ＯＳ名」１０２、「修正プログラム番号」１０３、「ＯＳバージョン」１０４、「マルチキャストアドレス」１０５、「基本イメージ名」１０６のデータ項目等を含む。
【００８６】
「グループ番号」１０１には、ネットワーク５上において分類されたグループを識別する情報が格納される。「ＯＳ名」１０２には、グループ番号で識別されるグループで用いられているＯＳの名称が格納される。「修正プログラム番号」１０３には、ＯＳの修正プログラムの名称が格納される。「ＯＳバージョン」１０４には、ＯＳのバージョンが格納される。「マルチキャストアドレス」１０５には、グループ番号で特定されるグループに対して割り当てられたマルチキャストアドレスが格納される。「基本イメージ名」１０６には、グループ番号で特定されるグループの代表端末の基本イメージを識別する情報が格納される。
【００８７】
図１３は、第２の実施形態における端末管理テーブルの一例を示す。端末管理テーブル５４は、例えば、「端末番号」１１１、「機種名」１１２、「グループ番号」１１３、「ＩＰアドレス」１１４、「差分イメージ名」１１５等のデータ項目を含む。
【００８８】
「端末番号」１１１には、各端末４を識別する情報が格納される。「端末番号」１１２には、各端末４の機種名が格納される。「グループ番号」１１３には、各端末４が属するグループのグループ番号が格納される。「ＩＰアドレス」１１４には、端末のＩＰ（Internet Protocol）アドレスが格納される。「差分イメージ名」１１５には、差分イメージを識別する情報が格納される。なお、端末４が代表端末である場合には、その端末４は差分イメージを作成しないから、「差分イメージ名」１１５には差分イメージ名は格納されない。
【００８９】
図１４は、第２の実施形態におけるファイル属性テーブルの一例を示す。ファイル属性テーブル６２は、記憶部１７に格納される。ファイル属性テーブル６２には、ファイルシステムで管理されているファイルの属性情報（ファイル属性情報）が格納される。
【００９０】
ファイル属性テーブル６２は、例えば、「ファイル名」１２１、「ファイルサイズ」１２２、「更新日」１２３、「ＣＲＣ値」１２４等のデータ項目を含む。ＣＲＣは、Cyclic Redundancy Check（巡回冗長検査）の略称である。
【００９１】
「ファイル名」１２１には、ファイルの名称が格納される。「ファイルサイズ」１２２には、ファイルのサイズ（Byte）が格納される。「更新日」１２３には、ファイルの更新日が格納される。ＣＲＣ値には、各端末４において、各ファイルより生成された、誤り検出のためのＣＲＣ値が格納される。
【００９２】
図１５は、第２の実施形態におけるファイル保有テーブルの一例を示す。ファイル保有テーブル６３は、グループ内に存在するファイルのうち、どのファイルが自端末の有しているファイルであるかを判定するために用いられる。
【００９３】
ファイル保有テーブル６３は、例えば、「ファイル名」１３１、「ファイルサイズ」１３２、「保有フラグ」１３３等のデータ項目を含む。「ファイル名」１３１には、ファイルの名称が格納される。「ファイルサイズ」１３２には、ファイルのサイズが格納される。
【００９４】
「保有フラグ」１３３には、自端末の記憶部１７に格納されているファイルについては、「〇」が格納される。また、他の端末より送信されたファイルと同一のファイルが、自端末の記憶部１７に存在しない場合には、「保有フラグ」１３３には「×」が格納される。なお、他の端末より送信されたファイルと同一のファイルが、自端末の記憶部１７に存在する場合、「保有フラグ」１３３には、既に「〇」が格納されている。
【００９５】
図１６は、第２の実施形態におけるバックアップシステムの処理の一例を示す。まずは、サーバ２は、ネットワーク５上の端末４から性能情報を取得し、その性能情報に応じて、端末４をグループに分類する（Ｓ４１）。それから、サーバ２は、各グループの端末４（メンバー）にグループ単位でマルチキャストアドレスを割り当てる。Ｓ４１の処理の詳細については、図１７で説明する。
【００９６】
次に、各グループにおいて、各メンバーは、保持しているファイルに基づいて、ファイル属性情報を生成する。各メンバーは、そのファイル属性情報をメンバー相互間で交換して、各メンバーが有するファイル属性情報を共有する。各メンバーは、その共有したファイル属性情報から、自身が有しているファイルと自身が有していないファイルとを判定する。各メンバーは、その判定結果を格納したファイル保有テーブル６３をサーバ２へ送信する。サーバ２は、各端末４から送信されたファイル保有テーブル６３に基づいて、グループ単位で、代表端末判定テーブル５２を作成する。サーバ２は、代表端末判定テーブル５２を用いて、グループ毎に、基本イメージ及び差分イメージを含むバックアップイメージの総和が最小となるように、グループ内のメンバーから代表端末を選定する（Ｓ４２）。Ｓ４２の処理の詳細については、図１９で説明する。
【００９７】
サーバ２は、所定のタイミングで、またはユーザからの指示により、各グループの代表端末に対して、バックアップ命令を通知する。これにより、本実施形態のバックアップ処理が実行される（Ｓ５）。Ｓ５の処理については、第１の実施形態（図７）と同様であるので、その説明を省略する。
【００９８】
図１７は、第２の実施形態における端末をグループ化する処理フローを示す。本フローは、図１６のＳ４１の処理の詳細を示す。
まず、サーバ２では、制御部１５ａは、各端末４と通信を行って、サーバ２と各端末４との間の通信速度を計測する（Ｓ５１）。それから、性能情報受信部５５は、ネットワーク５に接続された全端末４に対して、性能情報を送信するように要求情報を送信する（Ｓ５２）。各端末４は、その要求情報を受けると、自身の性能情報をサーバ２に送信する（Ｓ５３）。
【００９９】
グループ分類部５６は、各端末４から送られた性能情報を用いて、端末４をグループに分類する（Ｓ５４）。このとき、グループ分類部５６は、グループ管理テーブル５３及び端末管理テーブル５４を作成する。ここで、グループ管理テーブル５３の「グループ番号」１０１、「ＯＳ名」１０２、「修正プログラム番号」１０３、「バージョン」１０４に値がセットされる。また、端末管理テーブル５４の「端末番号」１１１、「機種名」１１２、「グループ番号」１１３に値がセットされる。Ｓ５４の処理の詳細については、図１９を用いて説明する。
【０１００】
次に、グループ分類部５６は、各グループに、マルチキャストアドレスを割り当てる。そして、グループ分類部５６は、グループ管理テーブル５３及び端末管理テーブル５４を用いて、各グループに属する端末（メンバー）を特定する。それから、グループ分類部５６は、各グループの端末４をマルチキャストのグループのメンバーとして設定する。グループ分類部５６は、グループ毎に割り当てたマルチキャストアドレスを、グループ管理テーブル５３の「マルチキャストアドレス」１０５に設定する（Ｓ５５）。
【０１０１】
ここで、マルチキャスト設定の一例として、グループ分類部５６は、グループ管理テーブル５３及び端末管理テーブル５４に基づいて、各グループの各端末４に対し、そのグループに対応するマルチキャストアドレスを通知する。各端末４は、スイッチ３に対して、ＩＧＭＰを用いて、通知されたマルチキャストアドレスのグループへの参加要求情報（ｊｏｉｎ）を送信する。これにより、各端末４は、通知されたマルチキャストアドレスのグループに参加することができる。このようにして、各グループの各メンバーにマルチキャストアドレスが設定される（Ｓ５６）。
【０１０２】
また、マルチキャスト設定の他の例として、グループ管理テーブル５３及び端末管理テーブル５４に基づいて、サーバ２がMADCAPを用いて、各グループの各メンバーに動的にマルチキャストアドレスを割り当てるようにしてもよい。なお、マルチキャストの設定は上記方法に限定されず、様々なプロトコルや方法を用いて、マルチキャストの設定を行ってもよい。
【０１０３】
図１８は、グループ分類処理を説明するための図である。図１９は、グループ分類処理（Ｓ５４）の詳細を示す。本実施形態におけるグループ分類処理は、第1の実施形態において手動で行ったグループ分類を自動で行う。すなわち、（ｉ）ＯＳ、（ｉｉ）修正プログラム及びＯＳのバージョン、（ｉｉｉ）処理能力の順で、端末４をグループ化する。以下では、図１８を用いて、図１９のグループ分類処理を説明する。
【０１０４】
まず、性能情報受信部５５は、各端末４から送られた性能情報を取得する（Ｓ６１）。このとき、性能情報受信部５５は、各端末４のＩＰアドレスも各端末４から取得する。
グループ分類部５６は、その端末４の性能情報をＯＳ毎に分類する（Ｓ６２）。性能情報に、修正プログラム番号及びＯＳのバージョンに関する情報がない場合、図１８に示すように、上記（ｉ）の分類処理により、グループ１４１，１４３，１４４が得られる。
【０１０５】
次に、グループ分類部５６は、ＯＳ毎に分類した端末の性能情報を、さらに、修正プログラム及びＯＳのバージョン毎に分類する（Ｓ６３）。これにより、図１８に示すように、上記（ｉｉ）の分類処理により、グループ１４５，１４６が得られる。
【０１０６】
さらに、グループ分類部５６は、分類した端末の性能情報から、処理能力の低い端末の性能情報を除き、その除いた端末の性能情報を、別グループにする（Ｓ６４）。これにより、グループ分類部５６は、図１８において、グループ１４３から処理能力の低い端末を、上記（ｉｉｉ）の分類処理により、グループ１４２として独立させることができる。
【０１０７】
ここで、分類した端末の性能情報から、処理能力の低い端末の性能情報を除く方法としては、例えば、図１７のＳ５１で計測した各端末の通信速度を用いる方法がある。具体的には、例えば、グループ分類部５６は、各グループの通信速度の平均μと標準偏差σを算出し、通信速度がμ±σ、μ±２σ、またはμ±３σの範囲内にあるかどうかを判定する。その判定の結果、グループ分類部５６は、その範囲外の通信速度を有する端末を、当該グループから除くようにしてもよい。
【０１０８】
なお、分類した端末の性能情報から、処理能力の低い端末の性能情報を除く他の方法としては、例えば、メモリ容量、ハードディスク容量を用いる方法を採用してもよい。具体的には、例えば、グループ分類部５６は、グループ内の各端末のメモリ容量またはハードディスク容量の平均μと標準偏差σを算出し、容量がμ±σ、μ±２σ、またはμ±３σの範囲内にあるかどうかを判定する。その判定の結果、グループ分類部５６は、その範囲外の通信速度を有する端末を、当該グループから除くようにしてもよい。このとき、グループ分類部５６は、各端末のメモリ容量またはハードディスク容量を、性能情報として各端末から取得してもよいし、機種名をキーとして性能管理テーブル５１から取得してもよい。
【０１０９】
または、分類した端末の性能情報から、処理能力の低い端末の性能情報を除く他の方法としては、例えば、性能管理テーブル５１を用いる方法を採用してもよい。例えば、性能管理テーブル５１に機種の処理能力が低い端末であることを示す情報が予め登録されているとする。そして、グループ分類部５６は、分類した各端末を、性能管理テーブル５１と照合する。照合の結果、その端末が処理能力の低い端末である場合には、グループ分類部５６は、その端末をそのグループから除くようにしてもよい。
【０１１０】
グループ分類部５６は、分類した端末を、グループ管理テーブル５３、端末管理テーブル５４に登録する（Ｓ６５）。すなわち、グループ分類部５６は、分類の結果、形成されたグループそれぞれに、一意の番号（グループ番号）を付与する。グループ分類部５６は、グループ化した性能情報のグループ番号、ＯＳ名、修正プログラム番号、ＯＳのバージョンをグループ管理テーブル５３に登録する。また、グループ分類部５６は、各グループを形成する端末（メンバー）の端末番号、機種名、その端末が属するグループのグループ番号、その端末のＩＰアドレスを端末管理テーブル５４に登録する。
【０１１１】
図２０Ａ及び図２０Ｂは、第２の実施形態における代表端末選定処理（Ｓ４２）のフローを示す。サーバ２の制御部１５ａは、ネットワーク５上の全端末４に、代表端末選定命令を送信する（Ｓ７１）。
【０１１２】
各端末４は、代表端末選定命令を受信すると、各端末４のファイル属性テーブル作成部６４は、記憶部１７に格納されたファイルに基づいて、ファイル属性テーブル６２を作成する。ファイル属性テーブル６２には、ファイルの属性を示す情報（ファイル属性情報）が格納されている。ファイル属性テーブル作成部６４は、ファイル属性テーブル６２のファイル属性情報を、ファイルサイズ順にソートする（Ｓ７２）。
【０１１３】
サーバ２では、制御部１５ａは、各端末４からファイル属性テーブル６２の作成が終了したことを示す通知を受ける。すると、制御部１５ａは、グループ毎に、端末管理テーブル５４の端末情報をＩＰアドレスの小さい順にソートする。
【０１１４】
制御部１５ａは、各グループにおいて、未処理の端末のうち、最小のＩＰアドレスの端末が存在するかを判定する（Ｓ７３）。ここで、未処理の端末とは、まだＳ７５−Ｓ８１の処理がされていない端末をいう。未処理の端末のうち、最小のＩＰアドレスの端末が存在する場合、制御部１５ａは、グループ毎に、その最小のＩＰアドレスの端末４を、処理対象端末（対象端末）として選択する（Ｓ７４）。制御部１５ａは、グループ毎に選択した端末に対して対象端末であること及び対象端末が属するグループのマルチキャストアドレスを通知する。このとき、グループ内において、その選択した対象端末がｋ台目（ｋ：整数）である場合、制御部１５ａは、その対象端末に対して、ｋ台目の対象端末であることも通知する。
【０１１５】
対象端末は、グループ内においてｋ台目の対象端末であること及び対象端末が属するグループのマルチキャストアドレスを示す通知を受ける。このとき、グループ内において、その選択した対象端末が１台目（ｋ＝１）である場合（Ｓ７５で「Ｙｅｓ」）、対象端末のファイル属性共有部６５は、自身のファイル属性テーブル６２から全てのファイル属性情報を抽出する（Ｓ７７）。
【０１１６】
Ｓ７５において、その選択した対象端末が２台目以降（ｋ≧２）である場合（Ｓ７５で「Ｎｏ」）、対象端末のファイル属性共有部６５は、次の処理を行う。すなわち、対象端末のファイル属性共有部６５は、自身のファイル属性テーブル６２から、これまでに受信した他のメンバーのファイルと異なるファイル属性情報を抽出する（Ｓ７６）。
【０１１７】
次に、対象端末のファイル属性共有部６５は、Ｓ７６またはＳ７７で抽出したファイル属性情報を、通知されたマルチキャストアドレスを用いて、グループ内の全メンバーに対してマルチキャスト送信する（Ｓ７８）。マルチキャスト送信処理は、図８で説明した処理と同様のフローでマルチキャスト送信を行う。このとき、対象端末もマルチキャストアドレスのメンバーなので、自身が送信したファイル属性情報が自身に対しても送信されるが、例えば、自身に対して送信されたファイル属性情報は受信後に削除されるようにしてもよい。また、例えば、マルチキャスト送信する前に、次の処理を行ってもよい。すなわち、対象端末は、ＩＧＭＰを用いてスイッチ３に離脱要求情報を送信し、一時的にマルチキャストアドレスのメンバーから離脱する。マルチキャスト送信後に、対象端末は、スイッチ３に対して、ＩＧＭＰを用いて、離脱したマルチキャストアドレスのグループへの参加要求情報（ｊｏｉｎ）を送信する。これにより、当該グループに再参加するようにしてもよい。また、例えば、ＩＧＭＰによる送信元のフィルタ機能が使用できる場合には、マルチキャスト送信の送信元が対象端末自身である場合には受信できないようにフィルタ機能を設定してもよい。
【０１１８】
次に、対象端末以外の、各メンバーのファイル保有判定部６６は、ファイル保有テーブル６３を作成する（Ｓ７９）。まず、ファイル保有判定部６６は、各メンバー自身が作成した自己のファイル属性テーブル６２に含まれる各ファイル属性情報のファイル名、ファイルサイズを、ファイル保有テーブル６３に登録する。ファイル保有判定部６６は、ファイル保有テーブル６３において、その登録したファイル属性情報に対応する「保有フラグ」１３３に「〇」を登録する。
【０１１９】
それから、ファイル保有判定部６６は、各メンバー自身が作成したファイル属性テーブル６２に含まれる各ファイル属性情報と、Ｓ７８で受信した他のメンバーの各ファイル属性情報とを比較する。具体的には、ファイル属性情報のファイル名、ファイルサイズ、更新日、及びＣＲＣ値を比較する。比較の結果、ファイル属性情報が一致しない場合、すなわち、受信した他のメンバーのファイル属性情報が自己のファイル属性テーブル６２にない場合、ファイル保有判定部６６は、次の処理を行う。すなわち、ファイル保有判定部６６は、ファイル属性テーブル６２にないそのファイル属性情報のファイル名、ファイルサイズをファイル保有テーブル６３に登録し、「保有フラグ」１３３に「×」を登録する。一方、比較の結果、ファイル属性情報が一致する場合、受信した他のメンバーのファイル属性情報が自己のファイル属性テーブル６２に既に存在している。このとき、ファイル保有テーブル６３にも既にそのファイル属性情報のファイル名、ファイルサイズ、保有フラグが登録されている。Ｓ７９の処理については、図２１を用いて詳述する。
【０１２０】
各メンバーのファイル保有判定部６６は、ファイル保有テーブル６３の作成処理終了を対象端末に通知する（Ｓ８０）。グループ内の全メンバーからＳ８０の通知を受信したら、対象端末は、サーバ２に、自己の処理終了を通知する（Ｓ８１）。
【０１２１】
すると、サーバ２において、制御部１５ａは、Ｓ７３、Ｓ７４の処理を行い、グループ内の全メンバーにおいてＳ７５−Ｓ８１の処理が繰り返し行われる。ここで、Ｓ７９の処理について説明する。
【０１２２】
図２１は、第２の実施形態における各メンバーのファイル保有テーブルの作成・更新を説明するための図である。図２１の最上段に、グループ内のメンバーである端末ｈ，ｎ，ｎ＋１，ｎ＋２，ｎ＋３，ｎ＋４それぞれの、ファイル属性情報（説明の都合上、ファイル名のみが表示されている）が示されている。すなわち、端末ｈは、「ファイル１」、「ファイル２」、「ファイル３」のファイル属性情報を有する。端末ｎは、「ファイル１」、「ファイル４」、「ファイル５」、「ファイル６」のファイル属性情報を有する。端末ｎ＋１は、「ファイル１」、「ファイル２」、「ファイル３」、「ファイル５」、「ファイル６」、「ファイル７」のファイル属性情報を有する。端末ｎ＋２は、「ファイル３」、「ファイル５」、「ファイル６」、「ファイル８」のファイル属性情報を有する。端末ｎ＋３は、「ファイル２」、「ファイル３」、「ファイル６」、「ファイル７」、「ファイル８」のファイル属性情報を有する。端末ｎ＋４は、「ファイル１」、「ファイル２」、「ファイル４」、「ファイル５」、「ファイル６」のファイル属性情報を有する。
【０１２３】
図２１において、（１）−（６）は、グループ内の各メンバーのファイル保有テーブル６３の作成・更新の過程を示す。なお、説明の都合上、ファイル保有テーブル６３は、ファイル名（番号のみ）と保有フラグのみが表示されている。また、端末は、ｈ，ｎ，ｎ＋１，ｎ＋２，ｎ＋３，ｎ＋４の順で対象端末を担当するものとする。
【０１２４】
まず、図２１の（１）に示すように、端末ｈが対象端末である場合、対象端末ｈは、自身のファイル属性テーブルから全てのファイル１，２，３のファイル属性情報を抽出し、抽出したファイル１，２，３のファイル属性情報をマルチキャストで送信する。すると、例えば、端末ｎは、自身が保有しているファイル１，４，５，６について、ファイル保有テーブル６３の保有フラグを「○」にセットする。それから、端末ｎは、対象端末ｈから受信したファイル１，２，３のファイル属性情報のうち、自身が保有していないファイル３，４についてファイル保有テーブル６３にレコードを追加し、その保有フラグを「×」にセットする。他の端末ｎ＋１，ｎ＋２，ｎ＋３，ｎ＋４も同様に、処理を行う。
【０１２５】
次に、図２１の（２）に示すように、端末ｎが対象端末である場合、対象端末ｎは、次の処理を行う。すなわち、対象端末ｎは、自身のファイル属性テーブル６２から、これまでに受信した他のメンバーのファイル属性情報（ファイル１−３）と異なるファイル属性情報であるファイル４，５，６のファイル属性情報を抽出する。対象端末ｎは、抽出したファイル４，５，６のファイル属性情報をマルチキャストで送信する。すると、例えば、端末ｎ＋１は、対象端末ｎから受信したファイル４，５，６のファイル属性情報のうち、自身が保有していないファイル４についてファイル保有テーブル６３にレコードを追加し、その保有フラグを「×」にセットする。他の端末ｈ，ｎ＋２，ｎ＋３，ｎ＋４も同様に、処理を行う。なお、前回、対象端末であった端末ｈについては、ファイル保有テーブル６３を作成していなかったので、今回新たに作成される。
【０１２６】
次に、図２１の（３）に示すように、端末ｎ＋１が対象端末である場合、対象端末ｎ＋１は、次の処理を行う。すなわち、対象端末ｎ＋１は、自身のファイル属性テーブル６２から、これまでに受信した他のメンバーのファイル属性情報（ファイル１−６）と異なるファイル属性情報であるファイル７のファイル属性情報を抽出する。対象端末ｎ＋１は、抽出したファイル７のファイル属性情報をマルチキャストで送信する。すると、例えば、端末ｎ＋２は、対象端末ｎ＋１から受信したファイル７のファイル属性情報を有していないから、ファイル７についてファイル保有テーブル６３にレコードを追加し、その保有フラグを「×」にセットする。他の端末ｈ，ｎ，ｎ＋３，ｎ＋４も同様に、処理を行う。
【０１２７】
次に、図２１の（４）に示すように、端末ｎ＋２が対象端末である場合、対象端末ｎ＋２は、次の処理を行う。すなわち、対象端末ｎ＋２は、自身のファイル属性テーブル６２から、これまでに受信した他のメンバーのファイル属性情報（ファイル１−７）と異なるファイル属性情報であるファイル８のファイル属性情報を抽出する。対象端末ｎ＋２は、抽出したファイル８のファイル属性情報をマルチキャストで送信する。すると、例えば、端末ｎ＋３は、対象端末ｎ＋１から受信したファイル８のファイル属性情報のを有しているから、ファイル保有テーブル６３の更新を行わない。他の端末ｈ，ｎ，ｎ＋１，ｎ＋４も同様に、処理を行う。
【０１２８】
次に、図２１の（５）に示すように、端末ｎ＋３及びｎ＋４がそれぞれ対象端末になった場合、端末ｎ＋３及びｎ＋４が保有するファイル属性情報は、これまでに受信したファイル属性情報と相違するものがない。したがって、対象端末ｎ＋３及びｎ＋４は、自身のファイル属性情報の送信を行わない。
【０１２９】
グループ内の全メンバーが対象端末としての処理が終了した後、各メンバーのファイル保有テーブル６３は、図２１の（６）に示すように更新されている。それでは、再び、図２０Ａ及び図２０Ｂの説明に戻る。
【０１３０】
各グループにおいて、未処理の端末が存在しなくなった場合（Ｓ７３で「Ｎｏ」）、制御部１５ａは、全端末４へ各自のファイル保有テーブル６３を送信するように要求情報を送信する（Ｓ８２）。各端末４のファイル保有テーブル送信部６７は、その要求情報を受信すると、ファイル保有テーブル６３をサーバ２に送信する（Ｓ８３）。
【０１３１】
サーバ２のファイル保有テーブル受信部５７は、各端末４から送られたファイル保有テーブル６３を受信する。代表端末決定部５８は、各端末４から送られたファイル保有テーブル６３から、グループ毎に代表端末判定テーブル５２を作成する（Ｓ８４）。たとえば、あるグループのメンバーから送信されたファイル保有テーブル６３が図２１の（６）で示す内容である場合、代表端末決定部５８は、次の処理を行う。すなわち、代表端末決定部５８は、各端末４から送られたファイル保有テーブル６３を、ファイル名を用いて結合させて、図１１に示すような代表端末判定テーブル５２を生成する。
【０１３２】
このとき、代表端末判定テーブル５２の「ファイル名」９１ａには、グループ内で共有されたファイル属性情報のファイル名が格納される。「ファイルサイズ」９１ｂには、「ファイル名」９１ａに格納されたファイルに対応するファイルサイズが格納される。「端末名（メンバー）」９２には、グループ内のメンバーの端末名と、その端末より送信されたファイル保有テーブル６３の「保有フラグ」１３３の内容が、ファイル名に対応付けられて格納される。
【０１３３】
「保有数」９３には、そのファイルを保有している端末の数が格納される。例えば、ファイル１について、保有フラグの「〇」の数を数えると、端末ｈ，ｎ，ｎ＋１，ｎ＋４で示される４台の端末がファイル１を有している。したがって、「保有数」９３には、「４」が格納される。
【０１３４】
「ファイルサイズ×保有数」９４には、「ファイルサイズ」９１ｂに格納された値に、「保有数」９３に格納された値を乗じた値が格納される。
次に、代表端末決定部５８は、代表端末判定テーブル５２を用いて、代表端末を決定する（Ｓ８５）。これについては、図２２を用いて説明する。
【０１３５】
なお、代表端末の決定後、図１６のＳ５の処理、具体的には、Ｓ７のＳ１４において、代表端末がマルチキャストで基本イメージを送信しても、自身に対してもその基本イメージが送信されることがないように、制御部１５ａは対処してもよい。すなわち、制御部１５ａは、第１の実施形態で説明したように、代表端末として決定された端末に対して、ＩＧＭＰを用いてスイッチ３に離脱要求情報を送信し、マルチキャストアドレスのメンバーから離脱するように命令情報を送信してもよい。ただし、Ｓ７のＳ１４において、ＩＧＭＰによる送信元のフィルタ機能を用いる場合には、代表端末として決定された端末は、マルチキャストアドレスのメンバーから離脱しなくてもよい。すなわち、Ｓ７のＳ１４において、マルチキャスト送信の送信元が代表端末自身である場合には、ＩＧＭＰによる送信元のフィルタ機能を用いて受信できないようにしてもよい。また、制御部１５ａは、グループ管理テーブル５３及び端末管理テーブル５４に基づいて、MADCAPを用いて、各グループの各メンバーに動的にマルチキャストアドレスを割り当てるようにしてもよい。
これにより、Ｓ４２の処理が終了する。
【０１３６】
図２２は、第２の実施形態における代表端末判定テーブル５２を用いて代表端末を決定する方法について説明するための図である。ここで、ファイル名をi、ファイルサイズをｓi，グループ内のメンバー（端末）をj、保有数をｒiで表す。また、「端末名（メンバー）」９２における保有フラグを式（１）に示すように、Bijで表す。
【０１３７】
【数１】
0005682436.tif 000002
【０１３８】
すると、バックアップデータ総量は、式（２）で表される。ここで、以下の式において、「m」はメンバー数を示す。
【０１３９】
【数２】
0005682436.tif 000003
式（２）の前半の項は、例えば、ｊ＝ｎ＋４の場合、図２２の代表端末判定テーブル５２上において、破線で囲んだ部分のファイルサイズの合計を示す。式（２）の後半の項は、例えば、ｊ＝ｎ＋４の場合、図２２の代表端末判定テーブル５２上において、実線で囲んだ部分のファイルサイズの合計を示す。
【０１４０】
式（２）を展開すると、式（３）が得られる。
【０１４１】
【数３】
0005682436.tif 000004
式（３）の前半の項は、全てのファイルをバックアップした場合の総量Ｔを示す。式（３）の後半の項は、メンバー間において重複しているファイルのデータ総量（重複データ総量Ｄj）を示す。Ｄjが最大となれば、総バックアップデータ量が最小となる。よって、Ｄjが最大となるｊが代表端末として最適である。例えば、図２２の代表端末判定テーブル５２では、重複データ総量Ｄn+4が１４７と最大なのは端末（ｎ＋４）であるので、代表端末決定部５８は、端末（ｎ＋４）を代表端末として選択する。
【０１４２】
このように、各メンバーの保有する全ファイル属性情報がメンバー間で相互にマルチキャスト送信されて、メンバー相互間で共有される。各メンバーは、共有されたファイル属性情報のうち各メンバーが保有するファイルがどれかを判定する処理を行う。サーバは、その判定結果を各メンバーから取得し、全メンバーのバックアップデータを合計したときに、重複データの量が最も多い代表端末を決定することができる。なお、Ｓ４２の処理は、例えば、端末４を使用しない時間帯に行うようにするのが好ましい。
【０１４３】
図２３は、サーバ２または端末４のハードウェア環境の構成ブロック図である。サーバ２または端末４は、ＣＰＵ１５２、ＲＯＭ１５３、ＲＡＭ１５６、通信Ｉ／Ｆ１５４、記憶装置１５７、出力Ｉ／Ｆ１５１、入力Ｉ／Ｆ１５５、読み取り装置１５８、バス１５９、出力機器１６１、入力機器１６２によって構成されている。
【０１４４】
ここで、ＣＰＵは、中央演算装置を示す。ＲＯＭは、リードオンリメモリを示す。ＲＡＭは、ランダムアクセスメモリを示す。Ｉ／Ｆは、インターフェースを示す。バス１５９には、ＣＰＵ１５２、ＲＯＭ１５３、ＲＡＭ１５６、通信Ｉ／Ｆ１５４、記憶装置１５７、出力Ｉ／Ｆ１５１、入力Ｉ／Ｆ１５５、及び読み取り装置１５８が接続されている。読み取り装置１５８は、可搬型記録媒体を読み出す装置である。出力機器１６１は、出力Ｉ／Ｆ１５１に接続されている。入力機器１６２は、入力Ｉ／Ｆ１５５に接続にされている。
【０１４５】
記憶装置１５７としては、ハードディスクドライブ、フラッシュメモリ装置、磁気ディスク装置など様々な形式の記憶装置を使用することができる。
記憶装置１５７またはＲＯＭ１５３には、例えば、上記第１または第２の実施形態で説明した処理を実現するサーバ２側のプログラムまたは端末４側のプログラムが格納されている。また、記憶部１１としての記憶装置１５７またはＲＯＭ１５３は、イメージ格納域１２、性能管理テーブル５１、代表端末判定テーブル５２、グループ管理テーブル５３、端末管理テーブル５４等を含む。記憶部１７としての記憶装置１５７またはＲＯＭ１５３は、イメージ格納域６１、ファイル属性テーブル６２、ファイル保有テーブル６３、ファイル等を含む。
【０１４６】
ＣＰＵ１５２は、記憶装置１５７等に格納した上記第１または第２の実施形態で説明した処理を実現するプログラムを読み出し、当該プログラムを実行する。具体的には、ＣＰＵ１５２は、当該プログラムを実行することにより、制御部１５，１５ａ，１８，１８ａとして機能する。
【０１４７】
第１または第２の実施形態で説明した処理を実現するプログラムは、プログラム提供者側から通信ネットワーク１６０、および通信Ｉ／Ｆ１５４を介して、例えば記憶装置１５７に格納してもよい。また、第１または第２の実施形態で説明した処理を実現するプログラムは、市販され、流通している可搬型記憶媒体に格納されていてもよい。この場合、この可搬型記憶媒体は読み取り装置１５８にセットされて、ＣＰＵ１５２によってそのプログラムが読み出されて、実行されてもよい。可搬型記憶媒体としてはＣＤ−ＲＯＭ、フレキシブルディスク、光ディスク、光磁気ディスク、ＩＣカード、ＵＳＢメモリ装置など様々な形式の記憶媒体を使用することができる。このような記憶媒体に格納されたプログラムが読み取り装置１５８によって読み取られる。
【０１４８】
また、入力機器１６２には、キーボード、マウス、電子カメラ、ウェブカメラ、マイク、スキャナ、センサ、タブレット、タッチパネルなどを用いることが可能である。また、出力機器１６１には、ディスプレイ、プリンタ、スピーカなどを用いることが可能である。また、ネットワーク１６０は、インターネット、ＬＡＮ、ＷＡＮ、専用線、有線、無線等の通信網であってよい。
【０１４９】
第２の実施形態によれば、第１の実施形態の効果に加え、さらに次の効果を得ることができる。すなわち、グループ内において、重複データ総量Ｄjが最大となる端末が代表端末として選択されるので、バックアップシステム１全体としてバックアップデータの総量が低減される。その結果、バックアップシステム１は、バックアップデータ送信のためのデータ伝送量を低減させることができる。また、サーバ２へ送信するデータ量、サーバ２が記憶するデータ量が低減することより、サーバ２の処理の負担が低減するので、サーバ２への一極集中的な負荷を低減させることができる。また、複数の端末間で共通なデータの転送がより不要になるので、全端末のバックアップに必要な時間を短縮することができる。
【０１５０】
以上より、情報処理装置とネットワークを介して接続された２以上の情報処理端末に、情報処理端末が記憶部に記憶しているファイルデータのバックアップを実行させるバックアッププログラムは、以下の処理を情報処理端末に実行させる。情報処理端末が複数の情報処理端末のうち第１端末として指定された場合、一例としてＳ１３に示すように、第１端末は第１端末の記憶部に格納された全てのファイルデータについての第１バックアップイメージを情報処理装置に送信する。それと共に、第１端末は、一例としてＳ１４に示すように、第１端末以外の情報処理装置である第２端末に該第１バックアップイメージを送信する。情報処理端末が第２端末である場合、一例としてＳ１７に示すように、第２端末は、差分イメージを取得する。差分イメージは、第１端末から送信された第１バックアップイメージと、第２端末の記憶部に格納された全てのファイルデータについての第２バックアップイメージとの差分である。第２端末は、一例としてＳ１８に示すように、差分イメージを、情報処理装置に送信する。
【０１５１】
このように構成することにより、サーバとネットワークに対する負荷、及びバックアップ処理全体にかかる時間を軽減することができる。
また、バックアッププログラムは、さらに、以下の処理を情報処理端末に実行させる。情報処理端末は、一例としてＳ７２に示すように、記憶部に格納された全てのファイルデータの属性情報を取得する。情報処理端末は、一例として、Ｓ７８に示すように、他の情報処理端末へ全てのファイルデータの属性情報を送信する。それと共に、情報処理端末は、一例としてＳ７８に示すように、他の情報処理端末の記憶部に格納された全てのファイルデータの属性情報を受信する。これにより、情報処理端末は、情報処理端末間で相互にファイルデータの属性情報を共有する。情報処理端末は、一例としてＳ７９に示すように、共有したファイルデータの属性情報に対応するファイルデータのうち、情報処理端末自身が有するファイルデータがどれであるかの判定を行う。情報処理端末は、一例としてＳ８３に示すように、判定した結果を情報処理装置へ送信する。
【０１５２】
このように構成することにより、サーバへファイル保有テーブルを送信することができる。
また、第１バックアップイメージの送信において、情報処理端末が任意のグループに分類された複数の情報処理端末のうち第１端末として指定された場合、第１端末は、一例としてＳ１３−Ｓ１４に示すように、次の処理を行う。すなわち、第１端末は、記憶部に格納された全てのファイルデータについての第１バックアップイメージを情報処理装置に送信する。それと共に、第１端末は、グループと同一のグループに分類された、第１端末以外の情報処理装置である第２端末に該第１バックアップイメージを送信する。
【０１５３】
また、各情報処理端末とネットワークを介して接続された情報処理装置に、該情報処理端末のファイルデータのバックアップの制御処理を実行させるバックアッププログラムは、以下の処理を情報処理装置に実行させる。
【０１５４】
情報処理装置は、一例としてＳ８４に示すように、判定結果を各情報処理端末から受信する。ここで、判定結果とは、グループ内の情報処理端末間で相互に送受信されて共有されたファイルデータの属性情報に対応するファイルデータのうち各情報処理端末が有するファイルデータがどれであるかが判定されたものである。情報処理装置は、一例としてＳ８４−Ｓ８５に示すように、受信した判定結果を用いて、グループ内で重複して保有されたファイルデータのデータ量に応じて、グループ内のいずれかの情報処理端末を第１端末として決定する。情報処理装置は、一例としてＳ１３に示すように、第１端末の記憶部に格納された全てのファイルデータについての第１バックアップイメージを受信する。さらに、情報処理装置は、一例としてＳ１９に示すように、第１端末の属するグループに分類された、第１端末以外の情報処理装置である第２端末から、差分イメージを受信する。差分イメージとは、第１端末から第２端末へ送信された第１バックアップイメージと、第２端末の記憶部に格納された全てのファイルデータについての第２バックアップイメージとの差分である。情報処理装置は、一例としてＳ１９に示すように、第１バックアップイメージと差分イメージを記憶部に格納する。
【０１５５】
このように構成することにより、サーバとネットワークに対する負荷、バックアップ全体のデータ量、及びバックアップ処理全体にかかる時間を軽減することができる。
また、情報処理装置は、一例として、Ｓ５４（Ｓ６１）に示すように、各情報処理端末から各情報処理端末の性能情報を取得する。情報処理装置は、一例としてＳ５４（Ｓ６２−Ｓ６４）に示すように、性能情報に応じて各情報処理端末をグループに分類する。性能情報は、情報処理端末で用いられているオペレーティングシステムの種類、オペレーティングシステムのバージョン、及びオペレーティングシステムの修正プログラムのバージョンに関する情報を含む。一例としてＳ６２−Ｓ６３に示すように、情報処理装置は、オペレーティングシステムの種類、オペレーティングシステムのバージョン、およびオペレーティングシステムの修正プログラムのバージョンに関する情報に基づいて、各情報処理端末をグループに分類する。
【０１５６】
このように構成することにより、端末の処理能力に応じて、グループに分類することができる。
また、情報処理端末をグループに分類する場合、情報処理装置は、一例として、Ｓ６４に示すように、分類した情報処理端末を、さらに、通信速度に応じて分類する。
【０１５７】
このように構成することにより、分類した端末の性能情報から、処理能力の低い端末の性能情報を除き、その除いた性能情報に対応する端末を別グループにすることができる。
また、一例としてＳ８５に示すように、各情報処理端末から受信した判定結果を用いて、情報処理装置は、グループ内の各情報処理端末で重複して保有されたファイルデータのうち、保有するファイルのデータ量が最も大きい情報処理端末を第１端末として決定する。
【０１５８】
このように構成することにより、全メンバーのバックアップデータを合計したときに、重複データの量が最も多くなる代表端末を決定することができる。これにより、グループ単位で差分バックアップを行う場合、グループ内での総バックアップデータ量を最小にすることができる。
【０１５９】
なお、本明細書で説明した技術は、以上に述べた実施の形態に限定されるものではなく、当該技術の要旨を逸脱しない範囲内で種々の構成または実施形態を取ることができる。
【０１６０】
上記実施形態に関し、更に以下の付記を開示する。
（付記１）
情報処理装置とネットワークを介して接続された２以上の情報処理端末に、該情報処理端末が記憶部に記憶しているファイルデータのバックアップを実行させるバックアッププログラムであって、
前記情報処理端末が複数の情報処理端末のうち第１端末として指定された場合、該第１端末の記憶部に格納された全てのファイルデータについての第１バックアップイメージを前記情報処理装置に送信すると共に、前記第１端末以外の前記情報処理装置である第２端末に該第１バックアップイメージを送信し、
前記情報処理端末が前記第２端末である場合、前記第１端末から送信された第１バックアップイメージと、前記第２端末の記憶部に格納された全てのファイルデータについての第２バックアップイメージとの差分である差分イメージを抽出し、
前記差分イメージを、前記情報処理装置に送信する
処理を情報処理端末に実行させるバックアッププログラム。
（付記２）
前記バックアッププログラムは、さらに、
前記記憶部に格納された全てのファイルデータの属性情報を取得し、
他の前記情報処理端末へ全ての前記ファイルデータの属性情報を送信すると共に、該他の情報処理端末の記憶部に格納された全てのファイルデータの属性情報を受信して、前記情報処理端末間で相互に全ての前記ファイルデータの属性情報を共有し、
全ての前記共有したファイルデータの属性情報に対応するファイルデータのうち、当該情報処理端末自身が有する前記ファイルデータがどれであるかの判定を行い、
前記判定した結果を前記情報処理装置へ送信する
処理を情報処理端末に実行させることを特徴とする付記１に記載のバックアッププログラム。
（付記３）
前記第１バックアップイメージの送信において、前記情報処理端末が任意のグループに分類された複数の情報処理端末のうち第１端末として指定された場合、該第１端末の記憶部に格納された全てのファイルデータについての第１バックアップイメージを前記情報処理装置に送信すると共に、前記グループと同一のグループに分類された、前記第１端末以外の前記情報処理装置である第２端末に該第１バックアップイメージを送信する
処理を情報処理端末に実行させることを特徴とする付記１に記載のバックアッププログラム。
（付記４）
情報処理装置とネットワークを介して接続された２以上の情報処理端末に、該情報処理端末が記憶部に記憶しているファイルデータのバックアップを実行させるバックアッププログラムであって、
複数の前記情報処理端末のうち第１端末から、第１端末の記憶部に格納された全てのファイルデータについての第１バックアップイメージを受信し、
前記受信した第１バックアップイメージと、前記複数の情報処理端末のうち第２端末の記憶部に格納された全てのファイルデータについての第２バックアップイメージとの差分である差分イメージを抽出し、
前記差分イメージを、前記情報処理装置に送信する
処理を情報処理端末に実行させるバックアッププログラム。
（付記５）
各情報処理端末とネットワークを介して接続された情報処理装置に、該情報処理端末のファイルデータのバックアップの制御処理を実行させるバックアッププログラムであって、
任意のグループに分類された前記情報処理端末間で相互に送受信されて共有されたファイルデータの属性情報に対応するファイルデータのうち前記各情報処理端末が有する前記ファイルデータがどれであるかが判定された判定結果を前記各情報処理端末から受信し、
前記受信した判定結果を用いて、前記グループ内で重複して保有されたファイルデータのデータ量に応じて、前記グループ内のいずれかの前記情報処理端末を第１端末として決定し、
前記第１端末の記憶部に格納された全てのファイルデータについての第１バックアップイメージを受信し、前記第１端末の属するグループに分類された、前記第１端末以外の前記情報処理装置である第２端末から、前記第１端末から該第２端末へ送信された第１バックアップイメージと、該第２端末の記憶部に格納された全てのファイルデータについての第２バックアップイメージとの差分である差分イメージを受信し、
前記第１バックアップイメージと前記差分イメージを記憶部に格納する
処理を情報処理装置に実行させることを特徴とするバックアッププログラム。
（付記６）
前記各情報処理端末から該各情報処理端末の性能情報を取得し、
前記性能情報に応じて該各情報処理端末をグループに分類し、
前記性能情報は、前記情報処理端末で用いられているオペレーティングシステムの種類、オペレーティングシステムのバージョン、及びオペレーティングシステムの修正プログラムのバージョンに関する情報を含み、
前記情報処理端末を前記グループに分類する場合、前記オペレーティングシステムの種類、オペレーティングシステムのバージョン、及びオペレーティングシステムの修正プログラムのバージョンに関する情報に基づいて、前記各情報処理端末をグループに分類する
ことを特徴とする付記５に記載のバックアッププログラム。
（付記７）
前記情報処理端末を前記グループに分類する場合、前記分類した情報処理端末を、さらに、通信速度に応じて分類する
ことを特徴とする付記６に記載のバックアッププログラム。
（付記８）
前記第１端末を決定する場合、前記各情報処理端末から受信した判定結果を用いて、前記グループ内の各情報処理端末で重複して保有されたファイルデータのうち、保有するファイルのデータ量が最も大きい情報処理端末を前記第１端末として決定する
ことを特徴とする付記５に記載のバックアッププログラム。
（付記９）
情報処理装置とネットワークを介して接続され、記憶部に記憶しているファイルデータのバックアップを行う情報処理端末であって、
前記情報処理端末が複数の情報処理端末のうち第１端末として指定された場合、該第１端末の記憶部に格納された全てのファイルデータについての第１バックアップイメージを前記情報処理装置に送信すると共に、前記第１端末以外の前記情報処理装置である第２端末に該第１バックアップイメージを送信する第１バックアップイメージ送信部と、
前記情報処理端末が前記第２端末である場合、前記第１端末から送信された第１バックアップイメージと、前記第２端末の記憶部に格納された全てのファイルデータについての第２バックアップイメージとの差分である差分イメージを抽出する差分イメージ作成部と、
前記差分イメージを、前記情報処理装置に送信する差分イメージ送信部と、
を備えることを特徴とする情報処理端末。
（付記１０）
前記情報端末装置は、さらに、
前記記憶部に格納された全てのファイルデータの属性情報を取得するファイル属性取得部と、
他の前記情報処理端末へ全ての前記ファイルデータの属性情報を送信すると共に、該他の情報処理端末の記憶部に格納された全てのファイルデータの属性情報を受信して、前記情報処理端末間で相互に全ての前記ファイルデータの属性情報を共有する共有部と、
全ての前記共有したファイルデータの属性情報に対応するファイルデータのうち、当該情報処理端末自身が有する前記ファイルデータがどれであるかの判定を行う判定部と、
前記判定した結果を前記情報処理装置へ送信する判定結果送信部と、
を備えることを特徴とする付記９に記載の情報処理端末。
（付記１１）
情報処理装置とネットワークを介して接続され、記憶部に記憶しているファイルデータのバックアップを行う情報処理端末であって、
複数の前記情報処理端末のうち第１端末から、第１端末の記憶部に格納された全てのファイルデータについての第１バックアップイメージを受信する受信部と、
前記受信した第１バックアップイメージと、前記第２端末の記憶部に格納された全てのファイルデータについての第２バックアップイメージとの差分である差分イメージを抽出する差分イメージ作成部と、
前記差分イメージを、前記情報処理装置に送信する差分イメージ送信部と、
を備えることを特徴とする情報処理端末。
（付記１２）
情報処理端末とネットワークを介して接続され、該情報処理端末のファイルデータのバックアップの制御を行う情報処理装置であって、
任意のグループに分類された前記情報処理端末間で相互に送受信されて共有されたファイルデータの属性情報に対応するファイルデータのうち前記各情報処理端末が有する前記ファイルデータがどれであるかが判定された判定結果を前記各情報処理端末から受信する判定結果受信部と、
前記受信した判定結果を用いて、前記グループ内で重複して保有されたファイルデータのデータ量に応じて、前記グループ内のいずれかの前記情報処理端末を第１端末として決定する決定部と、
前記第１端末の記憶部に格納された全てのファイルデータについての第１バックアップイメージを受信し、前記第１端末の属するグループに分類された、前記第１端末以外の前記情報処理装置である第２端末から、前記第１端末から該第２端末へ送信された第１バックアップイメージと、該第２端末の記憶部に格納された全てのファイルデータについての第２バックアップイメージとの差分である差分イメージを受信するイメージ受信部と、
前記第１バックアップイメージと前記差分イメージを格納する記憶部と、
を備えることを特徴とする情報処理装置。
（付記１３）
前記情報処理装置は、さらに、
前記各情報処理端末から該各情報処理端末の性能情報を受信する性能情報受信部と、
該受信した性能情報に応じて該各情報処理端末をグループに分類するグループ分類部と、
を備え、
前記性能情報は、前記情報処理端末で用いられているオペレーティングシステムの種類、オペレーティングシステムのバージョン、及びオペレーティングシステムの修正プログラムのバージョンに関する情報を含み、
前記グループ分類部は、前記オペレーティングシステムの種類、オペレーティングシステムのバージョン、及びオペレーティングシステムの修正プログラムのバージョンに関する情報に基づいて、前記各情報処理端末をグループに分類する
ことを特徴とする付記１２に記載の情報処理装置。
（付記１４）
前記グループ分類部は、前記分類した情報処理端末を、さらに、通信速度に応じて分類する
ことを特徴とする付記１３に記載の情報処理装置。
（付記１５）
前記決定部は、前記各情報処理端末から取得した判定結果を用いて、前記グループ内の情報処理端末相互で重複して保有されたファイルデータのうち、保有するファイルのデータ量が最も大きい情報処理端末を前記第１端末として決定する
ことを特徴とする付記１２に記載の情報処理装置。
（付記１６）
情報処理装置と、ネットワークを介して接続された２以上の情報処理端末とを含むバックアップシステムのバックアップ方法であって、
前記情報処理端末が複数の情報処理端末のうち第１端末として指定された場合、該第１端末は、該第１端末の記憶部に格納された全てのファイルデータについての第１バックアップイメージを前記情報処理装置に送信すると共に、前記第１端末以外の前記情報処理装置である第２端末に該第１バックアップイメージを送信し、
前記情報処理端末が前記第２端末である場合、該第２端末は、前記第１端末から送信された第１バックアップイメージと、前記第２端末の記憶部に格納された全てのファイルデータについての第２バックアップイメージとの差分である差分イメージを抽出し、
前記差分イメージを、前記情報処理装置に送信し、
前記情報処理装置は、受信した前記第１バックアップイメージと前記差分イメージを記憶部に格納する
ことを特徴とするバックアップ方法。
（付記１７）
前記バックアップ方法は、さらに、
前記情報処理端末は、
前記記憶部に格納された前記全てのファイルデータの属性情報を取得し、
前記グループ内の他の前記情報処理端末へ前記全てのファイルデータの属性情報を送信すると共に、該他の情報処理端末の記憶部に格納された全てのファイルデータの属性情報を受信して、前記情報処理端末間で相互に前記ファイルデータの属性情報を共有し、
前記共有したファイルデータの属性情報に対応するファイルデータのうち、当該情報処理端末自身が有する前記ファイルデータがどれであるかの判定を行い、
前記判定した結果を前記情報処理装置へ送信し、
前記情報処理装置は、
前記各情報処理端末から前記判定結果を受信し、
前記受信した判定結果を用いて、前記グループ内で重複して保有されたファイルデータのデータ量に応じて、前記グループ内のいずれかの前記情報処理端末を第１端末として決定する
ことを特徴とする付記１７に記載のバックアップ方法。
（付記１８）
前記情報処理装置は、
前記各情報処理端末から該各情報処理端末の性能情報を取得し、
前記性能情報に応じて該各情報処理端末をグループに分類し、
前記性能情報は、前記情報処理端末で用いられているオペレーティングシステムの種類、オペレーティングシステムのバージョン、及びオペレーティングシステムの修正プログラムのバージョンに関する情報を含み、
前記情報処理端末を前記グループに分類する場合、前記情報処理装置は、前記オペレーティングシステムの種類、オペレーティングシステムのバージョン、及びオペレーティングシステムの修正プログラムのバージョンに関する情報に基づいて、前記各情報処理端末をグループに分類する
ことを特徴とする付記１７に記載のバックアップ方法。
（付記１９）
前記情報処理端末を前記グループに分類する場合、前記情報処理装置は、前記分類した情報処理端末を、さらに、通信速度に応じて分類する
ことを特徴とする付記１８に記載のバックアッププログラム。
（付記２０）
前記第１端末を決定する場合、前記情報処理装置は、前記各情報処理端末から受信した判定結果を用いて、前記グループ内の各情報処理端末で重複して保有されたファイルデータのうち、保有するファイルのデータ量が最も大きい情報処理端末を前記第１端末として決定する
ことを特徴とする付記１９に記載のバックアップ方法。
【符号の説明】
【０１６１】
１      バックアップシステム
２      サーバ
３      スイッチ
４      端末
５      ネットワーク
１１      記憶部
１２      イメージ格納域
１３      グループ管理テーブル
１４      端末管理テーブル
１５，１５ａ      制御部
１６      バックアップイメージ受信部
１７      記憶部
１８，１８ａ      制御部
１９      バックアップイメージ作成部
２０      基本イメージ送信部
２１      基本イメージ受信部
２２      差分イメージ作成部
２３      差分イメージ送信部
５１      性能管理テーブル
５２      代表端末判定テーブル
５３      グループ管理テーブル
５４      端末管理テーブル
５５      性能情報受信部
５６      グループ分類部
５７      ファイル保有テーブル受信部
５８      代表端末決定部
６１      イメージ格納域
６２      ファイル属性テーブル
６３      ファイル保有テーブル
６４      ファイル属性テーブル作成部
６５      ファイル属性共有部
６６      ファイル保有判定部
６７      ファイル保有テーブル送信部
【図１】
0005682436.tif 000005
【図２】
0005682436.tif 000006
【図３】
0005682436.tif 000007
【図４】
0005682436.tif 000008
【図１９】
0005682436.tif 000009
【図２０Ａ】
0005682436.tif 000010
【図２０Ｂ】
0005682436.tif 000011
【図２１】
0005682436.tif 000012
【図２２】
0005682436.tif 000013
【図２３】
0005682436.tif 000014
【図５】
0005682436.tif 000015
【図６】
0005682436.tif 000016
【図７】
0005682436.tif 000017
【図８】
0005682436.tif 000018
【図９】
0005682436.tif 000019
【図１０】
0005682436.tif 000020
【図１１】
0005682436.tif 000021
【図１２】
0005682436.tif 000022
【図１３】
0005682436.tif 000023
【図１４】
0005682436.tif 000024
【図１５】
0005682436.tif 000025
【図１６】
0005682436.tif 000026
【図１７】
0005682436.tif 000027
【図１８】
0005682436.tif 000028