JP2004501451A - ファイル差分を使用するファイル送信システムおよび方法 - Google Patents

ファイル差分を使用するファイル送信システムおよび方法 Download PDF

Info

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
Application number
JP2002503725A
Other languages
English (en)
Other versions
JP2004501451A5 (ja
Inventor
トンプソン、 ピーター エフ.
ピーターソン、 ケヴィン
モハンマディウン、 サイド
Original Assignee
シンクロロジック インコーポレイテッド
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by シンクロロジック インコーポレイテッド filed Critical シンクロロジック インコーポレイテッド
Publication of JP2004501451A publication Critical patent/JP2004501451A/ja
Publication of JP2004501451A5 publication Critical patent/JP2004501451A5/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99932Access augmentation or optimizing
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99942Manipulating data structure, e.g. compression, compaction, compilation
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability

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

本発明(図1)は、ファイル差分を使用して効率よくファイルを転送する方法として概説されうる。その方法は、元のファイル(図2,15)を用意し;元のファイルの改訂ファイル(19)を作成し;そして元のファイルと改訂ファイルとの間の変更のみを識別するデルタファイル(200)を生成することによって機能する。

Description

【0001】
(関連出願の相互参照)
本出願は、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. デルタファイルを生成する前記ステップが、
    前記元のファイルと前記改訂ファイルとの間の変更を識別するバイナリツリーを作成するステップを更に含む、請求項1に記載の方法。
  3. デルタファイルを生成する上記ステップが、
    前記バイナリツリーにおける最小コストパスを決定するステップを更に含む、請求項2に記載の方法。
  4. デルタファイルを生成する上記ステップが、
    前記元のファイルにおけるデータの各ブロックを前記改訂ファイルにおけるデータの各ブロックと比較するステップと、
    前記元のファイルにおけるデータの各ブロックと前記改訂ファイルにおけるデータの各ブロックの各不一致に対して前記バイナリツリーにノードを生成するステップとを更に含む、請求項2に記載の方法。
  5. デバイスが前記デルタファイルおよびデバイスの元のファイルのみを使用して前記改訂ファイルを再現できるように前記デバイスに前記デルタファイルを送信するステップを更に含む、請求項4に記載の方法。
  6. 修正されるファイルを送信するシステムであって、
    デバイスファイルを有するクライアントデバイスと、
    元のファイルおよび前記元のファイルの改訂ファイルを含むサーバデバイスと、
    前記元のファイルと前記改訂ファイルとの間の変更のみを識別するデルタファイルとを含むシステム。
  7. 前記クライアントデバイスが、
    前記デルタファイルおよびデバイスファイルを使用して前記クライアントデバイスに前記改訂ファイルを作成する同期化モジュールを更に含む、請求項6に記載のシステム。
  8. 前記サーバデバイスが、
    前記クライアントデバイスが前記改訂ファイルを再現できるよう、前記クライアントデバイスに前記デルタファイルを送信する送信モジュールを更に含む、請求項6に記載のシステム。
  9. 前記サーバデバイスが、
    前記元のファイルにおけるデータの各ブロックを前記改訂ファイルにおけるデータの各ブロックと比較する比較モジュールを更に含む、請求項6に記載のシステム。
  10. 前記サーバデバイスが、
    前記元のファイルと前記改訂ファイルとの間の変更を識別するバイナリツリーを作成するツリーモジュールと、
    前記元のファイルにおけるデータの各ブロックと前記改訂ファイルにおけるデータの各ブロックの各不一致に対して前記バイナリツリーにノードを生成するノードモジュールとを更に含む、請求項6に記載のシステム。
  11. 修正されるファイルを送信するロジック用のコンピュータで読み取り可能な媒体であって、
    元のファイルを作成するロジックと、
    前記元のファイルの改訂ファイルを作成するロジックと、
    前記元のファイルと前記改訂ファイルとの間の変更のみを識別するデルタファイルを生成するロジックとを含むコンピュータで読み取り可能な媒体。
  12. 前記生成するロジックが、
    前記元のファイルと前記改訂ファイルとの間の変更を識別するバイナリツリーを作成するロジックを更に含む、請求項11に記載のコンピュータで読み取り可能な媒体。
  13. 前記生成するロジックが、
    前記バイナリツリーにおける最小コストパスを決定するロジックを更に含む、請求項12に記載のコンピュータで読み取り可能な媒体。
  14. 前記生成するロジックが、
    前記元のファイルにおけるデータの各ブロックを前記改訂ファイルにおけるデータの各ブロックと比較するロジックと、
    前記元のファイルにおけるデータの各ブロックと前記改訂ファイルにおけるデータの各ブロックの各不一致に対して前記バイナリツリーにノードを生成するロジックとを更に含む、請求項12に記載のコンピュータで読み取り可能な媒体。
  15. 前記生成するロジックが、
    デバイスが前記デルタファイルおよびデバイスの元のファイルを使用して前記改訂ファイルを再現できるよう、前記デバイスに前記デルタファイルを送信するロジックを更に含む、請求項11に記載のコンピュータで読み取り可能な媒体。
  16. 修正されるファイルを送信するシステムであって、
    元のファイルを作成する手段と、
    前記元のファイルの改訂ファイルを作成する手段と、
    前記元のファイルと前記改訂ファイルとの間の変更のみを識別するデルタファイルを生成する手段とを含むシステム。
  17. 前記元のファイルと前記改訂ファイルとの間の変更を識別するバイナリツリーを作成する手段を更に含む、請求項16に記載のシステム。
  18. 前記バイナリツリーにおける最小コストパスを決定する手段を更に含む、請求項16に記載のシステム。
  19. 前記元のファイルにおけるデータの各ブロックを前記改訂ファイルにおけるデータの各ブロックと比較する手段と、
    前記元のファイルにおけるデータの各ブロックと前記改訂ファイルにおけるデータの各ブロックとの各不一致に対して前記バイナリツリーにノードを生成する手段とを更に含む、請求項16に記載のシステム。
  20. デバイスが前記デルタファイルおよびデバイスの元のファイルのみを使用して前記改訂ファイルを再現できるよう、前記デバイスに前記デルタファイルを送信する手段を更に含む、請求項16に記載のシステム。
JP2002503725A 2000-06-22 2001-06-22 ファイル差分を使用するファイル送信システムおよび方法 Pending JP2004501451A (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5446888A (en) * 1994-01-14 1995-08-29 Pyne; Charles F. Remote file transfer method and apparatus
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
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