(57)【特許請求の範囲】
【請求項１】
重複記憶排除機能を有するマスタ側ストレージ装置とレプリカ側ストレージ装置とを備え、
前記マスタ側ストレージ装置及び前記レプリカ側ストレージ装置は、前記マスタ側ストレージ装置に記憶されているファイルを構成する実データを前記レプリカ側ストレージ装置にレプリケーションするレプリケーション実行部をそれぞれ備えており、
前記マスタ側ストレージ装置の前記レプリケーション実行部は、当該マスタ側ストレージ装置に記憶されている前記実データの格納位置を参照するアドレスデータに基づく値であるメタデータを前記レプリカ側ストレージ装置に送信し、その後、当該レプリカ側ストレージ装置からの要求に応じて前記実データを前記レプリカ側ストレージ装置に送信し、
前記レプリカ側ストレージ装置の前記レプリケーション実行部は、前記マスタ側ストレージ装置から送信された前記メタデータを受信して記憶し、その後、当該メタデータに基づいて前記レプリカ側ストレージ装置に記憶されていない前記実データを前記マスタ側ストレージ装置に要求し、当該要求に応じて前記マスタ側ストレージ装置から送信された前記実データを受信して記憶し、
さらに、前記レプリカ側ストレージ装置は、所定のファイルを構成する複数の前記実データをそれぞれ参照する複数の前記メタデータの全てを、前記マスタ側ストレージ装置から受信して記憶すると、当該全てのメタデータに基づいて、当該全てのメタデータに対応する前記実データにて構成されるファイルにアクセス可能なようファイルシステムを形成すると共に、アクセスがあったファイルを構成する前記実データが前記レプリカ側ストレージ装置に記憶されていない場合に前記メタデータに基づいて前記実データを前記マスタ側ストレージ装置に要求するファイルシステムアクセス部を備えた、
ストレージシステム。
【請求項２】
重複記憶排除機能を有するマスタ側ストレージ装置とレプリカ側ストレージ装置とを備え、
前記マスタ側ストレージ装置及び前記レプリカ側ストレージ装置は、前記マスタ側ストレージ装置に記憶されているファイルを構成する実データを前記レプリカ側ストレージ装置にレプリケーションするレプリケーション実行部をそれぞれ備えており、
前記マスタ側ストレージ装置の前記レプリケーション実行部は、当該マスタ側ストレージ装置に記憶されている前記実データの格納位置を参照するアドレスデータに基づく値であるメタデータを前記レプリカ側ストレージ装置に送信し、その後、当該レプリカ側ストレージ装置からの要求に応じて前記実データを前記レプリカ側ストレージ装置に送信し、
前記レプリカ側ストレージ装置の前記レプリケーション実行部は、前記マスタ側ストレージ装置から送信された前記メタデータを受信して記憶し、その後、当該メタデータに基づいて前記レプリカ側ストレージ装置に記憶されていない前記実データを前記マスタ側ストレージ装置に要求し、当該要求に応じて前記マスタ側ストレージ装置から送信された前記実データを受信して記憶し、
さらに、前記レプリカ側ストレージ装置は、前記マスタ側ストレージ装置から受信して記憶した前記メタデータに基づいて、当該メタデータに対応する前記実データにて構成されるファイルにアクセス可能なようファイルシステムを形成すると共に、アクセスがあったファイルを構成する前記実データが前記レプリカ側ストレージ装置に記憶されていない場合に前記メタデータに基づいて前記実データを前記マスタ側ストレージ装置に要求するファイルシステムアクセス部を備え、
前記マスタ側ストレージ装置の前記レプリケーション実行部は、ファイルを構成する前記実データのデータ内容に基づく値である要約情報を前記メタデータとして前記レプリカ側ストレージ装置に送信し、その後、当該レプリカ側ストレージ装置からの前記要約情報に基づく要求に応じて当該要約情報に対応する前記実データを前記レプリカ側ストレージ装置に送信し、
前記レプリカ側ストレージ装置の前記レプリケーション実行部は、前記マスタ側ストレージ装置から送信された前記メタデータとしての前記要約情報を受信して記憶し、その後、当該要約情報に基づいて前記レプリカ側ストレージ装置に記憶されていない前記実データを前記マスタ側ストレージ装置に要求し、当該要求に応じて前記マスタ側ストレージ装置から送信された前記実データを記憶し、
前記レプリカ側ストレージ装置の前記ファイルシステムアクセス部は、前記マスタ側ストレージ装置から受信して記憶した前記メタデータとしての前記要約情報に基づいてファイルにアクセス可能なようファイルシステムを形成すると共に、アクセスがあったファイルを構成する前記実データが前記レプリカ側ストレージ装置に記憶されていないときに前記要約情報に基づいて前記実データを前記マスタ側ストレージ装置に要求し、
前記レプリカ側ストレージ装置の前記レプリケーション実行部及び前記ファイルシステムアクセス部は、前記マスタ側ストレージ装置から受信して記憶した前記要約情報に基づいて、当該要約情報に対応する前記アドレスデータが前記レプリカ側ストレージ装置に記憶されている場合には、当該対応するアドレスデータにて参照される前記レプリカ側ストレージ装置に記憶されている前記実データをレプリケーションしたデータとして用い、前記要約情報に対応する前記アドレスデータが前記レプリカ側ストレージ装置に記憶されていない場合には、前記要約情報を前記マスタ側ストレージ装置に送信して前記実データを前記マスタ側ストレージ装置に要求し、
さらに、前記メタデータは、前記実データに関連する情報を格納するリンク情報と、当該リンク情報に対応付けられたフラグ情報と、を含んで構成されており、
前記マスタ側ストレージ装置の前記レプリケーション実行部は、前記メタデータ内に、前記リンク情報として前記要約情報を格納し、前記フラグ情報として要約情報フラグを格納して、当該メタデータを前記レプリカ側ストレージ装置に送信し、
前記レプリカ側ストレージ装置の前記レプリケーション実行部は、
前記マスタ側ストレージ装置から送信された前記メタデータを受信して記憶し、
その後、記憶した前記メタデータ内の前記要約情報に対応する前記アドレスデータが前記レプリカ側ストレージ装置に記憶されている場合には、当該対応するアドレスデータを前記メタデータ内に前記リンク情報として格納すると共に、前記メタデータ内に前記フラグ情報としてアドレスデータフラグを格納し、前記アドレスデータにて参照される前記レプリカ側ストレージ装置に記憶されている前記実データをレプリケーションしたデータとして用い、
記憶した前記メタデータ内の前記要約情報に対応する前記アドレスデータが前記レプリカ側ストレージ装置に記憶されていない場合には、前記要約情報を前記マスタ側ストレージ装置に送信して前記実データを前記マスタ側ストレージ装置に要求し、当該要求に応じて前記マスタ側ストレージ装置から送信された前記実データを記憶して、当該格納した実データの格納位置を参照する前記アドレスデータを前記メタデータ内に前記リンク情報として格納すると共に、前記メタデータ内に前記フラグ情報として前記アドレスデータフラグを格納し、
前記レプリカ側ストレージ装置の前記ファイルシステムアクセス部は、アクセスされたファイルの前記メタデータ内の前記フラグ情報が前記要約情報フラグである場合には、当該メタデータ内の前記リンク情報として格納されている前記要約情報を前記マスタ側ストレージ装置に送信して前記実データを前記マスタ側ストレージ装置に要求する、
ストレージシステム。
【請求項３】
重複記憶排除機能を有するマスタ側ストレージ装置とレプリカ側ストレージ装置とを備え、
前記マスタ側ストレージ装置及び前記レプリカ側ストレージ装置は、前記マスタ側ストレージ装置に記憶されているファイルを構成する実データを前記レプリカ側ストレージ装置にレプリケーションするレプリケーション実行部をそれぞれ備えており、
前記マスタ側ストレージ装置の前記レプリケーション実行部は、当該マスタ側ストレージ装置に記憶されている前記実データの格納位置を参照するアドレスデータに基づく値であるメタデータを前記レプリカ側ストレージ装置に送信し、その後、当該レプリカ側ストレージ装置からの要求に応じて前記実データを前記レプリカ側ストレージ装置に送信し、
前記レプリカ側ストレージ装置の前記レプリケーション実行部は、前記マスタ側ストレージ装置から送信された前記メタデータを受信して記憶し、その後、当該メタデータに基づいて前記レプリカ側ストレージ装置に記憶されていない前記実データを前記マスタ側ストレージ装置に要求し、当該要求に応じて前記マスタ側ストレージ装置から送信された前記実データを受信して記憶し、
さらに、前記レプリカ側ストレージ装置は、前記マスタ側ストレージ装置から受信して記憶した前記メタデータに基づいて、当該メタデータに対応する前記実データにて構成されるファイルにアクセス可能なようファイルシステムを形成すると共に、アクセスがあったファイルを構成する前記実データが前記レプリカ側ストレージ装置に記憶されていない場合に前記メタデータに基づいて前記実データを前記マスタ側ストレージ装置に要求するファイルシステムアクセス部を備え、
前記マスタ側ストレージ装置の前記レプリケーション実行部は、ファイルを構成する前記実データのデータ内容に基づく値である要約情報を前記メタデータとして前記レプリカ側ストレージ装置に送信し、その後、当該レプリカ側ストレージ装置からの前記要約情報に基づく要求に応じて当該要約情報に対応する前記実データを前記レプリカ側ストレージ装置に送信し、
前記レプリカ側ストレージ装置の前記レプリケーション実行部は、前記マスタ側ストレージ装置から送信された前記メタデータとしての前記要約情報を受信して記憶し、その後、当該要約情報に基づいて前記レプリカ側ストレージ装置に記憶されていない前記実データを前記マスタ側ストレージ装置に要求し、当該要求に応じて前記マスタ側ストレージ装置から送信された前記実データを記憶し、
前記レプリカ側ストレージ装置の前記ファイルシステムアクセス部は、前記マスタ側ストレージ装置から受信して記憶した前記メタデータとしての前記要約情報に基づいてファイルにアクセス可能なようファイルシステムを形成すると共に、アクセスがあったファイルを構成する前記実データが前記レプリカ側ストレージ装置に記憶されていないときに前記要約情報に基づいて前記実データを前記マスタ側ストレージ装置に要求し、
さらに、前記マスタ側ストレージ装置の前記レプリケーション実行部は、前記メタデータを前記レプリカ側ストレージ装置に送信すると共に、レプリケーションの対象となる前記実データの作成時刻が前回のレプリケーションの開始時刻よりも後である場合に、当該実データのデータ内容に基づく前記要約情報を前記レプリカ側ストレージ装置に送信して当該レプリカ側ストレージ装置に対して前記実データが記憶されているか否かの確認を要求し、
前記レプリカ側ストレージ装置の前記レプリケーション実行部は、前記マスタ側ストレージ装置からの前記実データが記憶されているか否かの確認要求に応じて、当該マスタ側ストレージ装置から送信された前記要約情報に基づいて確認要求された前記実データが前記レプリカ側ストレージ装置に記憶されているか否かを確認し、記憶されていない前記実データを前記マスタ側ストレージ装置に要求する、
ストレージシステム。
【請求項４】
請求項１に記載のストレージシステムであって、
前記マスタ側ストレージ装置の前記レプリケーション実行部は、ファイルを構成する前記実データのデータ内容に基づく値である要約情報を前記メタデータとして前記レプリカ側ストレージ装置に送信し、その後、当該レプリカ側ストレージ装置からの前記要約情報に基づく要求に応じて当該要約情報に対応する前記実データを前記レプリカ側ストレージ装置に送信し、
前記レプリカ側ストレージ装置の前記レプリケーション実行部は、前記マスタ側ストレージ装置から送信された前記メタデータとしての前記要約情報を受信して記憶し、その後、当該要約情報に基づいて前記レプリカ側ストレージ装置に記憶されていない前記実データを前記マスタ側ストレージ装置に要求し、当該要求に応じて前記マスタ側ストレージ装置から送信された前記実データを記憶し、
前記レプリカ側ストレージ装置の前記ファイルシステムアクセス部は、前記マスタ側ストレージ装置から受信して記憶した前記メタデータとしての前記要約情報に基づいてファイルにアクセス可能なようファイルシステムを形成すると共に、アクセスがあったファイルを構成する前記実データが前記レプリカ側ストレージ装置に記憶されていないときに前記要約情報に基づいて前記実データを前記マスタ側ストレージ装置に要求する、
ストレージシステム。
【請求項５】
請求項３又は４に記載のストレージシステムであって、
前記レプリカ側ストレージ装置の前記レプリケーション実行部及び前記ファイルシステムアクセス部は、前記要約情報を前記マスタ側ストレージ装置に送信して、前記レプリカ側ストレージ装置に記憶されていないファイルを構成する前記実データを前記マスタ側ストレージ装置に要求する、
ストレージシステム。
【請求項６】
請求項３又は４に記載のストレージシステムであって、
前記レプリカ側ストレージ装置の前記レプリケーション実行部及び前記ファイルシステムアクセス部は、前記マスタ側ストレージ装置から受信して記憶した前記要約情報に基づいて、当該要約情報に対応する前記アドレスデータが前記レプリカ側ストレージ装置に記憶されている場合には、当該対応するアドレスデータにて参照される前記レプリカ側ストレージ装置に記憶されている前記実データをレプリケーションしたデータとして用い、前記要約情報に対応する前記アドレスデータが前記レプリカ側ストレージ装置に記憶されていない場合には、前記要約情報を前記マスタ側ストレージ装置に送信して前記実データを前記マスタ側ストレージ装置に要求する、
ストレージシステム。
【請求項７】
請求項２乃至６のいずれかに記載のストレージシステムであって、
前記レプリカ側ストレージ装置の前記レプリケーション実行部及び前記ファイルシステムアクセス部は、前記マスタ側ストレージ装置から受信して記憶した前記要約情報に基づいて、当該要約情報に対応する前記実データが前記レプリカ側ストレージ装置に記憶されているか否かを判定し、記憶されていない前記実データを前記マスタ側ストレージ装置に要求する、
ストレージシステム。
【請求項８】
重複記憶排除機能を有し、マスタ側ストレージ装置に接続されたレプリカ側ストレージ装置であって、
前記マスタ側ストレージ装置に記憶されているファイルを構成する実データを前記レプリカ側ストレージ装置にレプリケーションするレプリケーション実行部を備え、
前記レプリケーション実行部は、前記マスタ側ストレージ装置から送信された、当該マスタ側ストレージ装置に記憶されている前記実データの格納位置を参照するアドレスデータに基づく値であるメタデータを受信して記憶し、その後、当該メタデータに基づいて前記レプリカ側ストレージ装置に記憶されていない前記実データを前記マスタ側ストレージ装置に要求し、当該要求に応じて前記マスタ側ストレージ装置から送信された前記実データを受信して記憶し、
さらに、所定のファイルを構成する複数の前記実データをそれぞれ参照する複数の前記メタデータの全てを、前記マスタ側ストレージ装置から受信して記憶すると、当該全てのメタデータに基づいて、当該全てのメタデータに対応する前記実データにて構成されるファイルにアクセス可能なようファイルシステムを形成すると共に、アクセスがあったファイルを構成する前記実データが前記レプリカ側ストレージ装置に記憶されていない場合に前記メタデータに基づいて前記実データを前記マスタ側ストレージ装置に要求するファイルシステムアクセス部を備えた、
レプリカ側ストレージ装置。
【請求項９】
重複記憶排除機能を有し、マスタ側ストレージ装置に接続されたレプリカ側ストレージ装置であって、
前記マスタ側ストレージ装置に記憶されているファイルを構成する実データを前記レプリカ側ストレージ装置にレプリケーションするレプリケーション実行部を備え、
前記レプリケーション実行部は、前記マスタ側ストレージ装置から送信された、当該マスタ側ストレージ装置に記憶されている前記実データの格納位置を参照するアドレスデータに基づく値であるメタデータを受信して記憶し、その後、当該メタデータに基づいて前記レプリカ側ストレージ装置に記憶されていない前記実データを前記マスタ側ストレージ装置に要求し、当該要求に応じて前記マスタ側ストレージ装置から送信された前記実データを受信して記憶し、
さらに、前記マスタ側ストレージ装置から受信して記憶した前記メタデータに基づいて、当該メタデータに対応する前記実データにて構成されるファイルにアクセス可能なようファイルシステムを形成すると共に、アクセスがあったファイルを構成する前記実データが前記レプリカ側ストレージ装置に記憶されていない場合に前記メタデータに基づいて前記実データを前記マスタ側ストレージ装置に要求するファイルシステムアクセス部を備え、
前記レプリケーション実行部は、前記マスタ側ストレージ装置から前記メタデータとして送信された、ファイルを構成する前記実データのデータ内容に基づく値である要約情報を受信して記憶し、その後、当該要約情報に基づいて前記レプリカ側ストレージ装置に記憶されていない前記実データを前記マスタ側ストレージ装置に要求し、当該要求に応じて前記マスタ側ストレージ装置から送信された前記実データを記憶し、
前記ファイルシステムアクセス部は、前記マスタ側ストレージ装置から受信して記憶した前記メタデータとしての前記要約情報に基づいてファイルにアクセス可能なようファイルシステムを形成すると共に、アクセスがあったファイルを構成する前記実データが前記レプリカ側ストレージ装置に記憶されていないときに前記要約情報に基づいて前記実データを前記マスタ側ストレージ装置に要求し、
前記レプリケーション実行部及び前記ファイルシステムアクセス部は、前記マスタ側ストレージ装置から受信して記憶した前記要約情報に基づいて、当該要約情報に対応する前記アドレスデータが前記レプリカ側ストレージ装置に記憶されている場合には、当該対応するアドレスデータにて参照される前記レプリカ側ストレージ装置に記憶されている前記実データをレプリケーションしたデータとして用い、前記要約情報に対応する前記アドレスデータが前記レプリカ側ストレージ装置に記憶されていない場合には、前記要約情報を前記マスタ側ストレージ装置に送信して前記実データを前記マスタ側ストレージ装置に要求し、
さらに、前記メタデータは、前記実データに関連する情報を格納するリンク情報と、当該リンク情報に対応付けられたフラグ情報と、を含んで構成されており、
前記レプリケーション実行部は、
前記マスタ側ストレージ装置から送信された、前記リンク情報として前記要約情報と前記フラグ情報として要約情報フラグとが格納された前記メタデータを受信して記憶し、
その後、記憶した前記メタデータ内の前記要約情報に対応する前記アドレスデータが前記レプリカ側ストレージ装置に記憶されている場合には、当該対応するアドレスデータを前記メタデータ内に前記リンク情報として格納すると共に、前記メタデータ内に前記フラグ情報としてアドレスデータフラグを格納し、前記アドレスデータにて参照される前記レプリカ側ストレージ装置に記憶されている前記実データをレプリケーションしたデータとして用い、
記憶した前記メタデータ内の前記要約情報に対応する前記アドレスデータが前記レプリカ側ストレージ装置に記憶されていない場合には、前記要約情報を前記マスタ側ストレージ装置に送信して前記実データを前記マスタ側ストレージ装置に要求し、当該要求に応じて前記マスタ側ストレージ装置から送信された前記実データを記憶して、当該格納した実データの格納位置を参照する前記アドレスデータを前記メタデータ内に前記リンク情報として格納すると共に、前記メタデータ内に前記フラグ情報として前記アドレスデータフラグを格納し、
前記ファイルシステムアクセス部は、アクセスされたファイルの前記メタデータ内の前記フラグ情報が前記要約情報フラグである場合には、当該メタデータ内の前記リンク情報として格納されている前記要約情報を前記マスタ側ストレージ装置に送信して前記実データを前記マスタ側ストレージ装置に要求する、
レプリカ側ストレージ装置。
【請求項１０】
重複記憶排除機能を有し、マスタ側ストレージ装置に接続されたレプリカ側ストレージ装置であって、
前記マスタ側ストレージ装置に記憶されているファイルを構成する実データを前記レプリカ側ストレージ装置にレプリケーションするレプリケーション実行部を備え、
前記レプリケーション実行部は、前記マスタ側ストレージ装置から送信された、当該マスタ側ストレージ装置に記憶されている前記実データの格納位置を参照するアドレスデータに基づく値であるメタデータを受信して記憶し、その後、当該メタデータに基づいて前記レプリカ側ストレージ装置に記憶されていない前記実データを前記マスタ側ストレージ装置に要求し、当該要求に応じて前記マスタ側ストレージ装置から送信された前記実データを受信して記憶し、
さらに、前記マスタ側ストレージ装置から受信して記憶した前記メタデータに基づいて、当該メタデータに対応する前記実データにて構成されるファイルにアクセス可能なようファイルシステムを形成すると共に、アクセスがあったファイルを構成する前記実データが前記レプリカ側ストレージ装置に記憶されていない場合に前記メタデータに基づいて前記実データを前記マスタ側ストレージ装置に要求するファイルシステムアクセス部を備え、
前記レプリケーション実行部は、前記マスタ側ストレージ装置から前記メタデータとして送信された、ファイルを構成する前記実データのデータ内容に基づく値である要約情報を受信して記憶し、その後、当該要約情報に基づいて前記レプリカ側ストレージ装置に記憶されていない前記実データを前記マスタ側ストレージ装置に要求し、当該要求に応じて前記マスタ側ストレージ装置から送信された前記実データを記憶し、
前記ファイルシステムアクセス部は、前記マスタ側ストレージ装置から受信して記憶した前記メタデータとしての前記要約情報に基づいてファイルにアクセス可能なようファイルシステムを形成すると共に、アクセスがあったファイルを構成する前記実データが前記レプリカ側ストレージ装置に記憶されていないときに前記要約情報に基づいて前記実データを前記マスタ側ストレージ装置に要求し、
さらに、前記レプリケーション実行部は、レプリケーションの対象となる前記実データの作成時刻が前回のレプリケーションの開始時刻よりも後である場合に、前記マスタ側ストレージ装置によってなされた、当該実データのデータ内容に基づく前記要約情報の送信を伴う当該実データが記憶されているか否かの確認要求に応じて、当該マスタ側ストレージ装置から送信された前記要約情報に基づいて確認要求された前記実データが前記レプリカ側ストレージ装置に記憶されているか否かを確認し、記憶されていない前記実データを前記マスタ側ストレージ装置に要求する、
レプリカ側ストレージ装置。
【請求項１１】
重複記憶排除機能を有し、マスタ側ストレージ装置に接続されたレプリカ側ストレージ装置に、
前記マスタ側ストレージ装置に記憶されているファイルを構成する実データを前記レプリカ側ストレージ装置にレプリケーションするレプリケーション実行部を実現させるとともに、
前記レプリケーション実行部は、前記マスタ側ストレージ装置から送信された、当該マスタ側ストレージ装置に記憶されている前記実データの格納位置を参照するアドレスデータに基づく値であるメタデータを受信して記憶し、その後、当該メタデータに基づいて前記レプリカ側ストレージ装置に記憶されていない前記実データを前記マスタ側ストレージ装置に要求し、当該要求に応じて前記マスタ側ストレージ装置から送信された前記実データを受信して記憶し、
さらに、前記レプリカ側ストレージ装置に、
所定のファイルを構成する複数の前記実データをそれぞれ参照する複数の前記メタデータの全てを、前記マスタ側ストレージ装置から受信して記憶すると、当該全てのメタデータに基づいて、当該全てのメタデータに対応する前記実データにて構成されるファイルにアクセス可能なようファイルシステムを形成すると共に、アクセスがあったファイルを構成する前記実データが前記レプリカ側ストレージ装置に記憶されていない場合に前記メタデータに基づいて前記実データを前記マスタ側ストレージ装置に要求するファイルシステムアクセス部を実現させる、
ためのプログラム。
【請求項１２】
重複記憶排除機能を有し、マスタ側ストレージ装置に接続されたレプリカ側ストレージ装置に、
前記マスタ側ストレージ装置に記憶されているファイルを構成する実データを前記レプリカ側ストレージ装置にレプリケーションするレプリケーション実行部を実現させるとともに、
前記レプリケーション実行部は、前記マスタ側ストレージ装置から送信された、当該マスタ側ストレージ装置に記憶されている前記実データの格納位置を参照するアドレスデータに基づく値であるメタデータを受信して記憶し、その後、当該メタデータに基づいて前記レプリカ側ストレージ装置に記憶されていない前記実データを前記マスタ側ストレージ装置に要求し、当該要求に応じて前記マスタ側ストレージ装置から送信された前記実データを受信して記憶し、
さらに、前記レプリカ側ストレージ装置に、
前記マスタ側ストレージ装置から受信して記憶した前記メタデータに基づいて、当該メタデータに対応する前記実データにて構成されるファイルにアクセス可能なようファイルシステムを形成すると共に、アクセスがあったファイルを構成する前記実データが前記レプリカ側ストレージ装置に記憶されていない場合に前記メタデータに基づいて前記実データを前記マスタ側ストレージ装置に要求するファイルシステムアクセス部を実現させる、
ためのプログラムであり、
前記レプリケーション実行部は、前記マスタ側ストレージ装置から前記メタデータとして送信された、ファイルを構成する前記実データのデータ内容に基づく値である要約情報を受信して記憶し、その後、当該要約情報に基づいて前記レプリカ側ストレージ装置に記憶されていない前記実データを前記マスタ側ストレージ装置に要求し、当該要求に応じて前記マスタ側ストレージ装置から送信された前記実データを記憶し、
前記ファイルシステムアクセス部は、前記マスタ側ストレージ装置から受信して記憶した前記メタデータとしての前記要約情報に基づいてファイルにアクセス可能なようファイルシステムを形成すると共に、アクセスがあったファイルを構成する前記実データが前記レプリカ側ストレージ装置に記憶されていないときに前記要約情報に基づいて前記実データを前記マスタ側ストレージ装置に要求し、
前記レプリケーション実行部及び前記ファイルシステムアクセス部は、前記マスタ側ストレージ装置から受信して記憶した前記要約情報に基づいて、当該要約情報に対応する前記アドレスデータが前記レプリカ側ストレージ装置に記憶されている場合には、当該対応するアドレスデータにて参照される前記レプリカ側ストレージ装置に記憶されている前記実データをレプリケーションしたデータとして用い、前記要約情報に対応する前記アドレスデータが前記レプリカ側ストレージ装置に記憶されていない場合には、前記要約情報を前記マスタ側ストレージ装置に送信して前記実データを前記マスタ側ストレージ装置に要求し、
さらに、前記メタデータは、前記実データに関連する情報を格納するリンク情報と、当該リンク情報に対応付けられたフラグ情報と、を含んで構成されており、
前記レプリケーション実行部は、
前記マスタ側ストレージ装置から送信された、前記リンク情報として前記要約情報と前記フラグ情報として要約情報フラグとが格納された前記メタデータを受信して記憶し、
その後、記憶した前記メタデータ内の前記要約情報に対応する前記アドレスデータが前記レプリカ側ストレージ装置に記憶されている場合には、当該対応するアドレスデータを前記メタデータ内に前記リンク情報として格納すると共に、前記メタデータ内に前記フラグ情報としてアドレスデータフラグを格納し、前記アドレスデータにて参照される前記レプリカ側ストレージ装置に記憶されている前記実データをレプリケーションしたデータとして用い、
記憶した前記メタデータ内の前記要約情報に対応する前記アドレスデータが前記レプリカ側ストレージ装置に記憶されていない場合には、前記要約情報を前記マスタ側ストレージ装置に送信して前記実データを前記マスタ側ストレージ装置に要求し、当該要求に応じて前記マスタ側ストレージ装置から送信された前記実データを記憶して、当該格納した実データの格納位置を参照する前記アドレスデータを前記メタデータ内に前記リンク情報として格納すると共に、前記メタデータ内に前記フラグ情報として前記アドレスデータフラグを格納し、
前記ファイルシステムアクセス部は、アクセスされたファイルの前記メタデータ内の前記フラグ情報が前記要約情報フラグである場合には、当該メタデータ内の前記リンク情報として格納されている前記要約情報を前記マスタ側ストレージ装置に送信して前記実データを前記マスタ側ストレージ装置に要求する、
プログラム。
【請求項１３】
重複記憶排除機能を有し、マスタ側ストレージ装置に接続されたレプリカ側ストレージ装置に、
前記マスタ側ストレージ装置に記憶されているファイルを構成する実データを前記レプリカ側ストレージ装置にレプリケーションするレプリケーション実行部を実現させるとともに、
前記レプリケーション実行部は、前記マスタ側ストレージ装置から送信された、当該マスタ側ストレージ装置に記憶されている前記実データの格納位置を参照するアドレスデータに基づく値であるメタデータを受信して記憶し、その後、当該メタデータに基づいて前記レプリカ側ストレージ装置に記憶されていない前記実データを前記マスタ側ストレージ装置に要求し、当該要求に応じて前記マスタ側ストレージ装置から送信された前記実データを受信して記憶し、
さらに、前記レプリカ側ストレージ装置に、
前記マスタ側ストレージ装置から受信して記憶した前記メタデータに基づいて、当該メタデータに対応する前記実データにて構成されるファイルにアクセス可能なようファイルシステムを形成すると共に、アクセスがあったファイルを構成する前記実データが前記レプリカ側ストレージ装置に記憶されていない場合に前記メタデータに基づいて前記実データを前記マスタ側ストレージ装置に要求するファイルシステムアクセス部を実現させる、
ためのプログラムであり、
前記レプリケーション実行部は、前記マスタ側ストレージ装置から前記メタデータとして送信された、ファイルを構成する前記実データのデータ内容に基づく値である要約情報を受信して記憶し、その後、当該要約情報に基づいて前記レプリカ側ストレージ装置に記憶されていない前記実データを前記マスタ側ストレージ装置に要求し、当該要求に応じて前記マスタ側ストレージ装置から送信された前記実データを記憶し、
前記ファイルシステムアクセス部は、前記マスタ側ストレージ装置から受信して記憶した前記メタデータとしての前記要約情報に基づいてファイルにアクセス可能なようファイルシステムを形成すると共に、アクセスがあったファイルを構成する前記実データが前記レプリカ側ストレージ装置に記憶されていないときに前記要約情報に基づいて前記実データを前記マスタ側ストレージ装置に要求し、
さらに、前記レプリケーション実行部は、レプリケーションの対象となる前記実データの作成時刻が前回のレプリケーションの開始時刻よりも後である場合に、前記マスタ側ストレージ装置によってなされた、当該実データのデータ内容に基づく前記要約情報の送信を伴う当該実データが記憶されているか否かの確認要求に応じて、当該マスタ側ストレージ装置から送信された前記要約情報に基づいて確認要求された前記実データが前記レプリカ側ストレージ装置に記憶されているか否かを確認し、記憶されていない前記実データを前記マスタ側ストレージ装置に要求する、
プログラム。
【請求項１４】
重複記憶排除機能を有し、マスタ側ストレージ装置に接続されたレプリカ側ストレージ装置によるレプリケーション方法であって、
前記レプリカ側ストレージ装置は、前記マスタ側ストレージ装置に記憶されているファイルを構成する実データを前記レプリカ側ストレージ装置にレプリケーションする際に、
前記マスタ側ストレージ装置から送信された、当該マスタ側ストレージ装置に記憶されている前記実データの格納位置を参照するアドレスデータに基づく値であるメタデータを受信して記憶し、その後、当該メタデータに基づいて前記レプリカ側ストレージ装置に記憶されていない前記実データを前記マスタ側ストレージ装置に要求し、当該要求に応じて前記マスタ側ストレージ装置から送信された前記実データを受信して記憶し、
さらに、前記レプリカ側ストレージ装置は、
所定のファイルを構成する複数の前記実データをそれぞれ参照する複数の前記メタデータの全てを、前記マスタ側ストレージ装置から受信して記憶すると、当該全てのメタデータに基づいて、当該全てのメタデータに対応する前記実データにて構成されるファイルにアクセス可能なようファイルシステムを形成すると共に、アクセスがあったファイルを構成する前記実データが前記レプリカ側ストレージ装置に記憶されていない場合に前記メタデータに基づいて前記実データを前記マスタ側ストレージ装置に要求する、
レプリケーション方法。
【請求項１５】
重複記憶排除機能を有し、マスタ側ストレージ装置に接続されたレプリカ側ストレージ装置によるレプリケーション方法であって、
前記レプリカ側ストレージ装置は、前記マスタ側ストレージ装置に記憶されているファイルを構成する実データを前記レプリカ側ストレージ装置にレプリケーションする際に、
前記マスタ側ストレージ装置から送信された、当該マスタ側ストレージ装置に記憶されている前記実データの格納位置を参照するアドレスデータに基づく値であるメタデータを受信して記憶し、その後、当該メタデータに基づいて前記レプリカ側ストレージ装置に記憶されていない前記実データを前記マスタ側ストレージ装置に要求し、当該要求に応じて前記マスタ側ストレージ装置から送信された前記実データを受信して記憶し、
さらに、前記レプリカ側ストレージ装置は、
前記マスタ側ストレージ装置から受信して記憶した前記メタデータに基づいて、当該メタデータに対応する前記実データにて構成されるファイルにアクセス可能なようファイルシステムを形成すると共に、アクセスがあったファイルを構成する前記実データが前記レプリカ側ストレージ装置に記憶されていない場合に前記メタデータに基づいて前記実データを前記マスタ側ストレージ装置に要求し、
前記レプリカ側ストレージ装置は、前記マスタ側ストレージ装置から前記メタデータとして送信された、ファイルを構成する前記実データのデータ内容に基づく値である要約情報を受信して記憶し、その後、当該要約情報に基づいて前記レプリカ側ストレージ装置に記憶されていない前記実データを前記マスタ側ストレージ装置に要求し、当該要求に応じて前記マスタ側ストレージ装置から送信された前記実データを記憶し、
さらに、前記レプリカ側ストレージ装置は、前記マスタ側ストレージ装置から受信して記憶した前記メタデータとしての前記要約情報に基づいてファイルにアクセス可能なようファイルシステムを形成すると共に、アクセスがあったファイルを構成する前記実データが前記レプリカ側ストレージ装置に記憶されていないときに前記要約情報に基づいて前記実データを前記マスタ側ストレージ装置に要求し、
前記レプリカ側ストレージ装置は、前記マスタ側ストレージ装置から受信して記憶した前記要約情報に基づいて、当該要約情報に対応する前記アドレスデータが前記レプリカ側ストレージ装置に記憶されている場合には、当該対応するアドレスデータにて参照される前記レプリカ側ストレージ装置に記憶されている前記実データをレプリケーションしたデータとして用い、前記要約情報に対応する前記アドレスデータが前記レプリカ側ストレージ装置に記憶されていない場合には、前記要約情報を前記マスタ側ストレージ装置に送信して前記実データを前記マスタ側ストレージ装置に要求し、
さらに、前記メタデータは、前記実データに関連する情報を格納するリンク情報と、当該リンク情報に対応付けられたフラグ情報と、を含んで構成されており、
前記レプリカ側ストレージ装置は、
前記マスタ側ストレージ装置から送信された、前記リンク情報として前記要約情報と前記フラグ情報として要約情報フラグとが格納された前記メタデータを受信して記憶し、
その後、記憶した前記メタデータ内の前記要約情報に対応する前記アドレスデータが前記レプリカ側ストレージ装置に記憶されている場合には、当該対応するアドレスデータを前記メタデータ内に前記リンク情報として格納すると共に、前記メタデータ内に前記フラグ情報としてアドレスデータフラグを格納し、前記アドレスデータにて参照される前記レプリカ側ストレージ装置に記憶されている前記実データをレプリケーションしたデータとして用い、
記憶した前記メタデータ内の前記要約情報に対応する前記アドレスデータが前記レプリカ側ストレージ装置に記憶されていない場合には、前記要約情報を前記マスタ側ストレージ装置に送信して前記実データを前記マスタ側ストレージ装置に要求し、当該要求に応じて前記マスタ側ストレージ装置から送信された前記実データを記憶して、当該格納した実データの格納位置を参照する前記アドレスデータを前記メタデータ内に前記リンク情報として格納すると共に、前記メタデータ内に前記フラグ情報として前記アドレスデータフラグを格納し、
前記レプリカ側ストレージ装置は、アクセスされたファイルの前記メタデータ内の前記フラグ情報が前記要約情報フラグである場合には、当該メタデータ内の前記リンク情報として格納されている前記要約情報を前記マスタ側ストレージ装置に送信して前記実データを前記マスタ側ストレージ装置に要求する、
レプリケーション方法。
【請求項１６】
重複記憶排除機能を有し、マスタ側ストレージ装置に接続されたレプリカ側ストレージ装置によるレプリケーション方法であって、
前記レプリカ側ストレージ装置は、前記マスタ側ストレージ装置に記憶されているファイルを構成する実データを前記レプリカ側ストレージ装置にレプリケーションする際に、
前記マスタ側ストレージ装置から送信された、当該マスタ側ストレージ装置に記憶されている前記実データの格納位置を参照するアドレスデータに基づく値であるメタデータを受信して記憶し、その後、当該メタデータに基づいて前記レプリカ側ストレージ装置に記憶されていない前記実データを前記マスタ側ストレージ装置に要求し、当該要求に応じて前記マスタ側ストレージ装置から送信された前記実データを受信して記憶し、
さらに、前記レプリカ側ストレージ装置は、
前記マスタ側ストレージ装置から受信して記憶した前記メタデータに基づいて、当該メタデータに対応する前記実データにて構成されるファイルにアクセス可能なようファイルシステムを形成すると共に、アクセスがあったファイルを構成する前記実データが前記レプリカ側ストレージ装置に記憶されていない場合に前記メタデータに基づいて前記実データを前記マスタ側ストレージ装置に要求し、
前記レプリカ側ストレージ装置は、前記マスタ側ストレージ装置から前記メタデータとして送信された、ファイルを構成する前記実データのデータ内容に基づく値である要約情報を受信して記憶し、その後、当該要約情報に基づいて前記レプリカ側ストレージ装置に記憶されていない前記実データを前記マスタ側ストレージ装置に要求し、当該要求に応じて前記マスタ側ストレージ装置から送信された前記実データを記憶し、
さらに、前記レプリカ側ストレージ装置は、前記マスタ側ストレージ装置から受信して記憶した前記メタデータとしての前記要約情報に基づいてファイルにアクセス可能なようファイルシステムを形成すると共に、アクセスがあったファイルを構成する前記実データが前記レプリカ側ストレージ装置に記憶されていないときに前記要約情報に基づいて前記実データを前記マスタ側ストレージ装置に要求し、
さらに、前記レプリカ側ストレージ装置は、レプリケーションの対象となる前記実データの作成時刻が前回のレプリケーションの開始時刻よりも後である場合に、前記マスタ側ストレージ装置によってなされた、当該実データのデータ内容に基づく前記要約情報の送信を伴う当該実データが記憶されているか否かの確認要求に応じて、当該マスタ側ストレージ装置から送信された前記要約情報に基づいて確認要求された前記実データが前記レプリカ側ストレージ装置に記憶されているか否かを確認し、記憶されていない前記実データを前記マスタ側ストレージ装置に要求する、
レプリケーション方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージシステムにかかり、特に、重複記憶を排除する機能を有するストレージシステムに関する。
【背景技術】
【０００２】
近年、コンピュータの発達及び普及に伴い、種々の情報がデジタルデータ化されている。このようなデジタルデータを保存しておく装置として、磁気テープや磁気ディスクなどの記憶装置がある。そして、保存すべきデータは日々増大し、膨大な量となるため、大容量なストレージシステムが必要となっている。また、記憶装置に費やすコストを削減しつつ、信頼性も必要とされる。これに加えて、後にデータを容易に取り出すことが可能であることも必要である。その結果、自動的に記憶容量や性能の増大を実現できると共に、重複記憶を排除して記憶コストを削減し、さらには、冗長性の高いストレージシステムが望まれている。
【０００３】
このような状況に応じて、近年では、特許文献１に示すように、コンテンツアドレスストレージシステムが開発されている。このコンテンツアドレスストレージシステムは、データを分散して複数の記憶装置に記憶すると共に、このデータの内容に応じて特定される固有のコンテンツアドレスによって、当該データを格納した格納位置が特定される。具体的に、コンテンツアドレスストレージシステムでは、所定のデータを複数のフラグメントに分割すると共に、冗長データとなるフラグメントをさらに付加して、これら複数のフラグメントをそれぞれ複数の記憶装置にそれぞれ格納している。
【０００４】
そして、後に、コンテンツアドレスを指定することにより、当該コンテンツアドレスにて特定される格納位置に格納されているデータつまりフラグメントを読み出し、複数のフラグメントから分割前の所定のデータを復元することができる。
【０００５】
また、上記コンテンツアドレスは、データの内容に応じて固有となるよう生成される、例えば、データのハッシュ値を用いる。このため、重複データであれば同じ格納位置のデータを参照することで、同一内容のデータを取得することができる。従って、重複データを別々に格納する必要がなく、重複記録を排除し、データ容量の削減を図ることができる。
【０００６】
また、コンテンツアドレスストレージシステムでは、ツリー型ファイルシステムが用いられている。これは、格納したデータを参照するコンテンツアドレス自体を、さらに上位階層に位置するコンテンツアドレスにて参照し、コンテンツアドレスをツリー構造に形成して格納している、というものである。これにより、上位階層から下位階層に向かって、コンテンツアドレスの参照先を辿っていくことで、目的の格納データにアクセスすることができる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１０−１５７２０４号公報
【特許文献２】国際公開２０１０／０９７８４９
【発明の概要】
【発明が解決しようとする課題】
【０００８】
上述したような重複排除ストレージシステムにおいて、ファイルシステムのレプリケーションを行う場合には、例えば、特許文献２に示されるように、レプリカ側にすでに存在する重複したデータブロックの転送を行わないことで、処理を高速化することが行われている。しかしながら、マスタ側とレプリカ側で重複データが少ない場合、特に初回のレプリケーションの場合には、転送データ量が多く、レプリカ側で参照できるようになるまで時間がかかる、という問題が生じる。
【０００９】
また、重複排除ストレージシステムにおけるファイルシステムのレプリケーションを、例えば以下の方法で行う。まず、ファイルの先頭から、ファイルのデータを構成するブロックのハッシュ値のリストを、マスタ側からレプリカ側に送る。レプリカ側は、送られてきたハッシュ値とレプリカ側がすでに所持するブロックのハッシュ値を比較する。そして、レプリカ側が所持していないブロック（非重複ブロック）を特定し、レプリカ側が所持するブロック（重複ブロック）の送信を省略し、非重複ブロックのみ送信するように要求する。これにより、ネットワークの転送量を削減し、レプリケーションの処理を高速化する。
【００１０】
ここで、レプリケーションのはじめにマスタ側からレプリカ側に送信するハッシュ値のリストは、そのサイズは非常に小さいが、その一方で、後方に非重複ブロックが集中するようなファイルをWAN（Wide Area Network）で転送するような場合がある。このような場合には、レプリケーションの処理の当初はネットワークの転送がほとんど発生せず、後に非重複ブロックの転送処理が発生することとなり、非重複ブロックの転送が集中することでネットワークがボトルネックとなりうる。すると、ネットワークの利用効率が悪く、最大性能を得られず、結果としてレプリケーションに時間がかかり、レプリカ側で所望のデータを参照できるようになるまで時間がかかる、という問題が生じる。
【００１１】
このため、本発明の目的は、上述した課題である、ファイルシステムのレプリケーションを行う場合に、レプリカ側で所望のデータを参照できるまでに時間がかかる、ということを解決することができるストレージシステムを提供することにある。
【課題を解決するための手段】
【００１２】
本発明の一形態であるストレージシステムは、
重複記憶排除機能を有するマスタ側ストレージ装置とレプリカ側ストレージ装置とを備え、
前記マスタ側ストレージ装置及び前記レプリカ側ストレージ装置は、前記マスタ側ストレージ装置に記憶されているファイルを構成する実データを前記レプリカ側ストレージ装置にレプリケーションするレプリケーション実行部をそれぞれ備えており、
前記マスタ側ストレージ装置の前記レプリケーション実行部は、当該マスタ側ストレージ装置に記憶されている前記実データの格納位置を参照するアドレスデータに基づく値であるメタデータを前記レプリカ側ストレージ装置に送信し、その後、当該レプリカ側ストレージ装置からの要求に応じて前記実データを前記レプリカ側ストレージ装置に送信し、
前記レプリカ側ストレージ装置の前記レプリケーション実行部は、前記マスタ側ストレージ装置から送信された前記メタデータを受信して記憶し、その後、当該メタデータに基づいて前記レプリカ側ストレージ装置に記憶されていない前記実データを前記マスタ側ストレージ装置に要求し、当該要求に応じて前記マスタ側ストレージ装置から送信された前記実データを受信して記憶し、
さらに、前記レプリカ側ストレージ装置は、前記マスタ側ストレージ装置から受信して記憶した前記メタデータに基づいて、当該メタデータに対応する前記実データにて構成されるファイルにアクセス可能なようファイルシステムを形成すると共に、アクセスがあったファイルを構成する前記実データが前記レプリカ側ストレージ装置に記憶されていない場合に前記メタデータに基づいて前記実データを前記マスタ側ストレージ装置に要求するファイルシステムアクセス部を備えた、
という構成をとる。
【００１３】
また、本発明の他の形態であるレプリカ側ストレージ装置は、
重複記憶排除機能を有し、マスタ側ストレージ装置に接続されたレプリカ側ストレージ装置であって、
前記マスタ側ストレージ装置に記憶されているファイルを構成する実データを前記レプリカ側ストレージ装置にレプリケーションするレプリケーション実行部を備え、
前記レプリケーション実行部は、前記マスタ側ストレージ装置から送信された、当該マスタ側ストレージ装置に記憶されている前記実データの格納位置を参照するアドレスデータに基づく値であるメタデータを受信して記憶し、その後、当該メタデータに基づいて前記レプリカ側ストレージ装置に記憶されていない前記実データを前記マスタ側ストレージ装置に要求し、当該要求に応じて前記マスタ側ストレージ装置から送信された前記実データを受信して記憶し、
さらに、前記マスタ側ストレージ装置から受信して記憶した前記メタデータに基づいて、当該メタデータに対応する前記実データにて構成されるファイルにアクセス可能なようファイルシステムを形成すると共に、アクセスがあったファイルを構成する前記実データが前記レプリカ側ストレージ装置に記憶されていない場合に前記メタデータに基づいて前記実データを前記マスタ側ストレージ装置に要求するファイルシステムアクセス部を備えた、
という構成をとる。
【００１４】
また、本発明の他の形態であるプログラムは、
重複記憶排除機能を有し、マスタ側ストレージ装置に接続されたレプリカ側ストレージ装置に、
前記マスタ側ストレージ装置に記憶されているファイルを構成する実データを前記レプリカ側ストレージ装置にレプリケーションするレプリケーション実行部を実現させるとともに、
前記レプリケーション実行部は、前記マスタ側ストレージ装置から送信された、当該マスタ側ストレージ装置に記憶されている前記実データの格納位置を参照するアドレスデータに基づく値であるメタデータを受信して記憶し、その後、当該メタデータに基づいて前記レプリカ側ストレージ装置に記憶されていない前記実データを前記マスタ側ストレージ装置に要求し、当該要求に応じて前記マスタ側ストレージ装置から送信された前記実データを受信して記憶し、
さらに、前記レプリカ側ストレージ装置に、
前記マスタ側ストレージ装置から受信して記憶した前記メタデータに基づいて、当該メタデータに対応する前記実データにて構成されるファイルにアクセス可能なようファイルシステムを形成すると共に、アクセスがあったファイルを構成する前記実データが前記レプリカ側ストレージ装置に記憶されていない場合に前記メタデータに基づいて前記実データを前記マスタ側ストレージ装置に要求するファイルシステムアクセス部を実現させる、
という構成をとる。
【００１５】
また、本発明の他の形態であるレプリケーション方法は、
重複記憶排除機能を有し、マスタ側ストレージ装置に接続されたレプリカ側ストレージ装置によるレプリケーション方法であって、
前記レプリカ側ストレージ装置は、前記マスタ側ストレージ装置に記憶されているファイルを構成する実データを前記レプリカ側ストレージ装置にレプリケーションする際に、
前記マスタ側ストレージ装置から送信された、当該マスタ側ストレージ装置に記憶されている前記実データの格納位置を参照するアドレスデータに基づく値であるメタデータを受信して記憶し、その後、当該メタデータに基づいて前記レプリカ側ストレージ装置に記憶されていない前記実データを前記マスタ側ストレージ装置に要求し、当該要求に応じて前記マスタ側ストレージ装置から送信された前記実データを受信して記憶し、
さらに、前記レプリカ側ストレージ装置は、
前記マスタ側ストレージ装置から受信して記憶した前記メタデータに基づいて、当該メタデータに対応する前記実データにて構成されるファイルにアクセス可能なようファイルシステムを形成すると共に、アクセスがあったファイルを構成する前記実データが前記レプリカ側ストレージ装置に記憶されていない場合に前記メタデータに基づいて前記実データを前記マスタ側ストレージ装置に要求する、
という構成をとる。
【発明の効果】
【００１６】
本発明は、以上のように構成されることにより、ファイルシステムのレプリケーションを行う場合であっても、レプリカ側で所望のデータを迅速に参照することができる。
【図面の簡単な説明】
【００１７】
【図１】本発明の実施形態１におけるストレージシステムの構成を示す機能ブロック図である。
【図２】図１に開示したストレージシステム内のレプリケーション実行部の構成を示す機能ブロック図である。
【図３】メタデータのデータ構造の一例を示す図である。
【図４】ストレージシステムによるレプリケーション処理の様子を示す図である。
【図５】ストレージシステムによるレプリケーション処理の様子を示す図である。
【図６】ストレージシステムによるレプリケーション処理の様子を示す図である。
【図７】ストレージシステムによるレプリケーション処理の様子を示す図である。
【図８】ストレージシステムによるレプリケーション処理の様子を示す図である。
【図９】ストレージシステムによるレプリケーション処理の様子を示す図である。
【図１０】ストレージシステムによるレプリケーション処理の様子を示す図である。
【図１１】本発明の付記１におけるストレージシステムの構成を示す機能ブロック図である。
【発明を実施するための形態】
【００１８】
＜実施形態１＞
本発明の第１の実施形態を、図１乃至図１０を参照して説明する。図１乃至図３は、ストレージシステムの構成を示す図であり、図４乃至図１０は、レプリケーション処理を説明するための図である。
【００１９】
［構成］
本発明におけるストレージシステムは、図１に示すように、マスタ側ストレージ装置であるマスタシステム１００と、レプリカ側ストレージ装置であるレプリカシステム２００と、を備えている。また、ストレージシステムには、マスタファイルシステムに対してファイルの読み書きを行ったり、レプリカファイルシステム２１０にアクセスしたり、レプリケーションを行ったりするユーザが操作するユーザシステム３００が接続されている。
【００２０】
なお、本実施形態におけるマスタシステム１００は、ファイルをデータブロックに分割して、当該データブロック（実データ）を記憶装置に格納する。このとき、マスタシステム１００は、データブロックを参照する、当該データブロックのデータ内容及び格納位置に基づくアドレスデータ（コンテンツアドレス：ＣＡ）を生成してツリー構造にて記憶装置に格納する。このため、マスタシステム１００は、異なるファイルのデータブロックであっても、データ内容が同一であれば、同じアドレスデータで参照すれば良いため、１つのデータブロックを記憶装置に記憶しておけばよいこととなる。このように、マスタシステム１００は、同一内容のデータブロックの重複記憶を排除する機能（重複記憶排除機能）を有している。また、レプリカシステム２００も同様に重複記憶排除機能を有している。また、重複記憶排除機能についてのさらなる詳細な説明は省略するが、本実施形態におけるマスタシステム１００及びレプリカシステム２００は、上述したようなコンテンツアドレスストレージシステムにて構成されていることとする。
【００２１】
そして、マスタシステム１００は、当該マスタシステム１００に記憶されているツリー構造のファイルシステム（ファイルを構成するデータブロック（実データ）及びデータブロックを参照するアドレスデータに基づくメタデータ）を、レプリカシステム２００にレプリケーション（複製）する機能を有する。
【００２２】
上記マスタシステム１００は、演算装置であるＣＰＵ（Central Processing Unit）と、記憶装置と、を備えた情報処理装置である。そして、マスタシステム１００は、ＣＰＵにプログラムが組み込まれることにより構築された、レプリケーション実行部１２０、ファイルシステムビュー提供部１４０、を備えている。また、マスタシステム１００は、記憶装置に形成された、マスタファイルシステム１１０、マスタスナップショップ１１１、重複排除データ保存部１３０、を備えている。
【００２３】
同様に、上記レプリカシステム２００は、演算装置であるＣＰＵ（Central Processing Unit）と、記憶装置と、を備えた情報処理装置である。そして、レプリカシステム２００は、ＣＰＵにプログラムが組み込まれることにより構築された、レプリケーション実行部２２０、ファイルシステムビュー提供部２４０、を備えている。また、レプリカシステム２００は、記憶装置に形成された、レプリカファイルシステム２１０、重複排除データ保存部２３０、を備えている。
【００２４】
以下、上述したマスタシステム１００とレプリカシステム２００の構成について、詳述する。
【００２５】
上記マスタシステム１００のレプリケーション実行部１２０は、ユーザシステム３００からレプリケーションの開始指示を受けると、その時点でマスタファイルシステム１１０の静止点を確保し、レプリカファイルシステム２１０への同期つまりレプリケーションを開始する。そして、レプリケーションが完了すると、レプリカファイルシステム２１０は上記のマスタファイルシステム１１０の静止点と完全に一致する。レプリカファイルシステム２１０は、マスタファイルシステム１１０のコピーであるため、ユーザシステム３００からの書き込みは不可であり、読み込みのみ可能である。
【００２６】
ユーザシステム３００は、レプリカシステム２００上のファイルシステムビュー提供部２４０を介して、一般的なファイル・ディレクトリの操作によって、読み込みのみ可能であるレプリカファイルシステム２１０からデータの読み込みを行う。
【００２７】
レプリカシステム２００のファイルシステムビュー提供部２４０は、重複排除データ保存部２３０を使用して、ユーザデータやメタデータを読み書き・削除を行い、ユーザシステム３００にファイルシステムビューを提供し、読み込みの要求を受けたデータブロックをユーザシステム３００に返却する。また、レプリケーション未完のファイルの未転送のデータブロックに対して、ユーザシステム３００から読み込みの要求を受け取った場合は、レプリケーション実行部２２０に対して、ユーザシステム３００から要求されたデータブロックの送信を要求する。
【００２８】
マスタシステム１００のレプリケーション実行部１２０は、レプリカシステム２００にあるレプリケーション実行部２２０とネットワークを介して通信を行い、レプリケーションの処理を行う。レプリケーション開始時は、マスタファイルシステム１１０のクローンであるマスタスナップショット１１１を作成する。レプリケーション実行中はマスタスナップショット１１１から前回のレプリケーション以降に更新・追加されたファイルについて、レプリカファイルシステム２１０へのレプリケーションの処理を行う。また、重複排除データ保存部１３０に対して、マスタスナップショット１１１に存在するファイルを構成するデータブロックやそのハッシュ値の取得を要求する。
【００２９】
レプリカシステム２００のレプリケーション実行部２２０は、マスタシステム１００のレプリケーション実行部１２０から転送されたデータブロックやファイルのメタデータの書き込みやハッシュ値に一致するデータブロックがあるかどうかの確認を重複排除データ保存部２３０に要求し、レプリカファイルシステム２１０の更新を行う。また、レプリカシステム２００のレプリケーション実行部２２０は、ファイルシステムビュー提供部２４０からの要求を受けて、データブロックの転送要求をマスタシステム１００のレプリケーション実行部１２０に出す。さらに、レプリカシステム２００のレプリケーション実行部２２０は、マスタシステム１００のレプリケーション実行部１２０から送られてきたデータブロックの書き込みを重複排除データ保存部２３０に要求し、ファイルシステムビュー提供部２４０に当該データブロックを渡す。
【００３０】
マスタシステム１００の重複排除データ保存部１３０は、レプリケーション実行部１２０からの要求に応じて、データブロックやそのハッシュ値をレプリケーション実行部１２０に提供する。
【００３１】
レプリカシステム２００の重複排除データ保存部２３０は、レプリケーション実行部２２０からの要求に応じて、指定されたハッシュ値に一致するデータブロックが存在するかどうかの確認を行い、確認結果をレプリケーション実行部２２０に返却する。また、重複排除データ保存部２３０は、レプリケーション実行部２２０からのデータブロックの書き込み要求をうけて、重複排除の処理を行い、所持していないデータブロックを保存する。
【００３２】
続いて、マスタシステム１００とレプリカシステム２００がそれぞれ備えるレプリケーション実行部１２０，２２０の詳細な構成を、図２を参照して説明する。マスタシステム１００のレプリケーション実行部１２０は、ファイルシステムアクセス部１２１と、データ転送部１２３と、ＣＡ・ハッシュ変換部１２４と、データアクセス部１２５と、を備える。レプリカシステム２００のレプリケーション実行部２２０は、ファイルシステムアクセス部２２１と、リクエスト受付部２２２と、データ転送部２２３と、ＣＡ・ハッシュ変換部２２４と、データアクセス部２２５と、を備える。
【００３３】
マスタシステム１００のファイルシステムアクセス部１２１は、マスタファイルシステム１１０のクローンであるマスタスナップショット１１１を作成し、前回のレプリケーション実行時に作成したマスタスナップショットである旧マスタスナップショット１１２と比較する。そして、ファイルシステムアクセス部１２１は、前回のレプリケーション以後に作成・更新され、今回のレプリケーションの処理対象であるファイルを抽出し、データアクセス部１２５にファイルのメタデータやデータブロックの読み込みを要求する。また、ファイルシステムアクセス部１２１は、ＣＡ・ハッシュ変換部１２４にファイルのメタデータに含まれるＣＡ（コンテンツアドレス）をハッシュ値に変換することを要求する。さらに、ファイルシステムアクセス部１２１は、データ転送部１２３にメタデータやデータブロックの転送を要求する。そして、ファイルシステムアクセス部１２１は、レプリケーション完了時には旧マスタスナップショット１１２を削除する。
【００３４】
マスタシステム１００のデータ転送部１２３は、ファイルシステムアクセス部１２１からの要求を受け付けたメタデータやデータブロックを、レプリカシステム２００のデータ転送部２２３に対して送信し、当該レプリカシステム２００のデータ転送部２２３からの各種リクエストを受付けてファイルシステムアクセス部１２１に転送する。
【００３５】
マスタシステム１００のＣＡ・ハッシュ変換部１２４は、ファイルシステムアクセス部１２１からの要求を受け、データブロックを参照するＣＡ（コンテンツアドレス）を、当該データブロックのデータ内容に基づく要約情報であるハッシュ値に変換し、対応するデータブロックの作成日時とともに返却するよう重複排除データ保存部１３０に要求し、結果をファイルシステムアクセス部１２１に返却する。
【００３６】
マスタシステム１００のデータアクセス部１２５は、ファイルシステムアクセス部１２１からの要求を受け、メタデータやデータブロックの読み込みを重複排除データ保存部１３０に要求し、結果をファイルシステムアクセス部１２１に返却する。
【００３７】
レプリカシステム２００のファイルシステムアクセス部２２１は、レプリカファイルシステム２１０を更新して、ファイルのメタデータの転送が完了したファイルを、ユーザシステム３００に公開する。そして、ファイルシステムアクセス部２２１は、リクエスト受付部２２２からの要求を受け、特定のファイルの特定のデータブロックを取得してリクエスト受付部２２２に返却する。また、ファイルシステムアクセス部２２１は、データ転送部２２３からメタデータやデータブロックを受け取り、データ転送部２２３に対してデータブロックの転送を要求し、データアクセス部２２５にメタデータやデータブロックの書き込みを要求し、ＣＡ・ハッシュ変換部２２４にメタデータに含まれるハッシュ値のＣＡへの変換を要求する。
【００３８】
レプリカシステム２００のリクエスト受付部２２２は、ファイルシステムビュー提供部２４０から特定のデータブロックの読み込みの要求を受け付け、ファイルシステムアクセス部２２１に要求を転送する。そして、リクエスト受付部２２２は、ファイルシステムアクセス部２２１から要求に応じて受け取ったデータブロックをファイルシステムビュー提供部２４０にわたす。
【００３９】
レプリカシステム２００のデータ転送部２２３は、マスタシステム１００のデータ転送部１２３から受信したメタデータやデータブロックをファイルシステムアクセス部２２１にわたす。また、データ転送部２２３は、ファイルシステムアクセス部２２１からの各種リクエストを、マスタシステム１００のデータ転送部１２３に送信する。
【００４０】
レプリカシステム２００のＣＡ・ハッシュ変換部２２４は、ファイルシステムアクセス部２２１からの要求を受け付け、ハッシュ値に対応するデータブロックのＣＡの返却を重複排除データ保存部２３０に要求する。また、ＣＡ・ハッシュ変換部２２４は、重複排除データ保存部２３０から受け取ったＣＡをファイルシステムアクセス部２２１に返却し、重複排除データ保存部２３０からＣＡの返却がなくハッシュ値に対応するデータブロックが存在しない場合は、その旨をファイルシステムアクセス部２２１に伝える。
【００４１】
レプリカシステム２００のデータアクセス部２２５は、ファイルシステムアクセス部２２１からの要求を受け付け、重複排除データ保存部２３０にメタデータやデータブロックの読み書きを要求し、重複排除データ保存部２３０から受け取ったメタデータやデータブロックをファイルシステムアクセス部２２１に返却する。
【００４２】
ここで、ストレージシステムに記憶されるファイルの構造を、図３を参照して説明する。ファイルは、重複排除データ保存部１３０，２３０が保持する複数のデータブロック（実データ）から構成され、ファイル内におけるデータブロックの順番（位置）がメタデータによって管理される。メタデータは、１つのファイルに複数存在し、それぞれのメタデータは、データブロックに関連する情報（参照する情報）であるコンテンツリンク（リンク情報）として、複数のデータブロックのＣＡ（コンテンツアドレス）もしくはデータブロックのハッシュ値と、当該コンテンツリンクに関連付けられたコンテンツフラグ（フラグ情報）として、コンテンツリンクに格納されているのがＣＡかハッシュ値かを示すフラグと、を持つ。ＣＡは、重複排除データ保存部１３０，２３０が対応するデータブロックを保持するアドレス、つまり、データブロックの格納位置を参照するアドレスであり、システム単位で一意である。例えば、ＣＡは、参照するデータブロックのデータ内容（データブロックのハッシュ値）及びその格納位置に応じて決定される値である。また、ハッシュ値は、データブロックのデータ内容から計算され、データブロック単位で一意である。このため、ハッシュ値は、データブロックのＣＡ（コンテンツアドレス）に基づく値とも言える。
【００４３】
図３の例において、あるファイルは先頭からデータブロック１、データブロック２、・・・の順番で表現される。データブロック１〜３は、メタデータ１によって管理され、続くデータブロック４〜６はメタデータ２によって管理される。メタデータ１に含まれるコンテンツフラグ１０１とコンテンツリンク１１１とはペアであり、コンテンツフラグ１０１がＣＡを示す場合は、コンテンツリンク１１１にＣＡが格納され、コンテンツフラグ１０１がハッシュ値か未転送データブロックを示す場合は、コンテンツリンク１１１にハッシュ値が格納される。同様に、コンテンツフラグ１０２とコンテンツリンク１１２、コンテンツフラグ１０３とコンテンツリンク１１３、コンテンツフラグ２０１とコンテンツリンク２１１、コンテンツフラグ２０２とコンテンツリンク２１２、コンテンツフラグ２０３コンテンツリンク２１３は、それぞれペアである。
【００４４】
［動作］
次に、上述した構成のストレージシステムの動作を、図４乃至図１０を参照して説明する。
【００４５】
（図４：処理Ａ）
レプリケーション開始時、マスタシステム１００のファイルシステムアクセス部１２１は、マスタファイルシステム１１０のクローンであるマスタスナップショット１１１を作成する。そして、ファイルシステムアクセス部１２１は、作成したマスタスナップショット１１１と旧マスタスナップショット１１２とを比較して（図４の矢印Ｓ１参照）、前回のレプリケーション以後に追加・更新されたファイルを抽出し、レプリケーションの処理対象とする。
【００４６】
（図５：処理Ｂ）
マスタシステム１００のファイルシステムアクセス部１２１は、上記処理Ａにおいて抽出されたファイルについて、データアクセス部１２５を通じてメタデータを読み込む。そして、ファイルシステムアクセス部１２１は、ＣＡ・ハッシュ変換部１２４を通じて、メタデータ内にコンテンツリンクとして格納されているＣＡ（コンテンツアドレス）を、ハッシュ値に変換して格納し、このコンテンツリンクに対応してメタデータ内に格納されているコンテンツフラグを、ハッシュ値を示すフラグに設定する。そして、ファイルシステムアクセス部１２１は、ＣＡをハッシュ値に変換したメタデータを、データ転送部１２３を通じて、レプリカシステム２００のデータ転送部２２３に送信する（図５の矢印Ｓ２参照）。なお、ＣＡからハッシュ値への変換は、ＣＡの一部として含まれるハッシュ値部分を抜き出すことで行うか、あるいは、ＣＡにて参照するデータブロックからハッシュ値を算出して行う。
【００４７】
ここで、マスタシステム１００は、上述したようにＣＡをハッシュ値に変換する際、同時にＣＡ・ハッシュ変換部１２４から返却されるデータブロックの作成時刻が前回のレプリケーションの開始時刻より後である場合、下記の処理Ｃを並行して行う。この操作を、ファイルを構成するすべてのメタデータについて行う。
【００４８】
レプリカシステム２００のデータ転送部２２３は、マスタシステム１００から受け取ったメタデータをファイルシステムアクセス部２２１にわたし、ファイルシステムアクセス部２２１は、メタデータをデータアクセス部２２５に渡して、重複排除データ保存部２３０に格納する。この時、レプリカシステム２００では、メタデータに含まれるハッシュ値はＣＡに変換されず、そのまま書き込まれるため、高速に処理される。
【００４９】
レプリカシステム２００のファイルシステムアクセス部２２１は、マスタシステム１００から送信された、ファイルを構成するすべてのメタデータの書き込みが完了すると、レプリカファイルシステム２１０にディレクトリエントリを作成し、当該ファイルをユーザシステム３００からアクセス可能とする。
【００５０】
（図６：処理Ｃ）
上述した処理Ｂの過程で、マスタシステム１００のファイルシステムアクセス部１２１が、処理対象のファイルを構成するデータブロックに、前回のレプリケーションの開始時刻より後に作成されたデータブロックを発見した場合には、以下の処理を並行して行う。まず、発見されたデータブロックは、新規に作成されたデータブロックであるため、レプリカシステム２００が所持していない可能性が高いと判断し、当該データブロックに対応するハッシュ値を、データ転送部１２３に渡してレプリカシステム２００に送信し、当該レプリカシステム２００に対して同一のデータブロックを所持しているかどうかの確認のリクエスト（要求）を出す（図６の矢印Ｓ３参照）。
【００５１】
上記リクエスト（確認要求）を受け取ったレプリカシステム２００のデータ転送部２２３は、ファイルシステムアクセス部２２１にリクエスト及びハッシュ値をわたす。ファイルシステムアクセス部２２１は、ＣＡ・ハッシュ変換部２２４に、ハッシュ値をＣＡに変換するよう依頼し、ＣＡ・ハッシュ変換部２２４は重複排除データ保存部２３０に要求して、変換したＣＡをファイルシステムアクセス部２２１に返却する。
【００５２】
なお、ハッシュ値をＣＡに変換する処理は、例えば、レプリカシステム２００内に、ハッシュ値を含むＣＡが存在するかを検索し、かかるＣＡが存在する場合にはその参照先に対応するデータブロックが存在するため、存在したＣＡそのものを変換後のＣＡとする。あるいは、レプリカシステム２００内にハッシュ値が同一となるデータブロックが存在するかを検索し、存在したデータブロックを参照するＣＡを、変換後のＣＡとする。
【００５３】
一方で、レプリカシステム２００内にハッシュ値に対応するデータブロックが存在しない場合は、ＣＡ・ハッシュ変換部２２４は、重複排除データ保存部２３０より、該当するデータブロックが存在しないことを通知され、ファイルシステムアクセス部２２１にその旨を通知する。
【００５４】
レプリカシステム２００のファイルシステムアクセス部２２１は、ハッシュ値に対応するデータブロックが存在してＣＡを受け取った場合は、何もしない。一方で、ファイルシステムアクセス部２２１は、ハッシュ値に対応するデータブロックが存在しない場合は、データ転送部２２３を通じて、該当するデータブロックの送信のリクエストをマスタシステム１００に出す。例えば、ハッシュ値をマスタシステム１００に送信して、かかるハッシュ値に対応するデータブロックの送信をリクエストする（図６の矢印Ｓ４参照）。
【００５５】
マスタシステム１００のデータ転送部１２３は、レプリカシステム２００からデータブロックの送信のリクエストを受け取ると、ファイルシステムアクセス部１２１にリクエストをわたす。ファイルシステムアクセス部１２１は、データアクセス部１２５に該当するデータブロックの読み込みを要求し、データアクセス部１２５は、重複排除データ保存部１３０にデータブロックの読み込みを要求する。データアクセス部１２５は、重複排除データ保存部１３０から受け取ったデータブロックをファイルシステムアクセス部１２１に返却し、ファイルシステムアクセス部１２１は、データ転送部１２３を通じて、レプリカシステム２００にデータブロックを転送する（図６の矢印Ｓ５参照）。
【００５６】
レプリカシステム２００のデータ転送部２２３は、マスタシステム１００からデータブロックを受け取ると、ファイルシステムアクセス部２２１に当該データブロックをわたす。ファイルシステムアクセス部２２１は、当該データブロックをデータアクセス部２２５に渡して、重複排除データ保存部２３０に書き込みを要求する。
【００５７】
図６の例では、データブロックＣ，Ｄ，Ｅが前回のレプリケーション以後にマスタシステム１００において作成・更新されたデータブロックである。レプリカシステム２００は、データブロックＣはすでに所持しているため、データブロックＤ，Ｅのみ転送するようマスタシステム１００に要求し、受け取ったデータブロックＤ，Ｅを書き込む。
【００５８】
（図７：処理Ｄ）
上述した処理Ｂの完了後、つまり、マスタシステム１００からレプリカシステム２００にメタデータを送信した後は、以下処理を行う。
【００５９】
まず、レプリカシステム２００のファイルシステムアクセス部２２１は、レプリカファイルシステム２１０にディレクトリエントリを作成して、ユーザシステム３００からアクセス可能としたファイルのすべてのメタデータに含まれるハッシュ値について、以下の処理を行う。つまり、メタデータ内のコンテンツフラグがハッシュ値を示すフラグであるコンテンツリンク（ハッシュ値）に対して、以下の処理を行う。
【００６０】
ファイルシステムアクセス部２２１は、データアクセス部２２５に要求を出して重複排除データ保存手段２３０よりファイルのメタデータを取得し、取得したメタデータに含まれるすべてのハッシュ値をＣＡ・ハッシュ変換部２２４に渡す。そして、ＣＡ・ハッシュ変換部２２４は、重複排除データ保存部２３０より、ハッシュ値に対応するＣＡを取得する。このとき、ハッシュ値に対応するＣＡの取得処理は、例えば、上記処理Ｃで説明した処理と同様である。
【００６１】
ファイルシステムアクセス部２２１は、ＣＡ・ハッシュ変換部２２４にて対応するＣＡを取得できたハッシュ値については、メタデータ内のコンテンツフラグをＣＡを示すフラグに変更し、メタデータ内のコンテンツリンクにＣＡを格納する。重複排除データ保存部２３０が対応するデータブロックを保持しておらず、対応するＣＡを取得できなかったハッシュ値については、メタデータ内のコンテンツフラグを未転送データブロックを示すフラグに変更し、データ転送部２２３にハッシュ値を渡して、対応するデータブロックの転送をリクエスト（要求）する（図７の矢印Ｓ６参照）。データ転送部２２３は、受け取ったリクエストをマスタシステム１００のデータ転送部１２３に送信する。つまり、レプリカシステム２００は、ＣＡを取得できなかったハッシュ値に対応するデータブロックはレプリカシステム２００内に存在しないと判断し、マスタシステム１００に要求する。
【００６２】
マスタシステム１００のデータ転送部１２３は、ファイルシステムアクセス部１２１にリクエストをわたす。ファイルシステムアクセス部１２１はデータアクセス部１２５に要求して重複排除データ保存部１３０よりハッシュ値に対応するデータブロックを読み込む。ファイルシステムアクセス部１２１は、読み込んだデータブロックをデータ転送部１２３にわたし、データ転送部１２３はレプリカシステム２００のデータ転送部２２３にデータブロックを送信する。
【００６３】
レプリカシステム２００のデータ転送部２２３は、ファイルシステムアクセス部２２１にデータブロックをわたし、ファイルシステムアクセス部２２１は、データブロックをデータアクセス部２２５に渡して重複排除データ保存部２３０に書き込む。ファイルシステムアクセス部２２１は、書き込んだデータブロックの格納位置を参照するＣＡをデータアクセス部２２５より受け取り、メタデータ内の対応するコンテンツリンクに格納し、対応するコンテンツフラグをＣＡを示すフラグに変更する。
【００６４】
レプリカシステム２００内のメタデータのすべてのコンテンツリンクがＣＡになった場合、ファイルシステムアクセス部２２１は、データアクセス部２２５にメタデータを渡して、重複排除データ保存部２３０に書き込む。
【００６５】
そして、ファイルシステムアクセス部２２１は、上記の処理を、処理対象ファイルに含まれるすべてのメタデータについて行う。
【００６６】
（図８：処理Ｅ）
上述した処理Ｂが完了して、レプリカファイルシステム２１０で閲覧可能となったファイルにユーザシステム３００から読み込みのアクセスが発生した場合の処理を、いかに説明する。ファイルシステムビュー提供部２４０は、アクセスが発生したファイルのメタデータを読み込み、ユーザシステム３００からの読み込みの対象のデータブロックに対応するメタデータ内のコンテンツリンクがすでにＣＡの場合は、重複排除データ保存部２３０より、データブロックを読み込み、ユーザシステム３００にデータを返却する。
【００６７】
一方、ファイルシステムビュー提供部２４０は、ユーザシステム３００からの読み込み対象のデータブロックに対応するメタデータ内のコンテンツフラグが、ハッシュ値を示すフラグであった場合、リクエスト受付部２２２に当該データブロックの読み込みを要求する。リクエスト受付部２２２はファイルシステムアクセス部２２１にリクエストをわたし、ファイルシステムアクセス部２２１は、上述した処理Ｄにおいて、コンテンツフラグがハッシュ値だった場合と同様の処理を行ってデータブロックを入手する。
【００６８】
具体的に、ファイルシステムアクセス部２２１は、まず、読み込み対象のデータブロックのハッシュ値をＣＡに変換できるか、つまり、ハッシュ値に対応するデータブロックがレプリカシステム２００内に存在するか調べる。ハッシュ値がＣＡに変換できず、データブロックがレプリカシステム２００内に存在しない場合には、当該ハッシュ値に対応するデータブロックをマスタシステム１００にリクエストする。そして、ファイルシステムアクセス部２２１は、マスタシステム１００から取得したデータブロックをリクエスト受付部２２２にわたす。リクエスト受付部２２２はファイルシステムビュー提供部２４０にデータブロックをわたし、ファイルシステムビュー提供部２４０は、データをユーザシステム３００に返却する。
【００６９】
例えば、図８の例では、レプリカシステム２００において、データブロックＤの読み込みがあったが、データブロックＤが存在していない場合には、レプリカシステム２００がデータブロックＤをマスタシステム１００に要求する（矢印Ｓ８参照）。これに応じて、マスタシステム１００は、データブロックＤをレプリカシステム２００に送信することで（矢印Ｓ９参照）、レプリカシステム２００はデータブロックＤを格納し、対応するメタデータのコンテンツリンクにＣＡを格納する。
【００７０】
（図９：処理Ｆ）
すべてのファイルの処理が完了し、マスタスナップショット１１１とレプリカファイルシステム２１０の同期が完了した場合の処理を、以下に説明する。レプリカシステム２００のファイルシステムアクセス部２２１は、レプリカシステム２００のデータ転送部２２３とマスタシステム１００のデータ転送部１２３を通じて、マスタシステム１００のファイルシステムアクセス部１２１にレプリケーションが完了したことを通知する。これに応じて、マスタシステム１００のファイルシステムアクセス部１２１は、旧マスタスナップショット１１２を削除する。マスタスナップショット１１１は、次回のレプリケーション実行時に旧マスタスナップショットとして使用するために残しておく。
【００７１】
（図１０：全体の流れ）
上述したレプリケーションの全体の流れを、図１０を用いて説明する。レプリケーションが開始されると、マスタシステム１００は、まず上記処理Ａを行ってマスタスナップショットを作成し、処理対象のファイルを抽出する。
【００７２】
マスタシステム１００は、上記処理Ａが完了すると上記処理Ｂを開始し、ファイルのメタデータをレプリカ側に転送する。マスタシステム１００は、処理Ｂと並行して処理Ｃを行い、レプリカシステム２００側が所持していない可能性が高いブロックについて、レプリカシステム１００に対する所持確認と転送処理を行う。
【００７３】
レプリカシステム２００は、処理Ｂが完了すると、処理Ｄを開始し、メタデータの先頭からハッシュ値をＣＡに変換していく。レプリカシステム２００において、ユーザから未転送データブロックへの読み込みが発生した場合、他の処理に優先して処理Ｅを行って、当該データブロックをマスタシステム１００からレプリカシステム２００に転送する処理を行い、ユーザにデータを返却する。
【００７４】
すべてのファイルについて処理Ｄが完了すると、処理Ｆを行って、旧マスタスナップショットを削除し、レプリケーションを完了する。
【００７５】
以上のように、本発明によると、完了まで時間がかかるレプリケーションにおいても、ユーザは迅速にレプリカファイルシステム上でデータを参照することが可能となる。また、前回のレプリケーション以後にマスタファイルシステムに作成されたデータブロックはレプリカシステムが所持していない可能性が高いため、そのようなデータブロックは発見次第処理することで、ネットワークを使用しない時間を極力減らしてネットワーク帯域利用を効率化し、ファイルの転送処理を高速に行うことが可能となる。
【００７６】
ここで、図１０に示す例では、ファイルを一つずつ処理しているが、複数のファイルを同時に処理することも可能である。また、処理Ｂの完了をまたずに処理Ｄを開始することも可能である。また、処理Ｅにおいて、ユーザからアクセスが発生したファイルについては、読み込み対象となったデータブロックだけでなく、ファイル全体について最優先で処理するような最適化も可能である。さらに、アクセスの局所性に着目し、読み込み対象となったデータブロックだけでなく、近いオフセット位置にあるデータブロックも処理の優先度を上げて、ユーザのアクセス待ち時間の短縮を図ることも可能である。
【００７７】
＜付記＞
上記実施形態の一部又は全部は、以下の付記のようにも記載されうる。以下、本発明におけるストレージシステム（図１１参照）、レプリカ側ストレージ装置、プログラム、レプリケーション方法の構成の概略を説明する。但し、本発明は、以下の構成に限定されない。
【００７８】
（付記１）
重複記憶排除機能を有するマスタ側ストレージ装置１０とレプリカ側ストレージ装置２０とを備え、
前記マスタ側ストレージ装置１０及び前記レプリカ側ストレージ装置２０は、前記マスタ側ストレージ装置に記憶されているファイルを構成する実データを前記レプリカ側ストレージ装置にレプリケーションするレプリケーション実行部１１，１２をそれぞれ備えており、
前記マスタ側ストレージ装置１０の前記レプリケーション実行部１１は、当該マスタ側ストレージ装置１０に記憶されている前記実データの格納位置を参照するアドレスデータに基づく値であるメタデータを前記レプリカ側ストレージ装置２０に送信し、その後、当該レプリカ側ストレージ装置２０からの要求に応じて前記実データを前記レプリカ側ストレージ装置２０に送信し、
前記レプリカ側ストレージ装置２０の前記レプリケーション実行部２１は、前記マスタ側ストレージ装置１０から送信された前記メタデータを受信して記憶し、その後、当該メタデータに基づいて前記レプリカ側ストレージ装置２０に記憶されていない前記実データを前記マスタ側ストレージ装置１０に要求し、当該要求に応じて前記マスタ側ストレージ装置１０から送信された前記実データを受信して記憶し、
さらに、前記レプリカ側ストレージ装置２０は、前記マスタ側ストレージ装置１０から受信して記憶した前記メタデータに基づいて、当該メタデータに対応する前記実データにて構成されるファイルにアクセス可能なようファイルシステムを形成すると共に、アクセスがあったファイルを構成する前記実データが前記レプリカ側ストレージ装置２０に記憶されていない場合に前記メタデータに基づいて前記実データを前記マスタ側ストレージ装置１０に要求するファイルシステムアクセス部２２を備えた、
ストレージシステム。
【００７９】
（付記２）
付記１に記載のストレージシステムであって、
前記マスタ側ストレージ装置の前記レプリケーション実行部は、ファイルを構成する前記実データのデータ内容に基づく値である要約情報を前記メタデータとして前記レプリカ側ストレージ装置に送信し、その後、当該レプリカ側ストレージ装置からの前記要約情報に基づく要求に応じて当該要約情報に対応する前記実データを前記レプリカ側ストレージ装置に送信し、
前記レプリカ側ストレージ装置の前記レプリケーション実行部は、前記マスタ側ストレージ装置から送信された前記メタデータとしての前記要約情報を受信して記憶し、その後、当該要約情報に基づいて前記レプリカ側ストレージ装置に記憶されていない前記実データを前記マスタ側ストレージ装置に要求し、当該要求に応じて前記マスタ側ストレージ装置から送信された前記実データを記憶し、
前記レプリカ側ストレージ装置の前記ファイルシステムアクセス部は、前記マスタ側ストレージ装置から受信して記憶した前記メタデータとしての前記要約情報に基づいてファイルにアクセス可能なようファイルシステムを形成すると共に、アクセスがあったファイルを構成する前記実データが前記レプリカ側ストレージ装置に記憶されていないときに前記要約情報に基づいて前記実データを前記マスタ側ストレージ装置に要求する、
ストレージシステム。
【００８０】
（付記３）
付記２に記載のストレージシステムであって、
前記レプリカ側ストレージ装置の前記レプリケーション実行部及び前記ファイルシステムアクセス部は、前記要約情報を前記マスタ側ストレージ装置に送信して、前記レプリカ側ストレージ装置に記憶されていないファイルを構成する前記実データを前記マスタ側ストレージ装置に要求する、
ストレージシステム。
【００８１】
（付記４）
付記２に記載のストレージシステムであって、
前記レプリカ側ストレージ装置の前記レプリケーション実行部及び前記ファイルシステムアクセス部は、前記マスタ側ストレージ装置から受信して記憶した前記要約情報に基づいて、当該要約情報に対応する前記アドレスデータが前記レプリカ側ストレージ装置に記憶されている場合には、当該対応するアドレスデータにて参照される前記レプリカ側ストレージ装置に記憶されている前記実データをレプリケーションしたデータとして用い、前記要約情報に対応する前記アドレスデータが前記レプリカ側ストレージ装置に記憶されていない場合には、前記要約情報を前記マスタ側ストレージ装置に送信して前記実データを前記マスタ側ストレージ装置に要求する、
ストレージシステム。
【００８２】
（付記５）
付記４に記載のストレージシステムであって、
前記メタデータは、前記実データに関連する情報を格納するリンク情報と、当該リンク情報に対応付けられたフラグ情報と、を含んで構成されており、
前記マスタ側ストレージ装置の前記レプリケーション実行部は、前記メタデータ内に、前記リンク情報として前記要約情報を格納し、前記フラグ情報として要約情報フラグを格納して、当該メタデータを前記レプリカ側ストレージ装置に送信し、
前記レプリカ側ストレージ装置の前記レプリケーション実行部は、
前記マスタ側ストレージ装置から送信された前記メタデータを受信して記憶し、
その後、記憶した前記メタデータ内の前記要約情報に対応する前記アドレスデータが前記レプリカ側ストレージ装置に記憶されている場合には、当該対応するアドレスデータを前記メタデータ内に前記リンク情報として格納すると共に、前記メタデータ内に前記フラグ情報としてアドレスデータフラグを格納し、前記アドレスデータにて参照される前記レプリカ側ストレージ装置に記憶されている前記実データをレプリケーションしたデータとして用い、
記憶した前記メタデータ内の前記要約情報に対応する前記アドレスデータが前記レプリカ側ストレージ装置に記憶されていない場合には、前記要約情報を前記マスタ側ストレージ装置に送信して前記実データを前記マスタ側ストレージ装置に要求し、当該要求に応じて前記マスタ側ストレージ装置から送信された前記実データを記憶して、当該格納した実データの格納位置を参照する前記アドレスデータを前記メタデータ内に前記リンク情報として格納すると共に、前記メタデータ内に前記フラグ情報として前記アドレスデータフラグを格納し、
前記レプリカ側ストレージ装置の前記ファイルシステムアクセス部は、アクセスされたファイルの前記メタデータ内の前記フラグ情報が前記要約情報フラグである場合には、当該メタデータ内の前記リンク情報として格納されている前記要約情報を前記マスタ側ストレージ装置に送信して前記実データを前記マスタ側ストレージ装置に要求する、
ストレージシステム。
【００８３】
（付記６）
付記２乃至５のいずれかに記載のストレージシステムであって、
前記レプリカ側ストレージ装置の前記レプリケーション実行部及び前記ファイルシステムアクセス部は、前記マスタ側ストレージ装置から受信して記憶した前記要約情報に基づいて、当該要約情報に対応する前記実データが前記レプリカ側ストレージ装置に記憶されているか否かを判定し、記憶されていない前記実データを前記マスタ側ストレージ装置に要求する、
ストレージシステム。
【００８４】
（付記７）
付記２乃至６のいずれかに記載のストレージシステムであって、
前記マスタ側ストレージ装置の前記レプリケーション実行部は、前記メタデータを前記レプリカ側ストレージ装置に送信すると共に、レプリケーションの対象となる前記実データの作成時刻が前回のレプリケーションの開始時刻よりも後である場合に、当該実データのデータ内容に基づく前記要約情報を前記レプリカ側ストレージ装置に送信して当該レプリカ側ストレージ装置に対して前記実データが記憶されているか否かの確認を要求し、
前記レプリカ側ストレージ装置の前記レプリケーション実行部は、前記マスタ側ストレージ装置からの前記実データが記憶されているか否かの確認要求に応じて、当該マスタ側ストレージ装置から送信された前記要約情報に基づいて確認要求された前記実データが前記レプリカ側ストレージ装置に記憶されているか否かを確認し、記憶されていない前記実データを前記マスタ側ストレージ装置に要求する、
ストレージシステム。
【００８５】
（付記８−１）
重複記憶排除機能を有し、マスタ側ストレージ装置に接続されたレプリカ側ストレージ装置であって、
前記マスタ側ストレージ装置に記憶されているファイルを構成する実データを前記レプリカ側ストレージ装置にレプリケーションするレプリケーション実行部を備え、
前記レプリケーション実行部は、前記マスタ側ストレージ装置から送信された、当該マスタ側ストレージ装置に記憶されている前記実データの格納位置を参照するアドレスデータに基づく値であるメタデータを受信して記憶し、その後、当該メタデータに基づいて前記レプリカ側ストレージ装置に記憶されていない前記実データを前記マスタ側ストレージ装置に要求し、当該要求に応じて前記マスタ側ストレージ装置から送信された前記実データを受信して記憶し、
さらに、前記マスタ側ストレージ装置から受信して記憶した前記メタデータに基づいて、当該メタデータに対応する前記実データにて構成されるファイルにアクセス可能なようファイルシステムを形成すると共に、アクセスがあったファイルを構成する前記実データが前記レプリカ側ストレージ装置に記憶されていない場合に前記メタデータに基づいて前記実データを前記マスタ側ストレージ装置に要求するファイルシステムアクセス部を備えた、
レプリカ側ストレージ装置。
【００８６】
（付記８−２）
付記８−１に記載のレプリカ側ストレージ装置であって、
前記レプリケーション実行部は、前記マスタ側ストレージ装置から前記メタデータとして送信された、ファイルを構成する前記実データのデータ内容に基づく値である要約情報を受信して記憶し、その後、当該要約情報に基づいて前記レプリカ側ストレージ装置に記憶されていない前記実データを前記マスタ側ストレージ装置に要求し、当該要求に応じて前記マスタ側ストレージ装置から送信された前記実データを記憶し、
前記ファイルシステムアクセス部は、前記マスタ側ストレージ装置から受信して記憶した前記メタデータとしての前記要約情報に基づいてファイルにアクセス可能なようファイルシステムを形成すると共に、アクセスがあったファイルを構成する前記実データが前記レプリカ側ストレージ装置に記憶されていないときに前記要約情報に基づいて前記実データを前記マスタ側ストレージ装置に要求する、
レプリカ側ストレージ装置。
【００８７】
（付記９−１）
重複記憶排除機能を有し、マスタ側ストレージ装置に接続されたレプリカ側ストレージ装置に、
前記マスタ側ストレージ装置に記憶されているファイルを構成する実データを前記レプリカ側ストレージ装置にレプリケーションするレプリケーション実行部を実現させるとともに、
前記レプリケーション実行部は、前記マスタ側ストレージ装置から送信された、当該マスタ側ストレージ装置に記憶されている前記実データの格納位置を参照するアドレスデータに基づく値であるメタデータを受信して記憶し、その後、当該メタデータに基づいて前記レプリカ側ストレージ装置に記憶されていない前記実データを前記マスタ側ストレージ装置に要求し、当該要求に応じて前記マスタ側ストレージ装置から送信された前記実データを受信して記憶し、
さらに、前記レプリカ側ストレージ装置に、
前記マスタ側ストレージ装置から受信して記憶した前記メタデータに基づいて、当該メタデータに対応する前記実データにて構成されるファイルにアクセス可能なようファイルシステムを形成すると共に、アクセスがあったファイルを構成する前記実データが前記レプリカ側ストレージ装置に記憶されていない場合に前記メタデータに基づいて前記実データを前記マスタ側ストレージ装置に要求するファイルシステムアクセス部を実現させる、
ためのプログラム。
【００８８】
（付記９−２）
付記９−１に記載のプログラムであって、
前記レプリケーション実行部は、前記マスタ側ストレージ装置から前記メタデータとして送信された、ファイルを構成する前記実データのデータ内容に基づく値である要約情報を受信して記憶し、その後、当該要約情報に基づいて前記レプリカ側ストレージ装置に記憶されていない前記実データを前記マスタ側ストレージ装置に要求し、当該要求に応じて前記マスタ側ストレージ装置から送信された前記実データを記憶し、
前記ファイルシステムアクセス部は、前記マスタ側ストレージ装置から受信して記憶した前記メタデータとしての前記要約情報に基づいてファイルにアクセス可能なようファイルシステムを形成すると共に、アクセスがあったファイルを構成する前記実データが前記レプリカ側ストレージ装置に記憶されていないときに前記要約情報に基づいて前記実データを前記マスタ側ストレージ装置に要求する、
プログラム。
【００８９】
（付記１０−１）
重複記憶排除機能を有し、マスタ側ストレージ装置に接続されたレプリカ側ストレージ装置によるレプリケーション方法であって、
前記レプリカ側ストレージ装置は、前記マスタ側ストレージ装置に記憶されているファイルを構成する実データを前記レプリカ側ストレージ装置にレプリケーションする際に、
前記マスタ側ストレージ装置から送信された、当該マスタ側ストレージ装置に記憶されている前記実データの格納位置を参照するアドレスデータに基づく値であるメタデータを受信して記憶し、その後、当該メタデータに基づいて前記レプリカ側ストレージ装置に記憶されていない前記実データを前記マスタ側ストレージ装置に要求し、当該要求に応じて前記マスタ側ストレージ装置から送信された前記実データを受信して記憶し、
さらに、前記レプリカ側ストレージ装置は、
前記マスタ側ストレージ装置から受信して記憶した前記メタデータに基づいて、当該メタデータに対応する前記実データにて構成されるファイルにアクセス可能なようファイルシステムを形成すると共に、アクセスがあったファイルを構成する前記実データが前記レプリカ側ストレージ装置に記憶されていない場合に前記メタデータに基づいて前記実データを前記マスタ側ストレージ装置に要求する、
レプリケーション方法。
【００９０】
（付記１０−２）
付記１０−１に記載のレプリケーション方法であって、
前記レプリカ側ストレージ装置は、前記マスタ側ストレージ装置から前記メタデータとして送信された、ファイルを構成する前記実データのデータ内容に基づく値である要約情報を受信して記憶し、その後、当該要約情報に基づいて前記レプリカ側ストレージ装置に記憶されていない前記実データを前記マスタ側ストレージ装置に要求し、当該要求に応じて前記マスタ側ストレージ装置から送信された前記実データを記憶し、
さらに、前記レプリカ側ストレージ装置は、前記マスタ側ストレージ装置から受信して記憶した前記メタデータとしての前記要約情報に基づいてファイルにアクセス可能なようファイルシステムを形成すると共に、アクセスがあったファイルを構成する前記実データが前記レプリカ側ストレージ装置に記憶されていないときに前記要約情報に基づいて前記実データを前記マスタ側ストレージ装置に要求する、
レプリケーション方法。
【００９１】
なお、上述したプログラムは、記憶装置に記憶されていたり、コンピュータが読み取り可能な記録媒体に記録されている。例えば、記録媒体は、フレキシブルディスク、光ディスク、光磁気ディスク、及び、半導体メモリ等の可搬性を有する媒体である。
【００９２】
以上、上記実施形態等を参照して本願発明を説明したが、本願発明は、上述した実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明の範囲内で当業者が理解しうる様々な変更をすることができる。
【符号の説明】
【００９３】
１０  マスタ側ストレージ装置
１１  レプリケーション実行部
２０  レプリカ側ストレージ装置
２１  レプリケーション実行部
２２  ファイルシステムアクセス部
１００  マスタシステム
１１０  マスタファイルシステム
１１１  マスタスナップショット
１１２  旧マスタスナップショット
１２０  レプリケーション実行部
１２１  ファイルシステムアクセス部
１２３  データ転送部
１２４  ＣＡ・ハッシュ変換部
１２５  データアクセス部
１３０  重複排除データ保存部
１４０  ファイルシステムビュー提供部
２００  レプリカシステム
２１０  レプリカファイルシステム
２２０  レプリケーション実行部
２２１  ファイルシステムアクセス部
２２２  リクエスト受付部
２２３  データ転送部
２２４  ＣＡ・ハッシュ変換部
２２５  データアクセス部
２３０  重複排除データ保存部
２４０  ファイルシステムビュー提供部
３００  ユーザシステム
【図１】
0006413792.tif 000002
【図２】
0006413792.tif 000003
【図３】
0006413792.tif 000004
【図４】
0006413792.tif 000005
【図５】
0006413792.tif 000006
【図６】
0006413792.tif 000007
【図７】
0006413792.tif 000008
【図８】
0006413792.tif 000009
【図９】
0006413792.tif 000010
【図１０】
0006413792.tif 000011
【図１１】
0006413792.tif 000012