(57)【要約】【課題】データファイルの取得要求に対する応答を送信する際のデータ送信量を削減する。【解決手段】データＩ／Ｏ制御部１０１は、業務サーバー装置３００から、複数の部分データで構成されるデータファイルの取得要求を受信する。重複排除部１０２は、データファイルにおいて同一の部分データが重複して出現する場合に、データファイルの部分データが重複なく含まれるとともに、重複して出現する部分データである重複部分データと重複部分データの重複数とが通知される、取得要求に対する応答を生成する。データＩ／Ｏ制御部１０１は、重複排除部１０２により生成された応答を、業務サーバー装置３００に送信する。【選択図】図１
2017142664.tif 000002
【特許請求の範囲】
【請求項１】
複数の部分データで構成されるデータファイルの取得要求を受信する受信部と、
前記データファイルにおいて同一の部分データが重複して出現する場合に、前記データファイルの部分データが重複なく含まれるとともに、重複して出現する部分データである重複部分データと前記重複部分データの重複数とが通知される、前記取得要求に対する応答を生成する重複排除部と、
前記重複排除部により生成された前記応答を、前記取得要求の送信元に送信する送信部とを有するデータ処理装置。
【請求項２】
前記重複排除部は、
前記データファイルにおける部分データの出現順序に従って前記データファイルの部分データが重複なく配列されるとともに、前記重複部分データが重複して出現する位置に前記重複部分データの複製指示が設定される、前記取得要求に対する応答を生成する請求項１に記載のデータ処理装置。
【請求項３】
前記データ処理装置は、更に、
前記データファイルの部分データを重複なく記憶する記憶領域部を有し、
前記重複排除部は、
前記データファイルでの部分データの構成が部分データの重複を含めて記述されるファイル構成情報を保持しており、
前記記憶領域部から前記データファイルの部分データを重複なく読み出し、
前記記憶領域部から読み出した部分データと前記ファイル構成情報に記述されている部分データの構成とを照合して、前記重複部分データと前記重複部分データの重複数とを導出し、
前記記憶領域部から読み出した部分データが重複なく含まれるとともに、導出した前記重複部分データと前記重複部分データの重複数とが通知される、前記取得要求に対する応答を生成する請求項１に記載のデータ処理装置。
【請求項４】
複数の部分データで構成されるデータファイルの取得要求を送信する第１のデータ処理装置と、
前記第１のデータ処理装置から送信された前記取得要求を受信し、
前記データファイルにおいて同一の部分データが重複して出現する場合に、前記データファイルの部分データが重複なく含まれるとともに、重複して出現する部分データである重複部分データと前記重複部分データの重複数とが通知される、前記取得要求に対する応答を生成し、
生成した前記応答を、前記第１のデータ処理装置に送信する第２のデータ処理装置とを有し、
前記第１のデータ処理装置は、
前記データ処理装置から送信された前記応答を受信し、
前記重複部分データの複製を前記重複数分生成し、
前記応答に含まれる部分データと前記重複部分データの複製とを用いて、前記データファイルを再現するデータ処理システム。
【請求項５】
コンピュータが、複数の部分データで構成されるデータファイルの取得要求を受信する受信処理と、
前記データファイルにおいて同一の部分データが重複して出現する場合に、前記コンピュータが、前記データファイルの部分データが重複なく含まれるとともに、重複して出現する部分データである重複部分データと前記重複部分データの重複数とが通知される、前記取得要求に対する応答を生成する重複排除処理と、
前記コンピュータが、前記重複排除処理により生成された前記応答を、前記取得要求の送信元に送信する送信処理とを有するデータ処理方法。
【請求項６】
複数の部分データで構成されるデータファイルの取得要求を受信する受信処理と、
前記データファイルにおいて同一の部分データが重複して出現する場合に、前記データファイルの部分データが重複なく含まれるとともに、重複して出現する部分データである重複部分データと前記重複部分データの重複数とが通知される、前記取得要求に対する応答を生成する重複排除処理と、
前記重複排除処理により生成された前記応答を、前記取得要求の送信元に送信する送信処理とをコンピュータに実行させるデータ処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データファイルの取得要求に対する応答を送信する際のデータ送信量を削減する技術に関する。
【背景技術】
【０００２】
近年は、バックアップ時間の短縮化や、ディスクの使用容量を削減することを目的として、バックアップシステムの中に重複排除機能を取り入れることが多くなっている。重複排除機能の使い方は、大きく分けて、バックアップアプリケーションの機能を使って処理する方式と、バックアップ用途向け専用ストレージ装置（以下、重複排除装置と記す）を使って処理する２つの方式がある。処理能力を重視する場合や、ディザスタリカバリに対応したシステムが必要な場合には、レプリケーション機能が搭載されている重複排除装置を利用することが多い。
【０００３】
図９は、重複排除装置を使って処理する方式について、一連のバックアップ処理の流れを示したものである。
図９について、一連の処理内容を説明する。
【０００４】
例えば、業務サーバー装置３０００から重複排除装置１０００に対して、ファイルＡ（実データ［ＡＢＣＡＤ］）のバックアップを取得した場合、ファイルＡは、重複排除装置１０００のデータＩ／Ｏ制御部１０１０を通り、重複排除部１０２０に送られる。重複排除部１０２０では、実データをチャンク単位に分割後、分割されたチャンクに対してハッシュ変換を行い、ハッシュ値を算出する。算出されたハッシュ値は、重複排除部１０２０のハッシュ照合部で保持しているＩＤ情報／ハッシュ／チャンク照合表で照会される。ＩＤ情報／ハッシュ／チャンク照合表に該当のハッシュ値が無ければ、そのハッシュ値に関連付いたチャンクを記憶領域部１０４０に格納する。ＩＤ情報／ハッシュ／チャンク照合表に該当するハッシュ値があれば、そのハッシュ値に関連付いたチャンクは、同一のチャンクがすでに記憶領域部１０４０に格納されていると判断し、記憶領域部に格納しない。
ハッシュ照合部では、これら照会済みのチャンクに対して、バックアップ時刻や記憶領域部１０５０での格納先など、ＩＤ情報で管理したメタデータ（以下、ポインタ情報と記す）を作成し、ポインタ格納部に保存する。
【０００５】
この構成では、バックアップデータの保管に必要なディスク容量は削減できるが、実データをすべて重複排除装置１０００に送信してから重複排除を行うため、ネットワーク帯域削減やバックアップ処理時間の短縮化に対しては効果が低い。
【０００６】
このため、最近はバックアップアプリケーションのエージェントと重複排除装置１０００が連携して、業務サーバー装置３０００または、バックアップサーバー装置２０００側で重複排除させたデータを重複排除装置１０００に送信するバックアップ方式も取られるようになってきた。
【０００７】
図１０は、バックアップアプリケーションのエージェントと重複排除装置１０００を連携させた場合のバックアップ処理の流れを示したものである。
図１０について、一連の処理内容を説明する。
【０００８】
例えば、業務サーバー装置３０００から重複排除装置１０００に対して、ファイルＡ（実データ［ＡＢＣＡＤ］）のバックアップを取得した場合、まず、業務サーバー装置３０００上にインストールされたバックアップアプリケーションのエージェントによって、実データがチャンク単位に分割される。次に、分割されたチャンクに対してハッシュ変換が行われ、ハッシュ値が算出される。算出されたハッシュ値は、重複排除装置１０００のハッシュ照合部に送信され、ＩＤ情報／ハッシュ／チャンク照合表で照会される。ＩＤ情報／ハッシュ／チャンク照合表に該当のハッシュ値が無ければ、そのハッシュ値に関連付いたチャンクは、業務サーバー装置３０００から重複排除装置１０００に送信され、記憶領域部１０４０に格納される。ＩＤ情報／ハッシュ／チャンク照合表に該当するハッシュ値があれば、そのハッシュ値に関連付いたチャンクは、すでに同一チャンクが記憶領域部１０４０に格納済みであると判断し、記憶領域部１０４０に格納しない。ハッシュ照合部では、これら照会済みのチャンクに対して、ポインタ情報を作成し、ポインタ格納部に保存する。
【０００９】
この構成では、エージェントを動作させる業務サーバー装置３０００の負荷は増すが、図９の構成と比べて、業務サーバー装置３０００から重複排除装置１０００にかけてのネットワーク帯域削減や、バックアップ処理時間の短縮化に効果がある。
一方で、リストア処理については、いずれの構成においても、ネットワーク帯域を削減することができない仕組みになっている。
なお、リストア処理における通信量を削減する方法として、特許文献１に記載の技術がある。
特許文献１では、バックアップデータのリストア先コンピュータが複数ある場合に、マルチキャストデータ送信とリストアデータの送信順序を工夫することで、同一データの重複転送を回避し、通信量を削減する技術が開示されている。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２０１３−６１８８３号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
ここでは、図１０に示すバックアップアプリケーションのエージェントと重複排除装置１０００を連携させた場合のリストア処理を例に取り、リストア処理がもつ課題を提示する。
【００１２】
図１１は、バックアップアプリケーションのエージェントと重複排除装置１０００を連携させた場合のリストア処理の流れを示したものである。
図１１について、一連の処理内容を説明する。
【００１３】
ある特定のファイルを重複排除装置１０００から業務サーバー装置３０００にリストアする場合、重複排除装置１０００において、ポインタ格納部がリストア対象のポインタ情報を取得する。取得したポインタ情報は、ハッシュ照合部に送信され、ＩＤ情報／ハッシュ／チャンク照合表との照合作業が行われる。照合結果を基に、ハッシュ照合部は、記憶領域部１０４０から重複排除済みデータを収集する。収集した重複排除済みデータは、チャンク復元部に送信される。チャンク復元部は、重複したチャンクを作成する。重複したチャンクは、実データ復元部に送信される。実データ復元部は、整合性の取れた実データを作成する。整合性の取れた実データは、バックアップサーバー装置２０００経由で業務サーバー装置３０００に送信され、業務サーバー装置３０００上の記憶領域に書き込まれる。
なお、この場合の重複排除装置１０００の動作フローを図１４に示し、業務サーバー装置３０００の動作フローを図１５に示す。
【００１４】
このように、リストア処理では、重複排除装置１０００で実データを復元してから、バックアップサーバー装置２０００や業務サーバー装置３０００に送信しているため、バックアップ処理時のようなネットワーク帯域削減や処理時間の短縮化が図れない。
【００１５】
図１２及び図１３は、図９〜図１１のバックアップ／リストア処理で発生するデータ送信量を矢印の太さで示したものである。
図１２は、図９に示すバックアップ処理でのデータ送信量と、図９に示すバックアップ処理に対応するリストア処理でのデータ送信量を示す。
図１３は、図１０に示すバックアップ処理でのデータ送信量と、図１１に示すリストア処理でのデータ送信量を示す。
【００１６】
このように、従来の方式では、リストア処理でのデータ送信量を削減することができないという課題がある。
また、特許文献１の技術では、リストア先コンピュータが複数ある場合に、１つのデータを複数のリストア先コンピュータに同時送信（マルチキャスト）することで、重複転送を回避してデータ送信量を削減することを内容としている。このため、特許文献１の方法では、リストア先コンピュータが複数存在しないと、データ送信量の削減効果が生じない。
【００１７】
本発明は、上記の課題を解決することを主な目的としており、リストア先コンピュータの台数に関わらずに、リストア時、すなわちデータファイルの取得要求に対する応答を送信する際のデータ送信量を削減することを主な目的とする。
【課題を解決するための手段】
【００１８】
本発明に係るデータ処理装置は、
複数の部分データで構成されるデータファイルの取得要求を受信する受信部と、
前記データファイルにおいて同一の部分データが重複して出現する場合に、前記データファイルの部分データが重複なく含まれるとともに、重複して出現する部分データである重複部分データと前記重複部分データの重複数とが通知される、前記取得要求に対する応答を生成する重複排除部と、
前記重複排除部により生成された前記応答を、前記取得要求の送信元に送信する送信部とを有する。
【００１９】
前記重複排除部は、
前記データファイルにおける部分データの出現順序に従って前記データファイルの部分データが重複なく配列されるとともに、前記重複部分データが重複して出現する位置に前記重複部分データの複製指示が設定される、前記取得要求に対する応答を生成する。
【００２０】
前記データ処理装置は、更に、
前記データファイルの部分データを重複なく記憶する記憶領域部を有し、
前記重複排除部は、
前記データファイルでの部分データの構成が部分データの重複を含めて記述されるファイル構成情報を保持しており、
前記記憶領域部から前記データファイルの部分データを重複なく読み出し、
前記記憶領域部から読み出した部分データと前記ファイル構成情報に記述されている部分データの構成とを照合して、前記重複部分データと前記重複部分データの重複数とを導出し、
前記記憶領域部から読み出した部分データが重複なく含まれるとともに、導出した前記重複部分データと前記重複部分データの重複数とが通知される、前記取得要求に対する応答を生成する。
【００２１】
本発明に係るデータ処理システムは、
複数の部分データで構成されるデータファイルの取得要求を送信する第１のデータ処理装置と、
前記第１のデータ処理装置から送信された前記取得要求を受信し、
前記データファイルにおいて同一の部分データが重複して出現する場合に、前記データファイルの部分データが重複なく含まれるとともに、重複して出現する部分データである重複部分データと前記重複部分データの重複数とが通知される、前記取得要求に対する応答を生成し、
生成した前記応答を、前記第１のデータ処理装置に送信する第２のデータ処理装置とを有し、
前記第１のデータ処理装置は、
前記データ処理装置から送信された前記応答を受信し、
前記重複部分データの複製を前記重複数分生成し、
前記応答に含まれる部分データと前記重複部分データの複製とを用いて、前記データファイルを再現する。
【００２２】
本発明に係るデータ処理方法は、
コンピュータが、複数の部分データで構成されるデータファイルの取得要求を受信する受信処理と、
前記データファイルにおいて同一の部分データが重複して出現する場合に、前記コンピュータが、前記データファイルの部分データが重複なく含まれるとともに、重複して出現する部分データである重複部分データと前記重複部分データの重複数とが通知される、前記取得要求に対する応答を生成する重複排除処理と、
前記コンピュータが、前記重複排除処理により生成された前記応答を、前記取得要求の送信元に送信する送信処理とを有する。
【００２３】
本発明に係るデータ処理プログラムは、複数の部分データで構成されるデータファイルの取得要求を受信する受信処理と、
前記データファイルにおいて同一の部分データが重複して出現する場合に、前記データファイルの部分データが重複なく含まれるとともに、重複して出現する部分データである重複部分データと前記重複部分データの重複数とが通知される、前記取得要求に対する応答を生成する重複排除処理と、
前記重複排除処理により生成された前記応答を、前記取得要求の送信元に送信する送信処理とをコンピュータに実行させる。
【発明の効果】
【００２４】
本発明によれば、取得要求に対する応答において、データファイルの部分データを重複なく送信するため、データ送信量を削減することができる。
【図面の簡単な説明】
【００２５】
【図１】実施の形態１に係るデータ処理システムの構成例を示す図。
【図２】実施の形態１に係る重複排除装置の機能構成例を示す図。
【図３】実施の形態１に係る業務サーバー装置の機能構成例を示す図。
【図４】実施の形態１に係るリストア処理でのデータ送信量を示す図。
【図５】実施の形態１に係る重複排除装置の動作例を示すフローチャート図。
【図６】実施の形態１に係る業務サーバー装置の動作例を示すフローチャート図。
【図７】実施の形態１に係る重複排除装置のハードウェア構成例を示す図。
【図８】実施の形態１に係る業務サーバー装置のハードウェア構成例を示す図。
【図９】重複排除装置を使ったバックアップ処理の動作例を示す図。
【図１０】バックアップアプリケーションのエージェントと重複排除装置を連携させた場合のバックアップ処理の動作例を示す図。
【図１１】バックアップアプリケーションのエージェントと重複排除装置を連携させた場合のリストア処理の動作例を示す図。
【図１２】重複排除装置を使ったバックアップ処理とリストア処理のデータ送信量を示す図。
【図１３】バックアップアプリケーションのエージェントと重複排除装置を連携させた場合のバックアップ処理とリストア処理のデータ送信量を示す図。
【図１４】重複排除装置の動作例を示すフローチャート図。
【図１５】業務サーバー装置の動作例を示すフローチャート図。
【発明を実施するための形態】
【００２６】
実施の形態１．
＊＊＊構成の説明＊＊＊
図１は、本実施の形態に係るデータ処理システムの構成例を示す。
本実施の形態では、主にリストア処理でのデータ送信量を削減する方法を説明する。バックアップ処理は、図９又は図１０に示す方法により行われるものとする。つまり、本実施の形態では、図９又は図１０に示す方法によりバックアップ処理が行われたデータファイルのリストア処理においてデータ送信量を削減する方法を説明する。
なお、業務サーバー装置３００は、第１のデータ処理装置の例に相当する。また、重複排除装置１００は、第２のデータ処理装置又はデータ処理装置の例に相当する。また、重複排除装置１００での動作は、データ処理方法及びデータ処理プログラムの例に相当する。
【００２７】
図１において、業務サーバー装置３００は、図９〜図１１に示す業務サーバー装置３０００に対応する。
業務サーバー装置３００は、バックアップ時は、図９又は図１０に示す業務サーバー装置３０００と同様の動作を行う。
リストア時には、業務サーバー装置３００は、図１１に示す動作とは異なり、重複排除装置１０００から送信されたデータセット１２からデータファイルであるファイルＡ１４を再現する。
【００２８】
バックアップサーバー装置２００は、図９〜図１１に示すバックアップサーバー装置２０００に対応する。
バックアップサーバー装置２００は、バックアップ時は、図９又は図１０に示すバックアップサーバー装置２０００と同様の動作を行う。
リストア時には、バックアップサーバー装置２００は、図１１に示す動作とは異なり、重複排除装置１００から送信されたデータセット１２を業務サーバー装置３００に転送する。
【００２９】
重複排除装置１００は、図９〜図１１に示す重複排除装置１０００に対応する。
重複排除装置１００は、バックアップ時は、図９又は図１０に示す重複排除装置１０００と同様の動作を行う。
リストア時には、重複排除装置１００は、図１１に示す動作とは異なり、ファイルＡ１４の部分データを重複なく含み、重複している部分データを通知するデータセット１２を生成し、ファイルＡ１４ではなくデータセット１２を送信する。
重複排除装置１００は、内部構成として、データＩ／Ｏ制御部１０１、重複排除部１０２、データ格納制御部１０３、記憶領域部１０４を有する。
データＩ／Ｏ制御部１０１は、図９〜図１１に示すデータＩ／Ｏ制御部１０１０に対応する。
重複排除部１０２は、図９〜図１１に示す重複排除部１０２０に対応する。
データ格納制御部１０３は、図９〜図１１に示すデータ格納制御部１０３０に対応する。
記憶領域部１０４は、図９〜図１１に示す記憶領域部１０４０に対応する。
なお、データＩ／Ｏ制御部１０１、重複排除部１０２、データ格納制御部１０３、記憶領域部１０４の詳細は後述する。
【００３０】
図２は、本実施の形態に係る重複排除装置１００の機能構成例を示す。また、図７は、本実施の形態に係る重複排除装置１００のハードウェア構成例を示す。
【００３１】
図７に示すように、重複排除装置１００は、ハードウェアとして、プロセッサ９０１、記憶装置９０２及び通信装置９０３を備えるコンピュータである。
記憶装置９０２には、データＩ／Ｏ制御部１０１、重複排除部１０２及びデータ格納制御部１０３の機能を実現するプログラムが記憶されている。
そして、プロセッサ９０１がこれらプログラムを実行して、後述するデータＩ／Ｏ制御部１０１、重複排除部１０２及びデータ格納制御部１０３の動作を行う。
図７では、プロセッサ９０１がデータＩ／Ｏ制御部１０１、重複排除部１０２及びデータ格納制御部１０３の機能を実現するプログラムを実行している状態を模式的に表している。
また、記憶装置９０２は、記憶領域部１０４を実現する。
通信装置９０３は、バックアップサーバー装置２００と通信する回路である。
【００３２】
データＩ／Ｏ制御部１０１は、業務サーバー装置３００から送信された、データファイルの取得要求であるリストア要求をバックアップサーバー装置２００から受信する。
また、データＩ／Ｏ制御部１０１は、リストア要求に対する応答を、リストア要求の送信元である業務サーバー装置３００にバックアップサーバー装置２００を介して送信する。
データＩ／Ｏ制御部１０１は、より具体的には、図７に示す通信装置９０３を用いてリストア要求を受信し、通信装置９０３を用いて応答を送信する。
データファイルであるファイルＡ１４は、部分データＡ、Ｂ、Ｃ、Ａ、Ｄで構成される。各部分データは、ファイルＡ１４を分割して得られたデータである。部分データはチャンクともいう。
なお、データＩ／Ｏ制御部１０１は、受信部及び送信部の例に相当する。また、データＩ／Ｏ制御部１０１で行われる動作は、受信処理及び送信処理の例に相当する。
【００３３】
重複排除部１０２は、ファイルＡ１４において同一の部分データが重複して出現する場合に、ファイルＡ１４の部分データが重複なく含まれるとともに、重複して出現する部分データである重複部分データと重複部分データの重複数とが通知される応答を生成する。
上述のように、ファイルＡ１４は、部分データＡ、Ｂ、Ｃ、Ａ、Ｄで構成されており、部分データＡが重複している。重複排除部１０２は、部分データＡ、Ｂ、Ｃ、ＤというファイルＡ１４の部分データを重複なく含むとともに、部分データＡが重複部分データであることを示し、部品データＡの重複数を通知する応答を生成する。より具体的には、重複排除部１０２は、ファイルＡ１４における部分データの出現順序に従ってファイルＡ１４の部分データが重複なく配列されるとともに、重複部分データが重複して出現する位置に重複部分データの複製指示が設定される応答を生成する。つまり、重複排除部１０２により生成される応答には、部分データＡ、Ｂ、Ｃ、Ｄが配列されるとともに、重複部分データである部分データＡが重複して出現する位置（部分データＣとＤの間）に部分データＡの複製指示が設定される。また、応答には、部分データＡ、Ｂ、Ｃ、Ｄの識別子であるＩＤ情報が含まれる。
以下では、重複排除部１０２により生成される応答は、データセット１２という。
なお、重複排除部１０２は、図２に示すように、ポインタ格納部１、ハッシュ照合部２、ポインタ重複排除部３及びＩＤ情報追加部４を内部構成として含むが、これらポインタ格納部１、ハッシュ照合部２、ポインタ重複排除部３及びＩＤ情報追加部４の詳細は後述する。
重複排除部１０２で行われる動作は、重複排除処理の例に相当する。
【００３４】
データ格納制御部１０３は、記憶領域部１０４から重複が排除されたファイルＡ１４の部分データ群を読み出す。なお、重複が排除されたファイルＡ１４の部分データ群を、重複排除済みデータ１３という。重複排除済みデータ１３は、図２に示すように、部分データＡ、Ｂ、Ｃ、Ｄで構成される。
【００３５】
記憶領域部１０４は、重複排除済みデータ１３を記憶する。すなわち、記憶領域部１０４は、ファイルＡ１１５の部分データを重複なく記憶する。
【００３６】
図３は、本実施の形態に係る業務サーバー装置３００の機能構成例を示す。また、図８は、本実施の形態に係る業務サーバー装置３００のハードウェア構成例を示す。
【００３７】
図８に示すように、業務サーバー装置３００は、ハードウェアとして、プロセッサ９１１、記憶装置９１２及び通信装置９１３を備えるコンピュータである。
記憶装置９１２には、実データ復元部５、ＩＤ情報／実データ分割部６及び書込み制御部７の機能を実現するプログラムが記憶されている。
そして、プロセッサ９１１がこれらプログラムを実行して、後述する実データ復元部５、ＩＤ情報／実データ分割部６及び書込み制御部７の動作を行う。
図８では、プロセッサ９１１が実データ復元部５、ＩＤ情報／実データ分割部６及び書込み制御部７の機能を実現するプログラムを実行している状態を模式的に表している。
通信装置９０３は、バックアップサーバー装置２００と通信する回路である。
【００３８】
実データ復元部５は、データセット１２内の複製指示を、重複部分データである部分データＡへのリンク情報に置換する。
【００３９】
ＩＤ情報／実データ分割部６は、データセット１２からＩＤ情報を除去する。
【００４０】
書込み制御部７は、データセット１２の部分データＡ、Ｂ、Ｃを記憶領域に書き込み、また、部分データＡへのリンク情報に基づき、部分データＡの複製を記憶領域に書き込み、最後に、部分データＤを記憶領域に書き込む。
このようにして、書込み制御部７は、部分データＡ、Ｂ、Ｃ、Ａ、Ｄを記憶領域に書き込み、ファイルＡ１４を復元する。
【００４１】
＊＊＊動作の説明＊＊＊
次に、本実施の形態に係る重複排除装置１００及び業務サーバー装置３００の動作例を図２、図３、図５及び図６を参照して説明する。
図５は、重複排除装置１００の動作例を示すフローチャートであり、図６は、業務サーバー装置３００の動作例を示すフローチャートである。
なお、以下では、業務サーバー装置３００から重複排除装置１００に対してファイルＡ１４についてのリストア要求があった時点以降の重複排除装置１００及び業務サーバー装置３００の動作例を説明する。
なお、図２に示す、ポインタ情報１５及びＩＤ情報／ハッシュ／チャンク照合表１６は、ファイルＡ１４のバックアップ時に生成されているものとする。すなわち、ファイルＡ１４についてのリストア要求があった時点ではポインタ情報１５及びＩＤ情報／ハッシュ／チャンク照合表は既に存在している。
【００４２】
業務サーバー装置３００がファイルＡ１４についてのリストア要求を通信装置９１３から送信すると、バックアップサーバー装置２００がリストア要求を重複排除装置１００に転送する。
重複排除装置１００では、データＩ／Ｏ制御部１０１が通信装置９０３を用いてリストア要求を受信する。そして、データＩ／Ｏ制御部１０１は、リストア要求を重複排除部１０２のポインタ格納部１に転送する。
【００４３】
ポインタ格納部１は、リストア対象のデータファイルであるファイルＡ１４のポインタ情報１５を取得する（ステップＳ５０１）。ポインタ情報１５は、例えば、記憶装置９０２内の記憶領域部１０４とは異なる記憶領域に格納されている。
なお、ポインタ情報１５とは、ファイルＡ１４に含まれる部分データのＩＤ情報が配列された情報である。前述したように、ファイルＡ１４は、部分データＡ、Ｂ、Ｃ、Ａ、Ｄで構成されている。部分データＡは、ＩＤ情報：１が設定されているものとする。部分データＢは、ＩＤ情報：２が設定されているものとする。部分データＣは、ＩＤ情報：７が設定されているものとする。部分データＤは、ＩＤ情報：８が設定されているものとする。従って、ファイルＡ１４のポインタ情報１５は、「１２７１８」である。
ポインタ格納部１は、ポインタ情報１５をハッシュ照合部２に転送する。
【００４４】
次に、ハッシュ照合部２は、ファイルＡ１４のポインタ情報１５に対応するチャンク情報を、ＩＤ情報／ハッシュ／チャンク照合表１６から抽出する（ステップＳ５０２）。
ＩＤ情報／ハッシュ／チャンク照合表１６は、部分データごとに、ＩＤ情報とハッシュ値とチャンク情報とを対応付けたテーブルである。ハッシュ値は、部分データにハッシュ演算を行って得られる値である。チャンク情報は、部分データ（チャンク）を特定する値である。ＩＤ情報／ハッシュ／チャンク照合表１６は、例えば、記憶装置９０２内の記憶領域部１０４とは異なる記憶領域に格納されている。ＩＤ情報／ハッシュ／チャンク照合表１６は、データファイルでの部分データの構成が部分データの重複を含めて記述される情報であり、ファイル構成情報の例に相当する。
ハッシュ照合部２は、ポインタ情報１５に含まれるＩＤ情報：１、２、７、１、８に基づき、ＩＤ情報／ハッシュ／チャンク照合表１６から、ＩＤ情報：１、２、７、１、８と対応付けられているチャンク情報：Ａ、Ｂ、Ｃ、Ａ、Ｄを抽出する。このようにして抽出されたチャンク情報群１７には、ファイルＡ１４の部分データの構成が示される。なお、チャンク情報は、部分データの名称（Ａ、Ｂ等）を破線の四角形で囲んで表現している。一方、実際の部分データは、部分データの名称（Ａ、Ｂ等）を実線の四角形で囲んで表現している。チャンク情報群１７のＡ、Ｂ等は破線で囲まれているのでチャンク情報である。一方、重複排除済みデータ１３のＡ、Ｂ等は実線で囲まれているので、チャンク情報ではなく、実際の部分データである。
ハッシュ照合部２は、抽出したチャンク情報群１７を、ポインタ情報１５とともに、ポインタ重複排除部３に転送する。
【００４５】
ポインタ重複排除部３は、ポインタ情報１５の重複排除処理を行う（ステップＳ５０３）。
つまり、ポインタ情報１５における「１」の重複を排除して、重複排除済みのポインタ情報１８を得る。
【００４６】
また、ポインタ重複排除部３は、重複排除済みのポインタ情報１８をデータ格納制御部１０３を介して記憶領域部１０４に転送する（ステップＳ５０４）。
なお、記憶領域部１０４は、重複排除済みのポインタ情報１８に基づき、重複排除済みデータ１３をＩＤ情報追加部４に出力する。つまり、記憶領域部１０４から、ファイルＡ１４の部分データが重複なく読み出される。
【００４７】
また、ポインタ重複排除部３は、ステップＳ５０４の処理と並行して、ポインタ情報１５とチャンク情報群１７をＩＤ情報追加部４に転送する（ステップＳ５０５）。
【００４８】
ＩＤ情報追加部４は、リストア要求に対する応答であるデータセット１２を生成する（ステップＳ５０６）。
具体的には、ＩＤ情報追加部４は、記憶領域部１０４から読み出された重複排除済みデータ１３とチャンク情報群１７とを照合して、重複部分データと重複部分データの重複数、重複位置を導出する。
図２の例では、ＩＤ情報追加部４は、重複部分データとして部分データＡを導出し、また、重複数、重複位置として、部分データＣと部分データＤとの間を導出する。
そして、ＩＤ情報追加部４は、重複部分データの重複位置に、部分データＡのチャンク情報を挿入する。この部分データＡのチャンク情報は、業務サーバー装置３００に対して、部分データＡが重複部分データであることを通知し、また、重複部分データの重複数が「１」であることを通知する役割を有する。また、この部分データＡのチャンク情報は、業務サーバー装置３００に対して、部分データＡの複製の生成を指示する役割を有する。
また、ＩＤ情報追加部４は、重複排除済みデータ１３とチャンク情報に、ポインタ情報１５に示されるＩＤ情報を付加する。
これにより、データセット１２が完成する。
ＩＤ情報追加部４は、データセット１２をデータＩ／Ｏ制御部１０１に転送する。
【００４９】
最後に、データＩ／Ｏ制御部１０１が通信部９０３を用いて、データセット１２をバックアップサーバー装置２００を介して業務サーバー装置３００にストリーミング送信する（ステップＳ５０７）。
【００５０】
業務サーバー装置３００では、通信部９１３がデータセット１２を受信し、データ復元部５が、データセット１２に含まれるチャンク情報をリンク情報に置き換える（ステップＳ６０１）。
図３の例では、データ復元部５は、部分データＡについてのチャンク情報を、部分データＡへのリンク情報に置き換える。
そして、データ復元部５は、チャンク情報がリンク情報に置き換えられた後のデータセット１２をＩＤ情報／実データ分割部６に転送する。
【００５１】
ＩＤ情報／実データ分割部６は、チャンク情報がリンク情報に置き換えられた後のデータセット１２からＩＤ情報を除去する（ステップＳ６０２）。
そして、ＩＤ情報／実データ分割部６は、ＩＤ情報が除去された後のデータセット１２、すなわち、重複排除済みデータ１３とチャンク情報を書き込み制御部７に転送する。
【００５２】
書き込み制御部７は、ＩＤ情報が除去された後のデータセット１２内の部分データを業務サーバー装置３００内の記憶領域に書き込み、更に、リンク情報に従い、該当する部分データの複製を記憶領域に書き込む（ステップＳ６０３）。
図３の例では、ＩＤ情報が除去された後のデータセット１２の最初の３つは部分データＡ、Ｂ、Ｃなので、書き込み制御部７は、部分データＡ、Ｂ、Ｃを記憶領域に書き込む。次は部分データＡについてのリンク情報なので、書き込み制御部７は部分データＡの複製を生成し、部分データＡの複製を記憶領域に書き込む。次は部分データＤなので、書き込み制御部７は、部分データＤを記憶領域に書き込む。
以上の手順により、ファイルＡ１４が復元される。
【００５３】
＊＊＊実施の形態の効果の説明＊＊＊
このように、本実施の形態では、重複排除済みデータのリストア処理に必要となる複数のコンポーネントを重複排除装置と業務サーバー装置に分散させたことで、従来技術のリストア処理では実現できなかった重複排除装置から業務サーバー装置にかけてのネットワーク帯域削減を可能にしている。
【００５４】
図４は、本実施の形態のリストア処理で発生するデータ送信量を矢印の太さで示している。
本実施の形態では、重複部分データを重複して送信しないため、図７に示すように、図１２及び図１３に示すリストア処理でのデータ送信量と比較して、大幅に少ないデータ送信量でリストア処理を行うことができる。
なお、図２及び図３の例では、説明の簡明のために、ファイルＡ１４において、部分データＡのみが重複している例を用いたが、実際のデータバックアップでは１つのデータファイルに多数の重複部分データが存在する。このため、本実施の形態に係るリストア処理では、従来の構成と比較して、データ送信量を大幅に削減することができる。
【００５５】
＊＊＊ハードウェア構成の説明＊＊＊
最後に、ハードウェア構成の補足説明を行う。
プロセッサ９０１、９１１は、プロセッシングを行うＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）である。
プロセッサ９０１、９１１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）等である。
記憶装置９０２、９１２は、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、フラッシュメモリ、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）等である。
通信装置９０３、９１３は、データを受信するレシーバー及びデータを送信するトランスミッターを含む。
通信装置９０３、９１３は、例えば、通信チップ又はＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）である。
【００５６】
また、記憶装置９０２、９１２には、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）も記憶されている。
そして、ＯＳの少なくとも一部がプロセッサ９０１、９１１により実行される。
プロセッサ９０１、９１１がＯＳを実行することで、タスク管理、メモリ管理、ファイル管理、通信制御等が行われる。
また、重複排除装置１００において、データＩ／Ｏ制御部１０１、重複排除部１０２、データ格納制御部１０３の処理の結果を示す情報やデータや信号値や変数値が、記憶装置９０２、又は、プロセッサ９０１内のレジスタ又はキャッシュメモリに記憶される。
また、業務サーバー装置３００において、実データ復元部５、ＩＤ情報／実データ分離部６、書き込み制御部７の処理の結果を示す情報やデータや信号値や変数値が、記憶装置９１２、又は、プロセッサ９１１内のレジスタ又はキャッシュメモリに記憶される。
また、データＩ／Ｏ制御部１０１、重複排除部１０２、データ格納制御部１０３の機能を実現するプログラムは、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ（登録商標）ディスク、ＤＶＤ等の可搬記憶媒体に記憶されてもよい。
同様に、実データ復元部５、ＩＤ情報／実データ分離部６、書き込み制御部７の機能を実現するプログラムは、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ（登録商標）ディスク、ＤＶＤ等の可搬記憶媒体に記憶されてもよい。
【００５７】
また、重複排除装置１００及び業務サーバー装置３００は、それぞれ、ロジックＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）、ＧＡ（Ｇａｔｅ  Ａｒｒａｙ）、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）、ＦＰＧＡ（Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）といった電子回路により実現されてもよい。
【符号の説明】
【００５８】
１  ポインタ格納部、２  ハッシュ照合部、３  ポインタ重複排除部、４  ＩＤ情報追加部、５  実データ復元部、６  ＩＤ情報／実データ分離部、７  書き込み制御部、１２  データセット、１３  重複排除済みデータ、１４  ファイルＡ、１５  ポインタ情報、１６  ＩＤ情報／ハッシュ／チャンク照合表、１７  チャンク情報群、１８  重複排除済みのポインタ情報、１００  重複排除装置、１０１  データＩ／Ｏ制御部、１０２  重複排除部、１０３  データ格納制御部、１０４  記憶領域部、２００  バックアップサーバー装置、３００  業務サーバー装置。
【図１】
2017142664.tif 000003
【図２】
2017142664.tif 000004
【図３】
2017142664.tif 000005
【図４】
2017142664.tif 000006
【図５】
2017142664.tif 000007
【図６】
2017142664.tif 000008
【図７】
2017142664.tif 000009
【図８】
2017142664.tif 000010
【図９】
2017142664.tif 000011
【図１０】
2017142664.tif 000012
【図１１】
2017142664.tif 000013
【図１２】
2017142664.tif 000014
【図１３】
2017142664.tif 000015
【図１４】
2017142664.tif 000016
【図１５】
2017142664.tif 000017