JP5066099B2 - 階層式セグメント化巡回冗長検査による遠隔地でのファイルの修復 - Google Patents
階層式セグメント化巡回冗長検査による遠隔地でのファイルの修復 Download PDFInfo
- Publication number
- JP5066099B2 JP5066099B2 JP2008547706A JP2008547706A JP5066099B2 JP 5066099 B2 JP5066099 B2 JP 5066099B2 JP 2008547706 A JP2008547706 A JP 2008547706A JP 2008547706 A JP2008547706 A JP 2008547706A JP 5066099 B2 JP5066099 B2 JP 5066099B2
- Authority
- JP
- Japan
- Prior art keywords
- file
- remote
- local
- section
- computer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1004—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
Description
図2は修復ファイルの1つの特定の構成を示しているが、検査コードの様々な一連のセクションを含む様々な構成が可能である。
比較(ボックス706で行われる)の結果として新規ブロックが検出されると、最後の正しいブロックと新しく検出されたブロックとの間の数バイトは、ボックス708で、誤って「追加された」バイトとして破棄される。一方、想定された正しいブロックの検査コードが、比較(ボックス706で行われる)の結果として、次のブロックより先のブロックと一致したとき、ボックス710で、間にあるブロック(1つまたは複数)が削除されたことが記録される。したがって、いずれかの後続ブロックが検出され、「欠落している」または「追加された」ビットが適切に処理されると、ボックス712で、通常のモードで、ファイルの残り部分の破壊エリア(1つまたは複数)の特定/隔離が続行される。この場合、ビットの「回転(twiddled)」があると想定して特定/隔離が続行される。それ以外の場合に、ファイルの終りに達した後も後続のブロックが検出されないとき、または計算または時間の制約のためにテスト継続のしきい値が検出されると、破壊ファイルは、714で、破壊エリアから前方にダウンロードのマークが付けられる。
媒体デバイス840は、リムーバブル媒体を受け入れ、挿入された媒体からデータを読み取り、および/または挿入された媒体にデータを書き込む。ある1つの実施態様では、媒体デバイス840は光ディスクドライブである。
Claims (69)
- ネットワークを介して存在するリモートオリジナルファイルに基づいてローカル破壊ファイルを修復することを、コンピュータによって実行する方法であって、
ローカル破壊ファイルの検査コードの一連のセクションを再帰的に生成し、ローカル修復ファイルを作成するステップと、
前記ローカル修復ファイルの少なくとも1つの部分とリモート修復ファイルの少なくとも1つの部分との違いに基づいて前記リモート修復ファイルの前記少なくとも1つの部分およびリモートオリジナルファイルの少なくとも1つの部分を選択的に検索し、前記ローカル破壊ファイルの少なくとも1つの破壊部分を特定するステップと、
前記ローカル破壊ファイルの前記少なくとも1つの破壊部分を前記リモートオリジナルファイルの前記少なくとも1つの部分に置換するステップと
を含むコンピュータによって実行する方法。 - 前記リモートオリジナルファイルの検査コードの一連のセクションを再帰的に生成し、前記リモート修復ファイルを作成するステップ
をさらに含む、請求項1に記載のコンピュータによって実行する方法。 - 前記リモートオリジナルファイルの前記検査コードの一連のセクションを連結し、前記リモート修復ファイルを作成するステップを
さらに含む、請求項2に記載のコンピュータによって実行する方法。 - 前記ローカル破壊ファイルの検査コードの一連のセクションを前記再帰的に生成するステップが、
第2のバイト数が第1のバイト数より少ない場合に、前記ローカル破壊ファイルの前記第1の数のバイトに第1のハッシュを実行し、前記第2の数のバイトを有する検査コードを作成するステップと、
前記ローカル破壊ファイル全体がハッシュされ終わるまで前記第1のハッシュを繰り返して第1の複数の検査コードを作成するステップと、
を含む、請求項1に記載のコンピュータによって実行する方法。 - 前記検査コードが巡回冗長検査(CRC)コードを含む、請求項4に記載のコンピュータによって実行する方法。
- 前記第1の複数の検査コードを、それらが作成された順に第1の連結を行い、前記ローカル破壊ファイルの前記検査コードの一連のセクションの特定のセクションを形成するステップ をさらに含む、請求項4に記載のコンピュータによって実行する方法。
- 前記特定のセクションが最初に生成されたリモート検査コードセクションである、請求項6に記載のコンピュータによって実行する方法。
- 前記特定のセクション内の前記第1の数のバイトに第2のハッシュを実行し、前記第2の数のバイトを有する検査コードを生成するステップと、
前記特定のセクション全体がハッシュされ終わるまで第2のハッシュを繰り返し、前記第2の複数の検査コードを作成するステップと
をさらに含む、請求項6に記載のコンピュータによって実行する方法。 - 前記第2の複数の検査コードを、それらが作成された順に第2の連結を行い、前記ローカル破壊ファイルの前記検査コードの一連のセクションの別のセクションを形成するステップ
をさらに含む、請求項8に記載のコンピュータによって実行する方法。 - 前記一連のセクションの前記別のセクションが時間シーケンスにおいて最後に生成されたリモート検査コードセクションである、請求項9に記載のコンピュータによって実行する方法。
- 時間シーケンスにおいて前に生成されたセクションに移動し、前記前に生成されたセクションを前記特定のセクションとして指定するステップと、
前記第2のハッシュ、前記第2の連結、および前記移動を前記別のセクションの長さがしきい値より小さくなるまで繰り返すステップと
をさらに含む、請求項9に記載のコンピュータによって実行する方法。 - 前記しきい値が2000バイトである、請求項11に記載のコンピュータによって実行する方法。
- ローカル破壊ファイルの前記検査コードの一連のセクションが、時間シーケンスにおいて最後に生成されたローカル検査コードのセクションを含む、請求項1に記載のコンピュータによって実行する方法。
- リモート修復ファイルの少なくとも1つの部分およびリモートオリジナルファイルの少なくとも1つの部分を前記選択的に検索するステップが、
リモートオリジナルファイルの検査コードの再帰的に生成されたセクションの、時間シーケンスにおいて最後に生成されたリモート検査コードのセクションを検索するステップを含む、請求項13に記載のコンピュータによって実行する方法。 - リモート修復ファイルの少なくとも1つの部分およびリモートオリジナルファイルの少なくとも1つの部分を前記選択的に検索するステップが、
前記最後に生成されたリモート検査コードのセクションを前記最後に生成されたローカル検査コードのセクションと比較するステップを含む、請求項14に記載のコンピュータによって実行する方法。 - リモート修復ファイルの少なくとも1つの部分およびリモートオリジナルファイルの少なくとも1つの部分を前記選択的に検索するステップが、
前記最後に生成されたリモート検査コードのセクションと異なる前記最後に生成されたローカル検査コードのセクション内の検査コードにマークするステップを含む、請求項15に記載のコンピュータによって実行する方法。 - リモート修復ファイルおよびリモートオリジナルファイルの部分を前記選択的に検索するステップが、
ローカル破壊ファイルの検査コードのセクションおよび前記リモートオリジナルファイルの検査コードのセクションの、前記時間シーケンスの点で前に生成されたセクションに移動するステップと、
前記前に生成されたセクションを、それぞれ、前記最後に生成されたローカル検査コードおよび前記最後に生成されたリモート検査コードとして指定するステップと、
前記検索、前記比較、前記マーク付け、前記移動、および前記指定を前記リモートオリジナルファイルの検査コードのセクションの、前記時間シーケンスにおいて前記前に生成されたリモート検査コードセクションが、前記リモートオリジナルファイルの検査コードのセクションの、前記時間シーケンスにおいて最初に生成されたリモート検査コードセクションになるまで繰り返すステップと
を含む、請求項16に記載のコンピュータによって実行する方法。 - リモート修復ファイルおよびリモートオリジナルファイルの部分を前記選択的に検索するステップが、
前記前のリモート検査コードセクションが前記リモートオリジナルファイルの検査コードのセクションの、前記時間シーケンスにおいて最初に生成されたリモート検査コードセクションである場合に、
前記リモートオリジナルファイルの、前記マークされたコードに対応する少なくとも1つの部分をダウンロードするステップを含む、請求項17に記載のコンピュータによって実行する方法。 - 前記ローカル破壊ファイルのサイズが前記リモートオリジナルファイルのサイズと一致しないときに、前記ローカル修復ファイルおよび前記リモート修復ファイルを使用し、物理的シーケンスにおいて前記ローカル破壊ファイルの始めから前記ローカル破壊ファイルの最初の破壊部分を探索するステップ
をさらに含む、請求項1に記載のコンピュータによって実行する方法。 - 前記ローカル破壊ファイルおよび前記リモートオリジナルファイルを、前記ローカル破壊ファイルの前記探索された最初の破壊部分から再同期化するステップ
をさらに含む、請求項19に記載のコンピュータによって実行する方法。 - 前記再同期化するステップが、
前記最初の破壊部分の前の最後の正しい部分と再同期化ポイントとの間の欠落データを復元し、および/または追加データを削除するステップを含む、請求項20に記載のコンピュータによって実行する方法。 - 検査コードの現行部分は正しいと想定することにより、前記探索された最初の破壊部分から一度に1バイトずつ前方へ進むステップと、
前記ローカル破壊ファイルの前記現行部分の前記バイトを、前記ローカル破壊ファイルの前記探索された最初の破壊部分に対応する、前記リモートオリジナルファイル内のバイトと比較するステップと
をさらに含む、請求項21に記載のコンピュータによって実行する方法。 - 新しく検出された部分が前記移動および比較のステップで検出されたとき、前記ローカル破壊ファイルの前記最後の正しい部分と前記新しく検出された部分との間の誤って追加されたバイトを破棄するステップ
をさらに含む、請求項22に記載のコンピュータによって実行する方法。 - 前記現行部分が物理的に次の物理的なブロックより先のブロックと一致したとき、間にある少なくとも1つのブロックが削除されたことを記録するステップ
をさらに含む、請求項22に記載のコンピュータによって実行する方法。 - ローカル破壊ファイルの検査コードの一連のセクションを再帰的に生成し、ローカル修復ファイルを作成する第1の検査コード生成部と、
前記ローカル修復ファイルの少なくとも1つの部分とリモート修復ファイルの少なくとも1つの部分との違いに基づいて前記リモート修復ファイルの前記少なくとも1つの部分およびリモートオリジナルファイルの少なくとも1つの部分を選択的に検索し、前記ローカル破壊ファイルの少なくとも1つの破壊部分を特定する破壊識別子と、
前記ローカル破壊ファイルの前記少なくとも1つの破壊部分を前記リモートオリジナルファイルの前記少なくとも1つの部分に置換する置換ユニットと、
を含むシステム。 - 前記リモートオリジナルファイルの検査コードの一連のセクションを再帰的に生成し、前記リモート修復ファイルを作成する第2の検査コード生成部
をさらに含む、請求項25に記載のシステム。 - 前記リモートオリジナルファイルの前記検査コードの一連のセクションを連結し、前記リモート修復ファイルを作成する連結ユニット
をさらに含む、請求項26に記載のシステム。 - 前記第1の検査コード生成部が、
前記ローカル破壊ファイルの第1の数のバイトをハッシュし、第2の数のバイトを有する検査コードを作成する第1のハッシュユニットであって、前記第2のバイト数が前記第1のバイト数より少ない、第1のハッシュユニットと、
前記ローカル破壊ファイル全体がハッシュされ終わるまで前記ハッシュを繰り返し、第1の複数の検査コードを作成する前記第1のハッシュユニットと
を含む、請求項25に記載のシステム。 - 前記検査コードが巡回冗長検査(CRC)コードを含む、請求項28に記載のシステム。
- 前記第1の複数の検査コードを、それらが作成された順に連結し、前記ローカル破壊ファイルの前記検査コードの一連のセクションの特定のセクションを形成する第1の連結ユニット
をさらに含む、請求項28に記載のシステム。 - 前記特定のセクションが第1に生成されたリモート検査コードセクションである、請求項30に記載のシステム。
- 前記特定のセクション内の前記第1の数のバイトをハッシュし、前記第2の数のバイトを有する検査コードを生成する第2のハッシュユニットをさらに含み、
前記第2のハッシュユニットが、前記特定のセクション全体がハッシュされ終わるまで前記第1の数のバイトのハッシュを繰り返して、第2の複数の検査コードを作成する、
請求項30に記載のシステム。 - 前記第2の複数の検査コードを、それらが作成された順に連結し、前記ローカル破壊ファイルの前記検査コードの一連のセクションの別のセクションを形成する第2の連結ユニット
をさらに含む、請求項32に記載のシステム。 - 前記一連のセクションの前記別のセクションが時間シーケンスにおいて最後に生成されたリモート検査コードセクションである、請求項33に記載のシステム。
- 時間シーケンスにおいて前に生成されたセクションに移動し、前記前に生成されたセクションを前記特定のセクションとして指定するためのループユニットであって、前記第2のハッシュユニット、前記第2の連結ユニット、および前記ループユニットの動作を前記別のセクションの長さがしきい値より小さくなるまで繰り返すループユニット
をさらに含む、請求項33に記載のシステム。 - 前記しきい値が2000バイトである、請求項35に記載のシステム。
- ローカル破壊ファイルの前記検査コードの一連のセクションが、時間シーケンスにおいて最後に生成されたローカル検査コードのセクションを含む、請求項25に記載のシステム。
- 前記破壊識別子が、
リモートオリジナルファイルの検査コードの再帰的に生成されたセクションの、時間シーケンスにおいて最後に生成されたリモート検査コードのセクションを検索するための検索子を含む、請求項37に記載のシステム。 - 前記破壊識別子が、
前記最後に生成されたリモート検査コードのセクションを前記最後に生成されたローカル検査コードのセクションと比較するための比較子を含む、請求項38に記載のシステム。 - 前記破壊識別子が、
前記最後に生成されたリモート検査コードのセクションと異なる前記最後に生成されたローカル検査コードのセクション内の検査コードにマークするマークユニットを含む、請求項39に記載のシステム。 - 前記破壊識別子が、
ローカル破壊ファイルの検査コードのセクションおよび前記リモートオリジナルファイルの検査コードのセクションの、前記時間シーケンスの点で前に生成されたセクションに移動する第2のループユニットと、
前記前に生成されたセクションを、それぞれ、前記最後に生成されたローカル検査コードおよび前記最後に生成されたリモート検査コードとして指定するための指定ユニットであって、前記検索、前記比較、前記マーク付け、前記移動、および前記指定を前記リモートオリジナルファイルの検査コードのセクションの、前記時間シーケンスにおいて前記前に生成されたリモート検査コードセクションが、前記リモートオリジナルファイルの検査コードのセクションの、前記時間シーケンスにおいて最初に生成されたリモート検査コードセクションになるまで繰り返すための指定ユニットと
を含む、請求項40に記載のシステム。 - 前記破壊識別子が、
前記前のリモート検査コードセクションが前記リモートオリジナルファイルの検査コードのセクションの、前記時間シーケンスにおいて最初に生成されたリモート検査コードセクションである場合に、前記リモートオリジナルファイルの、前記マークされたコードに対応する少なくとも1つの部分をダウンロードするダウンロードユニットを含む、請求項41に記載のシステム。 - 前記ローカル破壊ファイルのサイズが前記リモートオリジナルファイルのサイズと一致しないときに、前記ローカル修復ファイルおよび前記リモート修復ファイルを使用し、物理的シーケンスにおいて前記ローカル破壊ファイルの始めから前記ローカル破壊ファイルの最初の破壊部分を探索する探索子
をさらに含む、請求項25に記載のシステム。 - 前記ローカル破壊ファイルおよび前記リモートオリジナルファイルを、前記ローカル破壊ファイルの前記探索された最初の破壊部分から再同期化する再同期化ユニット
をさらに含む、請求項43に記載のシステム。 - 前記再同期化ユニットが、
前記最初の破壊部分の前の最後の正しい部分と再同期化ポイントとの間の欠落データを復元し、および/または追加データを削除するユニットを含む、請求項44に記載のシステム。 - 検査コードの現行部分は正しいと想定することにより、前記探索された最初の破壊部分から一度に1バイトずつ前方へ進ませる第3のループユニットと、
前記ローカル破壊ファイルの前記現行部分の前記バイトを、前記ローカル破壊ファイルの前記探索された最初の破壊部分に対応する、前記リモートオリジナルファイル内のバイトと比較する比較ユニットと
をさらに含む、請求項45に記載のシステム。 - 新しく検出された部分が前記移動および比較で検出されたとき、前記ローカル破壊ファイルの前記最後の正しい部分と前記新しく検出された部分との間の誤って追加されたバイトを破棄する破棄ユニット
をさらに含む、請求項46に記載のシステム。 - 前記現行部分が物理的に次の物理的なブロックより先のブロックと一致したとき、間にある少なくとも1つのブロックが削除されたことを記録する記録ユニット
をさらに含む、請求項46に記載のシステム。 - 有形の記憶媒体に保管された、ローカル破壊ファイルを修復するコンピュータプログラムであって、コンピュータに
ローカル破壊ファイルの検査コードの一連のセクションを再帰的に生成させてローカル修復ファイルを作成し、
前記ローカル修復ファイルの少なくとも1つの部分とリモート修復ファイルの少なくとも1つの部分との違いに基づいて前記リモート修復ファイルの前記少なくとも1つの部分およびリモートオリジナルファイルの少なくとも1つの部分を選択的に検索して、前記ローカル破壊ファイルの少なくとも1つの破壊部分を特定させ、
前記ローカル破壊ファイルの前記少なくとも1つの破壊部分を前記リモートオリジナルファイルの前記少なくとも1つの部分に置換させる
実行可能な命令を含むコンピュータプログラム。 - コンピュータに
前記リモートオリジナルファイルの検査コードの一連のセクションを再帰的に生成し、前記リモート修復ファイルを作成させる
実行可能な命令をさらに含む、請求項49に記載のコンピュータプログラム。 - コンピュータに
前記リモートオリジナルファイルの前記検査コードの一連のセクションを連結し、前記リモート修復ファイルを作成させる
実行可能な命令をさらに含む、請求項50に記載のコンピュータプログラム。 - コンピュータに前記ローカル破壊ファイルの検査コードの一連のセクションを再帰的に生成させる実行可能な命令が、コンピュータに
第2のバイト数が第1のバイト数より少ない場合に、前記ローカル破壊ファイルの前記第1の数のバイトに第1のハッシュを実行し、前記第2の数のバイトを有する検査コードを作成させ、
前記ローカル破壊ファイル全体がハッシュされ終わるまで前記第1のハッシュを繰り返し、第1の複数の検査コードを作成させる、
実行可能な命令を含む、請求項49に記載のコンピュータプログラム。 - コンピュータに
前記第1の複数の検査コードを、それらが作成された順に第1の連結を行い、前記ローカル破壊ファイルの前記検査コードの一連のセクションの特定のセクションを形成させる、
実行可能な命令をさらに含む、請求項52に記載のコンピュータプログラム。 - コンピュータに
前記特定のセクションの前記第1の数のバイトに第2のハッシュを実行し、前記第2の数のバイトを有する検査コードを作成させ、
前記特定のセクション全体がハッシュされ終わるまで前記第2のハッシュを繰り返し、第2の複数の検査コードを作成させる、
実行可能な命令をさらに含む、請求項53に記載のコンピュータプログラム。 - コンピュータに
前記第2の複数の検査コードを、それらが作成された順に第2の連結を行い、前記ローカル破壊ファイルの前記検査コードの一連のセクションの別のセクションを形成させる、
実行可能な命令をさらに含む、請求項54に記載のコンピュータプログラム。 - コンピュータに
時間シーケンスにおいて前に生成されたセクションに移動させ、前記前に生成されたセクションを前記特定のセクションとして指定させ、
前記第2のハッシュ、前記第2の連結、および前記移動を前記別のセクションの長さがしきい値より小さくなるまで繰り返させる
実行可能な命令をさらに含む、請求項55に記載のコンピュータプログラム。 - ローカル破壊ファイルの前記検査コードの一連のセクションが、時間シーケンスにおいて最後に生成されたローカル検査コードのセクションを含む、請求項49に記載のコンピュータプログラム。
- コンピュータにリモート修復ファイルの少なくとも1つの部分およびリモートオリジナルファイルの少なくとも1つの部分を選択的に検索させる実行可能な命令が、コンピュータに、
リモートオリジナルファイルの検査コードの再帰的に生成されたセクションの、時間シーケンスにおいて最後に生成されたリモート検査コードのセクションを検索させる
実行可能な命令を含む、請求項57に記載のコンピュータプログラム。 - コンピュータにリモート修復ファイルの少なくとも1つの部分およびリモートオリジナルファイルの少なくとも1つの部分を選択的に検索させる実行可能な命令が、コンピュータに、
前記最後に生成されたリモート検査コードのセクションを前記最後に生成されたローカル検査コードのセクションと比較させる
実行可能な命令を含む、請求項58に記載のコンピュータプログラム。 - コンピュータにリモート修復ファイルの少なくとも1つの部分およびリモートオリジナルファイルの少なくとも1つの部分を選択的に検索させる実行可能な命令が、コンピュータに、
前記最後に生成されたリモート検査コードのセクションと異なる前記最後に生成されたローカル検査コードのセクション内の検査コードにマークさせる
実行可能な命令を含む、請求項59に記載のコンピュータプログラム。 - コンピュータにリモート修復ファイルの少なくとも1つの部分およびリモートオリジナルファイルの少なくとも1つの部分を選択的に検索させる実行可能な命令が、コンピュータに
ローカル破壊ファイルの検査コードのセクションのうち、および前記リモートオリジナルファイルの検査コードのセクションの、前記時間シーケンスの点で前に生成されたセクションに移動させ、
前記前に生成されたセクションを、それぞれ、前記最後に生成されたローカル検査コードおよび前記最後に生成されたリモート検査コードとして指定させ、
前記検索、前記比較、前記マーク付け、前記移動、および前記指定を前記リモートオリジナルファイルの検査コードのセクションの、前記時間シーケンスにおいて前記前に生成されたリモート検査コードセクションが、前記リモートオリジナルファイルの検査コードのセクションの、前記時間シーケンスにおいて最初に生成されたリモート検査コードセクションになるまで繰り返させる
実行可能な命令を含む、請求項60に記載のコンピュータプログラム。 - コンピュータにリモート修復ファイルの少なくとも1つの部分およびリモートオリジナルファイルの少なくとも1つの部分を選択的に検索させる実行可能な命令が、コンピュータに
前記前のリモート検査コードセクションが前記リモートオリジナルファイルの検査コードのセクションの、前記時間シーケンスにおいて最初に生成されたリモート検査コードセクションである場合に、前記リモートオリジナルファイルの、前記マークされたコードに対応する少なくとも1つの部分をダウンロードさせる
実行可能な命令を含む、請求項61に記載のコンピュータプログラム。 - コンピュータに
前記ローカル破壊ファイルのサイズが前記リモートオリジナルファイルのサイズと一致しないときに、前記ローカル修復ファイルおよび前記リモート修復ファイルを使用し、物理的シーケンスにおいて前記ローカル破壊ファイルの始めから前記ローカル破壊ファイルの最初の破壊部分を探索させる、
実行可能な命令をさらに含む、請求項49に記載のコンピュータプログラム。 - コンピュータに
前記ローカル破壊ファイルおよび前記リモートオリジナルファイルを、前記ローカル破壊ファイルの前記探索された最初の破壊部分から再同期化させる
実行可能な命令をさらに含む、請求項63に記載のコンピュータプログラム。 - コンピュータに前記ローカル破壊ファイルおよび前記リモートオリジナルファイルを再同期化させる実行可能な命令が、コンピュータに
前記最初の破壊部分の前の最後の正しい部分と再同期化ポイントとの間の欠落データを復元させ、および/または追加データを削除させる
実行可能な命令を含む、請求項64に記載のコンピュータプログラム。 - コンピュータに
検査コードの現行部分は正しいと想定することにより、前記探索された最初の破壊部分から一度に1バイトずつ前方へ進ませ、
前記ローカル破壊ファイルの前記現行部分の前記バイトを、前記ローカル破壊ファイルの前記探索された最初の破壊部分に対応する、前記リモートオリジナルファイル内のバイトと比較させる
実行可能な命令をさらに含む、請求項65に記載のコンピュータプログラム。 - コンピュータに
新しく検出された部分が前記移動および比較で検出されたとき、前記ローカル破壊ファイルの前記最後の正しい部分と前記新しく検出された部分との間の誤って追加されたバイトを破棄させる
実行可能な命令をさらに含む、請求項66に記載のコンピュータプログラム。 - コンピュータに
前記現行部分が物理的に次の物理的なブロックより先のブロックと一致したとき、間にある少なくとも1つのブロックが削除されたことを記録させる
実行可能な命令をさらに含む、請求項66に記載のコンピュータプログラム。 - ローカル破壊ファイルの検査コードの一連のセクションを再帰的に生成し、ローカル修復ファイルを作成する手段と、
前記ローカル修復ファイルの少なくとも1つの部分とリモート修復ファイルの少なくとも1つの部分との違いに基づいて前記リモート修復ファイルの前記少なくとも1つの部分およびリモートオリジナルファイルの少なくとも1つの部分を選択的に検索し、前記ローカル破壊ファイルの少なくとも1つの破壊部分を特定する手段と、
前記ローカル破壊ファイルの前記少なくとも1つの破壊部分を前記リモートオリジナルファイルの前記少なくとも1つの部分に置換するための手段と
を有する装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/317,496 US7546492B2 (en) | 2005-12-22 | 2005-12-22 | Remotely repairing files by hierarchical and segmented cyclic redundancy checks |
US11/317,496 | 2005-12-22 | ||
PCT/US2006/062239 WO2007073547A2 (en) | 2005-12-22 | 2006-12-18 | Remotely repairing files by hierarchical and segmented cyclic redundancy checks |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2009521756A JP2009521756A (ja) | 2009-06-04 |
JP5066099B2 true JP5066099B2 (ja) | 2012-11-07 |
JP5066099B6 JP5066099B6 (ja) | 2012-12-26 |
Family
ID=
Also Published As
Publication number | Publication date |
---|---|
EP1977318A2 (en) | 2008-10-08 |
US7546492B2 (en) | 2009-06-09 |
EP1977318B1 (en) | 2013-04-24 |
EP1977318A4 (en) | 2012-04-25 |
US20070168708A1 (en) | 2007-07-19 |
JP2009521756A (ja) | 2009-06-04 |
KR101333417B1 (ko) | 2013-11-28 |
WO2007073547A3 (en) | 2008-08-21 |
WO2007073547A2 (en) | 2007-06-28 |
KR20080080399A (ko) | 2008-09-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101333417B1 (ko) | 계층적이고 세그먼트화된 순환 중복 검사(crc)에 의한원격 파일 수리 | |
US7504969B2 (en) | Locality-based stream segmentation for data deduplication | |
US10256978B2 (en) | Content-based encryption keys | |
KR100506785B1 (ko) | 정보의 업데이트 및 배포 시스템 및 방법 | |
US8595188B2 (en) | Operating system and file system independent incremental data backup | |
EP1333375B1 (en) | Software patch generator | |
US20080256326A1 (en) | Subsegmenting for efficient storage, resemblance determination, and transmission | |
US20040215755A1 (en) | System and method for updating and distributing information | |
JP2005044360A (ja) | データのパッケージ内デルタ圧縮(intra−packetdeltacompression)のためのシステムおよび方法 | |
US8768901B1 (en) | Method and apparatus for selectively storing blocks of data on a server | |
US11157472B1 (en) | Delivery of digital information to a remote device | |
US20210034349A1 (en) | Data change detection using variable-sized data chunks | |
KR20120125292A (ko) | 운영 체제 자동 업데이트 절차 | |
US10339124B2 (en) | Data fingerprint strengthening | |
US10684920B2 (en) | Optimized and consistent replication of file overwrites | |
JP2009230523A (ja) | ファイル同期装置、ファイル同期方法及びファイル同期プログラム | |
JP2012164130A (ja) | データ分割プログラム | |
US8234413B2 (en) | Partitioning a data stream using embedded anchors | |
US11262927B2 (en) | Update optimization using feedback on probability of change for regions of data | |
JP5066099B6 (ja) | 階層式セグメント化巡回冗長検査による遠隔地でのファイルの修復 | |
WO2021021361A1 (en) | Remote triggering of coalescing of data storage | |
KR100700200B1 (ko) | 파일의 정보를 이용하여 중복된 파일을 저장하고다운로드하는 방법 및 장치 | |
US11307841B2 (en) | Application patching using variable-sized units | |
US20200327096A1 (en) | Methods for facilitating efficient storage operations using variable length encoded segment maps for deduplicated objects and devices thereof | |
NL2015248B1 (en) | Method and system for managing client data replacement. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20091111 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20100702 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20100702 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120110 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20120410 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20120417 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120710 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20120806 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120810 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5066099 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150817 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150817 Year of fee payment: 3 |
|
R154 | Certificate of patent or utility model (reissue) |
Free format text: JAPANESE INTERMEDIATE CODE: R154 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |