JP3848983B2 - データ送信方法、データ等化方法及び装置 - Google Patents
データ送信方法、データ等化方法及び装置 Download PDFInfo
- Publication number
- JP3848983B2 JP3848983B2 JP00387895A JP387895A JP3848983B2 JP 3848983 B2 JP3848983 B2 JP 3848983B2 JP 00387895 A JP00387895 A JP 00387895A JP 387895 A JP387895 A JP 387895A JP 3848983 B2 JP3848983 B2 JP 3848983B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- source
- key
- block
- file
- 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 - Lifetime
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/178—Techniques for file synchronisation in file systems
- G06F16/1787—Details of non-transparently synchronising file systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- 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/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
Description
【産業上の利用分野】
本発明は、一般的にはコンピュータ通信に関するものであり、特別にはリモートコンピュータに位置するファイルの更新に要する時間を短縮するための方法及び装置に関するものである。
【0002】
【従来の技術】
コンピュータ通信技術においては、コンピュータと他の周辺装置との間のデータ通信の速度が大変重要である。携帯用コンピュータの利用が増加している中で、2つのパーソナルコンピュータ間の早くそして正確なデータ転送が特に興味を持たれている。しばしば携帯用コンピュータに入力されたデータが、結局はユーザーの自宅或いはオフィスのパーソナルコンピュータに転送される。コンピュータの専門家は、送信するデータの信頼性を損なわずにデータを転送するために要する時間を短縮する通信プロトコルをいつでも捜し求めている。
【0003】
コンピュータ、特にパーソナルコンピュータ間でデータを運ぶ従来の方法は、送信側コンピュータのデータバスと受信側コンピュータのデータバスとの相互接続によるものである。これは、各コンピュータのシリアル、パラレル又は同様の通信ポートをケーブルのようなインターフェースリンクを通して、又はモデムを用いるデータパスを介して結合することによって行われる。シリアル通信においては、データは一時に1ビット転送される。シリアル通信は、長い距離を越えてデータを転送する場合、特にモデムを装着し電話線を用いて2つのコンピュータを結んでデータを転送する場合に適している。
【0004】
しかしながら、シリアル通信を用いてデータを転送するために必要な時間は、特に大きなファイルの場合にはかなりのものになる。比較的近くにある2つの装置間での通信にはパラレル通信がしばしば用いられる。パラレル通信は、データの多数のビット、例えば8ビットがマルチビットデータパスを用いて並列に同時に転送される。
【0005】
コンピュータソフトウェア会社は、データ転送時間を減らすために更に有効なデータ転送方法を絶えず研究している。中心となる2つの優勢な分野は、データ転送レートを上げること及びデータ圧縮を行って送るべきデータの総量を減らすことである。データ転送レートを上げることは、シリアル通信においてはモデムの速度を上げることによって進められ、パラレル通信においては同時に転送することができるビット数を増すことによって進められて来た。
【0006】
後者の技術に関する技術の例は本出願人の米国特許第5,261,060 号「8ビットパラレル通信方法及び装置」に記載された技術である。データ圧縮方法は、種々の方法により情報を密にして転送すべきファイルのサイズを小さくする。例えば、通常の圧縮技術の1つはキーワード符号化と呼ばれるもので、例えば「the 」のように頻繁に出て来る語をそれぞれ2バイトのトークン表示に置き換える方法である。圧縮されたデータはリモートコンピュータによって受信された後で圧縮解除され、ファイルの元の内容の表現に戻される。
【0007】
ファイル転送に要する時間を減らすための最近のアプローチでは、しばしば受信側コンピュータがファイル即ち転送されるべきソースファイルと類似の或いは時には同一のリファレンスファイルを持つようになっている。例えば、ソースファイルが、リファレンスファイルと単に数ワード又は数センテンスだけ変わっているに過ぎないテキストを含むこともある。このアプローチを用いたファイル転送方法は、元の全体のソースファイル又は全体の圧縮されたソースファイルを送ることはせず、2つのファイル間の差異を識別し、その差異のみを受信側コンピュータに送る。これを受信すると、受信側コンピュータにおけるリファレンスファイルがこの差異情報によって更新され、それにより、ソースファイルの正確なコピーが再生される。
【0008】
【発明が解決しようとする課題】
本発明は、リモートコンピュータにおいてソースファイルの正確なコピーを作るため、ソースファイルとリファレンスファイルとの間で変更内容を識別し転送する方法の改良を目指すものである。
【0009】
【課題を解決するための手段】
本発明は、送信側コンピュータに位置するソースファイルと、受信側コンピュータに位置し、このソースファイルを構成するデータと同様のデータを持つリファレンスファイルとの間の差異を識別してこれを分離するファイル転送方法である。両コンピュータはコンピュータデータインターフェースを通して接続される。この方法は、 (a)リファレンスファイルを複数のデータブロックに分割し、各データブロックがnバイトの長さを持ち、各データブロックをそのブロックにおけるデータによりキーを定めるキー決定方法に従って決定したリファレンスキー値に対応させるステップ、及び (b)ソースファイルからの長さnバイトのデータのブロックを識別し、該キー決定方法に従ってソースキー値を決定し、且つソースキー値及びリファレンスキー値を用いて、リファレンスファイルからのデータのブロックとソースファイルからのデータのブロックとを比較し、それぞれのファイルからのデータのブロックの間に一致が得られた場合は、受信側コンピュータに一致した旨の表示を送信し、これにより一致した旨を表示されたデータのブロックを受信側コンピュータに送信することを不要にするステップを含む。
【0010】
本発明の他の観点によれば、データの初期のブロックをソースファイルから識別し、初期のブロックからソースキーを決定し、初期のブロックについて一致が得られない場合は、更に(i) 初期のブロックからの部分集合を受信側コンピュータに送信するステップ、及び(ii)送信された部分集合を除き、ソースファイルからの付加データを加え、ソースファイルからのデータの初期のブロックを含む長さnバイトの引き続くデータのブロックを識別するステップを含む。
【0011】
本発明の更に他の観点によれば、リファレンスファイルにおけるデータブロックと対応したリファレンスキー値を送信側コンピュータに送信するステップを更に含む。更に、データのブロックについてのキー値の少なくとも一部分を、そのブロックのバイトと、その値が所定のバイトのそのブロック中における位置に依って決まる1又は複数の乗数とを乗算し、この乗算操作の結果を加算して計算する。
【0012】
本発明の前記の観点及びこれらに付随する本発明の多くの利点は、図面を用いた以下の詳細な説明によって、更に容易に認識され同時により良い理解が得られる筈である。
【0013】
【実施例】
実際にリモートファイルを転送する場合、しばしば、受信側コンピュータが既に転送されるべきファイルと類似の、或いは時には同一のファイルを持っている場合がある。例えば、転送されるべきファイルが、テキストファイルをただ数ワード又は数センテンス変更しただけの改訂版であることもある。本発明は2つのファイルの間の差異を識別してこれを分離し、これらの差異のみを受信側コンピュータに転送するファイル転送方法である。類似のファイルについては、このファイル転送方法は、従来のデータ圧縮方法によって得られる圧縮比を遥に上回る圧縮比を得ることができる。
【0014】
図1は、本発明が利用される典型的な動作環境を説明する図である。送信側コンピュータ20が通信リンク24を通して受信側コンピュータ22と接続される。これらのコンピュータは、パーソナルコンピュータ或いはラップトップコンピュータのような一般的によく知られた型のものである。通信リンクは、例えば本発明の出願人であるTraveling Software社で作られ販売されているファイル転送ツールLAPLINKシリーズのような2つのコンピュータ間でデータを転送するための既知の手段であってもよい。
【0015】
送信側コンピュータ20は一般的にプロセッシングユニット26、メモリー28及び多数の通信ポート30を具える。メモリーはランダムアクセスメモリー(RAM)、リードオンリーメモリー(ROM)及び外部メモリーを含み、データ/アドレスバス32によってプロセッシングユニット26に接続される。通信ポート30はデータバス34によってプロセッシングユニット26に接続される。通信ポート30はパラレルポート及びシリアルポートを含み、更に、送信側コンピュータがデータの送受信をできるようになるPCMCIAカード技術を含む他の入力/出力技術を含む。受信側コンピュータ22は送信側コンピュータと同様であり、プロセッシングユニット36、メモリー38、通信ポート40及びデータバス44を含む。記載を簡易化するために一方を送信側コンピュータと呼び他方を受信側コンピュータと呼ぶが、コンピュータは一般的に互換性を有する。
【0016】
データ転送を行うため、送信側及び受信側のコンピュータは、コンピュータプログラム制御を含む。コンピュータプログラムは例えばRAMに格納され、各コンピュータのプロセッシングユニットによって実行される。本発明の1つの実施例においては、送信側及び受信側のコンピュータ制御は、単独のファイル転送プログラム45に組み込まれている。このような方法では、各コンピュータが送信側コンピュータ及び受信側コンピュータとして動作する。ハンドシェイクの必要性から、各コンピュータに位置するファイル転送プログラム45のコピーは同時に実行されることが望ましい。これにより、全二重転送、即ち各方向の同時通信が可能になる。本発明は、効率的ではないにしても半二重通信にも利用できる。
【0017】
説明を明確にするため、本明細書を通して、送信側コンピュータに位置するソースファイル46が受信側コンピュータ22に送信されるものと仮定する。更に、受信側コンピュータが、ソースファイルと少なくとも若干の類似性を持つリファレンスファイル48を含むものと仮定する。ユーザーがソースファイルを転送することを指示すると、ソースファイルに類似のデータを持つリファレンスファイルが、例えばソースファイルと同一或いは類似のファイル名を持つことによって識別される。本発明は、ここでは一般的にリファレンスファイルは既に識別されたものと仮定する。
【0018】
ファイル転送プログラムによって実現される基本的なステップは次の通りである。
(1) 受信側コンピュータにおいて、ソースファイルを含むデータと類似のデータを有するリファレンスファイルを識別するステップ、
(2) リファレンスファイルを構成するデータを、1ブロック当たりnバイトを持つように複数のデータブロックに分割し、各データブロックを1つのキー値に対応させるステップ、
(3) キー値を受信側コンピュータから送信側コンピュータに送信するステップ、
(4) ソースファイルからのデータのnバイトのカレントブロックを識別し、データのカレントブロックに対応するソースキーの値を計算するステップ、
(5) ソースキーの値をそれぞれのリファレンスファイルからのキー値と比較し、一致が得られると、 (i)一致した旨の通知を受信側コンピュータに送信し、(ii)ステップ(4) を繰り返すステップ、及び
(6) 一致が得られないと、データのカレントブロックからデータの1バイトを受信側コンピュータに送信し、ソースファイルからのデータの付加バイトをデータのカレントブロックに付加し、ソースキー値を再計算し、ステップ (5)を繰り返すステップ。
【0019】
一般的に、ステップ(5) 及び(6) によって作られるループは、ソースファイルの全てのデータが処理されるまで繰り返される。受信側コンピュータにおいては、一致の通知及びバイトの送信からデスティネーションファイルが作られる。送信が完結すると、このデスティネーションファイルはソースファイルの写しになる。
【0020】
図2は、ステップ(2) を説明する図であり、リファレンスファイルを構成するデータを複数のデータブロック50a、50b、50c、...50y、50zに分割し、各データブロックをキー値52a、52b、52c、...52y、52zに対応させる。データの最後のブロックはnバイトより少ないこともあり得るので、図ではxバイトと表示している。
【0021】
リファレンスファイルがデータブロック50に分割されると、各ブロックのキー値52は種々の方法で計算される。第1の実施例では、各キーがそのブロックのデータの各バイトの値を加算し、そのブロックの全てのバイトの総計を出すことによって計算される。ちなみに、それぞれの所定のブロックにおける各8ビットのキャラクタは、0乃至255即ち28 −1の範囲にあるASCII値で表現されている。
【0022】
ASCIIは情報交換のための米国の標準コードの頭文字からできた語である。ASCIIのコード構成は、文字、数字、記号及び他のキャラクタに数値を割当てるものである。このようなキャラクタについて用いられる値の標準化を通して、ASCIIはコンピュータ及びコンピュータプログラムを用いて情報交換を行うことを可能にした。前記のようなキーの計算は、それぞれの所定のブロックに含まれるデータを表す0とn2 との間の全ての数を生成する。
【0023】
リファレンスファイル中のデータの各ブロックについてのキーが計算されると、そのキー値は1つのアレイとして、ソースファイルとの比較のために送信側コンピュータに送られる。
【0024】
図3は、ステップ(3) 乃至(5) を説明する図である。ステップ(3) においては、ソースファイルからのデータのnバイトのカレントブロックが識別され、データのカレントブロックに対応するソースキーについての値が計算される。このように、最初の比較においては、バイト0からバイトn−1までがデータのカレントブロックとして識別される。従って、データのカレントブロックのキー値は、リファレンスファイルのキーを計算するのに用いられた方法と同一の方法を用いて計算される。データのカレントブロックのキー値はKEY1とする。
【0025】
ステップ(4) においては、KEY1の値がリファレンスファイルのそれぞれのキーと比較され、一致するか否かが決定され、それによりデータのカレントブロックがリファレンスファイルのデータの1つのブロックと同一であるか否かが表示される。一致が得られたならば、この表示は受信側コンピュータに送られる。一致が得られないと、ステップ(5) によってカレントブロックの第1のバイト(バイト0)が受信側コンピュータに送られる。
【0026】
データのカレントブロックの続きは、次にカレントブロックからデータの第1のバイト(バイト0)を差引いて数値化され、データの次に続くバイト(バイトn)がカレントブロックに加えられ、次のカレントブロックのキー値が再計算される。データのこのブロックについてのキー値をKEY2とする。このように、KEY2はバイト1乃至nの値を含む。KEY2の値は次にリファレンスファイルについてのキーアレイのそれぞれのキーと比較される。
【0027】
一致が得られない場合は、カレントブロックの第1バイト(バイト1)が受信側コンピュータに送られる。次に、データのカレントブロックを表す第3のキーであるKEY3が、データのカレントブロックを右に1バイトずらすことによって計算され、KEY3はバイト2からバイト(n+1)までの値を含む。これは、ソースファイルにおけるデータブロックから計算されたキー値とリファレンスファイルについてのキーアレイにおけるキーとの間に一致が得られるか、又はソースファイル中の全てのデータが送信されてしまうまで続けられる。一致が得られると、その旨の通知が受信側コンピュータに送られ、次のデータのカレントブロックがソースファイルから計算される。
【0028】
一致が得られない場合においてファイルを転送するために必要な付加的な時間は、ウィンドウをずらせ、キーを計算するにも拘わらず、従来の方法に較べて無視できる。これは、部分的にはプロセッサがデータを送るよりもずっと早く計算することができるという事実による。更に、好適な実施例においては、受信側コンピュータは、受信されるバイトがデータバイトであり、2つのデータブロック間の一致の表示ではないことを期待するように構成される。後者の場合、一致が生じたことを示す付加的な「一致の表示」のバイトが複数のバイトの先頭に送られる。このように、一致が得られない場合に送られるバイトの数は、一般的には本発明による一致のチェックを行わずに単に送信するときとほぼ等しくなる。
【0029】
前記の説明はファイル転送プログラム45の実施例の概観である。ソフトウェアによるファイル転送プログラムを実行するためのルーチンの実施例が図4乃至6に示されている。図4は、リファレンスファイルの内容からキーアレイを計算するためのルーチンのフローチャートである。データの各ブロックのサイズが手順100 でセットされる。一例では、各ブロックが256バイトを含む。
【0030】
手順102 では、このルーチンで処理されるデータのカレントブロックを表示する変数nBLOCKが0にセットされる。データのカレントブロックについてのキー値が手順104 で計算される。キー値を計算するのに適したルーチンを図5に示す。手順106 では、アレイBLOCKKEY[nBLOCK]がカレントブロックについて計算されたキー値と等しくされる。変数「nBLOCK」は次に手順108 で増やされる。
【0031】
手順110 では、リファレンスファイルの終りに達したか否かを決定するためのテストが行われる。まだファイルの終りに達していない場合は、ルーチンは手順104 に戻る。ファイルの終りに達している場合は、手順112 でアレイBLOCKKEYが送信側コンピュータに送られ、このルーチンが終了する。
【0032】
図5は、図4(手順104 )でデータの所定のブロックに対応するキー値を計算するために用いるのに適した第1の実施例てあるサブルーチンのフローチャートを示す。このサブルーチンは、リファレンスファイルにおける各データブロックについて呼び出される。
【0033】
手順120 で、バイト計数値を表す変数「n」が0にセットされる。手順122 では、変数「KEY 」が0にセットされる。手順124 では、リファレンスファイルからデータの1バイトが読み取られる。手順126 では変数「n」が増やされる。手順128 では、変数「KEY 」が、前の値に手順124 で読み取られたデータのカレントバイトの値を加えた値に等しくされる。
【0034】
手順130 では、リファレンスファイルの終りに達したか否かを決定するためのテストが行われる。まだファイルの終りに達していない場合は、手順132 で、データの全てのブロックが処理されたか否か、即ちnがブロックサイズに等しいか否かを決定するためのテストが行われる。nがブロックサイズに等しくない場合は、サブルーチンは手順124 に戻る。nがブロックサイズに等しい場合又は手順130 でファイルの終りに達したと決定された場合は、このサブルーチンは終了し、図4のルーチンに復帰する。
【0035】
図6は、ソースファイルからのnバイトブロックに対応するキーと、リファレンスファイルから計算されたキー及びアレイBLOCKKEYに含まれたキーとの比較を行うためのルーチンのフローチャートである。手順150 では変数「CURRENTKEY」が0にセットされる。手順152 では、少なくともnバイトのまだ比較されていないソースファイルのデータがあるか否かを決定するテストが行われる。少なくともnバイトのまだ比較されていないソースファイルのデータがある場合は、手順154 でソースファイルからデータのnバイトブロックが読み取られる。
【0036】
手順156 では、データのカレントブロックを表示するカレントキー値が、図5で用いられた方法と同じ方法、即ちデータのカレントブロックの各バイトの重み付けされた値を加算する方法を用いて計算される。次に手順158 で、アレイBLOCKKEYにおけるキー値のいずれかがカレントキーに一致するか否かを決定するためにアレイBLOCKKEYがサーチされる。一致が得られたか否かのテストは手順160 で行われる。
【0037】
手順160 で一致が得られた場合は、手順162 で受信側コンピュータにメッセージが送られ、一致したブロックがデスティネーションファイルに送信される。このルーチンは手順154 に戻る。一致が得られない場合は、手順164 で、カレントブロックのデータの第1バイトが受信側コンピュータに送られる。手順166 では、受信側コンピュータに送られたデータのバイトがデータのカレントブロックから削除される。
【0038】
手順168 では、ソースファイルにまだ処理されていない残りのデータがあるか否かを決定するテストが行われる。ソースファイルに残りのデータがある場合は、手順170 でデータの新しいバイトがソースファイルから読み取られ、手順172 でデータのカレントブロックに加えられる。このルーチンは手順156 に戻り、データのカレントブロックについてのキーが計算される。
【0039】
手順172 から戻った後で手順156 においてカレントキーを計算する際、カレントブロックのそれぞれのキャラクタを加算することによってキー計算を行うよりは、(手順166 において)カレントブロックから削除されたバイトの値を前に計算されたカレントキーから減算し、次に(手順172 において)カレントブロックに加算されたバイトの値を加算することによってカレントブロックについてのキー値を得るのがより効率的であることは明らかである。
【0040】
ソースファイルに残っている全てのデータが処理されると、又は手順152 のテストの結果ソースファイルの残りのデータがnバイトより少なくなると、手順174 で、ソースファイルの残りのデータが受信側コンピュータに送られる。受信側コンピュータにおいては、送信されたデータがデスティネーションファイルに加えられ、ファイル転送が完了する。
【0041】
他の実施例においては、手順174 に示されるように、単に残りのデータを送るのではなく、残りのデータのキー値がリファレンスファイルのデータの最後のブロックのキー値と一致するか否かのテストが行われる。一致が存在すると、一致の表示が受信側コンピュータに送られ、データ自身の送信は不要とされる。そうでない場合は、実際のデータが送信される。これは、リファレンスファイルの終り部分がソースファイルの終り部分と同一のデータを含む場合に、転送を更に有利にする。
【0042】
ソースファイルの全てのデータがデスティネーションファイルに加えられると、即ち手順162 、164 及び174 によって殆どの場合にデスティネーションファイルがソースファイルの完全なコピーになる。しかしながら、デスティネーションファイルがソースファイルの正確な複製であることを確認するためのチェックが行われることが望ましい。手順176 では、デスティネーションファイルの完全性が、既知の手段を用いてチェックされる。
【0043】
このファイルの完全性をチェックする1つの方法は、M. Nelson 著「データ圧縮ブック」(The Data Compression Book )の446-448 頁(M&T Books 1991 )に記載されたようなサイクリック冗長検査(CRC)である。デスティネーションファイルの完全性が得られない場合は、通常の送信方法を用いて、ソースファイルからデスティネーションファイルへデータが再送信される。これは、手順178 に示されている。デスティネーションファイルについて又はソースファイルの送信について完全性が得られた場合はこのルーチンが完了する。
【0044】
デスティネーションファイルがソースファイルの正確なコピーではない場合の1つの例は、データの2以上の異なるブロックが同一のキー値を生ずる場合である。データの各ブロックが256バイトと仮定すると、図5に示したキー計算方法では、可能なキー値の範囲は0から65,280までである。この後者の値は、ブロックの各バイトが数値255をとった場合にのみに起きる。
【0045】
この場合、 (1)可能なキー値の範囲が比較的大きく、及び/又は (2)キー計算値がこの範囲の広い部分に分布する可能性が増すと、同じキー値を持つ確率が減少する。この点については、データを送信するための本発明によるデータファイル転送方法の正確性は、2つの異なるデータのブロックが同一のキー値を持つ確率が極めて小さい場合に最も効果的に動作する。
【0046】
有利なキー値計算方法の他の望ましい例は、ソースデータのブロックについてのカレントキー値がウィンドウをずらすことによって導出され、素早く確定される場合である。これを達成する1つの方法は、差し引かれるべきデータのバイトに対応するキー値をデータのカレントブロックから減算し(手順166 )、加えられるべきデータのバイトに対応するキー値をカレントブロックに加算する(手順172 )ことによって、カレントキー値が更新されるキー計算方法を持つことである。
【0047】
図5に示されたキー計算方法はここに説明した例であるが、この例は可能なキー値の範囲が限定されており、この範囲に値が分布するようになっているため、ずっと大きなファイルについては良好に動作しない。
【0048】
図7乃至9は、本発明によるキー計算のための第2の実施例を説明する図であり、可能なキー値の範囲が図5の場合より拡張され、これにより、どのキー値もデータの1つのブロック以外のブロックを表示する可能性を減らした例である。更に、この計算方法においては、図9で説明するようにカレントキーが極めて高速で更新される。図7乃至9の例は、32ビットキーを示しているが、他のキーサイズであってもよいことは勿論である。
【0049】
図7によれば、32ビットキーが下部24ビットのセグメントと上部8ビットのセグメントとに分割されている。24ビットのセグメントは、式
C1(n)+C2(n-1)+C3(n-2)+……+Cn-1(2)+Cn (1)
によって計算される。ここでC1 はカレントブロックのi番目のキャラクタであり、nは各ブロックのバイト数である。32ビットキーの上部8ビットは、各キャラクタについてエクスクルーシブオア(XOR)操作を行うことによって計算される。これは、式
C1 XOR C2 XOR C3 ……Cn-1 XOR Cn (2)
によって示される。
【0050】
下部及び上部のキー値が計算されると、このビットが結合され、それぞれ32ビットキーを形成する。
図8には、図7で説明されたキー計算を実行するために適したサブルーチンを示す。このサブルーチンは図4のルーチンで図5のサブルーチンを呼ぶ代わりに呼び出される。
【0051】
手順200 では、いずれのブロックについてもバイト計数を表示する変数「n」が0にセットされる。手順202 では、キーの下部分及び上部分、即ちKEY24 及びKEY8が0にセットされる。手順204 では変数「SUM 」が0にセットされる。手順206 ではデータの1バイトがリファレンスファイルから読み取られる。
【0052】
手順208 ではカレントバイトの値が変数SUM に加えられる。次に手順210 で変数KEY24 がSUM の値だけ増される。手順208 及び210 は、乗算操作を除いて計算式(1)の変形方法であることは明らかである。手順212 では、変数KEY8がKEY8の前の値とカレントバイトとでXOR操作を行った値に等しくされる。
【0053】
手順214 ではリファレンスファイルの終りに到達したか否かを決定するテストが行われる。まだリファレンスファイルの終りに到達していない場合は、手順216 でnがブロックサイズに等しいか否かを決定するテストが行われる。nがブロックサイズに等しくない場合は、このルーチンは手順206 に戻る。nがブロックサイズに等しい場合又はファイルの終りに到達した場合は、手順210 で計算された下部24ビット値(KEY24 )と手順212 で計算された上部8ビット値(KEY8 )とが結合されて変数「KEY 」がセットされる。このサブルーチンはここで完了し、プログラムは図4の手順106 に復帰する。
【0054】
図9には、データのカレントブロックについてのカレントキー値を計算するために図6の手順156 から呼び出されるのに適したサブルーチンが示されている。このサブルーチンは、ウィンドウをずらすことによって識別され、従って既に計算されたキーに類似のキー値を持つソースデータのブロックについてのキー計算の最適化を示すものである。
【0055】
手順220 では、カレントブロックがウィンドウをずらす方法によって識別されたか否か、即ち前のブロックとの一致が得られなかったためにこのサブルーチンが呼び出されたか否かを決定するテストが行われる。データのカレントブロックがこの方法によって識別されたのではない場合は、カレントキー値を計算するために図8のサブルーチンが呼び出される。これはソースファイルのデータの第1ブロックで又は一致が得られた後で起きる。
【0056】
データのカレントブロックが前の一致しないデータのブロックに基づいて識別された場合は、前のブロックからの第1バイト(手順166 の操作で削除されたバイト)が、手順224 でSUM から減算される。手順226 では、KEY24 が、削除されたバイトの値とブロックサイズとの積を前の値から減じた値に等しくセットされる。手順228 では、新しいバイト(手順172 でカレントブロックに加えられたもの)がSUM に加算される。次に手順230 で変数KEY24 がSUM の値だけ増やされる。
【0057】
手順232 では、変数KEY8がKEY8の前の値と削除されたバイトとのXORの値に等しくセットされる。次に手順234 でKEY8と新しいバイトとの間でエクスクルーシブオア操作が行われる。手順236 では、手順230 で計算された下部24ビット値(KEY24 )と手順234 で計算された上部8ビット値(KEY8 )とが結合されて変数「KEY 」がセットされる。次にこのサブルーチンが完了し、制御は図6の手順158 に復帰する。上記のように、図9のサブルーチンによればキー値を高速で計算でき、従って、ソースファイルからのブロックとリファレンスファイルからのブロックとの間の一致を捜す際に、ファイル転送プログラムがより高速で動作することができる。
【0058】
当業者にとって明らかなように、本発明においては、数多くの異なったキー計算方法を用いることができる。従って、本発明はここで説明されたキー計算の例に限定されるものではない。不必要に時間を浪費せず、比較的広い範囲の結果を提供する方法ならば、どのようなキー計算であっても有益であり得る。更に、それぞれの実施例で用いられたキー計算の型においては、最適の結果を得るためにはブロックサイズに依存することもある。
【0059】
利用することができる他のキー計算は、ブロック中の各キャラクタとそのブロック中における位置との積を計算してこれを総計した値を用いるである。実行できる他のキー計算は、前記のCRCファイル完全性チェックである。この方法は極めて正確であるが、多くの用途においてかなり遅いことがある。
【0060】
再度図6に言及すれば、アレイBLOCKKEYがサーチされるとき(手順158 )にバイナリーサーチを用いると更に高度の最適化が達成される。バイナリーサーチはサーチの1つの型であり、順序付けされたリストの中に存在する筈のアイテムをサーチする場合、その順序付けされたリストを繰り返し2つの等しい部分に分割し、そのアイテムが含まれるであろう半分をサーチする方法である。バイナリーサーチでは、例えば昇順のように既知の順序になっているサーチリストが必要であるため、アレイBLOCKKEYはサーチが実行できるような順序に従って配置されることが必要である。適切で標準的なバイナリーサーチは、H. Schildt著「完全性(リファレンス)」(The Complete(Reference) )の487-488 頁(Osborn McGraw-Hill,1987 )に記載されている。
【0061】
本発明の好ましい実施例が記載され説明されたが、本発明の精神及び範囲を逸脱せずに種々の変更が可能であることは明らかである。
【図面の簡単な説明】
【図1】本発明によりファイルを更新するために用いられるファイル転送プログラムが走る送信側コンピュータ及び受信側コンピュータを含む通信網のブロック図である。
【図2】リファレンスファイルのデータのブロックに対応する複数のキーを用いて送信されるべきソースファイルと類似性を有するリファレンスファイルを表すブロック図である。
【図3】ウィンドウをずらす方法によってソースファイルのデータのブロックを選択する方法を説明するブロック図である。
【図4】本発明によるファイル転送プログラムを実行するルーチンの例のフローチャートである。
【図5】リファレンスファイルのデータの各ブロックについてのキー値を定めるサブルーチンの第1の例のフローチャートである。
【図6】ソースファイルとリファレンスファイルとの差異を決定しこの差異を受信側コンピュータに送信しこれによりデスティネーションファイルを作成する本発明の方法に用いるルーチンの例のフローチャートである。
【図7】リファレンスファイルのデータの各ブロックについてのキー値を定める第2の例を説明する図である。
【図8】図7に示されたキー値を定める方法を実行するサブルーチンのフローチャートである。
【図9】ソースファイルのデータのカレントブロックに対応するキー値を決定するサブルーチンのフローチャートである。
【符号の説明】
20 送信側コンピュータ
22 受信側コンピュータ
24 通信リンク
26、36 プロセッシングユニット
28、38 メモリー
30、40 通信ポート
32、42 データ/アドレスバス
34、44 データバス
45 ファイル転送プログラム
46 ソースファイル
48 リファレンスファイル
50 データブロック
52 キー値
100〜236 フローチャートの手順
Claims (15)
- 送信側コンピュータに位置するソースファイルからデータを受信側コンピュータに送信する方法であって、前記コンピュータはコンピュータデータインタフェースを介して接続され、該方法は、
(a)前記受信側コンピュータに位置するリファレンスファイルを各々がnバイト長を有する複数のデータブロックに分割し、各々のデータブロックに、そのブロックにおけるデータによるキー規定方法によって決定されるリファレンスキー値を関係付けるステップと、
(b)前記リファレンスキー値を前記送信側コンピュータに送信するステップと、
(c)前記ソースファイルからのnバイト長のデータのブロックを識別し、前記キー規定方法によってソースキー値を決定し、前記ソースキー値及び前記リファレンスキー値を使用して前記リファレンスファイルからのデータのブロックと前記ソースファイルからのデータのブロックとを比較し、各々のファイルからのデータのブロック間で一致が見つかった場合、この一致の表示を前記受信側コンピュータに送信し、前記一致によって示されたデータのブロックが前記受信側コンピュータに送信される必要がないようにするステップとを含んでおり、さらに、
データの初期ブロックが前記ソースファイルから同定され、ソースキーが前記初期ブロックから決定され、前記初期ブロックに関する一致が見つけられなかった場合、
(d)前記初期ブロックの部分集合を前記受信側コンピュータに送信するステップであって、前記部分集合は前記初期ブロックにおける情報のすべてより少ない情報を含む、ステップと、
(e)前記ソースファイルからのnバイト長のデータのブロックを識別するステップは、前記送信された部分集合を除く前記データの初期ブロックを形成するnバイト長のデータのその後のブロックと、前記ソースファイルからの追加のデータとを識別するステップを含むことを特徴とする方法。 - 送信側コンピュータに位置するソースファイルからデータを受信側コンピュータに位置する宛先ファイルに送信する方法であって、前記コンピュータはコンピュータデータインタフェースを介して接続され、該方法は、
(a)前記ソースファイルを形成するデータのいくつかと同じデータを有するかもしれない前記受信側コンピュータにおけるリファレンスファイルを識別するステップと、
(b)前記リファレンスファイルを形成するデータをブロック当りnバイトを有する複数のデータブロックに分割し、各々のデータブロックに、キー規定方法によって決定されたリファレンスキー値を関係付けるステップと、
(c)前記ソースファイルからのデータのnバイトブロックを識別し、前記キー規定方法を使用して、前記識別されたデータのブロックに関係するソースキーに関する現在値を計算するステップと、
(d)前記ソースキーの現在値を、前記リファレンスキー値の各々と比較し、一致が見つかった場合、(i)このような一致の表示を前記受信側コンピュータに送信し、(ii)ステップ(c)を繰り返すステップと、
(e)ステップ(d)において一致が見つからなかった場合、前記受信側コンピュータに、前記データのnバイトブロックにおけるすべてのデータより少ないデータを含む部分集合を送信し、前記部分集合を前記データのnバイトブロックから除去し、前記ソースファイルからの追加データを前記データのnバイトブロックに加え、前記キー規定方法を使用して前記ソースキーの現在値を再計算し、ステップ(d)を繰り返すステップとを含むことを特徴とする方法。 - 請求項2に記載の方法において、ステップ(c)及び(d)は、前記ソースファイルにおけるデータのすべてが考慮されるまでしか繰り返されないことを特徴とする方法。
- 請求項2に記載の方法において、ステップ(e)の前記ソースキーの現在値を再計算するステップは、以前の前記ソースキーの少なくとも一部から前記ソースキーの現在値の少なくとも一部を、前記送信されたサブセットから前記ソースキーの前記一部への寄与を除去し、前記ソースキーの前記一部中に前記追加データからの寄与を統合することによって得るステップを含むことを特徴とする方法。
- 請求項1に記載の方法において、前記ソースキー及び前記リファレンスキーは複数のビットを含み、前記ビットのいくつかは合計演算によって決定され、前記ビットのいくつかは論理演算によって決定されることを特徴とする方法。
- 請求項5に記載の方法において、前記合計演算は、一定係数を、前記ソースデータのブロックのバイトによって表される値に乗算するステップを含み、前記論理演算は排他的論理和演算を含むことを特徴とする方法。
- 請求項1に記載の方法において、前記データのブロックに関する前記キー規定方法は、以下の計算、
C.sub.1(n)+C.sub.2(n-1)+C.sub.3(n-2)+...+C.sub.n-1(2)+C.sub.n
を含み、C.sub.nは、前記データブロックのn番目におけるキャラクタであることを特徴とする方法。 - 請求項7に記載の方法において、前記キー規定方法は、以下の論理演算、
C.sub.1 XOR C.sub2 XOR C.sub.3...C.sub.n-1 XOR C.sub.n
を含むことを特徴とする方法。 - 受信側コンピュータにおいて、送信側コンピュータにおけるソースファイルと同じ複製ファイルを形成する方法において、前記複製ファイルは、前記受信側コンピュータに位置するリファレンスファイルにおけるデータから部分的にと、前記送信側コンピュータに位置するリファレンスファイルにおけるデータから部分的に形成され、前記コンピュータはコンピュータデータインタフェースを介して接続され、該方法は、
(a)前記受信側コンピュータに位置する前記リファレンスファイルを一様な長さの複数のデータブロックに分割し、キー規定方法に従って該ブロックにおけるデータによって決定されるリファレンスキー値と関連付けるステップと、
(b)前記ソースファイルからの一様な長さのデータのブロックを識別し、前記キー規定方法に従ってソースキー値を決定し、前記ソースキー値と前記リファレンスキー値とを比較し、前記リファレンスファイルからのデータブロックが前記ソースファイルからのデータのブロックと一致するか否かを決定し、各々のファイルからのデータのブロックの間に一致が見つかった場合、その表示を前記受信側コンピュータに送信して、前記リファレンスファイルからのデータのブロックを前記複製ファイル中に複製して、前記一致によって示されるデータのブロックが前記受信側コンピュータに送信される必要がないようにするステップであって、、前記データの以前のソースブロックがデータのリファレンスブロックと一致しない場合、前記ソースファイルからのデータのブロックは順次に識別され、データの各々のブロックは以前のデータのソースブロックからのデータのいくつかを含む、ステップとを含むことを特徴とする方法。 - 請求項9に記載の方法において、前記データブロックの一様な長さは少なくとも256バイトであることを特徴とする方法。
- 請求項9に記載の方法において、前記キー規定方法は、長さにおいて少なくとも32ビットにおけるキーを規定することを特徴とする方法。
- 受信側コンピュータにおいて、送信側コンピュータにおけるソースファイルと同じ複製ファイルを形成する方法において、前記複製ファイルは、前記受信側コンピュータに位置するリファレンスファイルにおけるデータから一部においてと、前記送信側コンピュータに位置するリファレンスファイルにおけるデータから一部において形成され、前記コンピュータは、コンピュータデータインタフェースを介して接続され、該方法は、
(a)前記受信側コンピュータに位置する前記リファレンスファイルを各々のデータブロックがnバイトの長さを有する複数のデータブロックに分割し、各々のデータブロックに、キー規定方法にしたがって前記ブロックにおけるデータによって決定されるリファレンスキー値を関連付けるステップと、
(b)前記ソースファイルからのnバイトの長さのデータのブロックを識別し、前記キー規定方法にしたがってソースキー値を決定し、前記ソースキー値及び前記リファレンスキー値を使用して、前記リファレンスファイルからのデータのブロックと前記ソースファイルからのデータのブロックとを比較するステップと、
(c)各々のファイルからのデータのブロック間に一致が見つかった場合、この一致の表示を前記受信側コンピュータに送信し、前記リファレンスファイルからのデータのブロックを前記複製ファイルに複製し、前記一致によって示されたデータのブロックが前記受信側コンピュータに送信される必要がないようにするステップと、
(d)一致が見つからない場合、
(i)前記初期ブロックの部分集合を前記受信側コンピュータに送信し、前記部分集合を前記複製ファイルに加えるステップと、
(ii)前記送信された部分集合を除く、前記データの初期ブロックを形成するnバイト長のデータの続きのブロックと、前記ソースファイルからの追加のデータとを識別するステップと、
(iii)前記データの続きのブロックに関するソースキーを決定するステップであって、このソースキーは、前記データの初期ブロックから決定されたソースキーから、前記送信された部分集合からの寄与を除去し、前記追加データからの寄与を含めることによって得られる、ステップとを含むことを特徴とする方法。 - 受信ユニットにおけるデータを、前記受信ユニットにおけるデータがソースユニットにおけるデータと同じになるまで変更する方法において、
(a)前記受信ユニットに格納されたデータのグループに対応する複数のリファレンスキーを決定するステップと、
(b)前記複数のリファレンスキーを前記ソースユニットに送信するステップと、
(c)前記ソースユニットにおけるソースデータのグループに対応するソースキーを決定するステップと、
(d)前記ソースキーを前記複数のリファレンスキーと比較するステップと、
(e)前記ソースキーが前記リファレンスキーのいずれとも一致しない場合、前記ソースユニットからのデータを前記受信ユニットに送信するステップと、
(f)前記ソースキーがあるリファレンスキーと一致する場合、前記ソースユニットからの制御信号を前記受信ユニットに送信するステップであって、前記制御信号は、前記受信ユニットに、前記一致したリファレンスキーに対応する前記受信ユニットにおけるデータを使用させる、ステップと、
(g)前記受信ユニットにおけるデータが前記ソースユニットにおけるデータと同じになるまで、前記ソースユニットにおけるソースデータの追加のグループに関してステップ(c)、(d)、(e)及び(f)を繰り返すステップとを含み、さらに、
以前のソースキーがあるリファレンスキーと一致しない場合、前記続きのソースキーは、前記ソースデータの以前のグループにおけるデータのすべてではないいくつかを含み、前記ソースデータの以前のグループにおいて含まれないデータも含むソースデータのグループから決定され、前記ソースキーは、前記以前のソースキーを決定するのに使用されたデータの直後に続くソースデータのブロックに対応することを特徴とする方法。 - 受信ユニットにおけるデータを、前記受信ユニットにおけるデータがソースユニットにおけるデータと同じになるまで変更する方法において、
(a)キー規定方法を使用し、前記受信ユニットに格納されたnバイト長のデータグループに対応する複数のリファレンスキーを決定するステップと、
(b)前記複数のリファレンスキーを前記ソースユニットに送信するステップと、
(c)前記キー規定方法を使用し、前記ソースユニットにおけるnバイト長のソースデータのグループに対応するソースキーを決定するステップと、
(d)前記ソースキーを前記複数のリファレンスキーと比較するステップと、
(e)前記ソースキーが前記リファレンスキーのいずれとも一致しない場合、前記ソースユニットからのデータを前記受信ユニットに送信するステップと、
(f)前記ソースキーがあるリファレンスキーと一致する場合、制御信号を前記ソースユニットから前記受信ユニットに送信するステップであって、前記制御信号は、前記受信ユニットに、前記一致したリファレンスキーに対応する前記受信ユニットにおけるデータを使用させる、ステップと、
(g)前記受信ユニットにおけるデータが前記ソースユニットにおけるデータと同じになるまで、前記ソースユニットにおけるソースデータの追加のグループに関してステップ(c)、(d)、(e)及び(f)を繰り返すステップとを含み、
前記ソースデータのグループは、前記以前のソースキーがあるリファレンスキーと一致しない場合、前記データの第1グループからのn−1バイトとデータの追加のバイトとを具え、前記以前のソースキーがあるリファレンスキーと一致する場合、前記データの以前のソースグループのnバイトとは異なったデータのnバイトを具えることを特徴とする方法。 - 受信側コンピュータにおいて、送信側コンピュータにおけるソースファイルと同じ複製ファイルを形成する方法において、前記複製ファイルは、前記受信側コンピュータに位置するリファレンスファイルにおけるデータから部分的にと、前記送信側コンピュータから送信された前記ソースファイルにおけるデータから部分的に形成され、前記コンピュータはコンピュータデータインタフェースを介して接続され、該方法は、
(a)前記ソースファイルを形成するデータと同じデータを有するかもしれない前記受信側コンピュータにおけるリファレンスファイルを識別するステップと、
(b)前記リファレンスファイルを形成するデータを、ブロックあたりnバイトを有する複数のデータブロックに分割し、各々のデータブロックを、キー規定方法によって決定されるリファレンスキー値と関係付けるステップと、
(c)前記リファレンスキー値を前記受信側コンピュータから前記送信側コンピュータに送信するステップと、
(d)前記ソースファイルからのデータのnバイトブロックを識別し、前記キー規定方法を使用して、前記識別されたデータのブロックに関係付けられたソースキーに関する現在値を計算するステップと、
(e)前記ソースキーの現在値を前記リファレンスキー値の各々と比較し、一致が見つかった場合、(i)このような一致の表示を前記受信側コンピュータに送信し、前記受信側コンピュータは、前記リファレンスファイルからの一致するデータを前記複製ファイルに加え、(ii)ステップ(d)を繰り返すステップと、
(f)ステップ(e)において一致が見つからなかった場合、前記複製ファイルに加えるべきデータのnバイトブロックの部分集合を前記受信側コンピュータに送信し、ステップ(d)を繰り返すステップとを含み、さらに
ステップ(d)において一致が見つからない場合、前記ソースファイルにおけるデータの新たなブロックは、前記送信された部分集合を以前のデータのnバイトブロックから除去し、前記ソースファイルからの追加データを新たなデータのnバイトブロックに加え、前記キー規定方法を使用して前記ソースキーの現在値を再計算し、ステップ(e)を繰り返すことによって規定されることを特徴とする方法。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US08/182,969 US5446888A (en) | 1994-01-14 | 1994-01-14 | Remote file transfer method and apparatus |
| US08/182969 | 1994-01-14 |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2006016320A Division JP4435096B2 (ja) | 1994-01-14 | 2006-01-25 | データ送信方法、データ等化方法及び装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH07295867A JPH07295867A (ja) | 1995-11-10 |
| JP3848983B2 true JP3848983B2 (ja) | 2006-11-22 |
Family
ID=22670854
Family Applications (2)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP00387895A Expired - Lifetime JP3848983B2 (ja) | 1994-01-14 | 1995-01-13 | データ送信方法、データ等化方法及び装置 |
| JP2006016320A Expired - Lifetime JP4435096B2 (ja) | 1994-01-14 | 2006-01-25 | データ送信方法、データ等化方法及び装置 |
Family Applications After (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2006016320A Expired - Lifetime JP4435096B2 (ja) | 1994-01-14 | 2006-01-25 | データ送信方法、データ等化方法及び装置 |
Country Status (5)
| Country | Link |
|---|---|
| US (3) | US5446888A (ja) |
| EP (1) | EP0665670B8 (ja) |
| JP (2) | JP3848983B2 (ja) |
| CA (1) | CA2140124C (ja) |
| DE (1) | DE69534292T2 (ja) |
Families Citing this family (140)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5764918A (en) * | 1995-01-23 | 1998-06-09 | Poulter; Vernon C. | Communications node for transmitting data files over telephone networks |
| FI98024C (fi) * | 1995-05-11 | 1997-03-25 | Nokia Telecommunications Oy | Menetelmä ja laitteisto tiedostopohjaisen multimedia- ja hypermedia-palvelun välittämiseksi liikkuvalle vastaanottajalle |
| JP3000895B2 (ja) * | 1995-06-28 | 2000-01-17 | 日本電気株式会社 | ダウンロード方法 |
| US5752251A (en) * | 1995-08-07 | 1998-05-12 | Ncr Corporation | Method and apparatus for recovering aborted file (or data) transmission |
| US5778395A (en) * | 1995-10-23 | 1998-07-07 | Stac, Inc. | System for backing up files from disk volumes on multiple nodes of a computer network |
| US5754774A (en) * | 1996-02-15 | 1998-05-19 | International Business Machine Corp. | Client/server communication system |
| US5859971A (en) * | 1996-02-15 | 1999-01-12 | International Business Machines Corp. | Differencing client/server communication system for use with CGI forms |
| US5911051A (en) * | 1996-03-29 | 1999-06-08 | Intel Corporation | High-throughput interconnect allowing bus transactions based on partial access requests |
| US6317803B1 (en) | 1996-03-29 | 2001-11-13 | Intel Corporation | High-throughput interconnect having pipelined and non-pipelined bus transaction modes |
| US6516466B1 (en) | 1996-05-02 | 2003-02-04 | Vincent C. Jackson | Method and apparatus for portable digital entertainment system |
| US5978805A (en) * | 1996-05-15 | 1999-11-02 | Microcom Systems, Inc. | Method and apparatus for synchronizing files |
| US6308061B1 (en) | 1996-08-07 | 2001-10-23 | Telxon Corporation | Wireless software upgrades with version control |
| US5848064A (en) * | 1996-08-07 | 1998-12-08 | Telxon Corporation | Wireless software upgrades with version control |
| US6643506B1 (en) | 1996-08-07 | 2003-11-04 | Telxon Corporation | Wireless software upgrades with version control |
| US5819291A (en) * | 1996-08-23 | 1998-10-06 | General Electric Company | Matching new customer records to existing customer records in a large business database using hash key |
| US5850565A (en) * | 1996-08-26 | 1998-12-15 | Novell, Inc. | Data compression method and apparatus |
| US20060195595A1 (en) | 2003-12-19 | 2006-08-31 | Mendez Daniel J | System and method for globally and securely accessing unified information in a computer network |
| US5983268A (en) * | 1997-01-14 | 1999-11-09 | Netmind Technologies, Inc. | Spreadsheet user-interface for an internet-document change-detection tool |
| US6963923B1 (en) * | 1997-02-10 | 2005-11-08 | International Business Machines Corporation | Method for file transfer restarts using standard internet protocol |
| US6137805A (en) * | 1997-02-10 | 2000-10-24 | International Business Machines Corporation | Method and apparatus to remotely configure a data processing system |
| AU6151598A (en) * | 1997-02-11 | 1998-08-26 | Connected Corporation | File comparison for data backup and file synchronization |
| US6021413A (en) * | 1997-04-01 | 2000-02-01 | The University Of Illinois Board Of Trustees | Application-directed variable-granularity caching and consistency management |
| US6791979B1 (en) | 1997-04-10 | 2004-09-14 | Cisco Technology, Inc. | Mechanism for conveying data prioritization information among heterogeneous nodes of a computer network |
| US5991302A (en) * | 1997-04-10 | 1999-11-23 | Cisco Technology, Inc. | Technique for maintaining prioritization of data transferred among heterogeneous nodes of a computer network |
| US6115751A (en) * | 1997-04-10 | 2000-09-05 | Cisco Technology, Inc. | Technique for capturing information needed to implement transmission priority routing among heterogeneous nodes of a computer network |
| WO1998056149A1 (en) * | 1997-06-06 | 1998-12-10 | Telefonaktiebolaget Lm Ericsson | Delta file software loading in cellular telecommunications systems |
| US6070184A (en) * | 1997-08-28 | 2000-05-30 | International Business Machines Corporation | Server-side asynchronous form management |
| US6035324A (en) * | 1997-08-28 | 2000-03-07 | International Business Machines Corporation | Client-side asynchronous form management |
| US6442688B1 (en) * | 1997-08-29 | 2002-08-27 | Entrust Technologies Limited | Method and apparatus for obtaining status of public key certificate updates |
| US6029170A (en) * | 1997-11-25 | 2000-02-22 | International Business Machines Corporation | Hybrid tree array data structure and method |
| US6018747A (en) * | 1997-11-26 | 2000-01-25 | International Business Machines Corporation | Method for generating and reconstructing in-place delta files |
| US6065062A (en) * | 1997-12-10 | 2000-05-16 | Cisco Systems, Inc. | Backup peer pool for a routed computer network |
| US6233696B1 (en) * | 1997-12-31 | 2001-05-15 | Emc Corporation | Data verification and repair in redundant storage systems |
| US6438585B2 (en) | 1998-05-29 | 2002-08-20 | Research In Motion Limited | System and method for redirecting message attachments between a host system and a mobile data communication device |
| US7209949B2 (en) | 1998-05-29 | 2007-04-24 | Research In Motion Limited | System and method for synchronizing information between a host system and a mobile data communication device |
| US6154743A (en) * | 1998-06-16 | 2000-11-28 | Cisco Technology, Inc. | Technique for accessing heterogeneous directory services in an APPN environment |
| US6604236B1 (en) | 1998-06-30 | 2003-08-05 | Iora, Ltd. | System and method for generating file updates for files stored on read-only media |
| US6192412B1 (en) * | 1998-07-28 | 2001-02-20 | Lucent Technologies, Inc. | Computer file transmission system and method |
| GB2341249A (en) * | 1998-08-17 | 2000-03-08 | Connected Place Limited | A method of generating a difference file defining differences between an updated file and a base file |
| GB2341462B (en) | 1998-09-12 | 2003-06-11 | Ibm | Method for deployment of incremental versions of applications |
| US6411966B1 (en) * | 1998-09-21 | 2002-06-25 | Microsoft Corporation | Method and computer readable medium for DNS dynamic update to minimize client-server and incremental zone transfer traffic |
| US6247024B1 (en) | 1998-09-25 | 2001-06-12 | International Business Machines Corporation | Method and system for performing deferred file removal in a file system |
| US6145012A (en) * | 1998-10-14 | 2000-11-07 | Veritas Software Corporation | Apparatus and method for efficiently updating files in computer networks |
| SE521456C2 (sv) * | 1998-12-15 | 2003-11-04 | Ericsson Telefon Ab L M | Förfarande och anordning vid ett distribuerat system |
| US6263363B1 (en) | 1999-01-28 | 2001-07-17 | Skydesk, Inc. | System and method for creating an internet-accessible working replica of a home computer on a host server controllable by a user operating a remote access client computer |
| AU763524B2 (en) | 1999-03-02 | 2003-07-24 | Flexera Software Llc | Data file synchronisation |
| US6331855B1 (en) | 1999-04-28 | 2001-12-18 | Expertcity.Com, Inc. | Method and apparatus for providing remote access, control of remote systems and updating of display information |
| US6480901B1 (en) | 1999-07-09 | 2002-11-12 | Lsi Logic Corporation | System for monitoring and managing devices on a network from a management station via a proxy server that provides protocol converter |
| US6584499B1 (en) | 1999-07-09 | 2003-06-24 | Lsi Logic Corporation | Methods and apparatus for performing mass operations on a plurality of managed devices on a network |
| US6769022B1 (en) | 1999-07-09 | 2004-07-27 | Lsi Logic Corporation | Methods and apparatus for managing heterogeneous storage devices |
| US6480955B1 (en) | 1999-07-09 | 2002-11-12 | Lsi Logic Corporation | Methods and apparatus for committing configuration changes to managed devices prior to completion of the configuration change |
| US7640325B1 (en) * | 1999-07-09 | 2009-12-29 | Lsi Corporation | Methods and apparatus for issuing updates to multiple management entities |
| US7028251B2 (en) * | 2000-03-02 | 2006-04-11 | Iora, Ltd. | System and method for reducing the size of data difference representations |
| US6615225B1 (en) | 2000-04-27 | 2003-09-02 | International Business Machines Corporation | System and method for relating files in a distributed data storage environment |
| EP1311988A4 (en) * | 2000-06-22 | 2006-06-21 | Synchrologic Inc | SYSTEM AND METHOD FOR FILE TRANSFER THROUGH FILE DIFFERENTIATION |
| US6941353B1 (en) * | 2000-06-29 | 2005-09-06 | Auran Holdings Pty Ltd | E-commerce system and method relating to program objects |
| CA2320665C (en) | 2000-09-26 | 2010-08-17 | Spielo Manufacturing Incorporated | System and method for downloading electronic information to a video lottery terminal |
| JP4586281B2 (ja) * | 2001-03-13 | 2010-11-24 | コニカミノルタビジネステクノロジーズ株式会社 | データ送信管理装置、データ送信管理方法、データ送信管理プログラムおよびデータ送信管理プログラムを記録したコンピュータ読み取り可能な記録媒体 |
| DE60213419T2 (de) * | 2001-03-16 | 2007-10-31 | Novell, Inc., Provo | Client-server-modell zur synchronisation von dateien |
| US20030033303A1 (en) * | 2001-08-07 | 2003-02-13 | Brian Collins | System and method for restricting access to secured data |
| US20040205587A1 (en) * | 2001-08-07 | 2004-10-14 | Draper Stephen P.W. | System and method for enumerating arbitrary hyperlinked structures in which links may be dynamically calculable |
| US7213025B2 (en) * | 2001-10-16 | 2007-05-01 | Ncr Corporation | Partitioned database system |
| US6845375B1 (en) | 2001-10-20 | 2005-01-18 | Ncr Corporation | Multi-level partitioned database system |
| US7080072B1 (en) | 2001-11-14 | 2006-07-18 | Ncr Corp. | Row hash match scan in a partitioned database system |
| EP1506509A4 (en) * | 2002-05-17 | 2007-12-05 | Synchrologic | SYSTEM AND METHOD FOR ROUTE DATA ANALYSIS |
| US9813514B2 (en) | 2002-06-12 | 2017-11-07 | Good Technology Holdings Limited | Information repository system including a wireless device and related method |
| US7281017B2 (en) * | 2002-06-21 | 2007-10-09 | Sumisho Computer Systems Corporation | Views for software atomization |
| US20080046592A1 (en) | 2002-06-26 | 2008-02-21 | Research In Motion Limited | System and Method for Pushing Information Between a Host System and a Mobile Data Communication Device |
| JP4302970B2 (ja) | 2002-12-16 | 2009-07-29 | 富士通株式会社 | 差分更新方法、プログラム及び装置 |
| US7149508B2 (en) * | 2003-02-05 | 2006-12-12 | Samsung Electronics Co., Ltd. | System and method for delta-based over-the-air software upgrades for a wireless mobile station |
| DE60319965T2 (de) * | 2003-06-12 | 2009-04-30 | Research In Motion Ltd., Waterloo | Mehrelement-Antenne mit parasitärem Antennenelement |
| US7676506B2 (en) * | 2003-06-20 | 2010-03-09 | Innopath Software, Inc. | Differential file compression of software image versions |
| US7539727B2 (en) | 2003-07-01 | 2009-05-26 | Microsoft Corporation | Instant messaging object store |
| US7363378B2 (en) | 2003-07-01 | 2008-04-22 | Microsoft Corporation | Transport system for instant messaging |
| US7509635B2 (en) * | 2003-09-26 | 2009-03-24 | Red Hat, Inc. | Software and data file updating process |
| US7472254B2 (en) * | 2003-10-10 | 2008-12-30 | Iora, Ltd. | Systems and methods for modifying a set of data objects |
| US8527541B2 (en) * | 2003-11-05 | 2013-09-03 | Emc Corporation | Method for mapping a flat namespace onto a hierarchical namespace using locality of reference cues |
| US7949682B2 (en) * | 2003-11-05 | 2011-05-24 | Novell, Inc. | Method for providing a flat view of a hierarchical namespace without requiring unique leaf names |
| US7203708B2 (en) * | 2003-11-06 | 2007-04-10 | Microsoft Corporation | Optimizing file replication using binary comparisons |
| US7114027B2 (en) * | 2003-12-03 | 2006-09-26 | International Business Machines Corporation | Content addressable data storage and compression for computer memory |
| US7133963B2 (en) * | 2003-12-03 | 2006-11-07 | International Business Machines Corporation | Content addressable data storage and compression for semi-persistent computer memory |
| US7117203B2 (en) * | 2003-12-03 | 2006-10-03 | International Business Machines Corporation | Content addressable data storage and compression for semi-persistent computer memory for a database management system |
| US7117204B2 (en) * | 2003-12-03 | 2006-10-03 | International Business Machines Corporation | Transparent content addressable data storage and compression for a file system |
| US8171084B2 (en) | 2004-01-20 | 2012-05-01 | Microsoft Corporation | Custom emoticons |
| US20050171977A1 (en) * | 2004-02-02 | 2005-08-04 | Osborne James W. | Methods, systems and products for data preservation |
| JP4539115B2 (ja) * | 2004-02-25 | 2010-09-08 | ソニー株式会社 | 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム |
| DE602005023416D1 (de) * | 2004-03-02 | 2010-10-21 | Divinetworks Ltd | Verfahren, server und system zum caching von datenströmen |
| 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 |
| US20050262167A1 (en) * | 2004-05-13 | 2005-11-24 | Microsoft Corporation | Efficient algorithm and protocol for remote differential compression on a local device |
| JP4568532B2 (ja) * | 2004-05-13 | 2010-10-27 | 日本無線株式会社 | 無線装置制御システム、無線装置および制御装置 |
| US20050256974A1 (en) * | 2004-05-13 | 2005-11-17 | Microsoft Corporation | Efficient algorithm and protocol for remote differential compression on a remote device |
| US8495023B1 (en) * | 2004-09-01 | 2013-07-23 | Symantec Operating Corporation | Delta catalogs in a backup system |
| US8725705B2 (en) * | 2004-09-15 | 2014-05-13 | International Business Machines Corporation | Systems and methods for searching of storage data with reduced bandwidth requirements |
| US7523098B2 (en) * | 2004-09-15 | 2009-04-21 | International Business Machines Corporation | Systems and methods for efficient data searching, storage and reduction |
| US7613787B2 (en) * | 2004-09-24 | 2009-11-03 | Microsoft Corporation | Efficient algorithm for finding candidate objects for remote differential compression |
| US20070094348A1 (en) * | 2005-01-07 | 2007-04-26 | Microsoft Corporation | BITS/RDC integration and BITS enhancements |
| 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 |
| US20060195532A1 (en) * | 2005-02-28 | 2006-08-31 | Microsoft Corporation | Client-side presence documentation |
| US7529255B2 (en) | 2005-04-21 | 2009-05-05 | Microsoft Corporation | Peer-to-peer multicasting using multiple transport protocols |
| US7447854B1 (en) | 2005-12-30 | 2008-11-04 | Vmware, Inc. | Tracking and replicating changes to a virtual disk |
| US7734603B1 (en) * | 2006-01-26 | 2010-06-08 | Netapp, Inc. | Content addressable storage array element |
| JP2007201861A (ja) * | 2006-01-27 | 2007-08-09 | Eastman Kodak Co | ファイル管理方法 |
| US7421542B2 (en) * | 2006-01-31 | 2008-09-02 | Cisco Technology, Inc. | Technique for data cache synchronization |
| US7620392B1 (en) | 2006-02-27 | 2009-11-17 | Good Technology, Inc. | Method and system for distributing and updating software in wireless devices |
| CN100501675C (zh) * | 2006-04-14 | 2009-06-17 | 北京瑞星国际软件有限公司 | 一种用于软件升级的方法及装置 |
| JP5061741B2 (ja) * | 2007-06-13 | 2012-10-31 | 日本電気株式会社 | 情報処理装置及びそれに用いる順序付きデータ管理方法並びにそのプログラム |
| JP2009122947A (ja) | 2007-11-14 | 2009-06-04 | Canon Inc | 画面共有システム及びデータ転送方法 |
| US8683458B2 (en) * | 2007-11-30 | 2014-03-25 | Red Hat, Inc. | Automatic full install upgrade of a network appliance |
| US8589592B2 (en) * | 2007-12-11 | 2013-11-19 | Red Hat, Inc. | Efficient object distribution |
| US8418164B2 (en) | 2008-05-29 | 2013-04-09 | Red Hat, Inc. | Image install of a network appliance |
| WO2010070727A1 (ja) * | 2008-12-16 | 2010-06-24 | 富士通株式会社 | 仮想テープ装置、仮想テープデータ複写プログラム及び方法 |
| CN101848188A (zh) * | 2009-03-25 | 2010-09-29 | 上海聚力传媒技术有限公司 | 对数据块校验信息进行更新的方法和装置 |
| JP4592115B1 (ja) * | 2009-05-29 | 2010-12-01 | 誠 後藤 | ファイル格納システム、サーバ装置及びプログラム |
| US8633838B2 (en) * | 2010-01-15 | 2014-01-21 | Neverfail Group Limited | Method and apparatus for compression and network transport of data in support of continuous availability of applications |
| US8713646B2 (en) | 2011-12-09 | 2014-04-29 | Erich Stuntebeck | Controlling access to resources on a network |
| US9680763B2 (en) | 2012-02-14 | 2017-06-13 | Airwatch, Llc | Controlling distribution of resources in a network |
| US10404615B2 (en) | 2012-02-14 | 2019-09-03 | Airwatch, Llc | Controlling distribution of resources on a network |
| US9356574B2 (en) | 2012-11-20 | 2016-05-31 | Karl L. Denninghoff | Search and navigation to specific document content |
| US8862868B2 (en) | 2012-12-06 | 2014-10-14 | Airwatch, Llc | Systems and methods for controlling email access |
| US8978110B2 (en) | 2012-12-06 | 2015-03-10 | Airwatch Llc | Systems and methods for controlling email access |
| US9021037B2 (en) | 2012-12-06 | 2015-04-28 | Airwatch Llc | Systems and methods for controlling email access |
| US8832785B2 (en) | 2012-12-06 | 2014-09-09 | Airwatch, Llc | Systems and methods for controlling email access |
| US8826432B2 (en) | 2012-12-06 | 2014-09-02 | Airwatch, Llc | Systems and methods for controlling email access |
| US20140280955A1 (en) | 2013-03-14 | 2014-09-18 | Sky Socket, Llc | Controlling Electronically Communicated Resources |
| US8997187B2 (en) | 2013-03-15 | 2015-03-31 | Airwatch Llc | Delegating authorization to applications on a client device in a networked environment |
| US9787686B2 (en) | 2013-04-12 | 2017-10-10 | Airwatch Llc | On-demand security policy activation |
| US9900261B2 (en) | 2013-06-02 | 2018-02-20 | Airwatch Llc | Shared resource watermarking and management |
| US9584437B2 (en) | 2013-06-02 | 2017-02-28 | Airwatch Llc | Resource watermarking and management |
| US8806217B2 (en) | 2013-07-03 | 2014-08-12 | Sky Socket, Llc | Functionality watermarking and management |
| US8775815B2 (en) | 2013-07-03 | 2014-07-08 | Sky Socket, Llc | Enterprise-specific functionality watermarking and management |
| US8756426B2 (en) | 2013-07-03 | 2014-06-17 | Sky Socket, Llc | Functionality watermarking and management |
| US9665723B2 (en) | 2013-08-15 | 2017-05-30 | Airwatch, Llc | Watermarking detection and management |
| US9516005B2 (en) | 2013-08-20 | 2016-12-06 | Airwatch Llc | Individual-specific content management |
| US9405479B1 (en) | 2013-08-26 | 2016-08-02 | Western Digital Technologies, Inc. | Faster file compression using sliding compression window and backward compound pointers |
| US9544306B2 (en) | 2013-10-29 | 2017-01-10 | Airwatch Llc | Attempted security breach remediation |
| US9258301B2 (en) | 2013-10-29 | 2016-02-09 | Airwatch Llc | Advanced authentication techniques |
| US10303666B2 (en) | 2015-03-09 | 2019-05-28 | International Business Machines Corporation | File transfer system using file backup times |
| EP4239494A1 (en) | 2022-03-04 | 2023-09-06 | Karl Denninghoff | Transitory salient attention capture to draw attention to digital document parts |
Family Cites Families (21)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US3311893A (en) * | 1963-08-29 | 1967-03-28 | Sperry Rand Corp | Memory organization wherein only new data bits which are different from the old are recorded |
| US3612660A (en) * | 1969-09-08 | 1971-10-12 | Wendell S Miller | Digital data compaction |
| US4232375A (en) * | 1978-06-12 | 1980-11-04 | Ncr Corporation | Data compression system and apparatus |
| US4412306A (en) * | 1981-05-14 | 1983-10-25 | Moll Edward W | System for minimizing space requirements for storage and transmission of digital signals |
| DE3265993D1 (en) | 1981-06-30 | 1985-10-10 | Ibm | Electric circuit connecting devices |
| US4641274A (en) * | 1982-12-03 | 1987-02-03 | International Business Machines Corporation | Method for communicating changes made to text form a text processor to a remote host |
| US5086434A (en) * | 1985-09-30 | 1992-02-04 | Canon Kabushiki Kaisha | Data communication process and apparatus for data transmission in blocks which may include mixed data types |
| US4807182A (en) * | 1986-03-12 | 1989-02-21 | Advanced Software, Inc. | Apparatus and method for comparing data groups |
| US4914583A (en) * | 1988-04-13 | 1990-04-03 | Motorola, Inc. | Method of indicating processes resident within a cell of a data processing system |
| US5101348A (en) * | 1988-06-23 | 1992-03-31 | International Business Machines Corporation | Method of reducing the amount of information included in topology database update messages in a data communications network |
| US4891785A (en) * | 1988-07-08 | 1990-01-02 | Donohoo Theodore J | Method for transferring data files between computers in a network response to generalized application program instructions |
| US5155847A (en) * | 1988-08-03 | 1992-10-13 | Minicom Data Corporation | Method and apparatus for updating software at remote locations |
| US5210865A (en) * | 1989-06-30 | 1993-05-11 | Digital Equipment Corporation | Transferring data between storage media while maintaining host processor access for I/O operations |
| US5086402A (en) * | 1989-07-10 | 1992-02-04 | Simware, Inc. | Method for high speed data transfer |
| WO1991002313A1 (en) * | 1989-08-03 | 1991-02-21 | International Business Machines Corporation | Data processing network |
| US5479654A (en) * | 1990-04-26 | 1995-12-26 | Squibb Data Systems, Inc. | Apparatus and method for reconstructing a file from a difference signature and an original file |
| EP0541281B1 (en) * | 1991-11-04 | 1998-04-29 | Commvault Systems, Inc. | Incremental-computer-file backup using signatures |
| AU3929593A (en) * | 1992-03-17 | 1993-10-21 | Nomadic Systems, Inc. | Remote file access system |
| US5283646A (en) * | 1992-04-09 | 1994-02-01 | Picturetel Corporation | Quantizer control method and apparatus |
| US6076084A (en) | 1994-01-03 | 2000-06-13 | Norton-Lambert Corp. | File transfer method and apparatus utilizing delimiters |
| DE19729657A1 (de) | 1997-07-11 | 1999-01-14 | Asea Brown Boveri | Scherenangetriebener Roboterarm und Portalroboter |
-
1994
- 1994-01-14 US US08/182,969 patent/US5446888A/en not_active Expired - Lifetime
-
1995
- 1995-01-12 CA CA002140124A patent/CA2140124C/en not_active Expired - Fee Related
- 1995-01-13 JP JP00387895A patent/JP3848983B2/ja not_active Expired - Lifetime
- 1995-01-16 DE DE69534292T patent/DE69534292T2/de not_active Expired - Lifetime
- 1995-01-16 EP EP95300247A patent/EP0665670B8/en not_active Expired - Lifetime
- 1995-05-22 US US08/445,781 patent/US5721907A/en not_active Ceased
-
2000
- 2000-02-24 US US09/512,967 patent/USRE39458E1/en not_active Expired - Lifetime
-
2006
- 2006-01-25 JP JP2006016320A patent/JP4435096B2/ja not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| EP0665670B8 (en) | 2005-08-24 |
| EP0665670A3 (en) | 1996-03-27 |
| EP0665670B1 (en) | 2005-06-29 |
| US5721907A (en) | 1998-02-24 |
| USRE39458E1 (en) | 2007-01-02 |
| DE69534292D1 (de) | 2005-08-04 |
| DE69534292T2 (de) | 2006-05-24 |
| JPH07295867A (ja) | 1995-11-10 |
| CA2140124A1 (en) | 1995-07-15 |
| CA2140124C (en) | 2005-04-05 |
| US5446888A (en) | 1995-08-29 |
| JP4435096B2 (ja) | 2010-03-17 |
| JP2006127552A (ja) | 2006-05-18 |
| EP0665670A2 (en) | 1995-08-02 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3848983B2 (ja) | データ送信方法、データ等化方法及び装置 | |
| EP0633537B1 (en) | Method and system for searching compressed data | |
| US4641274A (en) | Method for communicating changes made to text form a text processor to a remote host | |
| US5442350A (en) | Method and means providing static dictionary structures for compressing character data and expanding compressed data | |
| EP0559824B1 (en) | Binary data communication system | |
| US5663721A (en) | Method and apparatus using code values and length fields for compressing computer data | |
| EP0117281B1 (en) | Updating data processing files | |
| KR950012220A (ko) | 다중 페이지 크기를 지원하는 가상메모리 컴퓨터 시스템의 주소변환기구 | |
| US6247015B1 (en) | Method and system for compressing files utilizing a dictionary array | |
| US20030016820A1 (en) | System and method for data encryption | |
| US6657564B2 (en) | Method and apparatus for compressing data in which dictionary sizes are reduced | |
| JP2017513252A (ja) | 最適化されたデータ凝縮器及び方法 | |
| US5317719A (en) | System for forming serial M-bit information into blocks whose locations correspond to bitmap locations | |
| EP0739514A1 (en) | File transfer method and apparatus using hash numbers | |
| CN1260057A (zh) | 客户服务器网络及其操作方法 | |
| US6118391A (en) | Compression into arbitrary character sets | |
| JPH0580972A (ja) | データ圧縮装置 | |
| JP3038233B2 (ja) | データ圧縮及び復元装置 | |
| US5367299A (en) | Method for 5-bit chunk encoding of bit serial data by a data processor handling data in 8-bit byte segments | |
| CN119299468B (zh) | 数据同步方法、装置、计算机设备和可读存储介质 | |
| CN110046158B (zh) | 不利用字典管理的通用唯一资源 | |
| JP3035506B2 (ja) | データ型変換装置 | |
| JP3008635B2 (ja) | データ通信装置 | |
| JP3186530B2 (ja) | コンピュータデータの圧縮・伸長方法 | |
| Ong | Text compression for transmission and storage |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040203 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20041116 |
|
| A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20050216 |
|
| A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20050221 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050516 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20051004 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20051228 |
|
| A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20060208 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060228 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060522 |
|
| TRDD | Decision of grant or rejection written | ||
| A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20060609 |
|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20060613 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20060609 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060628 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090908 Year of fee payment: 3 |
|
| S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
| S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090908 Year of fee payment: 3 |
|
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100908 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100908 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110908 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120908 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130908 Year of fee payment: 7 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| EXPY | Cancellation because of completion of term |