JP4796315B2 - 遠隔差分圧縮用の効率的アルゴリズムとプロトコル - Google Patents
遠隔差分圧縮用の効率的アルゴリズムとプロトコル Download PDFInfo
- Publication number
- JP4796315B2 JP4796315B2 JP2005073985A JP2005073985A JP4796315B2 JP 4796315 B2 JP4796315 B2 JP 4796315B2 JP 2005073985 A JP2005073985 A JP 2005073985A JP 2005073985 A JP2005073985 A JP 2005073985A JP 4796315 B2 JP4796315 B2 JP 4796315B2
- Authority
- JP
- Japan
- Prior art keywords
- chunk
- remote
- signature
- list
- local
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/123—Applying verification of the received information received data contents, e.g. message integrity
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61M—DEVICES FOR INTRODUCING MEDIA INTO, OR ONTO, THE BODY; DEVICES FOR TRANSDUCING BODY MEDIA OR FOR TAKING MEDIA FROM THE BODY; DEVICES FOR PRODUCING OR ENDING SLEEP OR STUPOR
- A61M3/00—Medical syringes, e.g. enemata; Irrigators
- A61M3/02—Enemata; Irrigators
- A61M3/06—Enemata; Irrigators combined with bidets
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/04—Protocols for data compression, e.g. ROHC
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
- Y10S707/99953—Recoverability
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
- Y10S707/99955—Archiving or backup
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Heart & Thoracic Surgery (AREA)
- Public Health (AREA)
- Veterinary Medicine (AREA)
- General Health & Medical Sciences (AREA)
- Animal Behavior & Ethology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Hematology (AREA)
- Biomedical Technology (AREA)
- Anesthesiology (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
- Mobile Radio Communication Systems (AREA)
Description
図1は、本発明についての動作環境の一実施例を示す図である。この図に示すように、複数のデバイスが、ネットワーク上で情報をやりとりするように配置されている。これらのデバイスは、ネットワークに接続された汎用コンピューティングデバイス、専用コンピューティングデバイス、または他の任意の適切なデバイスでもよい。このネットワーク102は、それだけには限定されないが、直接配線接続(例えば、パラレルポート、シリアルポート、USB、IEEE1394など)、無線接続(例えば、IRポート、ブルートゥース(Bluetooth)ポートなど)、有線ネットワーク、無線ネットワーク、ローカルエリアネットワーク、ワイドエリアネットワーク、ウルトラワイドエリアネットワーク、インターネット、イントラネット、およびエクストラネットを含めて任意の接続トポロジに対応したものとすることができる。
図2は、本発明に従って構成されたコンピューティングデバイスの一実施例のブロック図である。基本的な構成においては、コンピューティングデバイス200は、一般に少なくとも1つの処理装置(202)およびシステムメモリ(204)を含んでいる。コンピューティングデバイスのその厳密な構成およびタイプに応じて、システムメモリ204は、(RAMなどの)揮発性、(ROM、フラッシュメモリなどの)不揮発性、またはこれら2つの何らかの組合せとすることができる。システムメモリ204は、一般にオペレーティングシステム(205)、1つまたは複数のプログラムモジュール(206)を含んでおり、またプログラムデータ(207)を含むこともある。この基本的な構成が、図2の破線208内のこれらのコンポーネントによって示されている。
図3Aおよび3Bは、本発明の少なくとも一態様によるRDCプロシージャの実施例を示す図である。特にチャンク数は、この実際のオブジェクトOAおよびOBに応じてインスタンスごとに変化することが可能である。
図4Aおよび4Bは、本発明の少なくとも一態様に従って構成される一実施例のRDCプロシージャ中のローカルデバイス(例えば、デバイスA)と、リモートデバイス(例えば、デバイスB)との間の対話についてのプロセスフローを示す図である。図4Aの左側は、このローカルデバイスA上で動作させられるステップ400〜413を示すが、一方、図4Aの右側は、このリモートデバイスB上で動作させられるステップ450〜456を示している。
図5Aおよび5Bは、本発明の少なくとも一態様に従って構成されるRDCプロシージャの一実施例におけるそのシグネチャおよびチャンク長のリストの再帰的な転送についてのプロセスフローを示す図である。以下で説明するプロシージャは、一般的に関連するオブジェクトを更新しようと試みるローカルデバイスとリモートデバイスの両方に対して適用することができる。
図7は、本発明の少なくとも一態様に従って構成されるRDCプロシージャの一実施例を使用したクライアントアプリケーションとサーバアプリケーションの対話を示す図である。サーバとクライアントの両方の上の最初のファイルは、テキスト「The quick fox jumped over the lazy brown dog. The dog was so lazy that he didn't notice the fox jumping over him.(すばやい狐は、のろまな茶色の犬の上を飛び越えた。この犬はあまりにものろまだったので、狐が自分の上を飛び越えたことに気がつかなかった。)」を含んでいた。
前述のこの基本的なRDCプロシージャの有効性は、このオブジェクトデータをチャンキングし、かつ/またはこのシグネチャおよびチャンク長のリストをチャンキングするために使用されるチャンキングプロシージャを最適化することによって増大させることができる。
(S2)Σchunk_length、式中で(signature,chunk_length)∈Bからのシグネチャ、および
slack=Chunks1’−|s1|=Chunks2’−|s2|
オブジェクトOAおよびOBが、平均サイズKを共通にもつS個のセグメントを有するとき、このクライアント上でローカルに取得することができるチャンク数は、次式で与えられる。
すべてのチャンキングアルゴリズムは、スモールウィンドウ(小型のウィンドウ)、すなわち限られたバイトシーケンスに依存するフィンガプリント関数またはハッシュを使用する。これらのアルゴリズムが有限の差分(強度削減)最適化に従うとき、チャンキングのために使用されるハッシュアルゴリズムの実行時間は、このハッシュウィンドウサイズから独立している。したがって、サイズkのハッシュウィンドウでは、b0、bk、および#[b0,b1,...,bk−1]だけを使用してそのハッシュ#[b1,...,bk−1,bk]を計算することは簡単な(一定のステップ数しか必要としない)はずである。ラビン多項式を使用したハッシュ関数や、あらかじめ計算済みの乱数テーブルに基づいた計算上より効率的に見える他のハッシュ関数など、様々なハッシング関数(hashing function)を使用することができる。
sum1+=table[bk]−table[b0]
sum2+=sum1−k×table[b0]
hash=hash^((table[b0]<<l)|(table[b0]>>u))^table[bk];
hash=(hash<<l)|(hash>>63);
式中でl=k%64、およびu=64−l
以前のチャンキング手法では、所定のウィンドウサイズk(=48)を有するフィンガプリントハッシュを計算し、ハッシュビットのサブセットが所定のパターンとマッチングするかどうかに基づいてカットポイントを識別することによって決定される。ランダムハッシュ値を用いると、このパターンは、同様に0となることもあり、これに関連するサブセットも同様にこのハッシュの接頭辞になることもある。基本的な命令においては、これは、以下の形式の述語に変換される。
CutPoint(hash)≡0==(hash&((1<<c)−1))
式中、cはマッチングさせるべきビット数である。
C=m+2C
フィルタにおけるチャンキングは、長さmのパターンシーケンスとなっているフィルタを修正し、このフィルタに対してフィンガプリントハッシュシーケンスをマッチングさせることに基づいている。このフィルタが、ハッシュシーケンスをこのフィルタの接頭辞にも接尾辞にもマッチングさせないときには、任意の2つのマッチング部間の最小距離が、少なくともmになる必要があることが推論できる。フィルタの一実施例は、以前の技術で使用されたカットポイント述語から、最初のm−1個のパターンを次式のように設定し、
0!=(hash&((1<<c)−1))
また最後のパターンを次式のように
0==(hash&((1<<c)−1))
設定することによって得ることができる。
極大(Local Maxima)におけるチャンキングは、縛られたホライズン内部で最大となるカットポイント位置として選択することに基づいている。以下では、本発明者らは、ホライズン値についてはhを使用することにする。offset−h、...、offset−1、ならびにoffset+1、...、offset+hにおけるハッシュ値がすべて、offsetにおけるハッシュ値よりも小さい場合には、位置offsetにおけるハッシュは、h−極大であると言う。換言すれば、hステップ左からhステップ右までのすべての位置が、より小さなハッシュ値を有する。極大は、極小または(メジアンハッシュ値に対する「最近接」(closest to the median hash value)など)比較に基づく他の任意の距離で置き換えることもできることが当業者には理解されよう。
nバイトを有するオブジェクトは、所与のオブジェクトについて多くてもn個のエントリが挿入されるようにCutPointをn回呼び出すことによって処理される。n個より多いエントリを削除することがないように、ステップ805から開始されるループが反復されるたびに1つのエントリが除去される。したがって、この処理ループは、あらゆるエントリについて一度しか入ることができず、反復の結合回数は、多くてもn回とすることができる。これは、CutPointに対する各呼出しにおけるループ内のステップの平均数が2よりわずかに少なく、カットポイントを計算するステップ数が、hからは独立していることを意味する。
Σ0≦k<m1/m(k/m)2h
(1/m)2h+1Σ0≦k<mk2h
(1/m)2h+11/(2h+1)Σ0≦k<2h(2h+1)!/k!(2h+1−k)!Bkm2h+1−k
H∞ (2n)=(−1)n−122n−1π2nB2n/(2n)!
前述の極大手法とフィルタ手法では共に、最小のチャンクサイズが構築される。従来技術の実装形態では、最小のチャンクサイズには、追加のパラメータを別に供給することが必要になる。
前述のチャンキングプロシージャは、極大計算を使用してカットポイントを位置づける手段について説明しているが、本発明は、それだけには限定されない。任意の数学関数を構成して可能性のあるカットポイントを検査することができる。可能性のある各カットポイントは、考慮されたカットポイントについてのホライズンウィンドウ内に配置されたハッシュ値を評価することによって評価される。このハッシュ値の評価は、このホライズン内の最大値の位置を見つけるステップ、このホライズン内の最小値の位置を見つけるステップ、ハッシュ値の間の差分を評価するステップ、任意の定数に対してその結果を比較するステップのうちの少なくとも1つを含み得る数学関数、ならびに他の何らかの数学関数または統計的関数によって達成される。
101 デバイスB
102 ネットワーク
200 コンピューティングデバイス
202 処理装置
204 システムメモリ
205 オペレーティングシステム
206 プログラムモジュール
207 プログラムデータ
209 着脱可能ストレージ
210 着脱不能ストレージ
212 1つ(または複数)の入力デバイス
214 1つ(または複数)の出力デバイス
216 1つ(または複数)の通信接続
218 他のコンピューティングデバイス
Claims (44)
- ローカルデバイスとリモートデバイスとの間で、ネットワーク上でオブジェクトを更新するためのシステムであって、該システムは、
前記ネットワーク上でオブジェクトの更新を円滑に行うよう配設されたリモートデバイスを含み、該リモートデバイスは、
前記ネットワーク上で通信を円滑に行うように配設された第1のネットワーク接続デバイスと、
第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のオブジェクトのコピーを組立てするように設定されており、
前記第1のプロセッサは、さらに、
前記リモートのシグネチャおよびチャンク長のリストをチャンキングしてチャンキングされたリモートのシグネチャおよびチャンク長のリストを提供し、
前記チャンキングされたリモートのシグネチャおよびチャンク長のリストに関連するチャンクごとに再帰的リモートシグネチャを計算し、
前記再帰的リモートシグネチャを用いて再帰的リモートシグネチャおよびチャンク長のリストを生成するように設定されており、かつ
前記第2のプロセッサが、さらに、
前記ローカルデバイス上で前記ローカルのシグネチャおよびチャンク長のリストをチャンキングし、ここで前記ローカルのシグネチャおよびチャンク長のリストのチャンキングが、前記リモートのシグネチャおよびチャンク長のリストのチャンキングに一致し、
前記チャンキングされたローカルのシグネチャおよびチャンク長のリストに関連するチャンクごとに再帰的ローカルシグネチャを計算し、ここで前記再帰的ローカルシグネチャの計算が、前記再帰的リモートシグネチャの計算と一致し、
前記再帰的ローカルシグネチャと前記チャンキングされたローカルのシグネチャおよびチャンク長のリストとを用いて前記ローカルデバイス上で再帰的ローカルシグネチャおよびチャンク長のリストを生成し、ここで前記再帰的ローカルシグネチャおよびチャンク長のリストの生成が、前記再帰的リモートシグネチャおよびチャンク長のリストの生成と一致し、
前記ネットワーク上で前記リモートデバイスから前記再帰的リモートシグネチャおよびチャンク長のリストを受信し、
前記ローカルデバイス上で前記再帰的リモートシグネチャおよびチャンク長のリストと前記再帰的ローカルシグネチャおよびチャンク長のリストとの間の差分を識別し、
前記ローカルデバイスによって、前記再帰的リモートシグネチャおよびチャンク長のリストと前記再帰的ローカルシグネチャおよびチャンク長のリストとの間で差分が識別されるときに、前記リモートデバイスからの少なくとも1つの更新されたシグネチャチャンクの伝送を要求するように設定されていること
を特徴とするシステム。 - 前記第2のプロセッサは、さらに前記リモートデバイスから前記第1のオブジェクトについての更新を要求するように設定されていることを特徴とする請求項1に記載のシステム。
- 前記第1のプロセッサは、さらに前記ローカルデバイスから前記第1のオブジェクトについての更新を要求するように設定されていることを特徴とする請求項1に記載のシステム。
- 前記リモートのシグネチャおよびチャンク長のリストを送信することは、前記リモートデバイスから前記ローカルデバイスに前記リモートのシグネチャおよびチャンク長のリストの少なくとも一部分を送信することを含むことを特徴とする請求項1に記載のシステム。
- 前記ローカルデバイスおよび前記リモートデバイスのうちの一方は、クライアントであり、前記ローカルデバイスおよび前記リモートデバイスのうちの他方は、サーバであることを特徴とする請求項1に記載のシステム。
- 前記ネットワークは、直接配線接続、パラレルポート、シリアルポート、USB(Universal Serial Bus)ポート、IEEE(Institute of Electrical and Electronic Engineers) 1394ポート、無線接続、IR(赤外線)ポート、ブルートゥースポート、有線ネットワーク、無線ネットワーク、ローカルエリアネットワーク、ワイドエリアネットワーク、ウルトラワイドエリアネットワーク、インターネット、イントラネット、およびエクストラネットを含むグループの少なくとも1つのメンバーであることを特徴とする請求項1に記載のシステム。
- 前記ローカルデバイス上で前記第2のオブジェクトに関連するチャンクごとに前記ローカルシグネチャを計算することは、強化ハッシング関数を前記ローカルデバイス上で前記チャンクに対して適用することを含むことを特徴とする請求項1に記載のシステム。
- 前記ローカルデバイス上で前記第1のオブジェクトと前記第2のオブジェクトの間の差分を識別することは、
前記リモートのシグネチャおよびチャンク長のリストを前記ローカルのシグネチャおよびチャンク長のリストと比較し、
前記リモートのシグネチャおよびチャンク長のリストと前記ローカルのシグネチャおよびチャンク長のリストの間の少なくとも1つの差分を識別し、
前記リモートのシグネチャおよびチャンク長のリストに前記少なくとも1つの差分をマッピングし、
前記少なくとも1つの差分と前記リモートのシグネチャおよびチャンク長のリストの間での前記マッピングから前記少なくとも1つの更新されたオブジェクトチャンクを識別する
ことを含むことを特徴とする請求項1に記載のシステム。 - 前記リモートデバイス上で前記第1のオブジェクトのバイトオフセットごとに前記第1のフィンガプリント関数を計算することは、
前記第1のオブジェクトに関連する各バイト位置の周囲で参照されるスモールウィンドウを提供し、
バイト位置ごとに前記スモールウィンドウを使用してフィンガプリントを生成する
ことを含むことを特徴とする請求項1に記載のシステム。 - 前記第1のプロセッサは、さらに、前記第1のオブジェクトに関連するデータタイプ、前記第2のオブジェクトに関連するデータタイプ、前記リモートデバイスに関連する環境制約、および前記ローカルデバイスに関連する環境制約と、前記ネットワークの特性と、前記第1のオブジェクトに関連する使用モデルと、前記第2のオブジェクトに関連する使用モデルを含むグループの少なくとも1つのメンバーに基づいて、前記スモールウィンドウに関連するウィンドウサイズを調整するように設定されていることを特徴とする請求項9に記載のシステム。
- 前記第1のフィンガプリント関数は、ラビン多項式を使用したハッシュ関数、循環シフティングハッシュ関数、32ビットアドラーハッシュ関数を含むグループの少なくとも1つのメンバーからなることを特徴とする請求項1に記載のシステム。
- 前記リモートデバイス上で前記第1のオブジェクトをチャンキングすることは、少なくとも1つのチャンキングパラメータを決定することを含むことを特徴とする請求項1に記載のシステム。
- 前記リモートデバイス上で前記第1のオブジェクトをチャンキングすることは、さらに
前記少なくとも1つのチャンキングパラメータからチャンキングホライズンを決定し、
前記第1のオブジェクト内の各位置においてハッシュ値を計算し、
前記第1のオブジェクト内の各位置の周囲の前記チャンキングホライズン内に位置づけられたハッシュ値に数学関数を適用し、
前記数学関数が満たされるときにカットポイントおよびチャンキング境界のうちの少なくとも1つを指定し、
前記指定されたカットポイントを用いて前記第1のオブジェクトをチャンキングする
ことを含むことを特徴とする請求項12に記載のシステム。 - 前記数学関数は、前記ホライズン内の最大値を決定すること、前記ホライズン内の最小値を決定すること、および前記ホライズン内のハッシュ値の間の差分を評価することを含むグループの少なくとも1つのメンバーからなることを特徴とする請求項13に記載のシステム。
- 前記リモートデバイス上で前記第1のオブジェクトをチャンキングすることは、
前記少なくとも1つのチャンキングパラメータからホライズン、トリガ値、および他のトリガのリストを決定し、
前記第1のオブジェクト内の位置ごとにハッシュ値を計算し、
各計算済みのハッシュ値に数学関数を適用し、
前記数学関数が、所与のオフセットにおいて前記トリガ値を獲得し、前記ホライズンが提供するすべての対応するオフセットにおいて前記他のトリガを獲得するときにカットポイントチャンキング境界の少なくとも1つを指定し、
前記指定されたカットポイントを用いて前記第1のオブジェクトをチャンキングする
ことを含むことを特徴とする請求項12に記載のシステム。 - 前記数学関数は、ハッシュ値をブール値にマッピングする述語、およびハッシュ値を適切な小さなドメイン中に区分する別の数学関数を含むグループの少なくとも1つのメンバーからなることを特徴とする請求項13に記載のシステム。
- 前記第2のプロセッサは、さらに、前記第1のオブジェクトに関連するデータタイプ、前記第2のオブジェクトに関連するデータタイプ、前記リモートデバイスに関連する環境制約、前記ローカルデバイスに関連する環境制約、前記ネットワークの特性、前記第1のオブジェクトに関連する使用モデル、および前記第2のオブジェクトに関連する使用モデルを含むグループの少なくとも1つのメンバーに基づいて、前記少なくとも1つのチャンキングパラメータを調整するように設定されていることを特徴とする請求項12に記載のシステム。
- 前記第1のプロセッサは、さらに、前記少なくとも1つの更新されたオブジェクトチャンクの伝送を求める前記受信された要求に応答して前記リモートデバイス上で前記第2のオブジェクトから前記少なくとも1つの更新されたオブジェクトチャンクを抽出するように設定されていることを特徴とする請求項1に記載のシステム。
- 前記第2のプロセッサは、さらに前記少なくとも1つの更新されたオブジェクトチャンクを用いて前記ローカルデバイス上で更新された第1のオブジェクトを組み立てるように設定されていることを特徴とする請求項1に記載のシステム。
- 前記更新された第1のオブジェクトを組み立てることは、さらに前記更新された第1のオブジェクトが、前記第1のオブジェクトからの少なくとも1つの変更されていないチャンクを含むように用意されていることを特徴とする請求項19に記載のシステム。
- 前記リモートデバイスから前記再帰的リモートシグネチャおよびチャンク長のリストを受信することは、前記ネットワーク上で前記リモートデバイスから前記再帰的リモートシグネチャおよびチャンク長のリストの少なくとも一部分を受信するステップを含むことを特徴とする請求項1に記載のシステム。
- 前記リモートデバイス上で前記リモートのシグネチャおよびチャンク長のリストをチャンキングすることは、
前記リモートデバイス上で前記リモートのシグネチャおよびチャンク長のリストのバイトオフセットごとに第3のフィンガプリント関数を計算し、
前記第3のフィンガプリント関数に基づいて前記リモートデバイス上で前記リモートのシグネチャおよびチャンク長のリストをチャンキングして、前記チャンキングされたリモートのシグネチャおよびチャンク長のリストを提供する
ように設定されていることを特徴とする請求項1に記載のシステム。 - 前記ローカルデバイス上で前記ローカルのシグネチャおよびチャンク長のリストをチャンキングすることは、
前記ローカルデバイス上で前記ローカルのシグネチャおよびチャンク長のリストのバイトオフセットごとに第4のフィンガプリント関数を計算し、ここで前記第4のフィンガプリント関数が、前記第3のフィンガプリント関数に一致し、
前記第4のフィンガプリント関数に基づいて前記ローカルデバイス上で前記ローカルのシグネチャおよびチャンク長のリストをチャンキングして前記チャンキングされたローカルのシグネチャおよびチャンク長のリストを提供し、ここで前記ローカルデバイス上で前記ローカルのシグネチャおよびチャンク長のリストのチャンキングが、前記リモートデバイス上で前記リモートのシグネチャおよびチャンク長のリストのチャンキングと一致する
ように設定されていることを特徴とする請求項22に記載のシステム。 - 前記リモートデバイス上で、前記第3のフィンガプリント関数を計算すること、および前記リモートのシグネチャおよびチャンク長のリストをチャンキングすることは、前記リモートデバイス上での前記第1のフィンガプリント関数を計算すること、および前記第1のオブジェクトをチャンキングすることとは異なる方法を使用することを特徴とする請求項23に記載のシステム。
- 前記リモートデバイス上での前記第3のフィンガプリント関数を計算すること、および前記リモートのシグネチャおよびチャンク長のリストをチャンキングすることは、前記リモートデバイス上での前記第1のフィンガプリント関数を計算すること、および前記第1のオブジェクトをチャンキングすることと同じやり方を使用することを特徴とする請求項22に記載のシステム。
- 前記リモートデバイス上で前記リモートのシグネチャおよびチャンク長のリストのバイトオフセットごとに前記第3のフィンガプリント関数を計算することは、
前記リモートのシグネチャおよびチャンク長のリストに関連する各バイト位置の周囲で参照されるスモールウィンドウを提供し、
バイト位置ごとに前記スモールウィンドウを使用してフィンガプリントを生成する
ことを含むことを特徴とする請求項22に記載のシステム。 - 前記第1のプロセッサは、さらに、前記第1のオブジェクトに関連するデータタイプ、前記第2のオブジェクトに関連するデータタイプ、前記リモートデバイスに関連する環境制約、および前記ローカルデバイスに関連する環境制約と、前記ネットワークの特性と、前記第1のオブジェクトに関連する使用モデルと、前記第2のオブジェクトに関連する使用モデルを含むグループの少なくとも1つのメンバーに基づいて、前記スモールウィンドウに関連するウィンドウサイズを調整するように設定されていることを特徴とする請求項26に記載のシステム。
- 前記第3のフィンガプリント関数は、ラビン多項式を使用したハッシュ関数、循環シフティングハッシュ関数、32ビットアドラーハッシュ関数、循環シフトをもつ62ビットランダムハッシュを含むグループの少なくとも1つのメンバーからなることを特徴とする請求項22に記載のシステム。
- 前記リモートデバイス上で前記リモートのシグネチャおよびチャンク長のリストをチャンキングすることは、少なくとも1つの再帰的チャンキングパラメータを決定することを含むことを特徴とする請求項1に記載のシステム。
- 前記リモートデバイス上で前記リモートのシグネチャおよびチャンク長のリストをチャンキングすることは、さらに、
前記少なくとも1つの再帰的チャンキングパラメータから再帰的チャンキングホライズンを決定し、
前記リモートのシグネチャおよびチャンク長のリスト内の各位置においてハッシュ値を計算し、
前記リモートのシグネチャおよびチャンク長のリスト内の各位置の周囲の前記再帰的チャンキングホライズン内に位置づけられたハッシュ値に数学関数を適用し、
前記数学関数が満たされるときに前記チャンキング境界中にカットポイントを指定し、
前記指定されたカットポイントを用いて前記リモートのシグネチャおよびチャンク長のリストをチャンキングする
ことを含むことを特徴とする請求項29に記載のシステム。 - 前記リモートデバイス上で前記リモートのシグネチャおよびチャンク長のリストをチャンキングすることは、さらに、
前記少なくとも1つの再帰的チャンキングパラメータから再帰的ホライズン、再帰的トリガ値、および他の再帰的トリガのリストを決定し、
前記リモートのシグネチャおよびチャンク長のリスト内の各位置においてハッシュ値を計算し、
計算された各ハッシュ値に数学関数を適用し、
前記数学関数が、所与のオフセットにおいて前記再帰的トリガ値を獲得し、前記再帰的ホライズンが提供するすべての対応するオフセットにおいて前記他の再帰的トリガを獲得するときにおいて、少なくとも1つのカットポイントおよびチャンキング境界を指定し、
前記指定されたカットポイントを用いて前記リモートのシグネチャおよびチャンク長のリストをチャンキングする
ことを含むことを特徴とする請求項29に記載のシステム。 - 前記数学関数は、ハッシュ値をブール値にマッピングする述語、およびハッシュ値を適切な小さなドメイン中に区分する他の任意の数学関数を含むグループの少なくとも1つのメンバーからなることを特徴とする請求項30に記載のシステム。
- 前記数学関数は、前記ホライズン内の最大値の決定、前記ホライズン内の最小値の決定、前記ホライズン内のハッシュ値の間の差分の評価、前記ホライズン内のハッシュ値の合計、および前記ホライズン内のハッシュ値の平均値の計算を含むグループの少なくとも1つのメンバーからなることを特徴とする請求項30に記載のシステム。
- 前記第1のプロセッサは、さらに、前記第1のオブジェクトに関連するデータタイプ、前記第2のオブジェクトに関連するデータタイプ、前記リモートデバイスに関連する環境制約、前記ローカルデバイスに関連する環境制約、前記ネットワークの特性、前記第1のオブジェクトに関連する使用モデル、前記第2のオブジェクトに関連する使用モデルを含むグループの少なくとも1つのメンバーに基づいて、前記少なくとも1つの再帰的チャンキングパラメータを調整するように設定されていることを特徴とする請求項31に記載のシステム。
- 前記リモートデバイス上で前記チャンキングされたリモートのシグネチャおよびチャンク長のリストに関連するシグネチャチャンクごとに前記再帰的リモートシグネチャを計算することは、さらに、前記リモートデバイス上で前記シグネチャチャンクに対して強化ハッシング関数を適用することを含むことを特徴とする請求項27に記載のシステム。
- 前記第1のプロセッサは、さらに、前記少なくとも1つの更新されたシグネチャチャンクの伝送を求める前記受信された要求に応答して前記リモートデバイス上で前記リモートのシグネチャおよびチャンク長のリストから前記少なくとも1つの更新されたシグネチャチャンクを抽出するように設定されていることを特徴とする請求項1に記載のシステム。
- 前記ローカルのシグネチャおよびチャンク長のリストを組み立てることは、さらに、前記ローカルデバイス上で、前記リモートのシグネチャおよびチャンク長のリストの新しいコピーを提供することを含み、前記リモートのシグネチャおよびチャンク長のリストの前記新しいコピーは、前記少なくとも1つの更新されたシグネチャチャンクを含むことを特徴とする請求項36に記載のシステム。
- 前記第2のプロセッサは、さらに、
前記ローカルデバイスを用いて前記ネットワークから前記少なくとも1つの更新されたシグネチャチャンクを受信し、
前記少なくとも1つの更新されたシグネチャチャンクを用いて前記ローカルデバイス上で前記リモートのシグネチャおよびチャンク長のリストのコピーを組み立てる
ように設定されていることを特徴とする請求項1に記載のシステム。 - 前記リモートのシグネチャおよびチャンク長のリストが、前記ローカルのシグネチャおよびチャンク長のリストからの少なくとも1つの変更されていないチャンクを含むことを特徴とする請求項36に記載のシステム。
- 前記ローカルデバイス上で前記再帰的リモートシグネチャおよびチャンク長のリストと前記再帰的ローカルシグネチャおよびチャンク長のリストとの間の差分を識別することは、さらに、
前記再帰的リモートシグネチャおよびチャンク長のリストを前記再帰的ローカルシグネチャおよびチャンク長のリストと比較し、
前記再帰的リモートシグネチャおよびチャンク長のリストと前記再帰的ローカルシグネチャおよびチャンク長のリストとの間の差分に関連する少なくとも1つのシグネチャチャンクを識別し、
前記少なくとも1つのシグネチャチャンクを前記リモートのシグネチャおよびチャンク長のリストにマッピングし、
前記少なくとも1つのシグネチャチャンクと前記リモートのシグネチャおよびチャンク長のリストの間の前記マッピングから前記少なくとも1つの更新されたシグネチャチャンクを識別する
ことを含むことを特徴とする請求項1に記載のシステム。 - 前記リモートデバイス上で前記リモートのシグネチャおよびチャンク長のリストを生成することは、さらに前記リモートのシグネチャおよびチャンク長のリストをコンパクトに符号化することを含むことを特徴とする請求項1に記載のシステム。
- 前記ローカルデバイス上で前記ローカルのシグネチャおよびチャンク長のリストを生成することは、さらに前記ローカルのシグネチャおよびチャンク長のリストをコンパクトに符号化することを含むことを特徴とする請求項1に記載のシステム。
- 前記リモートデバイス上で前記再帰的リモートシグネチャおよびチャンク長のリストを生成することは、さらに前記再帰的リモートシグネチャおよびチャンク長のリストをコンパクトに符号化することを含むことを特徴とする請求項1に記載のシステム。
- 前記ローカルデバイス上で前記再帰的ローカルシグネチャおよびチャンク長のリストを生成することは、さらに前記再帰的ローカルシグネチャおよびチャンク長のリストをコンパクトに符号化することを含むことを特徴とする請求項1に記載のシステム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/825,735 | 2004-04-15 | ||
US10/825,735 US7555531B2 (en) | 2004-04-15 | 2004-04-15 | Efficient algorithm and protocol for remote differential compression |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2005302004A JP2005302004A (ja) | 2005-10-27 |
JP2005302004A5 JP2005302004A5 (ja) | 2008-05-01 |
JP4796315B2 true 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) | EP2444909A2 (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 (82)
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 |
US7849462B2 (en) * | 2005-01-07 | 2010-12-07 | Microsoft Corporation | Image server |
US8073926B2 (en) * | 2005-01-07 | 2011-12-06 | Microsoft Corporation | Virtual machine 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 |
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 |
JP2008547122A (ja) | 2005-06-20 | 2008-12-25 | エアプレイ ネットワーク インコーポレイテッド | サービス提供方法、データ受信方法、データ提供システム、クライアント装置及びサーバ装置 |
US20070070999A1 (en) * | 2005-08-02 | 2007-03-29 | Black Jeffrey T | Synchronization of historical data without retransmission |
US9511287B2 (en) | 2005-10-03 | 2016-12-06 | Winview, Inc. | Cellular phone games based upon television archives |
US8705195B2 (en) | 2006-04-12 | 2014-04-22 | 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 |
US9919210B2 (en) | 2005-10-03 | 2018-03-20 | Winview, Inc. | Synchronized gaming and programming |
US8002618B1 (en) | 2006-01-10 | 2011-08-23 | 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 |
US9056251B2 (en) | 2006-01-10 | 2015-06-16 | 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 |
EP2021926A4 (en) | 2006-05-05 | 2009-07-15 | Hybir Inc | SYSTEM FOR SAVING INCREMENTAL AND COMPLETE COMPUTER-BASED FILE FILES BASED ON THE GROUP, 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 |
US7619545B2 (en) | 2007-03-12 | 2009-11-17 | Citrix Systems, Inc. | Systems and methods of using application and protocol specific parsing for compression |
US7532134B2 (en) | 2007-03-12 | 2009-05-12 | Citrix Systems, Inc. | Systems and methods for sharing compression histories between multiple devices |
US8255570B2 (en) | 2007-03-12 | 2012-08-28 | Citrix Systems, Inc. | Systems and methods of compression history expiration and synchronization |
US7460038B2 (en) | 2007-03-12 | 2008-12-02 | Citrix Systems, Inc. | Systems and methods of clustered sharing of compression histories |
US7827237B2 (en) | 2007-03-12 | 2010-11-02 | Citrix Systems, Inc. | Systems and methods for identifying long matches of data in a compression history |
EP2677714B1 (en) * | 2007-03-12 | 2015-04-22 | Citrix Systems, Inc. | Systems and methods for using compression histories to improve network performance |
US7865585B2 (en) | 2007-03-12 | 2011-01-04 | Citrix Systems, Inc. | Systems and methods for providing dynamic ad hoc proxy-cache hierarchies |
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 |
WO2009108579A2 (en) | 2008-02-26 | 2009-09-03 | 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. |
WO2009132261A1 (en) | 2008-04-25 | 2009-10-29 | 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 |
US9110964B1 (en) * | 2013-03-05 | 2015-08-18 | Emc Corporation | Metadata optimization for network replication using differential encoding |
US9235475B1 (en) | 2013-03-05 | 2016-01-12 | Emc Corporation | Metadata optimization for network replication using representative of metadata batch |
KR101479864B1 (ko) * | 2013-11-08 | 2015-01-06 | 주식회사 엘지유플러스 | 멀티미디어 청크(chunk)를 수신하는 통신 단말기 및 그 제어방법과, 그 제어방법을 실행하기 위한 프로그램을 기록한 기록 매체 |
US10097868B2 (en) * | 2013-12-09 | 2018-10-09 | Sony Corporation | Data processing device and data processing method |
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 |
CN110740352B (zh) * | 2019-11-14 | 2021-07-20 | 北京京航计算通讯研究所 | 显卡透传环境下基于spice协议的差异图像显示方法 |
CN110868614B (zh) * | 2019-11-14 | 2021-09-28 | 北京京航计算通讯研究所 | 显卡透传环境下基于spice协议的差异图像显示系统 |
US11681659B2 (en) * | 2021-05-21 | 2023-06-20 | Red Hat, Inc. | Hybrid file compression model |
Family Cites Families (45)
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 |
CN1125568C (zh) | 1996-01-22 | 2003-10-22 | 松下电器产业株式会社 | 预测图像解码方法以及预测图像编码方法 |
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 |
US6952823B2 (en) | 1998-09-01 | 2005-10-04 | Pkware, Inc. | Software patch generator using compression techniques |
IL142564A0 (en) * | 1998-10-16 | 2002-03-10 | Computer Ass Think Inc | Method and system for an extensible macro language |
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 |
WO2001098951A1 (en) * | 2000-06-22 | 2001-12-27 | Synchrologic, Inc. | A system and method for file transmission using file differentiation |
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 |
MXPA04004645A (es) | 2001-11-16 | 2004-08-12 | Koninkl Philips Electronics Nv | Metodo, cliente y servidor para actualizar base de datos de huellas digitales. |
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 |
JP2008522254A (ja) | 2004-11-08 | 2008-06-26 | イノパス・ソフトウェアー・インコーポレーテッド | スタティック・ファイル・システムの差異検出および更新 |
US7640363B2 (en) | 2005-02-16 | 2009-12-29 | Microsoft Corporation | Applications for remote differential compression |
-
2004
- 2004-04-15 US US10/825,735 patent/US7555531B2/en active Active
-
2005
- 2005-02-22 SG SG200501089A patent/SG116576A1/en unknown
- 2005-03-01 RU RU2005105759/09A patent/RU2382511C2/ru not_active IP Right Cessation
- 2005-03-09 BR BR0501166-3A patent/BRPI0501166A/pt not_active IP Right Cessation
- 2005-03-14 ZA ZA2005/02115A patent/ZA200502115B/en unknown
- 2005-03-14 TW TW094107741A patent/TWI360336B/zh not_active IP Right Cessation
- 2005-03-14 KR KR1020050021145A patent/KR100922674B1/ko active IP Right Grant
- 2005-03-15 CN CN2005100551077A patent/CN1684464B/zh active Active
- 2005-03-15 JP JP2005073985A patent/JP4796315B2/ja not_active Expired - Fee Related
- 2005-03-15 MY MYPI20051086A patent/MY144798A/en unknown
- 2005-03-15 CA CA2500894A patent/CA2500894C/en not_active Expired - Fee Related
- 2005-03-15 CO CO05024087A patent/CO5680121A1/es not_active Application Discontinuation
- 2005-03-15 CN CN201110150768.3A patent/CN102170455B/zh active Active
- 2005-03-15 NZ NZ538839A patent/NZ538839A/en not_active IP Right Cessation
- 2005-03-15 NO NO20051344A patent/NO20051344L/no not_active Application Discontinuation
- 2005-03-16 MX MXPA05002949A patent/MXPA05002949A/es active IP Right Grant
- 2005-03-16 IL IL167467A patent/IL167467A/en unknown
- 2005-04-01 AU AU2005201386A patent/AU2005201386B2/en not_active Ceased
- 2005-04-05 EP EP11009555A patent/EP2444909A2/en not_active Withdrawn
- 2005-04-05 EP EP05102664A patent/EP1587007A3/en not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
CA2500894A1 (en) | 2005-10-15 |
IL167467A (en) | 2010-11-30 |
CN102170455A (zh) | 2011-08-31 |
MY144798A (en) | 2011-11-15 |
RU2382511C2 (ru) | 2010-02-20 |
CO5680121A1 (es) | 2006-09-29 |
MXPA05002949A (es) | 2005-10-19 |
TWI360336B (en) | 2012-03-11 |
CA2500894C (en) | 2013-07-02 |
RU2005105759A (ru) | 2006-08-10 |
NO20051344D0 (no) | 2005-03-15 |
NO20051344L (no) | 2005-10-17 |
TW200537881A (en) | 2005-11-16 |
EP1587007A2 (en) | 2005-10-19 |
CN1684464B (zh) | 2011-07-27 |
US7555531B2 (en) | 2009-06-30 |
CN102170455B (zh) | 2015-12-16 |
KR100922674B1 (ko) | 2009-10-19 |
AU2005201386A1 (en) | 2005-10-27 |
AU2005201386B2 (en) | 2010-06-17 |
NZ538839A (en) | 2007-07-27 |
JP2005302004A (ja) | 2005-10-27 |
SG116576A1 (en) | 2005-11-28 |
US20050235043A1 (en) | 2005-10-20 |
KR20060043620A (ko) | 2006-05-15 |
CN1684464A (zh) | 2005-10-19 |
EP1587007A3 (en) | 2007-04-18 |
ZA200502115B (en) | 2007-08-29 |
BRPI0501166A (pt) | 2005-12-06 |
EP2444909A2 (en) | 2012-04-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4796315B2 (ja) | 遠隔差分圧縮用の効率的アルゴリズムとプロトコル | |
US8117173B2 (en) | Efficient chunking algorithm | |
US7613787B2 (en) | Efficient algorithm for finding candidate objects for remote differential compression | |
US20050262167A1 (en) | Efficient algorithm and protocol for remote differential compression on a local device | |
US7640363B2 (en) | Applications for remote differential compression | |
US20050256974A1 (en) | Efficient algorithm and protocol for remote differential compression on a remote device | |
US6636872B1 (en) | Data file synchronization | |
US8698657B2 (en) | Methods and systems for compressing and decompressing data | |
CN102318310A (zh) | 用于重建种子内容元数据的方法和设备 | |
US10339124B2 (en) | Data fingerprint strengthening | |
CN113273163A (zh) | 文件上传方法、文件下载方法和文件管理装置 | |
US20170048303A1 (en) | On the fly statistical delta differencing engine | |
US20120047142A1 (en) | Network coding with last modified dates for p2p web caching | |
WO2013136584A1 (ja) | データ転送システム | |
US20170048302A1 (en) | Static statistical delta differencing engine | |
Riza et al. | Base-Delta Dynamic Block Length and Optimization on File Compression |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080317 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080317 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20101203 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20101214 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20110314 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20110317 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20110414 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20110419 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110513 |
|
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: 20110722 |
|
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: 20110729 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 4796315 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140805 Year of fee payment: 3 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
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 |
|
LAPS | Cancellation because of no payment of annual fees |