JP2002163137A - 変更ログを統合化および最適化する方法 - Google Patents

変更ログを統合化および最適化する方法

Info

Publication number
JP2002163137A
JP2002163137A JP2001287835A JP2001287835A JP2002163137A JP 2002163137 A JP2002163137 A JP 2002163137A JP 2001287835 A JP2001287835 A JP 2001287835A JP 2001287835 A JP2001287835 A JP 2001287835A JP 2002163137 A JP2002163137 A JP 2002163137A
Authority
JP
Japan
Prior art keywords
log
change
application data
item
data
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
JP2001287835A
Other languages
English (en)
Inventor
David L Multer
エル ミュルター デイヴィッド
Robert E Garner
イー ガーナー ロバート
Leighton A Ridgard
エイ リッドガード レイトン
Liam J Stannard
ジェイ スタナード ライアム
Donald W Cash
ダブリュ キャッシュ ドナルド
Robertson Joseph
ロバートソン ジョセフ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
FusionOne Inc
Original Assignee
FusionOne Inc
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 FusionOne Inc filed Critical FusionOne Inc
Publication of JP2002163137A publication Critical patent/JP2002163137A/ja
Pending legal-status Critical Current

Links

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/17Details of further file system functions
    • G06F16/1734Details of monitoring file system events, e.g. by the use of hooks, filter drivers, logs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • 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/17Details of further file system functions
    • G06F16/178Techniques for file synchronisation in file systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • 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
    • 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

Abstract

(57)【要約】 【課題】 メモリ格納空間をより効率的に利用し、か
つ、同期処理速度を向上させる、変更ログの統合化およ
び最適化を行うこと。 【解決手段】 本発明は、データ転送および同期システ
ムにおけるクライアント装置のアプリケーションデータ
・アプリケーションファイルを更新・同期させるため
の、変更ログ統合化・最適化メカニズムおよび方法を提
供する。クライアント装置のアプリケーションデータへ
の現在の変更事項を反映する複数の変更ログの内容は、
ダウンロードされて統合化ログに合併される。この後、
各変更ログをダウンロードしたときに適用するのではな
く、前変更ログに記録されたアプリケーションデータお
よびまたはアプリケーションファイルへのすべての変更
事項を表す統合化ログの内容を、クライアント装置に適
用して、このクライアント装置のアプリケーションデー
タおよびまたはアプリケーションファイルを更新する。

Description

【発明の詳細な説明】
【0001】(技術分野)本発明は、データが各システ
ムで保持される形体とは無関係の2つのシステム間にお
けるデータ転送に関し、特に、システム間および装置間
においてデータ通信を行う効果的な手段を提供すること
に関する。
【0002】(背景技術)パーソナルコンピュータまた
はワークステーションに限らず、計算に関連した装置が
進歩してきている。パーソナル計算装置のタイプおよび
フォーマットの両方が実質的に増えてきている。小型ハ
ンドヘルド計算装置は、連絡情報、個人的情報、文書情
報およびその他の情報を多数保持し、また、ユーザがフ
ァクシミリ通信、電子メールの送信およびその他の方法
によるワイヤレス通信を行うことができよう十分に高性
能なものとなっている。発展した携帯電話であっても、
連絡情報を記憶し、ウェブをサーフィンし、テキストメ
ッセージを供給するのに十分なメモリおよび処理能力を
有している。これらの装置がますます高性能となってい
ることに加えて、これらの装置の間で情報を転送する必
要性も同様に高くなってきている。
【0003】様々な装置のタイプが多数売り出されてお
り、それらの様々な装置の間で情報を同期させることが
ますます課題となっている。例えば、ある人物が、特定
の個人情報管理プリケーションを用いて、オフィスのパ
ーソナルコンピュータに日程情報を記憶させている場合
には、その人物は、通常、それと同じ情報を、携帯電
話、ハンドヘルドオーガナイザ(hand-held organize
r)および多分家庭用パーソナルコンピュータで利用し
たいと思うであろう。そのうえ、その人物は、プレゼン
テーションまたは作業文書のような、オフィスのコンピ
ュータとの間で同期するファイルデータを必要とするノ
ートブックコンピュータを持っているかもしれない。
【0004】今までは、文書間および個人情報マネージ
ャ間の両方で同期をとることは、装置間を直接接続する
ことにより、一般的には、ある装置における個人情報マ
ネージャと別の装置における個人情報マネージャのよう
なアプリケーションの間を直接接続することにより、ま
たは、中間同期マッピングプログラム(intermediarysy
nc-mapping program)を用いることにより、行われてき
た。
【0005】このような同期の一例としては、3Com Pal
m(登録商標)シリーズ計算装置のような3Com Palm(登
録商標)OSベースのオーガナイザを一般的に用いるも
のがある。このオーガナイザは、独自の日程システムを
用いるが、Symantec社ACT!、Microsoft社Outlook(登録
商標)およびその他のシステムのような様々な異なる個
人情報管理ソフトウェアパッケージを用いて、このオー
ガナイザ内のデータをユーザに同期させている。この例
では、Puma Technology社Intellisync(登録商標)のよ
うな中間同期プログラムが必要とされる。Intellisync
(登録商標)は、ハンドヘルド装置と、同型でないデー
タレコード間における情報データシステムおよびマップ
データシステムを記憶するコンピュータと、の両方で動
作するアプリケーションプログラムである。
【0006】別の例では、Microsoft社Outlook(登録商
標)のコンピュータベースのクライアントとMicrosoft
社Windows(登録商標) CE "Pocket Outlook"アプリケ
ーションとの間の転送のようなアプリケーション間の直
接転送が可能である。それにもかかわらず、上記両方の
場合では、同期をとることは、パーソナルコンピュータ
とパーソナル計算装置との間を直接接続することにより
行われる。このような接続としては、一般的には、例え
ばクレードル(cradle)におけるPalm(登録商標)をパ
ーソナルコンピュータケーブルにケーブルを介して直接
接続するものがあり、この接続はワイヤレスでも同様に
行われる。
【0007】これらの同期システムの1つの要素は、同
期処理が、特定のデータベースが変更される間の時間を
表現できなければならず、かつ、変更されたフィールド
を置換するかどうかについて決定しなくてはならない、
ということである。通常、これは、ある1つのデータベ
ースが変更されたことと、第2のデータベースが変更さ
れていないこととにより、測定される。両方のデータベ
ースが同期の間において変更される場合もいくらかあろ
う。この場合には、同期動作を行う際には、なされた2
つの変化のうちいずれを「勝ち(win)」とするのかを
決定し、同期をとる間、他方の変化を置換しなくてはな
らない。一般的には、競合(conflict)が存在するかど
うかを決定する決定物(determinant)によって、この
競合をユーザに解決させるいくつかの手段が与えられ
る。
【0008】技術的には、この方法による同期は、一般
的には、システム間の全レコードをコピーすることによ
り達成される。あるレベルでは、ユーザは、一般的に
は、データフィールドを1つのアプリケーションから別
のアプリケーションにマッピングし、かつ、どのデータ
フィールドを異なる装置の対応するどこのフィールドに
割り当てるかを指定する必要がある。開発者がアプリケ
ーションの様々なプラットフォームをしっかりとサポー
トする場合には、マッピングはほとんど必要とされな
い。
【0009】多くの例では、同期の対象となるデータ
は、一般的には、アドレスレコード、連絡情報、日程情
報、メモ、および、その他のタイプの連絡情報のような
テキストデータの形をとっている。ある例では、同期の
対象となるデータは、バイナリフォーマットの実行可能
ファイルまたはワードプロセッサに特化した文書であ
る。文書の同期が必要とされる多くの場合には、同期ル
ーチンによって、単に、対象となっている文書が変更さ
れたか否かを決定し、2つのファイルのうちいずれが新
しいかを決定するために、時間をベースにした表現を用
い、上記2つのファイルのうち古い方のファイルが実際
に変更されていなければ、同期を達成するために古い方
のファイルを新しい方のファイルに置換している。これ
は、Microsoft社のWindows(登録商標)に基づいたシス
テムにおけるよく知られた「ブリーフケース」で用いら
れているモデルである。両方のファイルが変更されてい
る場合には、ユーザは、競合を解決する選択権を同期ル
ーチンによって与えられる。
【0010】一般的に、このような同期方法は、同期リ
ンクを介して転送すべき文書またはバイナリファイルの
全帯域を必要とするので、あまり効率的なものではな
い。加えて、所定のデータレコードにおける変更事項を
記録するために、一般的に、変更ログが各同期動作ごと
に生成される。大量の変更ログが生成され(かつサーバ
のメモリに格納され)る状況においては、各変更ログを
ダウンロードし適用することを続けて行うと、データの
ダウンロードを必要でもないのに行ってしまうことが多
い。変更ログシーケンスにアイテムレコードが発生する
度に、別々のトランザクションが必要とされて、1つの
同期動作を実行している間にレコード内の同一フィール
ドを何度も更新することができてしまう。
【0011】したがって、メモリ格納空間をより効率的
に利用し、かつ、同期処理速度を向上させる、変更ログ
の統合化および最適化が必要である。
【0012】(発明の開示)本発明は、概説すれば、デ
ータ転送および同期システムにおけるクライアント装置
のアプリケーションデータを、クライアント装置がダウ
ンロードして引き続き適用する際に、複数の変更ログの
内容を統合化ログに合併する方法および装置を提供す
る。多数の変更ログから冗長した変更事項を取り除き、
これにより、1つのトランザクションによってさらに効
果的に、アプリケーションデータのファイルおよびレコ
ードを同期させ更新することができる。
【0013】一態様として、本発明は、データ転送を行
うクライアント装置のアプリケーションデータを更新す
る方法であって、それぞれが上記アプリケーションデー
タへの変更事項を反映する複数の変更ログにおける第1
の変更ログを、サーバシステムからダウンロードする工
程と、上記第1の変更ログを統合化ログに追加する工程
と、上記第1の変更ログを消去する工程と、追加すべき
変更ログがなくなるまで、上記ダウンロードする工程、
上記追加する工程および上記消去する工程を繰り返す工
程と、上記統合化ログを上記アプリケーションデータに
適用することにより、該アプリケーションデータを更新
する工程と、を具備する方法を提供する。
【0014】さらに、上記複数の変更ログを上記統合化
ログに追加または合併する工程は、上記アプリケーショ
ンデータにおける有効アイテムについての情報を検索す
る工程と、上記統合化ログのマップを更新する工程と、
上記アイテムを上記統合化ログに書き込む工程と、上記
マップにおける有効アイテムの一実施形態ではを更新す
る工程と、上記統合化ログに圧縮される現在の変更ログ
に残っているすべての有効アイテムについて、上述した
工程を繰り返す工程と、を具備する。
【0015】さらなる態様として、本発明は、蓄積した
複数の変更ログを統合化ログに結合させる方法を具備す
る。この方法は、統合化ログを生成する工程と、現在の
変更ログの内容を検索する工程と、上記現在の変更ログ
の内容を上記統合化ログに追加する工程と、上記現在の
変更ログを消去する工程と、追加すべき変更ログがなく
なるまで上述した工程を繰り返す工程と、を具備する。
具体的には、上記変更ログの内容を上記統合化ログに追
加または圧縮する上記工程は、上記アプリケーションデ
ータにおける複数のアイテムの内容を検索する工程と、
上記アイテムのマップを更新する工程と、上記統合化ロ
グを更新する工程と、上記マップにおける各アイテムの
位置を更新する工程と、圧縮したしきい値を超えている
のであれば上記統合化ログを圧縮する工程と、を具備す
る。
【0016】さらなる態様として、本発明は、データ転
送および同期システムにおけるクライアント装置のアプ
リケーションデータを更新する装置を具備する。この装
置は、それぞれが上記アプリケーションデータへの現在
の変更事項を反映する複数の変更ログを、サーバシステ
ムから繰り返しダウンロードするルーチンと、上記複数
の変更ログの内容を統合化ログに繰り返し統合化する合
併ルーチンと、上記複数の変更ログを繰り返し消去する
変更ログ消去ルーチンと、上記統合化ログの内容を上記
アプリケーションデータに適用して、該アプリケーショ
ンデータを更新する更新ルーチンと、を具備する。
【0017】(発明を実施するための最良の形態)本発
明の特定の実施形態を参照して、本発明を説明する。本
発明の他の目的、特徴および利点は、本明細書および図
面を参照することにより明確となろう。
【0018】図1は、データ転送および同期システムの
一例を示す一般化されたブロック図である。具体的に
は、このシステムは、1つ以上の格納サーバ12、1
4、および、管理サーバ15を有するネットワーク10
を含む。複数のクライアント装置(例えば、家庭用PC
16、オフィス用PC18、個人情報Palm計算装置2
0、および、ウェブ接続可能な携帯電話22)は、ネッ
トワーク10に接続することが可能なものであり、か
つ、2000年6月25日に出願された米国特許出願第
09/490,550号、ともに2000年1月26日
に出願された米国特許出願第009/491,675号
および09/491,694号(すべて「データ転送お
よび同期システム」という発明の名称がつけられてい
る)に記載された技術に従って、格納サーバ12および
14を介したオフライン方法により、同期情報を交換す
ることが可能なものである。なお、これらの出願につい
ては、参照によりここに含めておく。
【0019】本発明のクライアントソフトウェアは、例
えば、図1における家庭用PC16およびオフィス用P
C18の両方にインストールされており、Microsoft社
のWindows(登録商標)のようなオペレーティングシス
テムに関連して動作するように構成されている。クライ
アントソフトウェアは、実行時には、ユーザのパソコン
における様々なアプリケーションと相互作用を及ぼし合
う。ユーザは、クライアントソフトウェアと対話して、
上記アプリケーションに優先度を持たせるようにこのソ
フトウェアの設定を行う。この後、データが、様々なア
プリケーションから抽出されて、特定のアプリケーショ
ンおよびこのデータを発生させた装置とは独立したフォ
ーマットにまとめられ、データパッケージに組み込まれ
る。本発明の一実施形態では、連絡(contact)(例え
ば、名前、住所、電話番号、電子メールアドレス)と、
インターネットブラウザ(例えば、Netscape社のNaviga
tor(登録商標)、Microsoft社のExplorer(登録商
標))のブックマークと、日程行事と、電子メールメッ
セージ(例えば、受信箱、送信アイテム、削除済アイテ
ム)と、メモと、タスクと、ファイル(例えば、ワード
プロセッサに特化した文書、電子的プレゼンテーショ
ン、スプレッドシート、バイナリフォーマットの実行可
能ファイル)と、を含む様々なクラスのデータが、複数
の装置の間で処理されかつ同期がなされる。
【0020】例えば、ユーザが家庭用PC16にMicros
oft社のOutlook(登録商標)をインストールしておき、
このユーザが5人の情報を連絡フォルダに入力したとい
うシナリオについて考える。連絡フォルダの中身を同期
させるようにユーザにより指示が出された際には、クラ
イアントソフトウェアは、Outlook(登録商標)にアク
セスして、データパックCONT.D000の中に5人
の情報を組み立てる。この場合、UUID“CONT”
は、特定のオブジェクトとしての連絡情報を表し、サフ
ィックスD000は、このデータパックがバージョン
「0」であることを示している。連絡情報は、それぞれ
に独自のID番号1,2,...5が割り当てられた5つの
トランザクションの集合としてデータパックCONT.
D000に結合される。ID1は、Jane Smithについて
の連絡情報を表し、ID2は、John Doeについての連絡
情報を表すであろう。この例では、各トランザクション
1,2,...5は、結合アクションを示す「追加」と関連
する。この後、データパックCONT.D000は、ネ
ットワーク10にアップロードされ、例えば格納サーバ
12に記憶される。
【0021】この後、オフィス用PC18はネットワー
ク10に接続され、また、オフィス用PC18は、オフ
ィス用PC18がいかなるデータパックをもダウンロー
ドしていないということを管理サーバ15に通知する信
号を、管理サーバ15に対して送信する。管理サーバ1
5は、オフィス用PC18が前回ネットワーク10に接
続されて以来、連絡用の更新情報のデータパックCON
T.D000が格納サーバ12に記憶されていないとい
うことを示すための信号を、オフィス用PC18に対し
て送信することにより、応答する。これに応えて、オフ
ィス用PC18は、データパックCONT.D000を
要求するための信号を、管理サーバ15に対して送信す
る。格納サーバ12に記憶された最新のデータパックが
識別(この例では、連絡データCONT.D000のバ
ージョン0)された後、データパックCONT.D00
0は、オフィス用PC18にダウンロードされる。
【0022】この後、このデータパックにおける更新情
報(この場合には連絡情報の「追加」であるが)は、オ
フィス用PC18における適切なアプリケーションに適
用される。この例では、オフィス用PCのクライアント
ソフトウェアは、Lotus Notes(登録商標)アプリケー
ションを用いて連絡情報を同期させるように構成されて
いる。これにより、CONT.D000からの5つの追
加は、Lotus Notes(登録商標)の連絡情報に適用され
るので、家庭用PC16およびオフィス用PC18にお
ける連絡情報は同期する。この後、オフィス用PC18
は、オフィス用PC18が連絡データパッケージのバー
ジョン「0」を適用したことを示すための信号を管理サ
ーバ15に対して返送する。この情報は、好ましくは、
更新情報をダウンロードおよびアップロードを行うネッ
トワークに接続される各装置およびあらゆる装置につい
て、管理サーバ15によりレジストリ内に保持される。
【0023】この後、オフィス用PC16のユーザは、
Lotus Notes(登録商標)における連絡情報を更新し、
1つ以上の連絡情報を追加する。この例では、10個の
新しい連絡情報が追加される。この結果、Lotus Notes
(登録商標)アプリケーションは、ネットワーク10に
対して、それぞれが、結合アクションを示す「追加」を
有する10個の連絡情報を含むデータパッケージであ
る、第2のデータパッケージをアップロードする。この
データパッケージは、CONT.D000における情報
よりも新しい更新情報を表す。オフィス用PC18によ
りアップロードされたデータパッケージは、独自のファ
イルネーム(この場合にはCONT.D001)により
認識される。加えて、オフィス用PC18は、CON
T.D001がネットワーク10にアップロードされて
いるということを確認するための信号を、管理サーバ1
5に対して送信する。オフィス用PC18がCONT.
D001における更新情報を既に適用しているというこ
とを示すために、レジストリが更新される。
【0024】家庭用PC16は、この後、データネット
ワーク10に接続し、家庭用PC16におけるクライア
ントソフトウェアは、ネットワーク10に接続された管
理サーバ15と通信を行う。具体的には、家庭用PC1
6は、最近家庭用PC16がデータネットワーク10に
接続されたことを示す最新バージョンの更新情報として
のCONT.D000を識別するための信号を、管理サ
ーバ15に対して送信する。管理サーバ15は、格納サ
ーバに対して、連絡情報についての変更事項のより新し
いデータパッケージがないかどうかを問い合わせる。管
理サーバ15は、このようなデータパッケージ(この場
合にはCONT.D001)を識別して、このようなデ
ータパッケージが存在することを家庭用PC16に通知
するための信号を、家庭用PC16に対して送信する。
家庭用PC16におけるクライアントソフトウェアは、
この後、新しいデータパッケージを要求し、管理サーバ
15は、このデータパッケージを家庭用PC16に対し
てダウンロードする。このデータパッケージにおける更
新情報(この場合には、追加されるCONT.D001
からの10個の連絡情報)は、この後、家庭用PC16
におけるMicrosoft社のOutlook(登録商標)により維持
される連絡情報に適用される。Microsoft社のOutlook
(登録商標)に対する更新情報の通信、および、この後
のOutlook(登録商標)における連絡情報に対する更新
は、家庭用PC16におけるクライアントソフトウェア
により整合される。これにより、家庭用PC16および
オフィス用PCにおける連絡情報は再度同期する。
【0025】「追加」に加えて、その他のトランザクシ
ョンが、本発明の一実施形態に加えられる。これらのう
ちの1つは「変更」である。この例を用いると、CON
T.D001がネットワーク10にアップロードされた
後、ある人物についての連絡情報が変化することがあ
る。例えば、Jane Smithは、電話でユーザを呼び出し、
そのユーザに対してJaneが自分の電話番号を変えたこと
を教える。この後、そのユーザは、オフィス用PC18
にアクセスし、このユーザの連絡フォルダにおけるJane
Smithの電話番号を変更する。
【0026】このユーザは、この後、例えば、クライア
ントソフトウェアによるコンピュータスクリーンに表示
された「同期ボタン」を起動することにより、新しいデ
ータパッケージまたは変更ログCONT.D002が、
作成されてネットワーク10にアップロードされ、ま
た、格納サーバ12または14のうち1つに記憶され
る。データパッケージCONT.D002がアップロー
ドされたことを管理サーバ15に通知するために、オフ
ィス用PC18により管理サーバ15に対して信号が送
信される。データパッケージCONT.D002は、
「追加」に代えて「変更」を用いるという点において、
データパッケージCONT.D000およびCONT.D
001と異なる。この変更指示およびこれに関連する更
新情報は、特定のユーザと相互に関連がある。具体的に
は、この変更指示は、適当なID(この場合には、Jane
Smithを表すID1)に関連する。加えて、データパッ
ケージCONT.D002は、変更すべきフィールド
(この場合には「電話」)および新しい情報(この場合
にはJane Smithの新しい電話番号)を含む。
【0027】この後、家庭用PC16がネットワーク1
0に接続する際には、データパッケージCONT.D0
02は家庭用PC16にダウンロードされ、クライアン
トソフトウェアは、ID1について、フィールド「電
話」内の情報が更新されていることを認識する。この変
更は、この後、Microsoft社のOutlook(登録商標)によ
りこの連絡情報に対してなされる。この後、家庭用PC
16は、この家庭用PC16がバージョン2の連絡デー
タパッケージにおける更新情報を受信して適用したとい
うことを確認するための確認信号を、管理サーバ15に
対して送信する。この後、家庭用PC16についてのレ
ジストリにおける適当な情報がアップロードされる。家
庭用PC16が次にネットワーク10に接続する際に
は、家庭用PC16は、この家庭用PC16がCON
T.D002を受信したということを示すための信号を
管理サーバに対して送信する。連絡情報についての更新
情報を有するこの後のデータパッケージは、格納サーバ
に記憶されていないので、いかなるデータパッケージも
家庭用PC16に対してダウンロードされない。
【0028】様々なクラスのデータに対して変更がなさ
れているので、データパッケージは、格納サーバ12、
14に蓄積し、貴重な格納スペースを消費する。記憶さ
れたデータパッケージの数が増加するにつれて、格納サ
ーバ12、14における利用可能な格納スペースは減少
する。上記例では、説明上仮定すれば、データパッケー
ジCONT.D000は格納サーバ12において2キロ
バイトのメモリを占有し、CONT.D001は1キロ
バイトのメモリを占有し、CONT.D002は0.5キ
ロバイトを占有するので、合計3.5キロバイトのメモ
リが占有されることになる。ユーザが例えば25メガバ
イト(M)のメモリしか利用できない状況では、利用可
能な格納スペースの量は、データパッケージがアップロ
ードされ変更ログが変更されるにつれて、格納サーバ1
2、14における格納スペースが使い尽くされるまで減
少する。
【0029】この結果、本発明に先行して、同期を行う
ごとに、同期の対象となるデータにおける変更事項を記
録するための独自の変更ログを生成する。この後、変更
ログは、例えばインターネット接続を介してネットワー
ク10にアップロードされ格納サーバ12に記憶され
る。時間上では、ユーザが更なる同期を行うにつれて変
更ログが蓄積する。また、新しいクライアント装置、ま
たは、最近同期されていないクライアント装置がネット
ワーク10に接続されるので、蓄積した変更ログのすべ
てのセットまたはいくつかの実質的なセットが、一度に
ダウンロードされ適用される。この結果、3つの変更ロ
グ(例えば、第1の変更ログは、連絡の家庭用電話番号
における変更を記録し、第2の変更ログは、更なる連絡
用のワーク電話番号を記録し、第3の変更ログは、連絡
の全体的な削除を記録するであろう。)が存在していれ
ば、3つの変更ログすべては、たとえ連絡が完全に削除
されていたとしても、新しいクライアント装置がこの後
同期する際に、クライアント装置に一度にダウンロード
され適用される。
【0030】一連の変更ログが存在している状況では、
同一のアイテムに対して競合する変更事項が多数存在し
ていることがあるかもしれない。このような状況が発生
した際には、ユーザは、競合するバージョンのうちいず
れを保持するかを決定するように要求される。変更ログ
の統合化に先行して(すなわち、多数の変更ログを用い
て)、競合が存在しているアイテムが変更される度に、
ユーザは、表面上、同一の競合を解決する必要があっ
た。統合化されたログ(統合化ログ)では、一般的に、
各アイテムについて1つしか入力事項(entry)が存在
しないので、これにより、解決すべき競合としては1つ
しか存在しない。
【0031】また、大量の変更ログが生成されている状
況では、各変更ログを古い順にダウンロードして適用す
るということに、固有の潜在的な非効率性が相当存在す
る。所定のアイテム入力事項には、1つか2つのフィー
ルドしか存在せず、また、連続した変更ログにおける入
力事項に分散した同一のアイテムに属するその他のフィ
ールドが存在するであろう。さらに、これらの後の入力
事項の中には、以前の入力事項に上書きするものもあ
る。この結果、変更ログのシーケンスにおいてアイテム
レコードが発生する毎に、別々のトランザクションが必
要となり、また、ある1つの同期を実行する間に、ある
1つのレコードにおける同一フィールドを何度も更新す
ることが可能となってしまう。変更ログを統合化するこ
とにより、冗長的な変更することをなくし、かつ、1つ
のトランザクションによりレコードを効率的に更新する
ことができる。さらに、本発明の効率を最大限に高める
ために、圧縮されたしきい値でさえも超えてしまうので
あれば、統合化変更ログを短縮または圧縮する手段が設
けられる。
【0032】ファイル(例えばMicrosoft社のWord文
書)のような大量のデータを含むアイテムについては、
変更事項は「バイナリーデルタ(binary deltas)」と
して転送される。これは、最適化されたパッケージであ
り、このパッケージは、ある「バージョン」から次の
「バージョン」にバイナリイメージを変換するのに必要
な情報に対して符号化を行う。変更事項が蓄積するにつ
れて、集められたそれぞれのデルタ(deltas)のサイズ
は、最終的にはオブジェクト自体のサイズを超える。こ
の時点で、新しいベースバージョン、すなわち、バージ
ョン「0」が確立されて完全なオブジェクトが送られ
る。しかしながら、変更ログは、実際のデルタまたはデ
ータではなく識別子を含む。この識別子は、変更ログが
適用される際に、デルタ自体を要求するために用いられ
る。この結果、ファイルに対して変更ログを統合する際
には、新しいベースバージョンが現れたならば、存在し
ている変更事項がフラッシュされて、新しいベースバー
ジョンおよびこの後の変更事項のみをダウンロードする
必要がある。また、ユーザが競合を有しファイルにおけ
る局所バージョンを選択することによりこの競合を解決
するのであれば、新しいバージョン「0」を確立しなけ
ればならない。なぜならば、ローカルバージョンと格納
された変更ログにおけるバージョンとの間の関係を認識
することは不可能であるからである。
【0033】本発明の変更ログの統合化および最適化の
メカニズムは、クライアント装置において実現される。
具体的には、本発明の変更ログの統合化および最適化の
メカニズムは、変更ログがフェッチされて更新アプリケ
ーションデータに解釈される、ダウンロードおよび適用
シーケンスに挿入される。各変更ログをダウンロードし
たときに適用するのではなく、この各変更ログは、「圧
縮された(rolled)」ログ、すなわち、統合されたログ
に合併される。本発明の変更ログの統合化および最適化
のメカニズムは、さらに図1Aおよび図2におけるフロ
ー図に示されている。
【0034】図1Aは、現在の変更ログを統合化された
変更ログ(統合化変更ログ)に追加した様子を示してい
る。ダウンロードおよび統合化シーケンスは、図1Aの
工程100から始まる。工程103では、圧縮されたロ
グ、すなわち、統合化されたログ(統合化ログ)が生成
される。このシーケンスにおける各変更ログについて、
工程106が始まり、以下に示す工程が実行される。工
程109では、現在の変更ログが検索される、または、
ダウンロードされる。この後、工程112において、現
在の変更ログが統合化ログに追加される。この後、工程
115において現在の変更ログが消去され、また、上記
シーケンスにおいて追加すべき変更ログがなくなるま
で、工程118は工程109、112および115を繰
り返す。一旦このようなことが起こると、統合化ログは
工程120においてクローズされ、ダウンロードおよび
統合化シーケンスが工程121において終了する。本発
明のダウンロード開始および統合化シーケンスについて
は、以下のような工程に要約することができる。 1.統合化ログの生成 2.変更ログのフェッチ(ダウンロード) 3.統合化ログに対する変更ログの追加 4.変更ログの消去 5.統合化すべき各変更ログについての、フェッチ・追
加・消去シーケンスの繰り返し 6.統合化ログのクローズ 図2は、図1Aにおける工程112を拡張した図を示
す。現在の変更ログにおける各アイテムについて、以下
に示す工程が実行される。工程206において、現在の
変更ログにおけるアイテムがまず第1に検索され、工程
209において、マップが更新される。このマップは、
統合化動作または合併動作を容易にするためのメタデー
タを記憶する。このマップによって、キーとこのキーが
関連するアイテムとの一多的な関係が得られる。これ
は、その変更事項が「デルタ」として認識されるアイテ
ムタイプにとっての必要要素である。なぜならば、各変
更事項を別々にかつ順次適用しなければならないからで
ある。この後、工程212において統合化ログが更新さ
れ、工程215においてアイテムロケーション情報もま
た更新される。工程218および工程221ではとも
に、現在の変更ログから検索された現在のアイテムが、
統合化ログに書き込まれるとともに記憶される。検索を
し、検索された変更ログを統合化ログに合併する際に
は、この処理が、各フィールドを配置し、かつ、正しい
変更ログの中から各フィールドのデータを探し出すため
に、マップにおけるメタデータ(meta-data)を用いて
同一アイテムについての2つのレコードからのデータを
結合する、ということに注意すべきである。合併したデ
ータを有するアイテムが一旦統合化ログの終端に書き込
まれれば、以前の入力事項については、古いものとして
マークされるので、後で消去することができる。
【0035】現在の変更ログに一旦付加すべきアイテム
がなくなれば、工程227では、本発明は、圧縮された
しきい値を超えたかどうかを決定する。圧縮されたしき
い値を超えていれば、工程230では、統合化ログのサ
イズを短縮または圧縮するために、圧縮された統合化ロ
グ工程230が開始される。圧縮された統合化ログ工程
230は、統合化ログのサイズを最小化して格納サーバ
12、14におけるメモリを節約するべく、この統合化
ログにおける古いレコードを本質的に除去する。このよ
うに古いレコードを除去することは、有効(いかなる古
いアイテムをもスキップした)レコードのみを読み込
み、いかなる古いアイテムをもスキップすることなく統
合化ログに対してアイテムを書き戻し、古いレコードの
上に対して、統合化ログにおけるデータを効率的に差し
込んで、これらの古いレコードを除去することを、統合
化ログにおける各レコードについて繰り返すことによ
り、実現される。
【0036】これにもかかわらず、工程227における
圧縮されたしきい値を超えているのであれば、工程11
2で開始した一連の工程は、工程233で終了する。工
程112から始まる一連の工程では、現在の変更ログか
ら各レコードを効果的に読み込み、この読み込んだ情報
を統合化ログに配置する。図2における統合化ログシー
ケンスに対して変更ログを追加することについては、次
のような工程により要約することができる。 1.アイテム情報の取得 2.マップの更新 3.統合化ログの更新 4.アイテムロケーション情報(マップにおける)の更
新 5.有効なアイテムの取得する間での、上記シーケンス
を繰り返し 6.圧縮されたしきい値に到達していれば、統合化ログ
の圧縮 図3は、図2における工程206を拡張した図を示す。
工程303では、本発明は、まず第1に、現在位置が変
更ログのサイズより小さいかどうかを決定する。レコー
ドの現在位置が変更ログのサイズより小さくなければ、
工程339において無効メッセージが戻されて処理が工
程342において終了する。しかしながら、現在位置が
変更ログのサイズより小さければ、工程306において
動作コードが読み込まれる。本発明は、この後、工程3
09において、この動作コードが有効動作と関連するか
どうかを決定する。この動作コードが有効動作でなけれ
ば、工程318においてログエラーが生成されて、工程
339において無効メッセージが戻されて、処理は工程
342において終了する。しかしながら、動作コードが
有効コードに関連していれば、工程312において、レ
コードの現在位置が変更ログから検索される。工程31
5では、本発明は、動作コードが「NOP」すなわち非
動作に対応するかどうかを決定する。このNOPは、本
質的にスキップ動作の基となる。動作コードがNOPに
対応するのであれば、工程336において有効メッセー
ジが戻され、処理は工程342において終了する。しか
しながら、動作モードがNOPでなければ、工程321
において、アイテムに関連する情報が、変更ログ(I
D、親ID、フラグ、タイプ)から読み込まれる。
【0037】工程324では、本発明は、動作コードが
消去機能に対応するかどうか決定する。動作コードが消
去機能に対応するのであれば、工程336において、有
効メッセージが戻され、工程342において処理が終了
する。しかしながら、動作コードが消去機能に対応しな
いのであれば、現在の変更アイテムについて別のフィー
ルドが存在する間、工程330において、このアイテム
に対するフィールド情報が得られかつこのアイテムに追
加される。現在のアイテムについて追加すべきフィール
ドが存在しない際には、工程327で始まるforルー
プが工程333で終了する。この後、工程336におい
て有効メッセージが戻され、工程342において処理が
終了する。以下に示す工程により、図3における「アイ
テム情報の取得」シーケンスを要約することができる。 1.読み込み位置が終端を超えていれば、無効を戻す 2.動作コードの読み込み 3.動作コードが無効であれば、有効を戻す 4.現在位置の取得 5.動作が「NOP(非動作)」であれば、有効を戻す 6.アイテム情報の読み込み 7.動作が消去であれば、有効を戻す 8.フィールド情報を取得して現在のアイテムに追加す
る 9.現在のアイテムレコードにおける各フィールドにつ
いて、フィールド取得および追加を繰り返す 10.有効を戻す 図4は、図2における工程209を拡張した図を示す。
この時点では、所定のアイテムにおけるすべてのフィー
ルドが、変更ログから検索されている。工程403で
は、本発明は、このアイテムがマップに存在するかどう
かを決定する。このアイテムがマップに存在しなけれ
ば、工程409において、このアイテムがマップに挿入
され、工程418においてアイテム・フィールド位置情
報が更新され、工程421において処理が終了する。し
かしながら、このアイテムがマップに存在しなければ、
工程406において、本発明は、この検索されたアイテ
ムがファイルであるかどうかを決定する。この検索され
たアイテムがファイルであれば、工程412において、
実行および「マップにファイルアイテムを追加する」一
連の工程が実行される。この後、ファイルロケーション
情報におけるアイテムが更新され、工程421において
処理が終了する。しかしながら、この検索されたアイテ
ムがファイルでなければ、工程415において、「マッ
プへアイテムをデフォルトで追加する」ための一連の工
程が実行される。工程421において、アイテムおよび
フィールド位置情報が再度更新されて、処理が終了す
る。
【0038】図5は、図4における工程412を拡張し
た図を示す。工程503において、本発明は、ファイル
が新しいベースバージョンを有するかどうかを決定す
る。このファイルが新しいベースバージョンを持ってい
れば、工程515において、存在する入力事項がマップ
から取り除かれ、統合化ログにおけるレコードが古いも
のとしてマークされ、このファイルがマップに挿入さ
れ、工程525において処理は終了する。しかしなが
ら、このファイルが新しいベースバージョンを有してい
なければ、工程506において、本発明は、このファイ
ルが、変更(change)、強制変更(force change)また
は移動(move)であるかを決定する。このファイルが、
変更、強制変更または移動のいずれかであれば、工程5
16においてこのファイルがマップに追加される。ファ
イルアイテムの変更事項を連続的に適用しなければなら
ないし、このファイルアイテムの変更事項を統合化する
ことはできない。これにより、1つのアイテムについて
のアイテムレコードの「スタック」を維持するために
は、キーとアイテムとの間の「一多性の」関係を容易に
するマップを用いる必要がある。この後、工程525に
おいて処理は終了する。
【0039】しかしながら、このファイルが、変更、強
制変更または移動でなければ、工程509において、本
発明は、このファイルアイテムが消去であるかどうかを
決定する。このファイルアイテムが消去であれば、工程
519において、存在する入力事項がマップから取り除
かれ、統合化ログにおけるレコードが古いものとしてマ
ークされ、消去がマップに挿入され、工程525におい
て処理が終了する。このファイルアイテムが新しいベー
スバージョンを有しておらず、かつ、このファイルアイ
テムが、変更、強制変更または移動ではなく、かつ、こ
のアイテムファイルが消去でなければ、工程512にお
いてこのファイルアイテムはデフォルトにより追加とな
る。工程522において、存在している入力事項は、統
合化ログにおけるレコードが古いものとマークされたマ
ップから取り消され、追加がマップに挿入される。一旦
これがなされると、工程525において処理は終了す
る。
【0040】図6は、図4における工程415を拡張し
た図を示す。工程603において、本発明は、アイテム
(この場合にはこのアイテムはファイルではない)が、
変更、強制変更または移動であるかを決定する。このア
イテムが、変更、強制変更または移動であれば、工程6
12において、新しいログからのアイテムが統合化ログ
におけるアイテムに合併される。しかしながら、このア
イテムが、変更、強制変更または移動でなければ、工程
606において、本発明は、このアイテムが「追加」で
あるかどうかを決定する。このアイテムが追加であれ
ば、工程615において、存在する入力事項がマップか
ら取り消され、統合化ログにおけるレコードが古いもの
としてマークされ、この追加がマップに挿入される。し
かしながら、このアイテムが「追加」でなければ、工程
609においてデフォルトにより、このアイテムは消去
となる。この後、工程618では、マップに存在する入
力事項が取り除かれ、統合化ログにおけるレコードが古
いものとしてマークされ、消去がマップに挿入される。
工程612、615および618の後に、工程621に
おいて処理が終了する。
【0041】図7は、図6における工程612を拡張し
た図を示す。工程703から始まって、現在のアイテム
における各フィールドについて、以下の工程が実行され
る。工程706では、本発明は、現在のフィールドが本
体フィールドまたはフォーマット済の本体フィールドで
あるかどうかを決定する。現在のフィールドが本体フィ
ールドまたはフォーマット済の本体フィールドでなけれ
ば、工程712において、本発明は、現在のフィールド
が既に存在しているかどうかを決定する。現在のフィー
ルドが既に存在しているのであれば、フィールドが外部
工程717において合併される。しかしながら、現在の
フィールドがもう存在していなければ工程720におい
て、現在のフィールドは統合化ログにおけるアイテムに
追加される。工程706に戻り、フィールドが本体フィ
ールドまたはフォーマット済の本体フィールドであれ
ば、本発明は、このフィールドが既に工程709におい
て取り除かれているかどうかを決定する。このフィール
ドが取り除かれていなければ、工程714において、上
述した例におけるフィールドのいずれかが、たとえある
にしても、見つけられて取り除かれ、この後、工程72
0において、現在のフィールドが統合化ログにおけるア
イテムに追加される。しかしながら、このフィールドが
取り除かれているのであれば、工程709は、現在のフ
ィールドが統合化ログにおけるアイテムに追加される工
程720に直接移行する。処理が現在のアイテムにおけ
る各フィールドにわたって循環した際には、工程703
から始まったforループは工程723で終了する。こ
の後、処理は工程726において終了する。
【0042】図8は、図7における外部工程717を拡
張した図を示す。工程803において、本発明は、所定
のフィールドが収集(collection)であるかどうかを決
定する。このフィールドが収集であれば、工程812に
おいて、現在の収集における各フィールドについて、以
下に示す工程が実行される。工程818において、本発
明は、現在のフィールドが既に存在しているがどうかを
決定する。現在のフィールドが既に存在していれば、外
部工程823が実行され、現在の収集におけるフィール
ドが統合化ログに合併される。現在のフィールドが既に
存在していなければ、工程826において現在のフィー
ルドがリストに追加される。工程829は、現在の収集
において追加すべきフィールドがなくなるまで、工程8
18、823および826を繰り返す。工程803に戻
り、フィールドが収集でなければ、工程806におい
て、本発明は、このフィールドが本体フィールドまたは
フォーマット済の本体フィールドであるかどうかを決定
する。このフィールドが本体フィールドまたはフォーマ
ット済の本体フィールドでなければ、工程814におい
て、フィールド情報が置換される。しかしながら、この
フィールドが本体フィールドまたはフォーマット済の本
体フィールドであれば、工程809において、本発明
は、このフィールドが既に取り除かれているかどうかを
決定する。このフィールドがまだ取り除かれていなけれ
ば、工程816において、上述した例におけるフィール
ドのいずれかが、たとえあるにしても、見つけられて取
り除かれる。このフィールドが取り除かれれば、工程8
20において、現在のフィールドは統合化ログにおける
アイテムに追加される。工程829、814および82
0の後、工程832において処理は終了する。
【0043】図9は、図2における外部工程230を拡
張した図を示す。本発明は、まず工程903から始ま
り、古いレコードが存在するかどうかを決定する。古い
レコードが存在しなければ、処理は工程972において
終了する。しかしながら、古いレコードが存在するので
あれば、工程906において、読み込みおよび書き込み
の両方の場合についての統合化ログにおけるレコード開
始部のシークが実行される。工程909により開始され
るforループが、読み込みの場合についての動作コー
ドが読み込まれる工程912において始まる。工程92
1では、本発明は、工程912における動作コードの読
み込みが非動作であるかどうかを決定する。動作が非動
作であれば、動作コードが工程933において書き込ま
れる。工程933の後に、工程966において統合化ロ
グの終端にまで到達したならば、工程969において、
統合化ログのサイズがリセットされ、統合化ログがフラ
ッシュされ、この後、工程972において処理は終了す
る。
【0044】しかしながら、工程921における動作が
非動作でないならば、工程918において、ID、親I
D、タイプおよびフラグを含むアイテム情報が読み込ま
れる。工程915では、現在のアイテムが古いものであ
る限り、以下に示す工程が実行される。工程924で
は、読み込みポインタが次の動作コードの先に進められ
る。工程936では、動作コードが読み込まれ、工程9
45では、本発明は、この動作が非動作であるかどうか
を決定する。動作が非動作でないならば、工程954に
おいて、ID、親ID、タイプおよびフラグを含むアイ
テム情報が読み込まれる。しかしながら、工程945で
非動作と決定されてしまえば、工程960では、現在の
アイテムが古いものである間、処理は工程915に戻
る。このときには、工程927において書き込み動作が
実行され、工程930において、本発明は、動作コード
が非動作と関連するかどうかを決定する。
【0045】工程927における動作コードが非動作と
関連するのであれば、処理は、統合化ログの終端にまで
到達しない限り工程909へループを戻す工程966に
進む。しかしながら、工程927における動作コードが
非動作と関連しないのであれば、工程942において、
アイテム情報(ID、親ID、タイプおよびフラグ)が
書き込まれる。工程927における動作コードが消去に
対応するのであれば、処理は、統合化ログの終端にまで
到達しない限り工程909へループを戻す工程966に
進行する。工程927における動作コードが消去でなけ
れば、現在のアイテムについて別のフィールドがある
間、工程943から始まる以下に示す工程が実行され
る。工程948ではフィールドが読み込まれ、工程95
7ではフィールドが書き込まれる。現在のアイテムにつ
いて追加すべきフィールドが一旦なくなれば、処理は工
程966へ進行し、統合化ログの終端にまで到達したの
であれば、処理は工程969および972へ進む。
【0046】図10は、フィールド情報を取得する工程
を表現するフロー図を示す。工程1003において、初
めに、フィールドタグおよび現在位置が読み込まれる。
工程1015では、本発明は、このフィールドが収集で
あるかどうかを決定する。このフィールドが収集であれ
ば、工程1021において、収集フィールド(カウン
ト)が読み込まれ保存される。この後、工程1033に
おいて、フィールドとカウントのペアが収集フィールド
スタックに追加される。この後、工程1066において
処理は終了する。しかしながら、工程1015に戻り、
フィールドが収集でなければ、工程1006において、
本発明は、このフィールドが収集の一部であるかどうか
を決定する。このフィールドが収集の一部でなければ、
工程1048では、このフィールドが現在のアイテムの
フィールドリストに追加される。この後、工程1060
において変更ログが次のフィールドに進められ、工程1
066において処理は終了する。工程1006に戻って
みると、フィールドが収集の一部であれば、工程100
9において、このフィールドが保持スタック(holding
stach)に保存される。この後、工程1012におい
て、収集フィールドスタックが空になるまで、以下に示
す工程が実行される。工程1018では、本発明は、現
在の収集が一杯(フル)であるかどうかを決定する。現
在の収集が一杯でなければ、工程1024において、本
発明は、保持スタックが空であるかどうかを決定する。
保持スタックが空であれば、統合化ログは、工程106
0において示したように、次のフィールドに進められ、
処理は工程1066で終了する。しかしながら、保持ス
タックが空でなければ、工程1030において、フィー
ルドが保持スタックからポップ(pop)される。この
後、工程1045において、このフィールドが現在の収
集フィールドのリストに追加され、そのカウンタがデク
リメントされる。
【0047】工程1018に戻り、現在の収集が一杯で
あれば、工程1027において、現在の収集は、保持ス
タックに追加されるとともに、収集フィールドスタック
から取り除かれる。この後、工程1036において、本
発明は、収集フィールドスタックが空であるかどうかを
決定する。収集フィールドスタックが空であれば、工程
1051において、保持スタックに入力事項が存在して
いる限りにおいて(すなわち、工程1042および10
57が定めるforループにより確立された条件が依然
として有効であれば)、保持スタックに入力事項が存在
しなくなるまで、このフィールドの入力事項は、保持ス
タックからポップオフされるとともに親アイテムのフィ
ールドに追加される。工程1036に戻ってみると、収
集フィールドスタックが空でなければ、工程1039に
おいて、本発明は、現在の収集が一杯であるかどうかを
決定する。現在の収集が一杯でなければ、工程1054
において、フィールドは、保持スタックからポップオフ
されるとともに、現在の収集フィールドに追加され、収
集カウントがデクリメントされる。現在の収集が一杯で
あれば、工程1039は直接工程1063に進み、工程
1063は、収集フィールドスタックが空でなければ、
ループを工程1012に戻す。
【0048】以上のような本発明の好ましい実施形態に
ついては、説明および記載を目的として記載してきた。
徹底的であることを意図していないし、本発明をここで
開示した形体そのものに限定することをも意図していな
い。多くの変更および変形を施すことは、当業者にとっ
て明らかであろう。本発明の原理および本発明を実際に
適用することを最もよく説明し、これにより、当業者
が、様々な実施形態についての本発明、および、意図し
た特定の利用に適したような様々な変更を施した本発明
を理解することができるように、上記実施形態を選択し
て説明している。本発明の範囲は、別記請求項およびこ
れらの均等物により特定されるものである。
【図面の簡単な説明】
【図1】本発明にかかる変更ログの統合化および最適化
のメカニズムを有するデータ転送および同期システムの
一例を示すブロック図
【図1A】本発明のダウンロードおよび統合化シーケン
スの開始を示すフロー図
【図2】本発明にかかる統合化変更ログに対して変更ロ
グを追加する一連の工程を示すフロー図
【図3】本発明にかかる変更ログのアイテムを取り戻す
工程を示すフロー図
【図4】本発明にかかる変更ログのマップを更新する工
程を示すフロー図
【図5】本発明にかかるファイルアイテムを追加する一
連の工程を示すフロー図
【図6】本発明にかかるアイテムを追加する一連のデフ
ォルト工程を示すフロー図
【図7】本発明にかかるアイテムのフィールドを合併す
る工程を示すフロー図
【図8】本発明にかかる収集のフィールドを合併する工
程を示すフロー図
【図9】本発明にかかる統合化ログを圧縮する工程を示
すフロー図
【図10】本発明にかかる変更ログの現在のアイテムか
らフィールドを取り戻す工程を示すフロー図
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ロバート イー ガーナー アメリカ合衆国 ジョージア州 30043 ローレンスヴィル ヒドゥン ウッド コ ート 309 (72)発明者 レイトン エイ リッドガード アメリカ合衆国 ジョージア州 30294 エレンウッド フレイクス ミル マナー レーン 4152 (72)発明者 ライアム ジェイ スタナード アメリカ合衆国 ジョージア州 30043 ローレンスヴィル プロスペクト ロード 1584 (72)発明者 ドナルド ダブリュ キャッシュ アメリカ合衆国 ジョージア州 30338 ダンウッディー ヴァンダーリン ドライ ヴ 1748 (72)発明者 ジョセフ ロバートソン アメリカ合衆国 ジョージア州 30683 ウィンターヴィル チャーリー ボルトン ロード 802 Fターム(参考) 5B082 GA01 GA14 GB02 HA05

Claims (11)

    【特許請求の範囲】
  1. 【請求項1】 データ転送および同期システムにおける
    クライアント装置のアプリケーションデータを更新する
    方法であって、 それぞれが前記アプリケーションデータへの変更事項を
    反映する複数の変更ログにおける第1の変更ログを、サ
    ーバシステムからダウンロードする工程と、 前記第1の変更ログを統合化ログに追加する工程と、 前記第1の変更ログを消去する工程と、 追加すべき変更ログがなくなるまで、前記複数の変更ロ
    グにおける次の変更ログについて、前記ダウンロードす
    る工程、前記追加する工程および前記消去する工程を繰
    り返す工程と、 前記統合化ログを前記アプリケーションデータに適用し
    て、該アプリケーションデータを更新する工程と、を具
    備することを特徴とする方法。
  2. 【請求項2】 前記追加する工程は、 (a)前記アプリケーションデータにおける有効アイテ
    ムについての情報を検索する工程と、 (b)前記統合化ログにおける、メタデータを記憶する
    マップを更新する工程と、 (c)前記アイテムを前記統合化ログに書き込む工程
    と、 (d)前記マップにおける前記有効アイテムの位置を更
    新する工程と、 (e)現在の変更ログにおいて残っているすべての有効
    アイテムについて、工程(a)から工程(d)を繰り返
    す工程と、 を具備することを特徴とする請求項1に記載の方法。
  3. 【請求項3】 (f)圧縮されたしきい値を超えるまで
    前記統合化ログを圧縮する工程を具備することを特徴と
    する請求項2に記載の方法。
  4. 【請求項4】 前記アプリケーションデータは、連絡、
    インターネットブラウザのブックマーク、日程行事、電
    子メールアドレス、メモ、タスクおよびファイルのデー
    タクラスを含むことを特徴とする請求項1に記載の方
    法。
  5. 【請求項5】 前記連絡は、複数の人物についての、名
    前、住所、電話番号および電子メールアドレスを識別す
    るレコードを含むことを特徴とする請求項4に記載の方
    法。
  6. 【請求項6】 前記ファイルは、バイナリフォーマット
    の、ワードプロセッサに特化した文書、電子プレゼンテ
    ーション、スプレッドシートおよび実行可能ファイルを
    含むことを特徴とする請求項4に記載の方法。
  7. 【請求項7】 前記アプリケーションデータは、一般的
    なデータフォーマットとなっていることを特徴とする請
    求項1に記載の方法。
  8. 【請求項8】 データ転送および同期システムにおける
    クライアント装置のアプリケーションデータを更新する
    装置であって、 それぞれが前記アプリケーションデータへの変更事項を
    反映する複数の変更ログを、サーバーシステムから繰り
    返し検索するダウンロードルーチンと、 前記複数の変更ログの内容を統合化ログに繰り返し統合
    化する合併ルーチンと、 前記複数の変更ログを繰り返し消去する変更ログ消去ル
    ーチンと、 前記統合化ログの内容を前記アプリケーションデータに
    適用して該アプリケーションデータを更新する更新ルー
    チンと、を具備することを特徴とする装置。
  9. 【請求項9】 前記合併ルーチンは、 前記アプリケーションデータから複数のアイテムを検索
    するアイテム検索ルーチンと、 マップがメタデータを記憶する前記統合化ログにおける
    前記マップを更新するマップ更新ルーチンと、 前記アプリケーションデータから前記複数のアイテムか
    らのフィールド情報を検索するフィールド検索ルーチン
    と、 前記マップにおける複数のアイテムの位置を更新するア
    イテム位置更新ルーチンと、を具備することを特徴とす
    る請求項8に記載の装置。
  10. 【請求項10】 前記合併ルーチンは、統合化ログ圧縮
    ルーチンを具備することを特徴とする請求項9に記載の
    装置。
  11. 【請求項11】 データ転送および同期システムにおけ
    る第1クライアント装置で、蓄積した変更ログを統合化
    ログに統合化し、アプリケーションデータを更新するた
    めに前記統合化ログを適用する方法であって、 それぞれが前記アプリケーションデータへの変更事項を
    反映する複数の変更ログにおける第1の変更ログを、サ
    ーバシステムからダウンロードする工程と、 前記第1の変更ログを統合化ログに追加する工程と、 前記第1の変更ログを消去する工程と、 追加すべき変更ログがなくなるまで、前記複数の変更ロ
    グにおける次の変更ログについて、前記ダウンロードす
    る工程、前記追加する工程および前記消去する工程を繰
    り返す工程と、 前記統合化ログを前記アプリケーションデータに適用し
    て、該アプリケーションデータを更新する工程と、を具
    備することを特徴とする方法。
JP2001287835A 2000-08-17 2001-08-17 変更ログを統合化および最適化する方法 Pending JP2002163137A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/642,615 US6925476B1 (en) 2000-08-17 2000-08-17 Updating application data including adding first change log to aggreagate change log comprising summary of changes
US09/642615 2000-08-17

Publications (1)

Publication Number Publication Date
JP2002163137A true JP2002163137A (ja) 2002-06-07

Family

ID=24577311

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001287835A Pending JP2002163137A (ja) 2000-08-17 2001-08-17 変更ログを統合化および最適化する方法

Country Status (3)

Country Link
US (1) US6925476B1 (ja)
EP (1) EP1180890A3 (ja)
JP (1) JP2002163137A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009199665A (ja) * 2008-02-21 2009-09-03 Hitachi Global Storage Technologies Netherlands Bv データ記憶装置及びデータ記憶装置におけるデータ管理方法
US7603435B2 (en) 2006-11-15 2009-10-13 Palm, Inc. Over-the-air device kill pill and lock
US8001177B2 (en) 2001-06-18 2011-08-16 Hewlett-Packard Development Company, L.P. Method and apparatus for automated personal information management data transfer for a wireless enabled handheld
US20120089716A1 (en) * 2010-10-12 2012-04-12 Igor Katz Method for accelerating start up of a computerized system
US9037685B2 (en) 2006-11-15 2015-05-19 Qualcomm Incorporated Intelligent migration between devices having different hardware or software configuration

Families Citing this family (132)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8156074B1 (en) 2000-01-26 2012-04-10 Synchronoss Technologies, 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
US6694336B1 (en) 2000-01-25 2004-02-17 Fusionone, Inc. Data transfer and synchronization system
US8620286B2 (en) 2004-02-27 2013-12-31 Synchronoss Technologies, Inc. Method and system for promoting and transferring licensed content and applications
US6671757B1 (en) 2000-01-26 2003-12-30 Fusionone, Inc. Data transfer and synchronization system
US8321356B2 (en) * 2000-05-18 2012-11-27 United Parcel Service Of America, Inc. System and method for calculating real-time costing information
US8725656B1 (en) 2000-05-18 2014-05-13 United Parcel Service Of America, Inc. Freight rate manager
US6944651B2 (en) 2000-05-19 2005-09-13 Fusionone, Inc. Single click synchronization of data from a public information store to a private information store
US6804699B1 (en) 2000-07-18 2004-10-12 Palmone, Inc. Identifying and locating lost or stolen personal digital assistant devices via a landline- or wireless-connected web server
US8073954B1 (en) 2000-07-19 2011-12-06 Synchronoss Technologies, Inc. Method and apparatus for a secure remote access system
US7895334B1 (en) 2000-07-19 2011-02-22 Fusionone, Inc. Remote access communication architecture apparatus and method
US6925476B1 (en) * 2000-08-17 2005-08-02 Fusionone, Inc. Updating application data including adding first change log to aggreagate change log comprising summary of changes
US7818435B1 (en) 2000-12-14 2010-10-19 Fusionone, Inc. Reverse proxy mechanism for retrieving electronic content associated with a local network
US7249190B2 (en) * 2001-02-09 2007-07-24 Comlet Technologies, Llc. Enhanced data exchange and presentation/communication system
US8615566B1 (en) 2001-03-23 2013-12-24 Synchronoss Technologies, Inc. Apparatus and method for operational support of remote network systems
US7702641B2 (en) * 2001-06-04 2010-04-20 Oracle America, Inc. Method and system for comparing and updating file trees
JP2003196232A (ja) * 2001-12-27 2003-07-11 Fuji Xerox Co Ltd 情報収集装置、情報収集方法
US7591020B2 (en) * 2002-01-18 2009-09-15 Palm, Inc. Location based security modification system and method
US7478170B2 (en) * 2002-03-05 2009-01-13 Sun Microsystems, Inc. Generic infrastructure for converting documents between formats with merge capabilities
US20030172070A1 (en) * 2002-03-06 2003-09-11 Sawadsky Nicholas Justin Synchronous peer-to-peer multipoint database synchronization
US7127467B2 (en) * 2002-05-10 2006-10-24 Oracle International Corporation Managing expressions in a database system
US7613741B2 (en) * 2002-08-01 2009-11-03 Oracle International Corporation Utilizing rules in a distributed information sharing system
US8005802B2 (en) * 2002-08-01 2011-08-23 Oracle International Corporation Partial evaluation of rule sets
US7565379B2 (en) * 2002-08-01 2009-07-21 Edwina Lu Preventing change cycling using rules and redo tags in a redo log
US20040024834A1 (en) * 2002-08-02 2004-02-05 Andrew Alegria Sharing personal information between computing devices
FI112998B (fi) * 2002-08-21 2004-02-13 Nokia Corp Menetelmä ja laite tiedonsiirtoon
US20040199552A1 (en) * 2003-04-01 2004-10-07 Microsoft Corporation Transactionally consistent change tracking for databases
US7360114B2 (en) * 2003-06-17 2008-04-15 International Business Machines Corporation Logging of exception data
US20040267823A1 (en) * 2003-06-24 2004-12-30 Microsoft Corporation Reconcilable and undoable file system
WO2005010715A2 (en) 2003-07-21 2005-02-03 Fusionone, Inc. Device message management system
US8365193B2 (en) 2003-08-14 2013-01-29 Oracle International Corporation Recoverable asynchronous message driven processing in a multi-node system
US20050181790A1 (en) * 2004-02-10 2005-08-18 Yach David P. Apparatus, and associated method, for facilitating efficient communication of data communicated pursuant to a syncrhonization session
US7865181B1 (en) 2004-03-19 2011-01-04 Single Touch Interactive, Inc. Searching for mobile content
US20050222996A1 (en) * 2004-03-30 2005-10-06 Oracle International Corporation Managing event-condition-action rules in a database system
US8266406B2 (en) 2004-04-30 2012-09-11 Commvault Systems, Inc. System and method for allocation of organizational resources
US7343459B2 (en) 2004-04-30 2008-03-11 Commvault Systems, Inc. Systems and methods for detecting & mitigating storage risks
WO2005112586A2 (en) 2004-05-12 2005-12-01 Fusionone, Inc. Advanced contact identification system
US9542076B1 (en) 2004-05-12 2017-01-10 Synchronoss Technologies, Inc. System for and method of updating a personal profile
EP1610233A1 (de) * 2004-06-22 2005-12-28 SNAP Innovation Softwareentwicklungsgesellschaft mbH Verfahren zur automatischen Synchronisierung eines computergestützten Dateisystems auf einer Mehrzahl von computern
JP4484618B2 (ja) 2004-07-30 2010-06-16 株式会社日立製作所 ディザスタリカバリシステム、プログラム及びデータの複製方法
WO2006018843A2 (en) * 2004-08-16 2006-02-23 Beinsync Ltd. A system and method for the synchronization of data across multiple computing devices
US7739246B2 (en) * 2004-10-14 2010-06-15 Microsoft Corporation System and method of merging contacts
GB2420882A (en) * 2004-12-02 2006-06-07 Nec Technologies Database synchronisation system
US7567975B2 (en) * 2005-03-16 2009-07-28 Oracle International Corporation Incremental evaluation of complex event-condition-action rules in a database system
US7801864B2 (en) 2005-11-28 2010-09-21 Commvault Systems, Inc. Systems and methods for using metadata to enhance data identification operations
US7778959B2 (en) * 2005-12-09 2010-08-17 Microsoft Corporation Protecting storages volumes with mock replication
US8930496B2 (en) 2005-12-19 2015-01-06 Commvault Systems, Inc. Systems and methods of unified reconstruction in storage systems
US8572330B2 (en) 2005-12-19 2013-10-29 Commvault Systems, Inc. Systems and methods for granular resource management in a storage network
US20200257596A1 (en) 2005-12-19 2020-08-13 Commvault Systems, Inc. Systems and methods of unified reconstruction in storage systems
US20110010518A1 (en) 2005-12-19 2011-01-13 Srinivas Kavuri Systems and Methods for Migrating Components in a Hierarchical Storage Network
US7606844B2 (en) 2005-12-19 2009-10-20 Commvault Systems, Inc. System and method for performing replication copy storage operations
US8661216B2 (en) * 2005-12-19 2014-02-25 Commvault Systems, Inc. Systems and methods for migrating components in a hierarchical storage network
US7651593B2 (en) 2005-12-19 2010-01-26 Commvault Systems, Inc. Systems and methods for performing data replication
CA2632935C (en) 2005-12-19 2014-02-04 Commvault Systems, Inc. Systems and methods for performing data replication
US20070195959A1 (en) * 2006-02-21 2007-08-23 Microsoft Corporation Synchronizing encrypted data without content decryption
US8510404B2 (en) * 2006-04-03 2013-08-13 Kinglite Holdings Inc. Peer to peer Synchronization system and method
WO2008005581A2 (en) * 2006-07-07 2008-01-10 United Parcel Service Of America, Inc. Compiled data for software applications
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
US8726242B2 (en) * 2006-07-27 2014-05-13 Commvault Systems, Inc. Systems and methods for continuous data replication
US20080147517A1 (en) * 2006-10-05 2008-06-19 International Business Machines Corporation Change aggregation via timestamps
KR100754227B1 (ko) 2006-10-31 2007-09-03 삼성전자주식회사 콘텐츠 동기화시에 콘텐츠 디렉토리 서비스를 제공하는UPnP 디바이스들 간에 리소스의 중복 저장을 방지하기위한 방법 및 장치
US7574444B2 (en) * 2006-11-15 2009-08-11 Palm, Inc. Device-side data de-duping
US8135798B2 (en) * 2006-11-15 2012-03-13 Hewlett-Packard Development Company, L.P. Over-the-air device services and management
US20080115141A1 (en) * 2006-11-15 2008-05-15 Bharat Welingkar Dynamic resource management
US8677091B2 (en) 2006-12-18 2014-03-18 Commvault Systems, Inc. Writing data and storage system specific metadata to network attached storage device
US7853560B1 (en) 2007-04-16 2010-12-14 Cellco Partnership Methods for address book synchronization and subscription status notification
US9027025B2 (en) 2007-04-17 2015-05-05 Oracle International Corporation Real-time database exception monitoring tool using instance eviction data
US7941399B2 (en) 2007-11-09 2011-05-10 Microsoft Corporation Collaborative authoring
US9727452B2 (en) * 2007-12-14 2017-08-08 Virident Systems, Llc Distributing metadata across multiple different disruption regions within an asymmetric memory system
US8825758B2 (en) 2007-12-14 2014-09-02 Microsoft Corporation Collaborative authoring modes
US8181111B1 (en) 2007-12-31 2012-05-15 Synchronoss Technologies, Inc. System and method for providing social context to digital activity
US8301588B2 (en) 2008-03-07 2012-10-30 Microsoft Corporation Data storage for file updates
US8352870B2 (en) 2008-04-28 2013-01-08 Microsoft Corporation Conflict resolution
US8825594B2 (en) 2008-05-08 2014-09-02 Microsoft Corporation Caching infrastructure
US8429753B2 (en) 2008-05-08 2013-04-23 Microsoft Corporation Controlling access to documents using file locks
US8762420B2 (en) * 2008-06-20 2014-06-24 Microsoft Corporation Aggregation of data stored in multiple data stores
US8417666B2 (en) 2008-06-25 2013-04-09 Microsoft Corporation Structured coauthoring
CN101370032B (zh) * 2008-09-09 2011-08-10 中兴通讯股份有限公司 数据同步中的修改日志维护方法和装置
US9178842B2 (en) * 2008-11-05 2015-11-03 Commvault Systems, Inc. Systems and methods for monitoring messaging applications for compliance with a policy
US8204859B2 (en) 2008-12-10 2012-06-19 Commvault Systems, Inc. Systems and methods for managing replicated database data
US9495382B2 (en) 2008-12-10 2016-11-15 Commvault Systems, Inc. Systems and methods for performing discrete data replication
US9128895B2 (en) 2009-02-19 2015-09-08 Oracle International Corporation Intelligent flood control management
US8346768B2 (en) * 2009-04-30 2013-01-01 Microsoft Corporation Fast merge support for legacy documents
US8918365B2 (en) 2009-06-19 2014-12-23 Blekko, Inc. Dedicating disks to reading or writing
EP2443574A4 (en) 2009-06-19 2014-05-07 Blekko Inc EVOLVING CLUSTER DATABASE
US8255006B1 (en) 2009-11-10 2012-08-28 Fusionone, Inc. Event dependent notification system and method
US8433865B2 (en) 2009-12-11 2013-04-30 Microsoft Corporation Consistency without ordering dependency
US9165086B2 (en) 2010-01-20 2015-10-20 Oracle International Corporation Hybrid binary XML storage model for efficient XML processing
US8504517B2 (en) 2010-03-29 2013-08-06 Commvault Systems, Inc. Systems and methods for selective data replication
US8504515B2 (en) 2010-03-30 2013-08-06 Commvault Systems, Inc. Stubbing systems and methods in a data replication environment
US8725698B2 (en) 2010-03-30 2014-05-13 Commvault Systems, Inc. Stub file prioritization in a data replication system
US20110282833A1 (en) * 2010-05-11 2011-11-17 Salesforce.Com, Inc. Providing administrative capabilities in a multi-tenant database environment
US10318477B2 (en) 2010-05-26 2019-06-11 Red Hat, Inc. Managing and archiving system and application log files
US8572038B2 (en) 2010-05-28 2013-10-29 Commvault Systems, Inc. Systems and methods for performing data replication
US8793440B2 (en) 2010-06-17 2014-07-29 Microsoft Corporation Error detection for files
CN102315930B (zh) 2010-06-30 2014-07-23 国际商业机器公司 用于在数据同步中减少数据传输量的方法和系统
US8458530B2 (en) 2010-09-21 2013-06-04 Oracle International Corporation Continuous system health indicator for managing computer system alerts
US8943428B2 (en) 2010-11-01 2015-01-27 Synchronoss Technologies, Inc. System for and method of field mapping
US8533165B2 (en) * 2011-07-03 2013-09-10 Microsoft Corporation Conflict resolution via metadata examination
US8776094B2 (en) 2011-08-11 2014-07-08 Microsoft Corporation Runtime system
GB201115083D0 (en) * 2011-08-31 2011-10-19 Data Connection Ltd Identifying data items
JP5917103B2 (ja) * 2011-11-18 2016-05-11 キヤノン株式会社 情報処理装置、情報処理方法、及びプログラム
US8892523B2 (en) 2012-06-08 2014-11-18 Commvault Systems, Inc. Auto summarization of content
US9361433B2 (en) 2012-08-03 2016-06-07 Synchronoss Technologies, Inc Enterprise leasing license algorithm
US9881017B2 (en) * 2012-08-03 2018-01-30 Egnyte, Inc. System and method for event-based synchronization of remote and local file systems
US10379988B2 (en) 2012-12-21 2019-08-13 Commvault Systems, Inc. Systems and methods for performance monitoring
US9767015B1 (en) * 2013-11-01 2017-09-19 Amazon Technologies, Inc. Enhanced operating system integrity using non-volatile system memory
US10346381B2 (en) * 2013-11-14 2019-07-09 Facebook, Inc. Atomic update operations in a data storage system
US10380076B2 (en) 2014-07-21 2019-08-13 Egnyte, Inc. System and method for policy based synchronization of remote and local file systems
US10635504B2 (en) 2014-10-16 2020-04-28 Microsoft Technology Licensing, Llc API versioning independent of product releases
US10180945B2 (en) * 2015-02-02 2019-01-15 Adobe Inc. Data replication from a cloud-based storage resource
US10437789B2 (en) 2015-04-10 2019-10-08 Egnyte, Inc. System and method for delete fencing during synchronization of remote and local file systems
US11144510B2 (en) 2015-06-11 2021-10-12 Egnyte, Inc. System and method for synchronizing file systems with large namespaces
US10275320B2 (en) 2015-06-26 2019-04-30 Commvault Systems, Inc. Incrementally accumulating in-process performance data and hierarchical reporting thereof for a data stream in a secondary copy operation
US10176036B2 (en) 2015-10-29 2019-01-08 Commvault Systems, Inc. Monitoring, diagnosing, and repairing a management database in a data storage management system
US10635682B2 (en) 2015-12-15 2020-04-28 Microsoft Technology Licensing, Llc Log summarization and diff
US20170177613A1 (en) 2015-12-22 2017-06-22 Egnyte, Inc. Event-Based User State Synchronization in a Cloud Storage System
US10509778B2 (en) * 2016-05-25 2019-12-17 Google Llc Real-time transactionally consistent change notifications
US11115469B2 (en) * 2016-06-28 2021-09-07 International Business Machines Corporation Efficient updates within a dispersed storage network
US10540516B2 (en) 2016-10-13 2020-01-21 Commvault Systems, Inc. Data protection within an unsecured storage environment
US10540331B2 (en) * 2016-11-29 2020-01-21 Sap Se Hierarchically stored data processing
CN106681864A (zh) * 2016-12-30 2017-05-17 华为技术有限公司 一种数据追赶方法、集群和系统
CN109688090B (zh) * 2017-10-19 2021-04-20 互动资通股份有限公司 通信服务方法
US10831591B2 (en) 2018-01-11 2020-11-10 Commvault Systems, Inc. Remedial action based on maintaining process awareness in data storage management
US10642886B2 (en) 2018-02-14 2020-05-05 Commvault Systems, Inc. Targeted search of backup data using facial recognition
US10896240B2 (en) * 2018-03-19 2021-01-19 Fast Technologies, Inc. Data analytics via a virtual index server
US20200192572A1 (en) 2018-12-14 2020-06-18 Commvault Systems, Inc. Disk usage growth prediction system
US11042318B2 (en) 2019-07-29 2021-06-22 Commvault Systems, Inc. Block-level data replication
US11561957B2 (en) * 2020-05-15 2023-01-24 Vmware, Inc. In-place garbage collection for state machine replication
US11379432B2 (en) * 2020-08-28 2022-07-05 Bank Of America Corporation File management using a temporal database architecture
GB2608437A (en) * 2021-07-02 2023-01-04 Worldr Tech Limited Systems and methods for implementing intelligent loading of data
US11809285B2 (en) 2022-02-09 2023-11-07 Commvault Systems, Inc. Protecting a management database of a data storage management system to meet a recovery point objective (RPO)

Family Cites Families (101)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2718031B2 (ja) * 1987-07-17 1998-02-25 株式会社日立製作所 履歴情報取得方法
US5130993A (en) 1989-12-29 1992-07-14 Codex Corporation Transmitting encoded data on unreliable networks
US5544347A (en) 1990-09-24 1996-08-06 Emc Corporation Data storage system controlled remote data mirroring with respectively maintained data indices
US5129152A (en) * 1990-12-20 1992-07-14 Hughes Aircraft Company Fast contact measuring machine
US5519606A (en) 1992-01-21 1996-05-21 Starfish Software, Inc. System and methods for appointment reconciliation
US5392390A (en) 1992-04-10 1995-02-21 Intellilink Corp. Method for mapping, translating, and dynamically reconciling data between disparate computer platforms
US5710922A (en) 1993-06-02 1998-01-20 Apple Computer, Inc. Method for synchronizing and archiving information between computer systems
US5771354A (en) 1993-11-04 1998-06-23 Crawford; Christopher M. Internet online backup system provides remote storage for customers using IDs and passwords which were interactively established when signing up for backup services
US5845293A (en) 1994-08-08 1998-12-01 Microsoft Corporation Method and system of associating, synchronizing and reconciling computer files in an operating system
JP3593366B2 (ja) * 1994-09-19 2004-11-24 株式会社日立製作所 デ−タベ−ス管理方法
CA2137492C (en) 1994-12-07 1998-07-28 Lenny Kwok-Ming Hon System for and method of providing delta-versioning of the contents of pcte file objects
US5684990A (en) 1995-01-11 1997-11-04 Puma Technology, Inc. Synchronization of disparate databases
US5729735A (en) * 1995-02-08 1998-03-17 Meyering; Samuel C. Remote database file synchronizer
US5706509A (en) 1995-04-28 1998-01-06 Intel Corporation Application independent record level synchronization
US5966714A (en) 1995-04-28 1999-10-12 Intel Corporation Method and apparatus for scaling large electronic mail databases for devices with limited storage
US5649195A (en) * 1995-05-22 1997-07-15 International Business Machines Corporation Systems and methods for synchronizing databases in a receive-only network
US5694596A (en) 1995-05-25 1997-12-02 Kangaroo, Inc. On-line database updating network system and method
US5682524A (en) 1995-05-26 1997-10-28 Starfish Software, Inc. Databank system with methods for efficiently storing non-uniform data records
US5757669A (en) 1995-05-31 1998-05-26 Netscape Communications Corporation Method and apparatus for workgroup information replication
US5628005A (en) 1995-06-07 1997-05-06 Microsoft Corporation System and method for providing opportunistic file access in a network environment
US5935262A (en) * 1995-06-09 1999-08-10 Canon Information Systems, Inc. Outputting a network device log file
AU6500596A (en) 1995-07-20 1997-02-18 Novell, Inc. Transaction log management in a disconnectable computer and network
US5630081A (en) 1995-09-07 1997-05-13 Puma Technology, Inc. Connection resource manager displaying link-status information using a traffic light iconic representation
US5758150A (en) * 1995-10-06 1998-05-26 Tele-Communications, Inc. System and method for database synchronization
US5884323A (en) 1995-10-13 1999-03-16 3Com Corporation Extendible method and apparatus for synchronizing files on two different computer systems
US5819020A (en) 1995-10-16 1998-10-06 Network Specialists, Inc. Real time backup system
US5727202A (en) 1995-10-18 1998-03-10 Palm Computing, Inc. Method and apparatus for synchronizing information on two different computer systems
US5745906A (en) 1995-11-14 1998-04-28 Deltatech Research, Inc. Method and apparatus for merging delta streams to reconstruct a computer file
US5729743A (en) 1995-11-17 1998-03-17 Deltatech Research, Inc. Computer apparatus and method for merging system deltas
US5745750A (en) * 1995-12-15 1998-04-28 International Business Machines Corporation Process and article of manufacture for constructing and optimizing transaction logs for mobile file systems
US5835718A (en) 1996-04-10 1998-11-10 At&T Corp URL rewriting pseudo proxy server
US5845283A (en) * 1996-04-24 1998-12-01 Lingua Teq, Inc. Method and apparatus for rationalizing different data formats in a data management system
US5768597A (en) 1996-05-02 1998-06-16 Starfish Software, Inc. System and methods for improved installation of compressed software programs
US5740432A (en) * 1996-05-28 1998-04-14 Sun Microsystems, Inc. Log file optimization in a client/server computing system
US5812793A (en) 1996-06-26 1998-09-22 Microsoft Corporation System and method for asynchronous store and forward data replication
US5787262A (en) 1996-06-26 1998-07-28 Microsoft Corporation System and method for distributed conflict resolution between data objects replicated across a computer network
US5787247A (en) 1996-07-12 1998-07-28 Microsoft Corporation Replica administration without data loss in a store and forward replication enterprise
US5812773A (en) 1996-07-12 1998-09-22 Microsoft Corporation System and method for the distribution of hierarchically structured data
US5974238A (en) 1996-08-07 1999-10-26 Compaq Computer Corporation Automatic data synchronization between a handheld and a host computer using pseudo cache including tags and logical data elements
US6016478A (en) 1996-08-13 2000-01-18 Starfish Software, Inc. Scheduling system with methods for peer-to-peer scheduling of remote users
US5884325A (en) 1996-10-09 1999-03-16 Oracle Corporation System for synchronizing shared data between computers
US6044381A (en) 1997-09-11 2000-03-28 Puma Technology, Inc. Using distributed history files in synchronizing databases
US5943676A (en) 1996-11-13 1999-08-24 Puma Technology, Inc. Synchronization of recurring records in incompatible databases
US6330568B1 (en) 1996-11-13 2001-12-11 Pumatech, Inc. Synchronization of databases
US6405218B1 (en) 1996-11-13 2002-06-11 Pumatech, Inc. Synchronizing databases
WO1998021648A1 (en) 1996-11-13 1998-05-22 Puma Technology, Inc. Synchronization of databases
US6141664A (en) 1996-11-13 2000-10-31 Puma Technology, Inc. Synchronization of databases with date range
US6212529B1 (en) 1996-11-13 2001-04-03 Puma Technology, Inc. Synchronization of databases using filters
US6061790A (en) 1996-11-20 2000-05-09 Starfish Software, Inc. Network computer system with remote user data encipher methodology
US6202085B1 (en) 1996-12-06 2001-03-13 Microsoft Corportion System and method for incremental change synchronization between multiple copies of data
US6131116A (en) 1996-12-13 2000-10-10 Visto Corporation System and method for globally accessing computer services
US6023708A (en) 1997-05-29 2000-02-08 Visto Corporation System and method for using a global translator to synchronize workspace elements across a network
US6085192A (en) 1997-04-11 2000-07-04 Roampage, Inc. System and method for securely synchronizing multiple copies of a workspace element in a network
US5875296A (en) 1997-01-28 1999-02-23 International Business Machines Corporation Distributed file system web server user authentication with cookies
US6006274A (en) 1997-01-30 1999-12-21 3Com Corporation Method and apparatus using a pass through personal computer connected to both a local communication link and a computer network for indentifying and synchronizing a preferred computer with a portable computer
US6766454B1 (en) 1997-04-08 2004-07-20 Visto Corporation System and method for using an authentication applet to identify and authenticate a user in a computer network
US5961590A (en) 1997-04-11 1999-10-05 Roampage, Inc. System and method for synchronizing electronic mail between a client site and a central site
US5999947A (en) 1997-05-27 1999-12-07 Arkona, Llc Distributing database differences corresponding to database change events made to a database table located on a server computer
US5897642A (en) 1997-07-14 1999-04-27 Microsoft Corporation Method and system for integrating an object-based application with a version control system
IL134231A0 (en) 1997-07-30 2001-04-30 Visto Corp System and method for globally and securely accessing unifiled information in a computer network
US6141011A (en) 1997-08-04 2000-10-31 Starfish Software, Inc. User interface methodology supporting light data entry for microprocessor device having limited user input
US6058399A (en) * 1997-08-28 2000-05-02 Colordesk, Ltd. File upload synchronization
US6272545B1 (en) 1997-10-24 2001-08-07 Microsoft Corporation System and method for interaction between one or more desktop computers and one or more mobile devices
US6052735A (en) 1997-10-24 2000-04-18 Microsoft Corporation Electronic mail object synchronization between a desktop computer and mobile device
US6034621A (en) * 1997-11-18 2000-03-07 Lucent Technologies, Inc. Wireless remote synchronization of data between PC and PDA
US6295541B1 (en) 1997-12-16 2001-09-25 Starfish Software, Inc. System and methods for synchronizing two or more datasets
US6275831B1 (en) 1997-12-16 2001-08-14 Starfish Software, Inc. Data processing environment with methods providing contemporaneous synchronization of two or more clients
US6023723A (en) 1997-12-22 2000-02-08 Accepted Marketing, Inc. Method and system for filtering unwanted junk e-mail utilizing a plurality of filtering mechanisms
US6151606A (en) 1998-01-16 2000-11-21 Visto Corporation System and method for using a workspace data manager to access, manipulate and synchronize network data
US6205448B1 (en) 1998-01-30 2001-03-20 3Com Corporation Method and apparatus of synchronizing two computer systems supporting multiple synchronization techniques
US6216131B1 (en) 1998-02-06 2001-04-10 Starfish Software, Inc. Methods for mapping data fields from one data set to another in a data processing environment
US6282698B1 (en) 1998-02-09 2001-08-28 Lucent Technologies Inc. Detecting similarities in Java sources from bytecodes
US6185598B1 (en) 1998-02-10 2001-02-06 Digital Island, Inc. Optimized network resource location
JPH11242620A (ja) 1998-02-25 1999-09-07 Casio Comput Co Ltd 情報処理装置、サーバ装置、情報提供システム、及び記録媒体
JP3738339B2 (ja) 1998-02-25 2006-01-25 カシオ計算機株式会社 情報機器
US6304881B1 (en) 1998-03-03 2001-10-16 Pumatech, Inc. Remote data access and synchronization
US6065018A (en) * 1998-03-04 2000-05-16 International Business Machines Corporation Synchronizing recovery log having time stamp to a remote site for disaster recovery of a primary database having related hierarchial and relational databases
US6012063A (en) 1998-03-04 2000-01-04 Starfish Software, Inc. Block file system for minimal incremental data transfer between computing devices
US6925477B1 (en) 1998-03-31 2005-08-02 Intellisync Corporation Transferring records between two databases
US6219694B1 (en) 1998-05-29 2001-04-17 Research In Motion Limited System and method for pushing information from a host system to a mobile data communication device having a shared electronic address
CN1227858C (zh) 1998-08-21 2005-11-16 维斯托公司 实现对计算机网络中服务的安全访问的系统和方法
EP0986225A1 (en) 1998-09-11 2000-03-15 Visto Corporation System and method for securely synchronizing multiple copies of a workspace element in a network
US6226650B1 (en) 1998-09-17 2001-05-01 Synchrologic, Inc. Database synchronization and organization system and method
US6397351B1 (en) * 1998-09-28 2002-05-28 International Business Machines Corporation Method and apparatus for rapid data restoration including on-demand output of sorted logged changes
US6131096A (en) 1998-10-05 2000-10-10 Visto Corporation System and method for updating a remote database in a network
US6324544B1 (en) 1998-10-21 2001-11-27 Microsoft Corporation File object synchronization between a desktop computer and a mobile device
US6449622B1 (en) 1999-03-08 2002-09-10 Starfish Software, Inc. System and methods for synchronizing datasets when dataset changes may be received out of order
US6516314B1 (en) * 1998-11-17 2003-02-04 Telefonaktiebolaget L M Ericsson (Publ) Optimization of change log handling
US6247135B1 (en) 1999-03-03 2001-06-12 Starfish Software, Inc. Synchronization process negotiation for computing devices
US6081900A (en) 1999-03-16 2000-06-27 Novell, Inc. Secure intranet access
US6457062B1 (en) * 1999-04-08 2002-09-24 Palm, Inc. System and method for synchronizing multiple calendars over wide area network
US20030069874A1 (en) 1999-05-05 2003-04-10 Eyal Hertzog Method and system to automate the updating of personal information within a personal information management application and to synchronize such updated personal information management applications
US6401104B1 (en) * 1999-07-03 2002-06-04 Starfish Software, Inc. System and methods for synchronizing datasets using cooperation among multiple synchronization engines
US6694336B1 (en) 2000-01-25 2004-02-17 Fusionone, Inc. Data transfer and synchronization system
US20030037020A1 (en) * 2000-02-22 2003-02-20 Lars Novak Method and apparatus for synchronizing databases of portable devices without change logs
US7739334B1 (en) 2000-03-17 2010-06-15 Visto Corporation System and method for automatically forwarding email and email events via a computer network to a server computer
GB2366050A (en) * 2000-04-11 2002-02-27 Hewlett Packard Co Aggregation of log data from different operating systems into a central data log
US6925476B1 (en) * 2000-08-17 2005-08-02 Fusionone, Inc. Updating application data including adding first change log to aggreagate change log comprising summary of changes
US6718348B1 (en) * 2000-08-25 2004-04-06 Telefonaktiebolaget Lm Ericsson (Publ) Non-time dependent synchronization of databases
US20020138769A1 (en) * 2001-03-23 2002-09-26 Fishman Jayme Matthew System and process for conducting authenticated transactions online
US6684206B2 (en) * 2001-05-18 2004-01-27 Hewlett-Packard Development Company, L.P. OLAP-based web access analysis method and system

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8001177B2 (en) 2001-06-18 2011-08-16 Hewlett-Packard Development Company, L.P. Method and apparatus for automated personal information management data transfer for a wireless enabled handheld
US7603435B2 (en) 2006-11-15 2009-10-13 Palm, Inc. Over-the-air device kill pill and lock
US8903945B2 (en) 2006-11-15 2014-12-02 Qualcomm Incorporated Over the air services for mobile devices
US9037685B2 (en) 2006-11-15 2015-05-19 Qualcomm Incorporated Intelligent migration between devices having different hardware or software configuration
JP2009199665A (ja) * 2008-02-21 2009-09-03 Hitachi Global Storage Technologies Netherlands Bv データ記憶装置及びデータ記憶装置におけるデータ管理方法
US20120089716A1 (en) * 2010-10-12 2012-04-12 Igor Katz Method for accelerating start up of a computerized system
US9110850B2 (en) * 2010-10-12 2015-08-18 Eci Telecom Ltd. Method for accelerating start up of a computerized system

Also Published As

Publication number Publication date
EP1180890A3 (en) 2004-09-08
US6925476B1 (en) 2005-08-02
EP1180890A2 (en) 2002-02-20

Similar Documents

Publication Publication Date Title
JP2002163137A (ja) 変更ログを統合化および最適化する方法
KR100999267B1 (ko) 관리 서버들에 의해 업데이트된 온-디바이스 애플리케이션 카탈로그
CN100524285C (zh) 帐票处理装置和帐票处理方法
US6324544B1 (en) File object synchronization between a desktop computer and a mobile device
US9298798B2 (en) Run-time engine implemented on a computing device allowing synchronization of records during application execution
US6526413B2 (en) Architecture for a hierarchical folder structure in hand-held computers
JP3719825B2 (ja) 情報処理装置及び情報処理方法
JP4558945B2 (ja) 少なくとも2つのホスト・データベースとリモート・データベースを有するデータベース・システム、及びそのようなデータベースの同期方法
US7849063B2 (en) Systems and methods for indexing content for fast and scalable retrieval
CN100390796C (zh) 用于扩展属性的延迟删除的方法和系统
US20100145918A1 (en) Systems and methods for indexing content for fast and scalable retrieval
Peek et al. EnsemBlue: Integrating distributed storage and consumer electronics
US20070011142A1 (en) Method and apparatus for non-redundant search results
CN100524302C (zh) 计算装置中的文件管理方法
CN101211365A (zh) 用于建立搜索索引的方法和系统
US7587446B1 (en) Acquisition and synchronization of digital media to a personal information space
US20050086268A1 (en) Idea service for automatic file naming and storing
JP2006146912A (ja) コンピュータ環境携帯装置
US7130871B2 (en) Method and apparatus for representing deleted data in a synchronizable database
EP1220120A2 (en) Change tracking integrated with disconnected device document synchronization
KR100310717B1 (ko) 휴대용 장치에 데이터를 저장하고 그로부터 데이터를검색하는 방법 및 장치
EP1324221A2 (en) Storing data objects either in database or in archive
US7647588B2 (en) Smart archive for JAR files
US6973472B2 (en) Data synchronization system and method based on modification records and common formatting
JP4142866B2 (ja) データベース同期化装置及びプログラム