IP Library Granted Patent US 7,337,193
Granted Patent B1
US 7,337,193 · App. 10/159,461 · Granted Feb 26, 2008

Determining priority between data items

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 7,337,193
App. No.
10/159,461
Granted
Feb 26, 2008
Kind
B1
Abstract

One embodiment of the present invention enables nodes or endpoints involved with synchronization of data items to determine which version of a data item (if any) has priority over another version of that same data item. Within the present embodiment, when a data item is modified by a node, it is presumed that the modified data item takes priority over the previous version of that data item. Therefore, the “descendant” data item (modified) takes precedence over its “ancestor” data item (previous version). By including this type of “pedigree” information with data items involved with synchronization between different nodes or endpoints, the present embodiment enables the endpoints to determine which version of a data item (if any) has priority over another version of that same data item.

Claims (38)

1. A computer-usable medium having computer-readable code embodied therein for causing a computing device to perform a method comprising the steps of:

deciding if a data atom has been deleted within said computing device;

incrementing a synchronization counter value of said computing device, provided said data atom has been deleted within said computing device;

including an identity of said computing device and said synchronization counter value with a pedigree of said data atom that has been deleted, after said incrementing;

deleting data associated with said data atom except for said data atom's identity, deleted status and said pedigree;

synchronizing said computing device with a second computing device after said deleting; and

modifying a copy of said data atom that was deleted on said second device in response to said synchronizing.

2. The computer-usable medium as described in claim 1 wherein said synchronization counter value of said device is advanced with a floating point number.

3. The computer-usable medium as described in claim 1 wherein said synchronization counter value of said device is advanced with an integer value.

4. The computer-usable medium as described in claim 1 wherein said computing device comprises a handheld computer.

5. The computer-usable medium as described in claim 1 wherein said computing device comprises a portable information device.

6. The computer-usable medium as described in claim 1 wherein said computing device comprises a server.

7. A method of determining priority between data sets within a computing device during synchronization between different endpoints, comprising the steps of:

determining if a data atom has been deleted within the computing device;

incrementing a synchronization counter value of said computing device, provided said data atom has been deleted within said computing device;

including an identity of said computing device and said synchronization counter value with a pedigree of said data atom that has been deleted, after said incrementing step; and

deleting data associated with said data atom except for said data atom's identity, deleted status and said pedigree;

synchronization of said device with a second device after said deleting step; and

modifying a copy of said data atom that was deleted on said second device in response to said synchronizing.

8. The method as described in claim 1 wherein said computing device comprises a handheld computer.

9. The method as described in claim 1 wherein said computing device comprises a computer system.

10. The method as described in claim 1 wherein said computing device comprises a server.

11. The method as described in claim 10 wherein said synchronization counter value of said device is advanced with a floating point number.

12. The method as described in claim 10 wherein said synchronization counter value of said device is advanced with an integer value.

13. The method as described in claim 1 wherein said computing device comprises a portable information device.

14. A method of determining priority between data sets in a computing device during synchronization with a second device, comprising the steps of:

determining whether there are too many data atom stubs within a device, wherein a deleted data atom stub includes a data atom's identity, deleted status and pedigree;

determining a device identity and synchronization counter threshold associated with a pedigree of a deleted data atom stub of said data atom stubs, provided there are too many data atom stubs within said device;

creating an exclude link comprising said determined device identity and said determined synchronization counter threshold; and

removing said data atom stub from said device having a pedigree comprising said determined device identity and satisfying said determined synchronization counter threshold;

synchronizing comprises said exclude link indicating to said second device that said deleted data atom stub was removed from said device; and

exclude link causing said second device to create an exclude link for said second device.

15. The method as described in claim 14 wherein said exclude link causing said second device to remove a copy of said deleted data atom stub from said second device that corresponds to said exclude link.

16. The method as described in claim 14 wherein said pedigree of said deleted data atom stub comprises a synchronization counter value associated with said determined device identity that is equal to or less than said determined synchronization counter threshold.

17. The method as described in claim 14 wherein said pedigree of said deleted data atom stub comprises a synchronization counter value associated with said determined device identity that is equal to or greater than said determined synchronization counter threshold.

18. The method as described in claim 14 wherein said device comprises a computer system.

19. The method as described in claim 14 wherein said device comprises a handheld computer.

20. The method as described in claim 14 wherein said device comprises a server.