IP Library Granted Patent US 6,925,476
Granted Patent B1
US 6,925,476 · App. 09/642,615 · Granted Aug 2, 2005

Updating application data including adding first change log to aggreagate change log comprising summary of changes

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 6,925,476
App. No.
09/642,615
Granted
Aug 2, 2005
Kind
B1
Abstract

A change log aggregation and optimization mechanism and methodology for updating and synchronizing application data and application files in a client device of a data transfer and synchronization system. The contents of a plurality of change logs reflecting the then current changes to the application data of the client device are downloaded and merged into an aggregate log. Instead of applying each change log as it is downloaded, the contents of the aggregate log, representing all changes to application data and/or application files recorded in prior change logs, are then applied to the client device to update application data and/or application files in the client device.

Claims (50)

1. A method for updating application data in a client device of a data transfer and synchronization system, said method comprising the steps of:

downloading a first change log of a plurality of change logs from a server system, each of said plurality of change logs reflecting changes to said application data;

adding said first change log to an aggregate change log, the aggregate change log comprising a summary of changes in said added change log and any previous change logs;

deleting said first change log;

repeating said downloading, adding, and deleting steps for a next change log of said plurality of change logs until no additional change logs exist; and

applying said aggregate change log to said application data to update said application data.

2. The method of claim 1 , wherein said adding step further comprises the steps of:

(a) retrieving information for a valid item in said application data;

(b) updating a map of said aggregate log, said map storing meta-data;

(c) writing said item to said aggregate log;

(d) updating a location of said valid item in said map; and

(e) repeating steps (a)-(d) for all remaining valid items of a current change log.

3. The method of claim 2 , further comprising the step of:

compacting said aggregate log if a compact threshold is exceeded.

4. The method of claim 1 , wherein said application data comprises data classes for contacts, internet browser bookmarks, calendar events, email messages, notes, tasks, and files.

5. The method of claim 4 , wherein said contacts comprise records identifying names, addresses, phone numbers, and email addresses for a plurality of individuals.

6. The method of claim 4 , wherein said files comprise word processor specific documents, electronic presentations, spreadsheets, and executable files in binary format.

7. The method of claim 1 , wherein said application data is in a universal data format.

8. An apparatus for updating application data in a client device of a data transfer and synchronization system, said apparatus comprising:

a downloading routine for iteratively retrieving a plurality of change logs from a server system, each of said plurality of change logs reflecting changes to said application data;

a merging routine for iteratively aggregating the contents of said plurality of change logs to an aggregate log;

a change log deletion routine for iteratively deleting said plurality of change logs; and

an updating routine for applying the contents of said aggregate log to said application data to update said application data.

9. The apparatus of claim 8 , wherein said merging routine further comprises:

an item retrieval routine for retrieving a plurality of items from said application data;

a map update routine for updating a map of said aggregate log wherein said map stores meta-data;

a field retrieval routine for retrieving field information from said plurality of items from said application data; and

an item location update routing for updating the location of a plurality of items in said map.

10. The apparatus of claim 9 , wherein said merging routine further comprises:

an aggregate log compacting routine.

11. A method for aggregating the contents of accumulated change logs into an aggregate log and applying said aggregate log to update application data in a first client device of a data transfer and synchronization system, said method comprising the steps of:

downloading to the first client device a first change log of a plurality of change logs stored on a server system, each of said plurality of change logs reflecting transactions to said application data;

adding said first change log to an aggregate log on the first client device;

deleting said first change log;

repeating said downloading, adding, and deleting steps for a next change log of said plurality of change logs until no additional change logs exist; and

applying said aggregate log to said application data to update said application data.

12. The method of claim 11 wherein the log includes an identifier for a change.

13. The method of claim 12 wherein the step of applying said aggregate log includes requesting a binary delta for a file.

14. The method of claim 11 further including the step of creating the aggregate log.

15. The method of claim 11 further including the step of closing the aggregate log.

16. The method of claim 11 further including the step of compacting said aggregate log.

17. The method of claim 16 wherein said step of compacting comprises:

iterating over each record in the aggregate log;

reading valid records; and

writing valid records back to the aggregate log overwriting obsolete records.

18. A method of creating a composite change log on a client device, comprising:

downloading a first change log of a plurality of change logs from a server system, each of said plurality of change logs reflecting changes to said application data;

adding said first log to an aggregate change log, the aggregate change log comprising a summary of changes in said added change log and any previous change logs;

deleting said first change log; and

repeating said downloading, adding, and deleting steps for a next change log of said plurality of change logs until no additional change logs exist.

Assignments (4)
RELEASE OF SECURITY INTEREST Recorded Apr 7, 2025
From: SYNCHRONOSS TECHNOLOGIES, INC.
To: CITIZENS BANK, N.A.
Reel/Frame 071224/0279 →
SECURITY INTEREST Recorded Oct 29, 2019
From: SYNCHRONOSS TECHNOLOGIES, INC.
To: CITIZENS BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 050854/0913 →
RELEASE OF SECURITY INTEREST Recorded Nov 14, 2017
From: GOLDMAN SACHS BANK USA
To: SYNCHRONOSS TECHNOLOGIES, INC.
Reel/Frame 044444/0286 →
SECURITY INTEREST Recorded Jan 23, 2017
From: SYNCHRONOSS TECHNOLOGIES, INC., AS GRANTOR
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 041072/0964 →