JP2004501451A - ファイル差分を使用するファイル送信システムおよび方法 - Google Patents
ファイル差分を使用するファイル送信システムおよび方法 Download PDFInfo
- Publication number
- JP2004501451A JP2004501451A JP2002503725A JP2002503725A JP2004501451A JP 2004501451 A JP2004501451 A JP 2004501451A JP 2002503725 A JP2002503725 A JP 2002503725A JP 2002503725 A JP2002503725 A JP 2002503725A JP 2004501451 A JP2004501451 A JP 2004501451A
- Authority
- JP
- Japan
- Prior art keywords
- file
- original
- data
- revised
- revision
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
-
- 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/99931—Database or file accessing
- Y10S707/99932—Access augmentation or optimizing
-
- 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/99941—Database schema or data structure
- Y10S707/99942—Manipulating data structure, e.g. compression, compaction, compilation
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
(関連出願の相互参照)
本出願は、2000年6月22日出願の米国仮特許出願番号60/213,502の表題”DELTAMAN”の利益を請求するものであり、この仮特許出願はそっくりそのままここに参照として組み込む。
【0002】
(発明の分野)
本発明は、ファイルを更新する方法およびシステムに関し、特にファイル差分を使用して遠隔ファイルを効果的に同期化する方法およびシステムに関する。
【0003】
(発明の背景)
多くのビジネス環境においては、サーバが、多数の従業員またはビジネスの遠隔ユーザに関連するデータを保存するために使用されている。一般的に、サーバは、遠隔ユーザへの情報の利用可能度を高めるために、遠隔コンピュータシステム(「クライアント」)によってアクセス可能である。遠隔コンピュータシステムによってアクセスされるサーバ上へファイルを提供することにより、企業による情報の普及が高まる。ファイルへの遠隔アクセスは、販売員または多数の従業員が事務所から離れて操作する環境においては非常に重大である。例えば、遠隔地にいる従業員は、在庫変動、価格資料、会社のイベントについて通知されるファイル内に含まれる情報を信頼する。遠隔ユーザは、いつまでもサーバに接続し続けて、通信料金を収集するまたは電話回線を使えないようにするのではなく、むしろコンピュータを断続的にのみサーバに接続して、サーバ上のファイルにアクセスする。これらの環境において、遠隔コンピュータシステムは一般的に、クライアントがサーバに接続されていないときにも遠隔アプリケーションをサポートするために、サーバファイルをローカルに保存する。その後、断続的接続を用いて、クライアントアプリケーションによって行われた変更のみをサーバに送信し、また関連する一連の変更をサーバからクライアントに送信する。このタイプの遠隔コンピュータシステム環境は、断続接続(IC)環境と呼ばれる。ICは、販売員自動化、保険金請求処理、またモバイルユーザのいる一般的なモバイル労働力における多種多様なアプリケーションを有している。
【0004】
このタイプのコンピュータ環境の重要な通信問題は、クライアントとサーバとの間の適時かつ効率的な情報の交換である。「ファイル転送」という用語は、サーバファイルおよびクライアントファイルにおけるデータの整合性および保全性を維持するプロセスを表すのによく使用される。整合性を維持する同期化方式は多数存在する。幾つかの既知のファイル転送方式においては、様々なプロトコルおよび方法、例えばファイルを効果的に転送するための圧縮が使用される。
【0005】
従って、これまで、ファイルをシステムに迅速且つ効果的にダウンロードすることにおいて上記の欠陥に対処するために、扱われていないニーズが業界に存在している。
【0006】
(発明の要約)
本発明は、ファイル差分を使用して効果的にファイルを転送するシステムおよび方法を提供する。本発明は、デバイスファイルを有するクライアントデバイス、元のファイルおよび元のファイルの改訂ファイルを含むサーバデバイス、および元のファイルと改訂ファイルとの間の変更のみを識別するデルタファイルを含むファイル差分システムとして概念化される。
【0007】
本発明はまた、ファイル差分を使用するファイルを効果的に転送する方法として概念化され、この方法は(1)元のファイルを提供するステップと、(2)元のファイルの改訂ファイルを作成するステップと、(3)元のファイルと改訂ファイルとの間の変更のみを識別するデルタファイルを生成するステップとを含む。
【0008】
本発明は、請求項において定義されるように、以下の図面を参照してより良く理解されうる。図面内の構成要素は、必ずしも互いに対して相対スケールではなく、代わりに本発明の原理をはっきりと説明することを重視する。
【0009】
(発明の詳細な説明)
以下に説明する発明は、遠隔ファイル同期化を維持する本発明のファイル差分システムを使用する全てのファイル転送システムに適用可能である。単一のコンピュータに対して以下に説明するが、ファイル差同期化システム100のシステムおよび方法は一般に、多数のコンピューティングデバイスがローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)またはLANおよびWANの組合せ上で通信を行うネットワーク化されたコンピューティング構成において実施される。
【0010】
図面を参照すると、同様の参照番号が複数の図面において同様の要素を表しているが、図1は本発明の好適な実施例に関連して使用される断続接続ファイル転送システム(「ICFT」)10の基本的な構成要素を示している。システム10は、クライアントシステム16a、16bおよび16cを含んでいる。各クライアントは、アプリケーションおよびローカルファイル15a、15bおよび15cを有している。コンピュータサーバ14は、アプリケーションと、ネットワーク12上でそれぞれ断続接続13(a〜c)を介してクライアントシステム16(a〜c)によってアクセスされるサーバファイル15dとを含んでいる。サーバ14は、コンピュータネットワークの管理ソフトウェアを実行し、ネットワークおよびそのデバイスの一部または全てへのアクセスを制御する。クライアントシステム16(a〜c)は、コンピュータサーバ14に保存されているサーバデータを共有し、例えば限定されないがインターネット、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)などのネットワーク12上で、モデムまたは他の同様のネットワークを使用する電話回線を介してサーバ14にアクセスすることができる。サーバ14も、組織内のローカルエリアネットワーク(LAN)に接続できる。
【0011】
ICFTシステム10の構造および動作により、サーバ14およびそれに関連付けられたサーバファイル15は、従来の既知のシステムよりも更に効果的にクライアントに対処することができる。特に、本発明は、遠隔クライアントシステムがその遠隔ファイルを更に効果的に更新することを可能にするサーバファイルのデータの最新情報への編成方法を提供する。最後の修正ファイルの作成以後の全ての関連する変更のある各クライアントに対し、修正(「デルタ」または「更新」)ファイルが周期的に作成される。クライアントシステム16(a〜c)がサーバ14に接続されると、クライアントに関連付けられた修正ファイルはクライアントに送信されて、各クライアントの個別ファイルを更新するために使用される。
【0012】
クライアントシステム16a〜16cはそれぞれ、遠隔地に配置されてもよい。従って、遠隔クライアントシステム16(a〜c)の何れか1つのユーザがサーバ14の共有ファイルからの現在の情報での更新を望む場合、クライアントシステム16(a〜c)は、限定されることはないが例えばWAN、インターネット、または電話回線などのネットワーク12上で通信を行って、サーバ14にアクセスする。本発明は、サーバ14上のファイルISDでその遠隔ファイルをもっとも効果的に転送するためにクライアントシステムを更新するシステムおよび方法を有利に提供する。サーバは、最後の評価以後の各クライアントに対して変更されたデータを定期的に判別し、これらの変更を修正ファイルに記録する。クライアントがサーバに接続すると、クライアントに関する修正ファイルを要求し、ダウンロードした修正ファイルを作成し、そのローカルファイルを更新する。
【0013】
従って、本発明は遠隔クライアントファイルの同期化を維持する非常に効果的な方法を提供する。この方法において、サーバ14は元のファイルをファイルの改訂版と比較し、クライアント16上で改訂ファイルを作成するために元のファイルになされなければならない変更を説明するデルタ修正ファイルを生成する。このデルタまたは修正ファイルは遠隔ユーザに送信され、ここで、デルタ修正ファイルに記載されているような変更が元のファイルの遠隔ユーザコピーに適用され、改訂ファイルが作成される。
【0014】
一般に、ファイル差同期化方法は、両方のファイルにおけるバイトの比較を行い、一致すると、カウントが増加し、これがスキップレコードの量となる。一致しなければ、不一致点でのバイトに相当するトークンが元のファイルおよび改訂ファイルより得られる。元のファイルからのトークンを使用して、改訂ファイルにおけるそのトークンの検索が行われる。一致するトークンが見つかれば、それは「同期」と呼ばれ、挿入があったものと推定される。同様に、改訂ファイルからのトークンを使用して、元のファイルにおけるそのトークンの検索が行われる。一致するトークンがあれば、それは「同期」と呼ばれ、削除が行われたものと推定される。どちらもなければ、1バイトの交換が行われたものと推定され、両ファイルポインタを進め、両ファイルからトークンを獲得し、同期点の探し出しを続行する。
【0015】
クライアントシステム16(A〜C)上でデルタと元のファイルを1つにまとめる方法は、デルタからレコードを読み出し、3つの動作、すなわち(1)元のファイルから新しいもの(変更されていない領域)へ数バイトをコピー、(2)元のファイルの数バイトのスキップ(飛び越し)を行い、コピーは行わない(元のファイルにおける削除)、または(3)デルタから新しい改訂ファイルへの数バイトのコピー(および元の挿入部分への挿入)のいずれかを行う。
【0016】
デルタ修正ファイルはレコードで構成され、各レコードはタイプとそれに続く長さを有しており、レコードの中にはさらにデータが続くものもある。レコードの種類は4種類あり、すなわち(1)スキップ−一致領域を表し、データはそれに続かない、(2)削除−削除する必要のある元のファイルの一部を表し、データはそれに続かない、(3)挿入−元のファイルへ数バイトを挿入し、挿入するデータが続く、または(4)置換え−削除および挿入の組合せである。
【0017】
例えば、以下の2つの文字列について考えてみる。
【0018】
ABCDEFGHIおよびABCxxxDE
最初の文字列を元の文字列、および2番の目の文字列を改訂文字列とすれば、デルタは以下のようになる。
【0019】
SKIP 3 元の文字列から改訂文字列へABCをコピーする。
【0020】
INSERT 3 xxx xxxを改訂文字列に追加する。
【0021】
SKIP 2 元の文字列から改訂文字列にDEをコピーする。
【0022】
DELETE 4 FGHIをコピーしない。
【0023】
一般に、ハードウェアアーキテクチャの点に関して、図2に示すように、コンピュータ14および16は、ローカルインタフェース43を介して通信接続されたプロセッサ41、ストレージ42メモリ42、および単一または複数の入力および/または出力(I/O)デバイス(または周辺機器)を含んでいる。ローカルインタフェース43は、限定されることはないが例えば、従来において知られているように、単一または複数のバスまたは他の有線または無線接続部である。ローカルインタフェース43は、簡単にするために省略してあるが、例えばコントローラ、バッファ(キャッシュ)、ドライバ、中継器、受信器などの要素を別途有し、通信を可能にすることもできる。また、ローカルインタフェース43は、上記構成要素の間で適切な通信を可能にするために、アドレス、制御、および/またはデータ接続部を含んでいてもよい。
【0024】
プロセッサ41は、メモリ42に保存可能なソフトウェアを実行するハードウェア機器である。プロセッサ41は、仮想的にカスタム製造または市販のプロセッサ、中央処理装置(CPU)またはコンピュータ14および16に関連付けられた複数のプロセッサの間の補助プロセッサ、および(マイクロチップの形式の)半導体系マイクロプロセッサまたはマクロプロセッサである。適切な市販のマイクロプロセッサの例は以下のとおりである。米国インテル社の80x86またはPentiumシリーズマイクロプロセッサ、米国IBM社のPowerPCマイクロプロセッサ、サンマイクロシステムズのSparcマイクロプロセッサ、米国ヒューレットパッカード社のPA−RISCシリーズマイクロプロセッサ、または米国モトローラ社の68xxxシリーズマイクロプロセッサがある。
【0025】
メモリ42は、揮発性メモリ要素(例えば、ランダムアクセスメモリ(動的ランダムアクセスメモリ(DRAM)、静的ランダムアクセスメモリ(SRAM)等のRAM)、および不揮発性メモリ要素(例えば、ROM、消去可能プログラマブル読取専用メモリ(EPROM)、電子的消去可能プログラマブル読取専用メモリ(EEPROM)、プログラマブル読取専用メモリ(PROM)、テープ、コンパクトディスク読取専用メモリ(CD−ROM)、ディスク、ディスケット、カートリッジ、カセットなど)の何れかあるいは組合せを含んでいてもよい。また、メモリ42は、電子、磁気、光および/または他のタイプの記憶媒体を組み込んでもよい。ちなみに、メモリ42は、分散アーキテクチャを有しており、その中において様々な構成要素が互いにはなれて配置されているが、プロセッサ41によりアクセス可能である。ファイル15はメモリ42に存在する。
【0026】
メモリ42のソフトウェアは、単一または複数の別個のプログラムを含んでいてもよく、各プログラムは論理機能を実施する実行可能命令の順序付けられたリストを含む。図2の例においては、メモリ42のソフトウェアは、適切なオペレーティングシステム(O/S)52と本発明のファイル差同期化システム100を含んでいる。
【0027】
適切な市販オペレーティングシステム52の例の一部のリストは以下のとおりである。米国マイクロソフト社.のWindowsオペレーティングシステム、米国ノベル社のNetwareオペレーティングシステム、米国IBM社のオペレーティングシステム、多数の供給元から入手可能なLINUXオペレーティングシステム、米国ヒューレットパッカード社、サンマイクロシステムズ社および米国AT&T 社などの多数の供給元から購入可能なUNIXオペレーティングシステムがある。オペレーティングシステム52は基本的に、ファイル差同期化システム100などのコンピュータプログラムの実行を制御し、スケジューリング、入出力制御、ファイルおよびデータ管理、メモリ管理、および通信制御と関連サービスを行う。しかし、発明者は、本発明のファイル差同期化システム100が全ての他の市販オペレーティングシステムに適用可能であると考えている。
【0028】
ファイル差同期化システム100は、ソースプログラム、実行可能プログラム(オブジェクトコード)、スクリプト、または実行される一組の命令から成る他の構成要素であってもよい。ソースプログラムの場合、プログラムは通常、O/S52に関連して適切に動作するように、メモリ42内に含まれるあるいは含まれないコンパイラ、アセンブラ、インタプリタなどを介して変換される。また、ファイル差同期化システム100は、限定されることはないが例えばC、C++、Pascal、BASIC、FORTRAN、COBOL、Perl、Java、Adaなどの(a)データおよびメソッドのクラスを有するオブジェクト指向プログラミング言語、あるいは(b)ルーチン、サブルーチンおよび/または関数を有する手続き型プログラミング言語、として記述される。
【0029】
I/Oデバイスは、限定されることはないが例えばキーボード45、マウス44、スキャナ(図示せず)、マイクロフォン(図示せず)などの入力デバイスを含んでいてもよい。また、I/Oデバイスは、限定されることはないが例えばプリンタ(図示せず)、ディスプレイ46などの出力デバイスも含んでいてもよい。最後に、I/Oデバイスは更に、限定されることはないが例えばNICまたは(他のファイル、デバイス、システムまたはネットワークにアクセスする)変調器/復調器47、無線周波数(RF)または他の送受信器(図示せず)、電話によるインタフェース(図示せず)、ブリッジ(図示せず)、ルータ(図示せず)などの入力および出力の両方を通信するデバイスも含んでいてもよい。
【0030】
コンピュータ14および16がPCやワークステーションなどである場合、メモリ42のソフトウェアは、基本入出力システム(BIOS)(簡単にするために省略)を更に含んでいてもよい。BIOSは、起動時にハードウェアを初期化およびテストし、O/S52を起動し、またハードウェアデバイス間のデータの転送をサポートする絶対不可欠な一組のソフトウェアルーチンである。BIOSはROMに保存され、BIOSはコンピュータ14および16が起動しているときに実行される。
【0031】
コンピュータ14および16が動作している場合、プロセッサ41は、メモリ42に対してデータ通信を行い、また一般にソフトウェアに従ってコンピュータ14および16の動作を制御するために、メモリ42内に保存されているソフトウェアを実行するよう構成されている。ファイル差同期化システム100およびO/S52の全てあるいは一部がプロセッサ41により読み出され、おそらくプロセッサ41内にバッファされ、その後実行される。
【0032】
ファイル差同期化システム100が図2に示すようにソフトウェアにおいて実施される場合、ちなみにファイル差同期化システム100は、コンピュータに関連するシステムまたは方法によってあるいはこれらに関連して使用されるよう、コンピュータで読み取り可能な媒体に仮想的に保存することができる。本書においては、コンピュータで読み取り可能な媒体は、コンピュータに関連するシステムまたは方法によってあるいはこれらに関連して使用されるコンピュータプログラムを含むあるいは保存することの可能な電子、磁気、光、または他の物理的装置または手段である。ファイル差同期化システム100は、命令実行システム、装置またはデバイスから命令を取り込んで、命令を実行することの可能な、例えばコンピュータに基づくシステム、プロセッサを含むシステム、または他のシステムなどの命令実行システム、装置、またはデバイスによってまたはこれらに関連して使用されるよう、コンピュータで読み取り可能な媒体において具現化される。
【0033】
本書においては、「コンピュータで読み取り可能な媒体」は、命令実行システム、装置、またはデバイスによってまたはこれらに関連して使用するよう、プログラムを保存、通信、伝搬、または伝達することの可能な何れかの手段である。コンピュータで読み取り可能な媒体は、限定されることはないが例えば電子、磁気、光、電磁気、赤外線、または半導体システム、装置、デバイス、または伝搬媒体である。コンピュータで読み取り可能な媒体の更に具体的な例(一部のリスト)は、単一または複数のワイヤを有する電気接続(電子)、携帯用コンピュータディスケット(磁気)、ランダムアクセスメモリ(RAM)(電子)、読取専用メモリ(ROM)(電子)、消去可能プログラマブル読取専用メモリ(EPROM、EEPROM、またはフラッシュメモリ)(電子)、光ファイバ(光)、携帯用コンパクトディスク読取専用メモリ(CDROM)(光)を含んでいる。ちなみに、コンピュータで読み取り可能な媒体は、プログラムが例えば紙または他の媒体の光スキャニングを介して電子的に獲得され、コンパイルされ、インタープリットされ、あるいは必要に応じて適切に処理され、コンピュータメモリに保存されるので、プログラムがプリントされている紙または別の適切な媒体であってもよい。
【0034】
別の実施形態においては、ファイル差同期化システム100がハードウェアにおいて実施されており、ファイル差同期化システム100は、従来において既知の以下の技術のいずれかまたは組合せで実施される。これには、データ信号に応じた論理機能を実施するロジックゲートを有する離散型論理回路、適切な組合せロジックゲートを有する特定用途向け集積回路(ASIC)、プログラマブルゲートアレイ(PGA)、フィールドプログラマブルゲートアレイ(FPGA)などが含まれる。
【0035】
図3Aおよび3Bは、図2に示す本発明のファイル差同期化システム100のプロセスフローの例をまとめて示すフローチャートである。
【0036】
まず、ステップ101で、ファイル差同期化システムが初期化される。次に、ステップ102で、ファイル差同期化システム100は、元のファイル15または改訂ファイル19がエンドオブファイル状態(EOF)に達したかどうかを判断する。ステップ102で元のファイル15および改訂ファイル19のどちらもエンドオブファイル(EOF)状態に達していないと判断されれば、ファイル差同期化システム100はステップ103に進んで、差のツリーが最大深さにあるかどうかを判断する。
【0037】
ステップ103において差のツリーが最大深さにあると判断されれば、ファイル差同期化システム100はステップ104でトラバーサルルーチンを実行する。トラバーサルルーチンは、ここでは図4に関して更に詳細に定義されている。ステップ104でトラバーサルルーチンを実行した後、ファイル差同期化システム100は戻ってステップ102を繰り返す。しかし、ステップ103で差のツリーが最大深さにあると判断された場合、ファイル差同期化システムは図3Bのステップ121を実行するために更に進む。
【0038】
ステップ121(図3B)では、ファイル差同期化システム100は新たなリーフノードを開始し、ステップ122でスキップカウンタをゼロにセットする。ステップ123で、ファイル差同期化システム100は、元のファイル15の現在のバイトが改訂ファイル19の現在のバイトに一致するかどうかを判断する。ステップ123で元のファイル15の現在のバイトが改訂ファイル15の現在のバイトに一致すると判断された場合、ファイル差同期化システム100はステップ124でスキップカウンタをインクリメントし、ステップ123に戻って処理を繰り返す。この状態は、元のファイル15と改訂ファイル19のデータが一致する限り生じる。しかし、ステップ123で元のファイル15の現在のバイトが改訂ファイル19の現在のバイトに一致しないと判断された場合、ファイル差同期化システム100は、ステップ125で現在のスキップカウンタ値を使用して、リーフノードにスキップレコードを追加する。この状態は、元のファイル15と改訂ファイル19のデータが一致しない限り生じる。ステップ126では、ファイル差同期化システム100は置換カウンタをゼロにセットする。
【0039】
ステップ127では、ファイル差同期化システム100は、元のファイル15と改訂ファイル19が挿入および削除のために同期しているかどうかを判断する。元のファイル15と改訂ファイル19の比較で不一致が生じたときに、挿入および削除を行ったかどうかを判断するために、元のファイル15と改訂ファイル19の両方でスキャニングを実行して、データの次の共通ブロックを検索する。改訂ファイル19でスキャニングを進めているときに元のファイル15のデータセグメントが見つかった場合、挿入が生じたと推定される。また、元のファイル15でスキャニングを進めているときに改訂ファイル19のデータセグメントが見つかった場合、削除が生じたと推定される。
【0040】
ステップ127で元のファイル15および改訂ファイル19が挿入および削除のために同期していると判断された場合、ファイル差同期化システム100は図3Aのステップに戻る。バイナリツリーが削除ノードおよび挿入ノードの両方を作成した場合、元のファイル15および改訂ファイル19は同期している。しかし、ステップ127で挿入および削除のために元のファイル15と改訂ファイル19が同期していないと判断された場合、ファイル差同期化システム100はステップ131においてトークンが削除に対して一致するかを判断する。バイナリツリーが削除ノードまたは挿入ノードのみを作成した場合、元のファイル15および改訂ファイル19は同期していない。ステップ131で元のファイル15と改訂ファイル19が削除に対して一致していると判断された場合、ファイル差同期化システム100はステップ132で子削除ルーチンを実行する。ここでは、子削除ルーチンを図5に関連して更に詳細に説明する。ステップ132で子削除ルーチンを実行した後、ファイル差同期化システム100はステップ139に進み、図3Aに戻る。
【0041】
しかし、ステップ131で元のファイル15と改訂ファイル19が削除に対して一致していないと判断された場合、ファイル差同期化システム100はステップ133で挿入に対してトークンが一致するかどうかを判断する。ステップ133で挿入に対してトークンが一致すると判断された場合、ファイル差同期化システムはステップ134で子挿入ルーチンを実行する。ここでは、子挿入ルーチンを図6に関して更に詳細に説明する。ステップ134で子挿入ルーチンを実行した後、ファイル差同期化システム100は図3Aに戻る。
【0042】
それにもかかわらず、ステップ133で挿入に対してトークンが一致していないと判断された場合、ファイル差同期化システム100はステップ135で元のファイル15と改訂ファイル19の両方における現在位置を進める。ステップ136で、ファイル差同期化システム100は置換カウンタをインクリメントし、戻ってステップ127〜136を繰り返す。更なる処理の完了後、ファイル差同期化システム100は図3Aに戻ってステップ102を繰り返す。
【0043】
しかし、ステップ102で元のファイル15または改訂ファイル19がエンドオブファイル(EOF)に達したと判断された場合、ファイル差同期化システム100はステップ111でパスコストを計算する。パスコストは、ルートからリーフまでの各パスをトラバース(移動)することによって計算される。パスコストは、デルタのサイズに基づいている。ステップ112で、ファイル差同期化システム100は、差分ファイル200へ各ノードのレコードを書き出しながら、最小コストパス(すなわち、最小デルタを有するパス)をトラバースする。
【0044】
ステップ113で、ファイル差同期化システム100は、改訂ファイル19(図2)に対してエンドオブファイル(EOF)状態に達したかどうかを判断する。ステップ113において、改訂ファイルのエンドオブファイル(EOF)状態が生じていないと判断された場合、ファイル差同期化システム100はステップ114において挿入列として、元のファイル15の残り部分と共に差分ファイル200(図2)に挿入レコードを書き込む。ステップ114で挿入レコードを書き込んだ後、ステップ119でファイル差同期化システム100は終了する。
【0045】
しかし、ステップ113で改訂ファイル19のエンドオブファイル(EOF)状態が生じていると判断された場合、ファイル差同期化システム100はステップ115で元のファイルに残っているバイトをカウントする。ステップ116で、ファイル差同期化システム100はステップ116で、元のファイルに残っているバイトのカウントと共に差分ファイル200へ削除レコードを書き込む。ステップ119で、ファイル差同期化システム100は終了する。
【0046】
図4は、図3Aに示すように本発明のファイル差同期化システム100(図3Aおよび3B)で動作するトラバーサルルーチン140の例を示すフローチャートである。トラバーサルルーチンはツリーの深さを選択し、この深さに達したときに、ルートノードをデルタに書き込み、ルートからリーフノードまでの最良パスを探し、ルートおよびツリーの半分を破棄(すなわち除去)し(pRoot−>削除またはpRoot−>挿入からpRootを進展させる)、再び処理を進める。このように、ツリーは指定された深さに維持されるので、メモリ割り当てを既知の量に維持し、またスキャニングに要する時間量を抑制することができる。
【0047】
まず、トラバーサルルーチン140はステップ141で初期化される。ステップ142において、トラバーサルルーチン140はルートノードの内容を差分ファイル200(図2)に書き込む。次に、ステップ143において、トラバーサルルーチン140は、各トラバースのパスコストを計算しながら、ルートから各リーフへの各パスをトラバースする。
【0048】
ステップ144で、トラバーサルルーチン140は、最小コストパスがルートの削除サブツリーの子であったかどうかを判断する。ステップ144において最小コストパスがルート削除サブツリーの子でなかったと判断された場合、トラバーサルルーチン140はステップ151で新しいルートへのルートノードの子の挿入を行う。ステップ152において、トラバーサルルーチン140は古いルートノードの削除サブツリーを削除し、その後ステップ156に進む。しかし、ステップ144で最小コストパスがルートの削除サブツリーの子であったと判断された場合、トラバーサルルーチン140はステップ153で新しいルートからのルートノードの子の削除を行う。ステップ154で、トラバーサルルーチン140は古いルートノードの挿入サブツリーを削除する。ステップ156で、トラバーサルルーチン140は古いルートノードを削除し、ステップ159でトラバーサルルーチンを終了させる。
【0049】
図5は、図3Bに示すように本発明のファイル差同期化システム(図3Aおよび3B)で動作する子削除ルーチン160の例を示すフローチャートである。まず、ステップ161で子削除ルーチン160が初期化される。ステップ162で、子削除ルーチン160は新しいノード子削除を作成する。次に、ステップ163で、子削除ルーチン160は削除レコードを子削除に追加する。ステップ164で、子削除ルーチン160は置換カウンタがゼロよりも大きいか判別する。ステップ164で置換カウンタがゼロよりも大きくないと判別された場合、子削除ルーチン160は次にステップ166に進む。しかし、ステップ166で置換カウンタがゼロよりも大きいと判別された場合、子削除ルーチン160は次にステップ165で置換カウンタの値を使用して、子削除に置換レコードを追加する。
【0050】
ステップ166で、子削除ルーチン160は削除側でリーフノードの子の子削除を行い、ステップ167でポインターを元のファイル15に進め、またポインターを改訂ファイル19に進める。ステップ168で、子削除ルーチンは置換カウンタをインクリメントし、ステップ169で終了する。
【0051】
図6は、図3Bに示すように本発明のファイル差同期化システム100(図3Aおよび3B)で動作する子挿入ルーチン180の例を示すフローチャートである。まず、ステップ181において、子挿入ルーチンが初期化される。ステップ182で、子挿入ルーチン180は新しいノード子挿入を作成する。ステップ183で、挿入レコードが子挿入に追加される。ステップ184で、子挿入ルーチン180は、置換カウンタがゼロよりも大きいか判別する。ステップ184で置換カウンタがゼロよりも大きくないと判別された場合、子挿入ルーチン180はステップ186に進む。しかし、ステップ184で置換カウンタがゼロよりも大きいと判別された場合、子挿入ルーチン180はステップ185で置換カウンタの値を使用して、子挿入に置換レコードを追加する。
【0052】
ステップ186で、子挿入ルーチン180は挿入側でリーフノードの子の子挿入を行い、ステップ187で元のファイルのポインターおよび改訂ファイルのポインターを進める。ステップ188で、子挿入ルーチン180は置換カウンタをインクリメントし、ステップ189で終了する。
【0053】
上述したように、本発明の原理から実質的に逸脱することなく、本発明の実施形態に多数の修正および変更を行えうることは当業者に明らかである。そのような修正および変更は全て、以下の請求項に定義されるように、本発明の範囲内でここに含まれることを意図されている。
【図面の簡単な説明】
【図1】
図1は、コンピューティングデバイスが本発明のファイル差同期化システム100を含むネットワーク環境を示すブロック図である。
【図2】
図2は、本発明のファイル差同期化システム100を使用するコンピュータシステムの例を示すブロック図である。
【図3Aおよび3B】
図3Aおよび3Bは、図2に示すように、本発明のファイル差同期化システム100のプロセスフローの例をまとめて示すフローチャートである。
【図4】
図4は、図3Aに示すように、本発明のファイル差同期化システム100で動作するトラバーサルルーチンの例を示すフローチャートである。
【図5】
図5は、図3Bに示すように、本発明のファイル差同期化システム100で動作する子削除ルーチンの例を示すフローチャートである。
【図6】
図6は、図3Bに示すように、本発明のファイル差同期化システム100で動作する子挿入ルーチンの例を示すフローチャートである。
Claims (20)
- 修正されるファイルを送信する方法であって、
元のファイルを提供するステップと、
前記元のファイルの改訂ファイルを作成するステップと、
前記元のファイルと前記改訂ファイルとの間の変更のみを識別するデルタファイルを生成するステップとを含む方法。 - デルタファイルを生成する前記ステップが、
前記元のファイルと前記改訂ファイルとの間の変更を識別するバイナリツリーを作成するステップを更に含む、請求項1に記載の方法。 - デルタファイルを生成する上記ステップが、
前記バイナリツリーにおける最小コストパスを決定するステップを更に含む、請求項2に記載の方法。 - デルタファイルを生成する上記ステップが、
前記元のファイルにおけるデータの各ブロックを前記改訂ファイルにおけるデータの各ブロックと比較するステップと、
前記元のファイルにおけるデータの各ブロックと前記改訂ファイルにおけるデータの各ブロックの各不一致に対して前記バイナリツリーにノードを生成するステップとを更に含む、請求項2に記載の方法。 - デバイスが前記デルタファイルおよびデバイスの元のファイルのみを使用して前記改訂ファイルを再現できるように前記デバイスに前記デルタファイルを送信するステップを更に含む、請求項4に記載の方法。
- 修正されるファイルを送信するシステムであって、
デバイスファイルを有するクライアントデバイスと、
元のファイルおよび前記元のファイルの改訂ファイルを含むサーバデバイスと、
前記元のファイルと前記改訂ファイルとの間の変更のみを識別するデルタファイルとを含むシステム。 - 前記クライアントデバイスが、
前記デルタファイルおよびデバイスファイルを使用して前記クライアントデバイスに前記改訂ファイルを作成する同期化モジュールを更に含む、請求項6に記載のシステム。 - 前記サーバデバイスが、
前記クライアントデバイスが前記改訂ファイルを再現できるよう、前記クライアントデバイスに前記デルタファイルを送信する送信モジュールを更に含む、請求項6に記載のシステム。 - 前記サーバデバイスが、
前記元のファイルにおけるデータの各ブロックを前記改訂ファイルにおけるデータの各ブロックと比較する比較モジュールを更に含む、請求項6に記載のシステム。 - 前記サーバデバイスが、
前記元のファイルと前記改訂ファイルとの間の変更を識別するバイナリツリーを作成するツリーモジュールと、
前記元のファイルにおけるデータの各ブロックと前記改訂ファイルにおけるデータの各ブロックの各不一致に対して前記バイナリツリーにノードを生成するノードモジュールとを更に含む、請求項6に記載のシステム。 - 修正されるファイルを送信するロジック用のコンピュータで読み取り可能な媒体であって、
元のファイルを作成するロジックと、
前記元のファイルの改訂ファイルを作成するロジックと、
前記元のファイルと前記改訂ファイルとの間の変更のみを識別するデルタファイルを生成するロジックとを含むコンピュータで読み取り可能な媒体。 - 前記生成するロジックが、
前記元のファイルと前記改訂ファイルとの間の変更を識別するバイナリツリーを作成するロジックを更に含む、請求項11に記載のコンピュータで読み取り可能な媒体。 - 前記生成するロジックが、
前記バイナリツリーにおける最小コストパスを決定するロジックを更に含む、請求項12に記載のコンピュータで読み取り可能な媒体。 - 前記生成するロジックが、
前記元のファイルにおけるデータの各ブロックを前記改訂ファイルにおけるデータの各ブロックと比較するロジックと、
前記元のファイルにおけるデータの各ブロックと前記改訂ファイルにおけるデータの各ブロックの各不一致に対して前記バイナリツリーにノードを生成するロジックとを更に含む、請求項12に記載のコンピュータで読み取り可能な媒体。 - 前記生成するロジックが、
デバイスが前記デルタファイルおよびデバイスの元のファイルを使用して前記改訂ファイルを再現できるよう、前記デバイスに前記デルタファイルを送信するロジックを更に含む、請求項11に記載のコンピュータで読み取り可能な媒体。 - 修正されるファイルを送信するシステムであって、
元のファイルを作成する手段と、
前記元のファイルの改訂ファイルを作成する手段と、
前記元のファイルと前記改訂ファイルとの間の変更のみを識別するデルタファイルを生成する手段とを含むシステム。 - 前記元のファイルと前記改訂ファイルとの間の変更を識別するバイナリツリーを作成する手段を更に含む、請求項16に記載のシステム。
- 前記バイナリツリーにおける最小コストパスを決定する手段を更に含む、請求項16に記載のシステム。
- 前記元のファイルにおけるデータの各ブロックを前記改訂ファイルにおけるデータの各ブロックと比較する手段と、
前記元のファイルにおけるデータの各ブロックと前記改訂ファイルにおけるデータの各ブロックとの各不一致に対して前記バイナリツリーにノードを生成する手段とを更に含む、請求項16に記載のシステム。 - デバイスが前記デルタファイルおよびデバイスの元のファイルのみを使用して前記改訂ファイルを再現できるよう、前記デバイスに前記デルタファイルを送信する手段を更に含む、請求項16に記載のシステム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US21350200P | 2000-06-22 | 2000-06-22 | |
PCT/US2001/019898 WO2001098951A1 (en) | 2000-06-22 | 2001-06-22 | A system and method for file transmission using file differentiation |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004501451A true JP2004501451A (ja) | 2004-01-15 |
JP2004501451A5 JP2004501451A5 (ja) | 2005-05-19 |
Family
ID=22795347
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002503725A Pending JP2004501451A (ja) | 2000-06-22 | 2001-06-22 | ファイル差分を使用するファイル送信システムおよび方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US6671703B2 (ja) |
EP (1) | EP1311988A4 (ja) |
JP (1) | JP2004501451A (ja) |
AU (1) | AU2001272970A1 (ja) |
WO (1) | WO2001098951A1 (ja) |
Families Citing this family (48)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001092707A (ja) * | 1999-09-24 | 2001-04-06 | Nec Corp | 情報処理システム、構造化文書処理システム、その更新方法及びその更新プログラムを記録した記録媒体 |
US6671757B1 (en) | 2000-01-26 | 2003-12-30 | Fusionone, Inc. | Data transfer and synchronization system |
US7035878B1 (en) | 2000-01-25 | 2006-04-25 | Fusionone, Inc. | Base rolling engine for data transfer and synchronization system |
US6701455B1 (en) * | 2000-08-29 | 2004-03-02 | Hitachi, Ltd. | Remote copy system with data integrity |
US7213039B2 (en) | 2001-09-07 | 2007-05-01 | Extended System, Inc. | Synchronizing differing data formats |
US7373362B2 (en) | 2001-11-19 | 2008-05-13 | Extended Systems, Inc. | Coordinated synchronization |
US7346616B2 (en) | 2002-03-20 | 2008-03-18 | Extended System, Inc. | Synchronizing data shared between two devices independent of any other devices that may also share the data |
US7600021B2 (en) * | 2002-04-03 | 2009-10-06 | Microsoft Corporation | Delta replication of source files and packages across networked resources |
US6925467B2 (en) * | 2002-05-13 | 2005-08-02 | Innopath Software, Inc. | Byte-level file differencing and updating algorithms |
US6836657B2 (en) * | 2002-11-12 | 2004-12-28 | Innopath Software, Inc. | Upgrading of electronic files including automatic recovery from failures and errors occurring during the upgrade |
US7096311B2 (en) | 2002-09-30 | 2006-08-22 | Innopath Software, Inc. | Updating electronic files using byte-level file differencing and updating algorithms |
US7003534B2 (en) * | 2002-11-18 | 2006-02-21 | Innopath Software, Inc. | Generating difference files using module information of embedded software components |
US20040098361A1 (en) * | 2002-11-18 | 2004-05-20 | Luosheng Peng | Managing electronic file updates on client devices |
US7320010B2 (en) * | 2002-11-18 | 2008-01-15 | Innopath Software, Inc. | Controlling updates of electronic files |
US7844734B2 (en) | 2002-11-18 | 2010-11-30 | Innopath Software, Inc. | Dynamic addressing (DA) using a centralized DA manager |
US7007049B2 (en) * | 2002-11-18 | 2006-02-28 | Innopath Software, Inc. | Device memory management during electronic file updating |
US7099884B2 (en) | 2002-12-06 | 2006-08-29 | Innopath Software | System and method for data compression and decompression |
US7548986B1 (en) * | 2003-03-17 | 2009-06-16 | Hewlett-Packard Development Company, L.P. | Electronic device network providing streaming updates |
US8275742B2 (en) * | 2003-05-19 | 2012-09-25 | Sap Aktiengesellschaft | Data importation and exportation for computing devices |
US7089270B2 (en) * | 2003-06-20 | 2006-08-08 | Innopath Software | Processing software images for use in generating difference files |
CA2434644A1 (fr) * | 2003-06-30 | 2004-12-30 | Archidata Inc. | Systeme pour la certification des plans et devis produits par les professionnels et les maitres d'ouvrage de la construction |
US20050010870A1 (en) * | 2003-07-09 | 2005-01-13 | Jinsheng Gu | Post-processing algorithm for byte-level file differencing |
US20050010576A1 (en) * | 2003-07-09 | 2005-01-13 | Liwei Ren | File differencing and updating engines |
US7031972B2 (en) | 2003-07-21 | 2006-04-18 | Innopath Software, Inc. | Algorithms for block-level code alignment of software binary files |
KR100871778B1 (ko) * | 2003-10-23 | 2008-12-05 | 이노패스 소프트웨어, 아이엔시. | 중앙집중형 동적 어드레싱 매니저를 이용한 동적 어드레싱방법 및 장치 |
US7203708B2 (en) * | 2003-11-06 | 2007-04-10 | Microsoft Corporation | Optimizing file replication using binary comparisons |
US7606828B2 (en) | 2003-11-18 | 2009-10-20 | Sap Ag | Delta-mechanism for integration of OLAP-based planning and reporting |
JP5166735B2 (ja) * | 2003-12-19 | 2013-03-21 | ネットアップ,インコーポレイテッド | 非常に短い更新インターバルで同期データ複製が可能なシステム及び方法 |
US7079051B2 (en) * | 2004-03-18 | 2006-07-18 | James Andrew Storer | In-place differential compression |
US7555531B2 (en) * | 2004-04-15 | 2009-06-30 | Microsoft Corporation | Efficient algorithm and protocol for remote differential compression |
US7904895B1 (en) | 2004-04-21 | 2011-03-08 | Hewlett-Packard Develpment Company, L.P. | Firmware update in electronic devices employing update agent in a flash memory card |
WO2005122439A1 (en) * | 2004-06-10 | 2005-12-22 | Samsung Electronics Co., Ltd. | Apparatus and method for efficient generation of delta files for over-the-air upgrades in a wireless network |
US8526940B1 (en) | 2004-08-17 | 2013-09-03 | Palm, Inc. | Centralized rules repository for smart phone customer care |
US7516451B2 (en) * | 2004-08-31 | 2009-04-07 | Innopath Software, Inc. | Maintaining mobile device electronic files including using difference files when upgrading |
JP5173427B2 (ja) * | 2004-11-08 | 2013-04-03 | イノパス・ソフトウェアー・インコーポレーテッド | 圧縮リード・オンリ・メモリ・ファイル・システム(crmfs)イメージの更新 |
US20060224702A1 (en) * | 2005-03-31 | 2006-10-05 | Patrick Schmidt | Local workflows in a business process management system |
US7761766B2 (en) * | 2005-11-15 | 2010-07-20 | I365 Inc. | Methods and apparatus for modifying a backup data stream including logical partitions of data blocks to be provided to a fixed position delta reduction backup application |
US7644111B2 (en) * | 2006-05-02 | 2010-01-05 | Microsoft Corporation | Framework for content representation and delivery |
AU2007247939B2 (en) | 2006-05-05 | 2012-02-09 | Hybir Inc. | Group based complete and incremental computer file backup system, process and apparatus |
US8209676B2 (en) | 2006-06-08 | 2012-06-26 | Hewlett-Packard Development Company, L.P. | Device management in a network |
US8296268B2 (en) * | 2006-07-21 | 2012-10-23 | Samsung Electronics Co., Ltd. | System and method for change logging in a firmware over the air development environment |
WO2008014454A2 (en) | 2006-07-27 | 2008-01-31 | Hewlett-Packard Development Company, L.P. | User experience and dependency management in a mobile device |
US8316199B2 (en) | 2006-11-07 | 2012-11-20 | Hitachi Solutions, Ltd. | Data processing control method, information processing apparatus, and data processing control system |
US20090006316A1 (en) * | 2007-06-29 | 2009-01-01 | Wenfei Fan | Methods and Apparatus for Rewriting Regular XPath Queries on XML Views |
JP2009266106A (ja) * | 2008-04-28 | 2009-11-12 | Hitachi Ltd | 管理装置及び管理方法 |
US8655840B2 (en) * | 2008-12-03 | 2014-02-18 | Nokia Corporation | Method, apparatus and computer program product for sub-file level synchronization |
US8984028B2 (en) | 2012-05-29 | 2015-03-17 | Recommind, Inc. | Systems and methods for storing data and eliminating redundancy |
US9336228B2 (en) * | 2013-12-18 | 2016-05-10 | Verizon Patent And Licensing Inc. | Synchronization of program code between revision management applications utilizing different version-control architectures |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6482253A (en) * | 1987-09-25 | 1989-03-28 | Nec Corp | Method and device for filing document |
JPH02156378A (ja) * | 1988-12-09 | 1990-06-15 | Hitachi Ltd | 単語検索処理システム |
JPH04167149A (ja) * | 1990-10-31 | 1992-06-15 | Nec Corp | 複数コンピュータ間の情報共通化装置 |
Family Cites Families (10)
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 |
WO1996025801A1 (en) * | 1995-02-17 | 1996-08-22 | Trustus Pty. Ltd. | Method for partitioning a block of data into subblocks and for storing and communicating such subblocks |
US5706510A (en) * | 1996-03-15 | 1998-01-06 | Hewlett-Packard Company | Zymbolic history management system |
US6026390A (en) * | 1996-05-29 | 2000-02-15 | At&T Corp | Cost-based maintenance of materialized views |
US5832520A (en) * | 1996-07-03 | 1998-11-03 | Miller, Call, Plauck And Miller | Automatic file differencing and updating system |
US5919247A (en) * | 1996-07-24 | 1999-07-06 | Marimba, Inc. | Method for the distribution of code and data updates |
US5822511A (en) * | 1996-09-03 | 1998-10-13 | Motorola, Inc. | Smart compare tool and method |
US6158019A (en) * | 1996-12-15 | 2000-12-05 | Delta-Tek Research, Inc. | System and apparatus for merging a write event journal and an original storage to produce an updated storage using an event map |
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 |
CA2255047A1 (en) * | 1998-11-30 | 2000-05-30 | Ibm Canada Limited-Ibm Canada Limitee | Comparison of hierarchical structures and merging of differences |
-
2001
- 2001-06-22 AU AU2001272970A patent/AU2001272970A1/en not_active Abandoned
- 2001-06-22 US US09/887,840 patent/US6671703B2/en not_active Expired - Lifetime
- 2001-06-22 EP EP01952185A patent/EP1311988A4/en not_active Ceased
- 2001-06-22 WO PCT/US2001/019898 patent/WO2001098951A1/en active Application Filing
- 2001-06-22 JP JP2002503725A patent/JP2004501451A/ja active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6482253A (en) * | 1987-09-25 | 1989-03-28 | Nec Corp | Method and device for filing document |
JPH02156378A (ja) * | 1988-12-09 | 1990-06-15 | Hitachi Ltd | 単語検索処理システム |
JPH04167149A (ja) * | 1990-10-31 | 1992-06-15 | Nec Corp | 複数コンピュータ間の情報共通化装置 |
Also Published As
Publication number | Publication date |
---|---|
AU2001272970A1 (en) | 2002-01-02 |
EP1311988A4 (en) | 2006-06-21 |
WO2001098951A8 (en) | 2002-07-11 |
EP1311988A1 (en) | 2003-05-21 |
WO2001098951A1 (en) | 2001-12-27 |
US6671703B2 (en) | 2003-12-30 |
US20020038314A1 (en) | 2002-03-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2004501451A (ja) | ファイル差分を使用するファイル送信システムおよび方法 | |
US20210203742A1 (en) | Providing access to managed content | |
US7606881B2 (en) | System and method for synchronization of version annotated objects | |
US5819272A (en) | Record tracking in database replication | |
KR101099202B1 (ko) | 물리적 저장 표현에 독립적인 논리적 뷰의 동기화 | |
US8255430B2 (en) | Shared namespace for storage clusters | |
US7143146B2 (en) | Method for accessing distributed file system | |
US20040128269A1 (en) | System and method for managing data through families of inter-related metadata tables | |
US7702641B2 (en) | Method and system for comparing and updating file trees | |
US10133744B2 (en) | Composite execution of rename operations in wide area file systems | |
US20060129616A1 (en) | System and method for synchronizing computer files between a local computer and a remote server | |
JP2005004778A (ja) | ネットワーク化環境においてシャドウコピーを開示する機構 | |
US7933868B2 (en) | Method and system for partition level cleanup of replication conflict metadata | |
JP4677406B2 (ja) | モバイル装置のユーザ設定を保存するための方法、システム、およびコンピュータ・プログラム | |
US20080222161A1 (en) | Distributed Directory Deployment | |
US6564232B1 (en) | Method and apparatus for managing distribution of change-controlled data items in a distributed data processing system | |
US6996682B1 (en) | System and method for cascading data updates through a virtual copy hierarchy | |
JP2000259474A (ja) | 異なるデータファイルを調停する方法 | |
US20110208761A1 (en) | Coordinating content from multiple data sources | |
JP2005148962A (ja) | ファイルシステム | |
US20040193659A1 (en) | Method, apparatus, and program for archive management based on access log | |
JP4327869B2 (ja) | 分散ファイルシステム、分散ファイルシステムサーバ及び分散ファイルシステムへのアクセス方法 | |
US20040117350A1 (en) | Apparatus and method for optimizing schema definitions for an LDAP directory | |
US20040267827A1 (en) | Method, apparatus, and program for maintaining quota information within a file system | |
US6625614B1 (en) | Implementation for efficient access of extended attribute data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A625 | Written request for application examination (by other person) |
Free format text: JAPANESE INTERMEDIATE CODE: A625 Effective date: 20080616 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080717 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20090416 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20090416 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20090416 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090715 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20090715 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110322 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20110613 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20110620 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20110627 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110920 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20120419 |