JP2005302004A5 - - Google Patents

Download PDF

Info

Publication number
JP2005302004A5
JP2005302004A5 JP2005073985A JP2005073985A JP2005302004A5 JP 2005302004 A5 JP2005302004 A5 JP 2005302004A5 JP 2005073985 A JP2005073985 A JP 2005073985A JP 2005073985 A JP2005073985 A JP 2005073985A JP 2005302004 A5 JP2005302004 A5 JP 2005302004A5
Authority
JP
Japan
Prior art keywords
chunk
list
remote
signature
signatures
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.)
Granted
Application number
JP2005073985A
Other languages
English (en)
Other versions
JP2005302004A (ja
JP4796315B2 (ja
Filing date
Publication date
Priority claimed from US10/825,735 external-priority patent/US7555531B2/en
Application filed filed Critical
Publication of JP2005302004A publication Critical patent/JP2005302004A/ja
Publication of JP2005302004A5 publication Critical patent/JP2005302004A5/ja
Application granted granted Critical
Publication of JP4796315B2 publication Critical patent/JP4796315B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Claims (47)

  1. ローカルデバイスとリモートデバイスとの間で、ネットワーク上でオブジェクトを更新するためのシステムであって、該システムは、
    前記ネットワーク上でオブジェクトの更新を円滑に行うよう配設されたリモートデバイスを含み、該リモートデバイスは、
    前記ネットワーク上で通信を円滑に行うように配設された第1のネットワーク接続デバイスと、
    第1のオブジェクトを記憶するように配設された第1のデータストーアと、
    前記第1のデータストーアと前記第1のネットワーク接続装置とに連結する第1のプロセッサとを含み、該第1のプロセッサは、
    前記リモートデバイス上の前記第1のオブジェクトのバイトオフセットごとに第1のフィンガプリント関数を計算
    前記第1のフィンガプリント関数に基づいて前記リモートデバイス上の前記第1のオブジェクトをチャンキング
    前記リモートデバイス上で前記第1のオブジェクトに関連するチャンクごとにリモートシグネチャを計算
    前記リモートデバイス上で前記第1のオブジェクトに関連するリモートのシグネチャおよびチャンク長のリストを生成し、
    前記リモートのシグネチャおよびチャンク長のリストを前記リモートデバイスを用いて前記ネットワークへ送信し、
    少なくとも1つの更新されたオブジェクトチャンクを送信するための前記ネットワークからの要求を前記リモートデバイスを用いて受信し、かつ
    前記ネットワーク上に少なくとも1つの更新されたオブジェクトチャンクを送信するように設定されており、
    前記システムはさらに、前記リモートデバイスと有効な通信をして前記ネットワーク上にオブジェクトを円滑に更新するローカルデバイスを含み、該ローカルデバイスは、
    前記ネットワーク上で通信を円滑に行うように配設された第2のネットワーク接続デバイスと、
    第2のオブジェクトを記憶するように配設された第2のデータストーアと、
    前記第2のデータストーアと前記第2のネットワーク接続装置とに連結する第2のプロセッサとを含み、該第2のプロセッサは、
    前記ローカルデバイス上で前記第2のオブジェクトのバイトオフセットごとに第2のフィンガプリント関数を計算し、前記第1および第2のオブジェクトが互いに関連しており、ここで前記第1のフィンガプリント関数が前記第2のフィンガプリント関数にマッチングし
    前記第2のフィンガプリント関数に基づいて前記ローカルデバイス上で前記第2のオブジェクトをチャンキング、ここで前記リモートデバイス上の前記第1のオブジェクトのチャンキングが前記ローカルデバイス上の前記第2のオブジェクトのャンキングとマッチングし
    前記ローカルデバイス上で前記第2のオブジェクトに関連する各チャンクごとにローカルシグネチャを計算、ここで該ローカルシグネチャの計算が、前記リモートシグネチャの計算とし
    前記ローカルデバイス上でローカルのシグネチャおよびチャンク長のリストを生成し、該ローカルのシグネチャおよびチャンク長のリストが前記第2のオブジェクトに関連
    帯域幅の使用が前記ローカルデバイスへの前記リモートのシグネチャおよびチャンク長のリストの転送について最小になるように、前記ネットワーク上で前記リモートデバイスから前記ローカルデバイスへの前記リモートのシグネチャおよびチャンク長のリストのチャンキングされた伝送をネゴシエーション
    前記ローカルデバイス上で前記ローカルのシグネチャおよびチャンク長のリストを前記リモートのシグネチャおよびチャンク長のリストと比較することによって前記第1のオブジェクトと前記第2のオブジェクトの間の差分を識別
    前記第1のオブジェクトと前記第2のオブジェクトの間の差分が前記ローカルデバイスによって識別されるとき前記リモートデバイスから少なくとも1つの更新されたオブジェクトチャンクの伝送を要求
    前記リモートデバイスから前記少なくとも1つの更新されたオブジェクトチャンクを受信し、かつ
    前記少なくとも1つの更新されたオブジェクトチャンクを用いて前記ローカルデバイス上で前記第1のオブジェクトのコピーを組立てすること
    を特徴とするシステム。
  2. 前記第2のプロセッサは、さらに前記リモートデバイスから前記第1のオブジェクトについての更新を要求するように設定されていることを特徴とする請求項1に記載のシステム。
  3. 前記第1のプロセッサは、さらに前記ローカルデバイスから前記第1のオブジェクトについての更新を要求するように設定されていることを特徴とする請求項1に記載のシステム。
  4. 前記リモートのシグネチャおよびチャンク長のリストを送信することは、前記リモートデバイスから前記ローカルデバイスに前記リモートのシグネチャおよびチャンク長のリストの少なくとも一部分を送信することを含むことを特徴とする請求項1に記載のシステム。
  5. 前記ローカルデバイスおよび前記リモートデバイスのうちの一方は、クライアントであり、前記ローカルデバイスおよび前記リモートデバイスのうちの他方は、サーバであることを特徴とする請求項1に記載のシステム。
  6. 前記ネットワークは、直接配線接続、パラレルポート、シリアルポート、USB(Universal Serial Bus)ポート、IEEE(Institute of Electrical and Electronic Engineers) 1394ポート、無線接続、IR(赤外線)ポート、ブルートゥースポート、有線ネットワーク、無線ネットワーク、ローカルエリアネットワーク、ワイドエリアネットワーク、ウルトラワイドエリアネットワーク、インターネット、イントラネット、およびエクストラネットを含むグループの少なくとも1つのメンバーであることを特徴とする請求項1に記載のシステム。
  7. 前記ローカルデバイス上で前記第2のオブジェクトに関連するチャンクごとに前記ローカルシグネチャを計算することは、強化ハッシング関数を前記ローカルデバイス上で前記チャンクに対して適用することを含むことを特徴とする請求項1に記載のシステム。
  8. 前記ローカルデバイス上で前記第1のオブジェクトと前記第2のオブジェクトの間の差分を識別することは、
    前記リモートのシグネチャおよびチャンク長のリストを前記ローカルのシグネチャおよびチャンク長のリストと比較
    前記リモートのシグネチャおよびチャンク長のリストと前記ローカルのシグネチャおよびチャンク長のリストの間の少なくとも1つの差分を識別
    前記リモートのシグネチャおよびチャンク長のリストに前記少なくとも1つの差分をマッピング
    前記少なくとも1つの差分と前記リモートのシグネチャおよびチャンク長のリストの間での前記マッピングから前記少なくとも1つの更新されたオブジェクトチャンクを識別する
    ことを含むことを特徴とする請求項1に記載のシステム。
  9. 前記リモートデバイス上で前記第1のオブジェクトのバイトオフセットごとに前記第1のフィンガプリント関数を計算することは、
    前記第1のオブジェクトに関連する各バイト位置の周囲で参照されるスモールウィンドウを提供
    バイト位置ごとに前記スモールウィンドウを使用してフィンガプリントを生成する
    ことを含むことを特徴とする請求項1に記載のシステム。
  10. 前記第1のプロセッサは、さらに、前記第1のオブジェクトに関連するデータタイプ、前記第2のオブジェクトに関連するデータタイプ、前記リモートデバイスに関連する環境制約、および前記ローカルデバイスに関連する環境制約と、前記ネットワークの特性と、前記第1のオブジェクトに関連する使用モデルと、前記第2のオブジェクトに関連する使用モデルを含むグループの少なくとも1つのメンバーに基づいて、前記スモールウィンドウに関連するウィンドウサイズを調整するように設定されていることを特徴とする請求項9に記載のシステム。
  11. 前記第1のフィンガプリント関数は、ラビン多項式を使用したハッシュ関数、循環シフティングハッシュ関数、32ビットアドラーハッシュ関数を含むグループの少なくとも1つのメンバーからなることを特徴とする請求項1に記載のシステム。
  12. 前記リモートデバイス上で前記第1のオブジェクトをチャンキングすることは、少なくとも1つのチャンキングパラメータを決定することを含むことを特徴とする請求項1に記載のシステム。
  13. 前記リモートデバイス上で前記第1のオブジェクトをチャンキングすることは、さらに
    前記少なくとも1つのチャンキングパラメータからチャンキングホライズンを決定
    前記第1のオブジェクト内の各位置においてハッシュ値を計算
    前記第1のオブジェクト内の各位置の周囲の前記チャンキングホライズン内に位置づけられたハッシュ値に数学関数を適用
    前記数学関数が満たされるときにカットポイントおよびチャンキング境界のうちの少なくとも1つを指定
    前記指定されたカットポイントを用いて前記第1のオブジェクトをチャンキングする
    ことを含むことを特徴とする請求項12に記載のシステム。
  14. 前記数学関数は、前記ホライズン内の最大値を決定すること、前記ホライズン内の最小値を決定すること、および前記ホライズン内のハッシュ値の間の差分を評価することを含むグループの少なくとも1つのメンバーからなることを特徴とする請求項13に記載のシステム。
  15. 前記リモートデバイス上で前記第1のオブジェクトをチャンキングすることは、
    前記少なくとも1つのチャンキングパラメータからホライズン、トリガ値、および他のトリガのリストを決定
    前記第1のオブジェクト内の位置ごとにハッシュ値を計算
    各計算済みのハッシュ値に数学関数を適用
    前記数学関数が、所与のオフセットにおいて前記トリガ値を獲得し、前記ホライズンが提供するすべての対応するオフセットにおいて前記他のトリガを獲得するときにカットポイントチャンキング境界の少なくとも1つを指定
    前記指定されたカットポイントを用いて前記第1のオブジェクトをチャンキングする
    ことを含むことを特徴とする請求項12に記載のシステム。
  16. 前記数学関数は、ハッシュ値をブール値にマッピングする述語、およびハッシュ値を適切な小さなドメイン中に区分する別の数学関数を含むグループの少なくとも1つのメンバーからなることを特徴とする請求項13に記載のシステム。
  17. 前記第2のプロセッサは、さらに、前記第1のオブジェクトに関連するデータタイプ、前記第2のオブジェクトに関連するデータタイプ、前記リモートデバイスに関連する環境制約、前記ローカルデバイスに関連する環境制約、前記ネットワークの特性、前記第1のオブジェクトに関連する使用モデル、および前記第2のオブジェクトに関連する使用モデルを含むグループの少なくとも1つのメンバーに基づいて、前記少なくとも1つのチャンキングパラメータを調整するように設定されていることを特徴とする請求項12に記載のシステム。
  18. 前記第1のプロセッサは、さらに、前記少なくとも1つの更新されたオブジェクトチャンクの伝送を求める前記受信された要求に応答して前記リモートデバイス上で前記第2のオブジェクトから前記少なくとも1つの更新されたオブジェクトチャンクを抽出するように設定されていることを特徴とする請求項1に記載のシステム。
  19. 前記第2のプロセッサは、さらに前記少なくとも1つの更新されたオブジェクトチャンクを用いて前記ローカルデバイス上で更新された第1のオブジェクトを組み立てるように設定されていることを特徴とする請求項1に記載のシステム。
  20. 前記更新された第1のオブジェクトを組み立てることは、さらに前記更新された第1のオブジェクトが、前記第1のオブジェクトからの少なくとも1つの変更されていないチャンクを含むように用意されていることを特徴とする請求項19に記載のシステム。
  21. 前記第1のプロセッサは、さらに、
    前記リモートのシグネチャおよびチャンク長のリストをチャンキングしてチャンキングされたリモートのシグネチャおよびチャンク長のリストを提供
    前記チャンキングされたリモートのシグネチャおよびチャンク長のリストに関連するチャンクごとに再帰的リモートシグネチャを計算
    前記再帰的リモートシグネチャを用いて再帰的リモートシグネチャおよびチャンク長のリストを生成
    前記ローカルデバイス上で前記ローカルのシグネチャおよびチャンク長のリストをチャンキング、ここで前記ローカルのシグネチャおよびチャンク長のリストのチャンキングが、前記リモートのシグネチャおよびチャンク長のリストのチャンキングにマッチングされられるように設定されており、かつ
    前記第2のプロセッサが、さらに、
    前記チャンキングされたローカルのシグネチャおよびチャンク長のリストに関連するチャンクごとに再帰的ローカルシグネチャを計算、ここで前記再帰的ローカルシグネチャの計算が、前記再帰的リモートシグネチャの計算とマッチングし、
    前記再帰的ローカルシグネチャと前記チャンキングされたローカルのシグネチャおよびチャンク長のリストとを用いて前記ローカルデバイス上で再帰的ローカルシグネチャおよびチャンク長のリストを生成、ここで前記再帰的ローカルシグネチャおよびチャンク長のリストの生成が、前記再帰的リモートシグネチャおよびチャンク長のリストの生成とマッチングし、
    前記ローカルデバイスへの前記再帰的リモートシグネチャおよびチャンク長のリストの前記転送についての帯域幅の使用が最小になるように、前記ネットワーク上で前記リモー
    トデバイスから前記ローカルデバイスへの前記再帰的リモートシグネチャおよびチャンク長のリストの伝送をネゴシエーション
    前記ローカルデバイス上で前記再帰的リモートシグネチャおよびチャンク長のリストと前記再帰的ローカルシグネチャおよびチャンク長のリストとの間の差分を識別
    前記ローカルデバイスによって、前記再帰的リモートシグネチャおよびチャンク長のリストと前記再帰的ローカルシグネチャおよびチャンク長のリストとの間で差分が識別されるときに、前記リモートデバイスからの少なくとも1つの更新されたシグネチャチャンクの伝送を要求する
    ように設定されていることを特徴とする請求項1に記載のシステム。
  22. 前記リモートデバイスから前記ローカルデバイスへの前記再帰的リモートシグネチャおよびチャンク長のリストの伝送をネゴシエーションすることは、前記ネットワーク上で前記リモートデバイスから前記ローカルデバイスに前記再帰的リモートシグネチャおよびチャンク長のリストの少なくとも一部分を送信するステップを含むことを特徴とする請求項21に記載のシステム。
  23. 前記リモートデバイス上で前記リモートのシグネチャおよびチャンク長のリストをチャンキングすることは、
    前記リモートデバイス上で前記リモートのシグネチャおよびチャンク長のリストのバイトオフセットごとに第3のフィンガプリント関数を計算
    前記第3のフィンガプリント関数に基づいて前記リモートデバイス上で前記リモートのシグネチャおよびチャンク長のリストをチャンキングして、前記チャンキングされたリモートのシグネチャおよびチャンク長のリストを提供する
    ように設定されていることを特徴とする請求項21に記載のシステム。
  24. 前記ローカルデバイス上で前記ローカルのシグネチャおよびチャンク長のリストをチャンキングすることは、
    前記ローカルデバイス上で前記ローカルのシグネチャおよびチャンク長のリストのバイトオフセットごとに第4のフィンガプリント関数を計算ここで前記第4のフィンガプリント関数が、前記第3のフィンガプリント関数にマッチングし、
    前記第4のフィンガプリント関数に基づいて前記ローカルデバイス上で前記ローカルのシグネチャおよびチャンク長のリストをチャンキングして前記チャンキングされたローカルのシグネチャおよびチャンク長のリストを提供し、ここで前記ローカルデバイス上で前記ローカルのシグネチャおよびチャンク長のリストのチャンキングが、前記リモートデバイス上で前記リモートのシグネチャおよびチャンク長のリストのチャンキングとマッチングする
    ように設定されていることを特徴とする請求項23に記載のシステム。
  25. 前記リモートデバイス上で、前記第3のフィンガプリント関数を計算すること、および前記リモートのシグネチャおよびチャンク長のリストをチャンキングすることは、前記リモートデバイス上での前記第1のフィンガプリント関数を計算すること、および前記第1のオブジェクトをチャンキングすることとは異なる方法を使用することを特徴とする請求項24に記載のシステム。
  26. 前記リモートデバイス上での前記第3のフィンガプリント関数を計算すること、および前記リモートのシグネチャおよびチャンク長のリストをチャンキングすることは、前記リモートデバイス上での前記第1のフィンガプリント関数を計算すること、および前記第1のオブジェクトをチャンキングすることと同じやり方を使用することを特徴とする請求項23に記載のシステム。
  27. 前記リモートデバイス上で前記リモートのシグネチャおよびチャンク長のリストのバイトオフセットごとに前記第3のフィンガプリント関数を計算することは、
    前記リモートのシグネチャおよびチャンク長のリストに関連する各バイト位置の周囲で参照されるスモールウィンドウを提供
    バイト位置ごとに前記スモールウィンドウを使用してフィンガプリントを生成する
    ことを含むことを特徴とする請求項23に記載のシステム。
  28. 前記第1のプロセッサは、さらに、前記第1のオブジェクトに関連するデータタイプ、前記第2のオブジェクトに関連するデータタイプ、前記リモートデバイスに関連する環境制約、および前記ローカルデバイスに関連する環境制約と、前記ネットワークの特性と、前記第1のオブジェクトに関連する使用モデルと、前記第2のオブジェクトに関連する使用モデルを含むグループの少なくとも1つのメンバーに基づいて、前記スモールウィンドウに関連するウィンドウサイズを調整するように設定されていることを特徴とする請求項27に記載のシステム。
  29. 前記第3のフィンガプリント関数は、ラビン多項式を使用したハッシュ関数、循環シフティングハッシュ関数、32ビットアドラーハッシュ関数、循環シフトをもつ62ビットランダムハッシュを含むグループの少なくとも1つのメンバーからなることを特徴とする請求項23に記載のシステム。
  30. 前記リモートデバイス上で前記リモートのシグネチャおよびチャンク長のリストをチャンキングすることは、少なくとも1つの再帰的チャンキングパラメータを決定することを含むことを特徴とする請求項21に記載のシステム。
  31. 前記リモートデバイス上で前記リモートのシグネチャおよびチャンク長のリストをチャンキングすることは、さらに、
    前記少なくとも1つの再帰的チャンキングパラメータから再帰的チャンキングホライズンを決定
    前記リモートのシグネチャおよびチャンク長のリスト内の各位置においてハッシュ値を計算
    前記リモートのシグネチャおよびチャンク長のリスト内の各位置の周囲の前記再帰的チャンキングホライズン内に位置づけられたハッシュ値に数学関数を適用
    前記数学関数が満たされるときに前記チャンキング境界中にカットポイントを指定
    前記指定されたカットポイントを用いて前記リモートのシグネチャおよびチャンク長のリストをチャンキングする
    ことを含むことを特徴とする請求項30に記載のシステム。
  32. 前記リモートデバイス上で前記リモートのシグネチャおよびチャンク長のリストをチャンキングすることは、さらに、
    前記少なくとも1つの再帰的チャンキングパラメータから再帰的ホライズン、再帰的トリガ値、および他の再帰的トリガのリストを決定
    前記リモートのシグネチャおよびチャンク長のリスト内の各位置においてハッシュ値を計算
    計算された各ハッシュ値に数学関数を適用
    前記数学関数が、所与のオフセットにおいて前記再帰的トリガ値を獲得し、前記再帰的ホライズンが提供するすべての対応するオフセットにおいて前記他の再帰的トリガを獲得するときにおいて、少なくとも1つのカットポイントおよびチャンキング境界を指定
    前記指定されたカットポイントを用いて前記リモートのシグネチャおよびチャンク長のリストをチャンキングする
    ことを含むことを特徴とする請求項30に記載のシステム。
  33. 前記数学関数は、ハッシュ値をブール値にマッピングする述語、およびハッシュ値を適切な小さなドメイン中に区分する他の任意の数学関数を含むグループの少なくとも1つのメンバーからなることを特徴とする請求項31に記載のシステム。
  34. 前記数学関数は、前記ホライズン内の最大値の決定、前記ホライズン内の最小値の決定、前記ホライズン内のハッシュ値の間の差分の評価、前記ホライズン内のハッシュ値の合計、および前記ホライズン内のハッシュ値の平均値の計算を含むグループの少なくとも1つのメンバーからなることを特徴とする請求項31に記載のシステム。
  35. 前記第1のプロセッサは、さらに、前記第1のオブジェクトに関連するデータタイプ、前記第2のオブジェクトに関連するデータタイプ、前記リモートデバイスに関連する環境制約、前記ローカルデバイスに関連する環境制約、前記ネットワークの特性、前記第1のオブジェクトに関連する使用モデル、前記第2のオブジェクトに関連する使用モデルを含むグループの少なくとも1つのメンバーに基づいて、前記少なくとも1つの再帰的チャンキングパラメータを調整するように設定されていることを特徴とする請求項32に記載のシステム。
  36. 前記リモートデバイス上で前記チャンキングされたリモートのシグネチャおよびチャンク長のリストに関連するシグネチャチャンクごとに前記再帰的リモートシグネチャを計算することは、さらに、前記リモートデバイス上で前記シグネチャチャンクに対して強化ハッシング関数を適用することを含むことを特徴とする請求項28に記載のシステム。
  37. 前記第1のプロセッサは、さらに、前記少なくとも1つの更新されたシグネチャチャンクの伝送を求める前記受信された要求に応答して前記リモートデバイス上で前記リモートのシグネチャおよびチャンク長のリストから前記少なくとも1つの更新されたシグネチャチャンクを抽出するように設定されていることを特徴とする請求項21に記載のシステム。
  38. 前記ローカルのシグネチャおよびチャンク長のリストを組み立てることは、さらに、前記ローカルデバイス上で、前記リモートのシグネチャおよびチャンク長のリストの新しいコピーを提供することを含み、前記リモートのシグネチャおよびチャンク長のリストの前記新しいコピーは、前記少なくとも1つの更新されたシグネチャチャンクを含むことを特徴とする請求項37に記載のシステム。
  39. 前記第2のプロセッサは、さらに、
    前記ローカルデバイスを用いて前記ネットワークから前記少なくとも1つの更新されたシグネチャチャンクを受信
    前記少なくとも1つの更新されたシグネチャチャンクを用いて前記ローカルデバイス上で前記リモートのシグネチャおよびチャンク長のリストのコピーを組み立てる
    ように設定されていることを特徴とする請求項21に記載のシステム。
  40. 前記リモートのシグネチャおよびチャンク長のリストが、前記ローカルのシグネチャおよびチャンク長のリストからの少なくとも1つの変更されていないチャンクを含むことを特徴とする請求項37に記載のシステム。
  41. 前記ローカルデバイス上で前記再帰的リモートシグネチャおよびチャンク長のリストと前記再帰的ローカルシグネチャおよびチャンク長のリストとの間の差分を識別することは、さらに、
    前記再帰的リモートシグネチャおよびチャンク長のリストを前記再帰的ローカルシグネチャおよびチャンク長のリストと比較
    前記再帰的リモートシグネチャおよびチャンク長のリストと前記再帰的ローカルシグネチャおよびチャンク長のリストとの間の差分に関連する少なくとも1つのシグネチャチャンクを識別
    前記少なくとも1つのシグネチャチャンクを前記リモートのシグネチャおよびチャンク長のリストにマッピング
    前記少なくとも1つのシグネチャチャンクと前記リモートのシグネチャおよびチャンク長のリストの間の前記マッピングから前記少なくとも1つの更新されたシグネチャチャンクを識別する
    ことを含むことを特徴とする請求項21に記載のシステム。
  42. 前記ネットワーク上で前記リモートデバイスから前記ローカルデバイスへの前記リモートのシグネチャおよびチャンク長のリストのチャンキングされた伝送をネゴシエーションすることは、さらに、
    前記第1のオブジェクトに関連するデータサイズ、前記第2のオブジェクトに関連するデータサイズ、前記リモートデバイスに関連する環境制約、および前記ローカルデバイスに関連する環境制約、前記ネットワークの特性、前記第1のオブジェクトに関連する使用モデル、前記第2のオブジェクトに関連する使用モデル、前記第1のオブジェクトに関連するチャンクシグネチャの数、ならびに前記チャンキングされたリモートのシグネチャおよびチャンク長のリストに関連するチャンクシグネチャの数を含むグループの少なくとも1つのメンバーに基づいて、再帰的処理のための反復の回数を決定することを含むことを特徴とする請求項1に記載のシステム。
  43. 前記が第1のプロセッサと前記第2のプロセッサは、さらに
    前記シグネチャおよびチャンク長のリストをチャンキングしてチャンキングされたシグネチャおよびチャンク長のリストを提供
    前記チャンキングされたシグネチャおよびチャンク長のリストに関連するチャンクごとに再帰的シグネチャを計算
    前記再帰的シグネチャと前記チャンキングされたシグネチャおよびチャンク長のリストとを用いて、再帰的なシグネチャおよびチャンク長のリストを生成
    追加の反復が再帰的な処理について必要とされるときに前記シグネチャおよびチャンク長のリストを前記再帰的なシグネチャおよびチャンク長のリストに初期化かつ
    前記再帰的手続きが反復の回数を完了しているときに前記再帰的なシグネチャおよびチャンク長のリストを返すことを含んでいるシグネチャおよびチャンク長のリストを処理するための再帰的手続を実行するように設定されており、
    前記第1のプロセッサは、さらに、前記リモートのシグネチャおよびチャンク長のリストを前記シグネチャおよびチャンク長のリストとして前記再帰的手続きに渡し、前記再帰的手続きから前記再帰的リモートシグネチャおよびチャンク長のリストを返すことにより、前記リモートデバイス上で前記再帰的手続きを用いて前記リモートのシグネチャおよびチャンク長のリストを処理するように設定されており、
    前記第2のプロセッサは、さらに、前記ローカルのシグネチャおよびチャンク長のリストを前記シグネチャおよびチャンク長のリストとして前記再帰的手続きに渡し、前記再帰的手続きから前記再帰的ローカルシグネチャおよびチャンク長のリストを返すことにより、前記ローカルデバイス上で前記再帰的手続きを用いて前記ローカルのシグネチャおよびチャンク長のリストを処理するように設定されている
    ことを特徴とする請求項42に記載のシステム。
  44. 前記リモートデバイス上で前記リモートのシグネチャおよびチャンク長のリストを生成することは、さらに前記リモートのシグネチャおよびチャンク長のリストをコンパクトに符号化することを含むことを特徴とする請求項1に記載のシステム。
  45. 前記ローカルデバイス上で前記ローカルのシグネチャおよびチャンク長のリストを生成することは、さらに前記ローカルのシグネチャおよびチャンク長のリストをコンパクトに符号化することを含むことを特徴とする請求項1に記載のシステム。
  46. 前記リモートデバイス上で前記再帰的リモートシグネチャおよびチャンク長のリストを生成することは、さらに前記再帰的リモートシグネチャおよびチャンク長のリストをコンパクトに符号化することを含むことを特徴とする請求項21に記載のシステム。
  47. 前記ローカルデバイス上で前記再帰的ローカルシグネチャおよびチャンク長のリストを生成することは、さらに前記再帰的ローカルシグネチャおよびチャンク長のリストをコンパクトに符号化することを含むことを特徴とする請求項21に記載のシステム。
JP2005073985A 2004-04-15 2005-03-15 遠隔差分圧縮用の効率的アルゴリズムとプロトコル Expired - Fee Related JP4796315B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/825,735 US7555531B2 (en) 2004-04-15 2004-04-15 Efficient algorithm and protocol for remote differential compression
US10/825,735 2004-04-15

Publications (3)

Publication Number Publication Date
JP2005302004A JP2005302004A (ja) 2005-10-27
JP2005302004A5 true JP2005302004A5 (ja) 2008-05-01
JP4796315B2 JP4796315B2 (ja) 2011-10-19

Family

ID=34939140

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005073985A Expired - Fee Related JP4796315B2 (ja) 2004-04-15 2005-03-15 遠隔差分圧縮用の効率的アルゴリズムとプロトコル

Country Status (18)

Country Link
US (1) US7555531B2 (ja)
EP (2) EP1587007A3 (ja)
JP (1) JP4796315B2 (ja)
KR (1) KR100922674B1 (ja)
CN (2) CN1684464B (ja)
AU (1) AU2005201386B2 (ja)
BR (1) BRPI0501166A (ja)
CA (1) CA2500894C (ja)
CO (1) CO5680121A1 (ja)
IL (1) IL167467A (ja)
MX (1) MXPA05002949A (ja)
MY (1) MY144798A (ja)
NO (1) NO20051344L (ja)
NZ (1) NZ538839A (ja)
RU (1) RU2382511C2 (ja)
SG (1) SG116576A1 (ja)
TW (1) TWI360336B (ja)
ZA (1) ZA200502115B (ja)

Families Citing this family (83)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7555531B2 (en) 2004-04-15 2009-06-30 Microsoft Corporation Efficient algorithm and protocol for remote differential compression
US20060047855A1 (en) 2004-05-13 2006-03-02 Microsoft Corporation Efficient chunking algorithm
US20050262167A1 (en) * 2004-05-13 2005-11-24 Microsoft Corporation Efficient algorithm and protocol for remote differential compression on a local device
US20050256974A1 (en) * 2004-05-13 2005-11-17 Microsoft Corporation Efficient algorithm and protocol for remote differential compression on a remote device
US8870639B2 (en) 2004-06-28 2014-10-28 Winview, Inc. Methods and apparatus for distributed gaming over a mobile device
US8376855B2 (en) 2004-06-28 2013-02-19 Winview, Inc. Methods and apparatus for distributed gaming over a mobile device
US10226698B1 (en) 2004-07-14 2019-03-12 Winview, Inc. Game of skill played by remote participants utilizing wireless devices in connection with a common game event
US7613787B2 (en) * 2004-09-24 2009-11-03 Microsoft Corporation Efficient algorithm for finding candidate objects for remote differential compression
US8073926B2 (en) * 2005-01-07 2011-12-06 Microsoft Corporation Virtual machine image server
US7849462B2 (en) * 2005-01-07 2010-12-07 Microsoft Corporation Image server
US20070094348A1 (en) * 2005-01-07 2007-04-26 Microsoft Corporation BITS/RDC integration and BITS enhancements
US20060184784A1 (en) * 2005-02-16 2006-08-17 Yosi Shani Method for secure transference of data
US20060277322A1 (en) * 2005-06-03 2006-12-07 Nokia Corporation System and method for implementing reference-based electronic mail compression
WO2007002284A2 (en) * 2005-06-20 2007-01-04 Airplay Network, Inc. Method of and system for managing client resources and assets for activities on computing devices
US10721543B2 (en) 2005-06-20 2020-07-21 Winview, Inc. Method of and system for managing client resources and assets for activities on computing devices
US20070070999A1 (en) * 2005-08-02 2007-03-29 Black Jeffrey T Synchronization of historical data without retransmission
US8705195B2 (en) 2006-04-12 2014-04-22 Winview, Inc. Synchronized gaming and programming
US9511287B2 (en) 2005-10-03 2016-12-06 Winview, Inc. Cellular phone games based upon television archives
US9919210B2 (en) 2005-10-03 2018-03-20 Winview, Inc. Synchronized gaming and programming
US8149530B1 (en) 2006-04-12 2012-04-03 Winview, Inc. Methodology for equalizing systemic latencies in television reception in connection with games of skill played in connection with live television programming
US9056251B2 (en) 2006-01-10 2015-06-16 Winview, Inc. Method of and system for conducting multiple contests of skill with a single performance
US10556183B2 (en) 2006-01-10 2020-02-11 Winview, Inc. Method of and system for conducting multiple contest of skill with a single performance
US8002618B1 (en) 2006-01-10 2011-08-23 Winview, Inc. Method of and system for conducting multiple contests of skill with a single performance
US20070226298A1 (en) * 2006-03-24 2007-09-27 Sap Ag. Methods and systems providing metadata in service signatures
US11082746B2 (en) 2006-04-12 2021-08-03 Winview, Inc. Synchronized gaming and programming
EP3336707A1 (en) 2006-05-05 2018-06-20 Hybir Inc. Group based complete and incremental computer file backup system, process and apparatus
US7617322B2 (en) * 2006-09-29 2009-11-10 Microsoft Corporation Secure peer-to-peer cache sharing
US7844581B2 (en) * 2006-12-01 2010-11-30 Nec Laboratories America, Inc. Methods and systems for data management using multiple selection criteria
US8214517B2 (en) * 2006-12-01 2012-07-03 Nec Laboratories America, Inc. Methods and systems for quick and efficient data management and/or processing
US7954008B2 (en) * 2007-01-15 2011-05-31 Microsoft Corporation Objective assessment of application crashes from a customer environment
US8255570B2 (en) 2007-03-12 2012-08-28 Citrix Systems, Inc. Systems and methods of compression history expiration and synchronization
EP2651091B1 (en) * 2007-03-12 2015-04-29 Citrix Systems, Inc. System and method for synchronizing compression histories
US7532134B2 (en) 2007-03-12 2009-05-12 Citrix Systems, Inc. Systems and methods for sharing compression histories between multiple devices
US7460038B2 (en) 2007-03-12 2008-12-02 Citrix Systems, Inc. Systems and methods of clustered sharing of compression histories
US7619545B2 (en) 2007-03-12 2009-11-17 Citrix Systems, Inc. Systems and methods of using application and protocol specific parsing for compression
US7865585B2 (en) 2007-03-12 2011-01-04 Citrix Systems, Inc. Systems and methods for providing dynamic ad hoc proxy-cache hierarchies
US7827237B2 (en) 2007-03-12 2010-11-02 Citrix Systems, Inc. Systems and methods for identifying long matches of data in a compression history
AU2012203797B2 (en) * 2007-03-12 2015-05-07 Citrix Systems, Inc. Systems and methods for using compression histories to improve network performance
US8819288B2 (en) * 2007-09-14 2014-08-26 Microsoft Corporation Optimized data stream compression using data-dependent chunking
US8813112B1 (en) 2007-10-23 2014-08-19 Winview, Inc. Method of and apparatus for utilizing SMS while running an application on a mobile device controlling a viewer's participation with a broadcast
US8375396B2 (en) * 2008-01-31 2013-02-12 Hewlett-Packard Development Company, L.P. Backup procedure with transparent load balancing
US8200969B2 (en) * 2008-01-31 2012-06-12 Hewlett-Packard Development Company, L.P. Data verification by challenge
CA2713876C (en) 2008-02-26 2014-11-04 Vmware, Inc. Extending server-based desktop virtual machine architecture to client machines
JP2009245089A (ja) * 2008-03-31 2009-10-22 Fujitsu Ltd 分散オブジェクト・プログラム及びレプリケーション処理方法
FR2929778B1 (fr) * 2008-04-07 2012-05-04 Canon Kk Procedes et dispositifs de codage et de decodage binaire iteratif pour documents de type xml.
US8661428B2 (en) 2008-04-25 2014-02-25 Vmware, Inc. Updating a file using differences and file format therefor
US8527482B2 (en) * 2008-06-06 2013-09-03 Chrysalis Storage, Llc Method for reducing redundancy between two or more datasets
US8255806B2 (en) * 2008-09-15 2012-08-28 Vmware, Inc. Unified secure virtual machine player and remote desktop client
US9716918B1 (en) 2008-11-10 2017-07-25 Winview, Inc. Interactive advertising system
US8380663B2 (en) * 2008-12-17 2013-02-19 Sybase, Inc. Data integrity in a database environment through background synchronization
US8977765B1 (en) * 2009-02-27 2015-03-10 Symantec Corporation Method and apparatus for streaming applications to a plurality of clients within a peer to-peer network
WO2010108165A1 (en) * 2009-03-20 2010-09-23 The Trustees Of Princeton University Systems and methods for network acceleration and efficient indexing for caching file systems
US8805953B2 (en) * 2009-04-03 2014-08-12 Microsoft Corporation Differential file and system restores from peers and the cloud
US20100268784A1 (en) * 2009-04-17 2010-10-21 Marc Henness Data synchronization system and method
US20100318759A1 (en) * 2009-06-15 2010-12-16 Microsoft Corporation Distributed rdc chunk store
US8321484B2 (en) * 2010-02-26 2012-11-27 Microsoft Corporation Minimizing bandwidth in file path-centric protocol message
US8909657B2 (en) * 2011-01-14 2014-12-09 Apple Inc. Content based file chunking
FR2972546B1 (fr) 2011-03-07 2013-03-08 Bull Sas Procedes, dispositifs et programmes d'ordinateur pour optimiser la replication de donnees dans des systemes informatiques
EP2645286A1 (en) * 2012-03-09 2013-10-02 ABB Research Ltd. Authentication in an industrial control system
US8832375B2 (en) 2012-05-24 2014-09-09 International Business Machines Corporation Object type aware byte caching
US8856445B2 (en) 2012-05-24 2014-10-07 International Business Machines Corporation Byte caching with chunk sizes based on data type
CN103580982B (zh) * 2012-07-19 2017-12-15 腾讯科技(深圳)有限公司 代收电子邮件的方法、装置及系统
US9626373B2 (en) * 2012-10-01 2017-04-18 Western Digital Technologies, Inc. Optimizing data block size for deduplication
US9235475B1 (en) 2013-03-05 2016-01-12 Emc Corporation Metadata optimization for network replication using representative of metadata batch
US9110964B1 (en) * 2013-03-05 2015-08-18 Emc Corporation Metadata optimization for network replication using differential encoding
KR101479864B1 (ko) * 2013-11-08 2015-01-06 주식회사 엘지유플러스 멀티미디어 청크(chunk)를 수신하는 통신 단말기 및 그 제어방법과, 그 제어방법을 실행하기 위한 프로그램을 기록한 기록 매체
WO2015087703A1 (ja) * 2013-12-09 2015-06-18 ソニー株式会社 データ処理装置、及び、データ処理方法
CN105024970B (zh) * 2014-04-18 2018-07-13 中国电信股份有限公司 移动应用数据拷贝的控制方法、系统、客户端和服务器
WO2016088964A1 (ko) * 2014-12-02 2016-06-09 엘지전자(주) 무선 통신 시스템에서 블루투스 통신을 이용하여 객체 전송 서비스를 수행하기 위한 방법 및 장치
US9973597B1 (en) * 2014-12-10 2018-05-15 Amazon Technologies, Inc. Differential dictionary compression of network-accessible content
US10574751B2 (en) 2016-03-22 2020-02-25 International Business Machines Corporation Identifying data for deduplication in a network storage environment
US11551529B2 (en) 2016-07-20 2023-01-10 Winview, Inc. Method of generating separate contests of skill or chance from two independent events
CN107783990B (zh) * 2016-08-26 2021-11-19 华为技术有限公司 一种数据压缩方法及终端
CN107468240B (zh) * 2017-09-18 2024-05-07 山东正心医疗科技有限公司 手持式心电监护系统
US11308765B2 (en) 2018-10-08 2022-04-19 Winview, Inc. Method and systems for reducing risk in setting odds for single fixed in-play propositions utilizing real time input
CN110443156B (zh) * 2019-07-16 2022-03-25 浙江大华技术股份有限公司 轨迹相似度度量方法、数据处理设备及存储设备
US11307841B2 (en) 2019-07-30 2022-04-19 Sony Interactive Entertainment LLC Application patching using variable-sized units
US11449325B2 (en) 2019-07-30 2022-09-20 Sony Interactive Entertainment LLC Data change detection using variable-sized data chunks
US11262927B2 (en) 2019-07-30 2022-03-01 Sony Interactive Entertainment LLC Update optimization using feedback on probability of change for regions of data
CN110868614B (zh) * 2019-11-14 2021-09-28 北京京航计算通讯研究所 显卡透传环境下基于spice协议的差异图像显示系统
CN110740352B (zh) * 2019-11-14 2021-07-20 北京京航计算通讯研究所 显卡透传环境下基于spice协议的差异图像显示方法
CN112286550B (zh) * 2020-10-22 2024-08-16 上海艾拉比智能科技有限公司 一种嵌入式设备系统升级的安全性签名算法
US11681659B2 (en) * 2021-05-21 2023-06-20 Red Hat, Inc. Hybrid file compression model

Family Cites Families (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5446888A (en) * 1994-01-14 1995-08-29 Pyne; Charles F. Remote file transfer method and apparatus
US5488364A (en) * 1994-02-28 1996-01-30 Sam H. Eulmi Recursive data compression
US5486826A (en) * 1994-05-19 1996-01-23 Ps Venture 1 Llc Method and apparatus for iterative compression of digital data
US5990810A (en) * 1995-02-17 1999-11-23 Williams; Ross Neil Method for partitioning a block of data into subblocks and for storing and communcating such subblocks
US5933104A (en) * 1995-11-22 1999-08-03 Microsoft Corporation Method and system for compression and decompression using variable-sized offset and length fields
JP3573465B2 (ja) * 1996-01-22 2004-10-06 松下電器産業株式会社 デジタル画像符号化、復号化方法及びそれを用いたデジタル画像符号化、復号化装置
US5797016A (en) * 1996-10-29 1998-08-18 Cheyenne Software Inc. Regeneration agent for back-up software
US5794254A (en) 1996-12-03 1998-08-11 Fairbanks Systems Group Incremental computer file backup using a two-step comparison of first two characters in the block and a signature with pre-stored character and signature sets
US5987022A (en) * 1996-12-27 1999-11-16 Motorola, Inc. Method for transmitting multiple-protocol packetized data
US6374250B2 (en) * 1997-02-03 2002-04-16 International Business Machines Corporation System and method for differential compression of data from a plurality of binary sources
WO1998035306A1 (en) 1997-02-11 1998-08-13 Connected Corporation File comparison for data backup and file synchronization
US6226629B1 (en) * 1997-02-28 2001-05-01 Compaq Computer Corporation Method and apparatus determining and using hash functions and hash values
US6449612B1 (en) * 1998-03-17 2002-09-10 Microsoft Corporation Varying cluster number in a scalable clustering system for use with large databases
US6052531A (en) * 1998-03-25 2000-04-18 Symantec Corporation Multi-tiered incremental software updating
US6317754B1 (en) * 1998-07-03 2001-11-13 Mitsubishi Electric Research Laboratories, Inc System for user control of version /Synchronization in mobile computing
US6505228B1 (en) * 1998-07-22 2003-01-07 Cisco Technology, Inc. Dynamic determination of execution sequence
US6952823B2 (en) * 1998-09-01 2005-10-04 Pkware, Inc. Software patch generator using compression techniques
WO2000023863A2 (en) * 1998-10-16 2000-04-27 Computer Associates Think, Inc. Determining differences between two or more metadata models
US6819271B2 (en) * 1999-01-29 2004-11-16 Quickshift, Inc. Parallel compression and decompression system and method having multiple parallel compression and decompression engines
US6574657B1 (en) * 1999-05-03 2003-06-03 Symantec Corporation Methods and apparatuses for file synchronization and updating using a signature list
US6791982B2 (en) * 1999-09-29 2004-09-14 Telefonaktiebolaget Lm Ericsson Segmentation protocol that supports compressed segmentation headers
EP1168174A1 (en) * 2000-06-19 2002-01-02 Hewlett-Packard Company, A Delaware Corporation Automatic backup/recovery process
JP2004501451A (ja) * 2000-06-22 2004-01-15 シンクロロジック インコーポレイテッド ファイル差分を使用するファイル送信システムおよび方法
US6470329B1 (en) * 2000-07-11 2002-10-22 Sun Microsystems, Inc. One-way hash functions for distributed data synchronization
US7058941B1 (en) * 2000-11-14 2006-06-06 Microsoft Corporation Minimum delta generator for program binaries
EP1337917A4 (en) 2000-11-17 2009-04-08 Hewlett Packard Development Co SYSTEM AND METHOD FOR UPDATING AND DISTRIBUTING INFORMATION
US7054912B2 (en) * 2001-03-12 2006-05-30 Kabushiki Kaisha Toshiba Data transfer scheme using caching technique for reducing network load
US20020152219A1 (en) * 2001-04-16 2002-10-17 Singh Monmohan L. Data interexchange protocol
US8041803B2 (en) * 2001-09-26 2011-10-18 Qurio Holdings, Inc. Method and system for delivering files in digital file marketplace
WO2003042867A2 (en) 2001-11-16 2003-05-22 Koninklijke Philips Electronics N.V. Fingerprint database updating method, client and server
US7370120B2 (en) * 2001-12-07 2008-05-06 Propel Software Corporation Method and system for reducing network latency in data communication
EP1326189A3 (en) * 2001-12-12 2005-08-17 Microsoft Corporation Controls and displays for acquiring preferences, inspecting behaviour, and guiding the learning and decision policies of an adaptive communications prioritization and routing systems
US6947604B2 (en) * 2002-01-17 2005-09-20 Intel Corporation Method and hardware to implement two-dimensional compression
US7188160B2 (en) * 2002-01-22 2007-03-06 Ericsson Ab Method and apparatus for updating network device configuration information in a network management system
JP4020676B2 (ja) * 2002-03-26 2007-12-12 株式会社東芝 Webシステム及びWebシステムの制御方法
JP3848209B2 (ja) * 2002-05-23 2006-11-22 株式会社東芝 データ転送装置、データ転送方法及びプログラム
US7360093B2 (en) * 2002-07-22 2008-04-15 Xerox Corporation System and method for authentication of JPEG image data
US20040039716A1 (en) * 2002-08-23 2004-02-26 Thompson Dean S. System and method for optimizing a computer program
JP2004094617A (ja) * 2002-08-30 2004-03-25 Fujitsu Ltd 差分圧縮によるバックアップ方法、システム及び差分圧縮方法
US7099884B2 (en) * 2002-12-06 2006-08-29 Innopath Software System and method for data compression and decompression
US20060047855A1 (en) * 2004-05-13 2006-03-02 Microsoft Corporation Efficient chunking algorithm
US7555531B2 (en) 2004-04-15 2009-06-30 Microsoft Corporation Efficient algorithm and protocol for remote differential compression
US20050256974A1 (en) * 2004-05-13 2005-11-17 Microsoft Corporation Efficient algorithm and protocol for remote differential compression on a remote device
US20050262167A1 (en) * 2004-05-13 2005-11-24 Microsoft Corporation Efficient algorithm and protocol for remote differential compression on a local device
US7613787B2 (en) * 2004-09-24 2009-11-03 Microsoft Corporation Efficient algorithm for finding candidate objects for remote differential compression
US7711706B2 (en) * 2004-11-08 2010-05-04 Innopath Software, Inc. Reorganizing images in static file system differencing and updating
US7640363B2 (en) * 2005-02-16 2009-12-29 Microsoft Corporation Applications for remote differential compression

Similar Documents

Publication Publication Date Title
JP2005302004A5 (ja)
RU2005105759A (ru) Эффективный алгоритм и протокол для удаленного дифференциального сжатия
CN1753368B (zh) 为远程差异压缩标识对象的方法和系统
CN102318310B (zh) 用于重建种子内容元数据的方法和设备
US7827279B2 (en) Selecting nodes close to another node in a network using location information for the nodes
CN107016056B (zh) 一种物联网中海量异构传感数据的分布式存储系统和方法
WO2007024970A3 (en) Security protocols for hybrid peer-to-peer file sharing networks
TW201423427A (zh) 資料塊備份系統及方法
US20140156687A1 (en) Identifying duplicate files
WO2014173237A1 (zh) 一种推荐的方法及服务器
CN114140538B (zh) 车载相机位姿调整方法、装置、设备和计算机可读介质
CN101420324B (zh) 一种网管系统及其代理软件的版本更新方法
US20150281254A1 (en) Increased communication security
JP6742565B2 (ja) 学習装置、検証装置、データ処理システムおよびデータ処理方法
CN102082820B (zh) 面向eMule文件共享系统的综合污染方法
CN102164309B (zh) 节目的处理方法和系统以及装置
CN109544241B (zh) 一种点击率预估模型的构建方法、点击率预估方法和装置
US20240106670A1 (en) Headers client for determining the best chain
CN103269351A (zh) 一种文件下载方法和装置
CN103176796A (zh) 一种在autosar中实现复杂数据到信号组的映射方法
CN113918066B (zh) 基于物联网的联动触控方法、装置、设备及存储介质
CN118795880A (zh) 多农机的路径规划方法、无人农机及其路径规划系统
CN113094383B (zh) 一种可检测作弊服务器的私有信息检索协议的构造方法
CN103064872A (zh) 使用数据结构处理搜索查询
KR20220147315A (ko) 에지 컴퓨팅 환경에서의 IoT 누락데이터 관리 방법 및 장치