IP Library Granted Patent US 8,468,127
Granted Patent B2
US 8,468,127 · App. 13/361,360 · Granted Jun 18, 2013

System and method for synchronizing data records between multiple databases

Inventors: Hugh Hind (Waterloo, CA); Craig A. Dunk (Guelph, CA)
Assignee: Research In Motion Limited
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 8,468,127
App. No.
13/361,360
Granted
Jun 18, 2013
Kind
B2
Abstract

A communication device includes a database. The database is configured to store data records to be synchronized with a host device and to store, for each record, a corresponding device synchronization parameter (DSP) and a corresponding host synchronization parameter (HSP). The DSP indicates a version number assigned to a current version, of the respective data record, as stored in the database of the device. The HSP indicates a version number assigned to a current version, of the same record, as stored in the host device.

Claims (52)

1. A method performed by a communication device, comprising:

storing data records to be synchronized with a host device;

storing, for each record, a corresponding device synchronization parameter (DSP) and a corresponding host synchronization parameter (HSP), the DSP indicating a version number assigned to a current version of the respective data record as stored in a database of the communication device, and the HSP indicating a version number assigned to a current version of the record as stored in the host device;

updating a record, from among the records, to yield an updated version of the record;

incrementing the DSP to reflect the updated version of the record; and

transmit, over a network to the host device, an update message that includes the updated version of the record, the incremented DSP, and the HSP.

2. A method performed by a communication device, comprising:

storing data records to be synchronized with a host device;

storing, for each record, a corresponding device synchronization parameter (DSP) and a corresponding host synchronization parameter (HSP), the DSP indicating a version number assigned to a current version of the respective data record as stored in a database of the communication device, and the HSP indicating a version number assigned to a current version of the record as stored in the host device;

receiving, over a network from the host device, an update message that includes an updated version of the record along with a DSP and a HSP that the host device associates with the record, the received HSP being incremented relative to the stored HSP; and

replacing the currently stored version of the record with the received updated version of the record; and

replacing the stored HSP in the database with the incremented HSP.

3. The communication device of claim 2 wherein the host device is a mobile communication device, and the network includes a wireless network.

4. A communication device comprising:

a database configured to store data records to be synchronized with a host device, and to store, for each record, a corresponding device synchronization parameter (DSP) and a corresponding host synchronization parameter (HSP);

the DSP indicating a version number assigned to a current version, of the respective data record, as stored in the database of the device, and the HSP indicating a version number assigned to a current version, of the same record, as stored in the host device.

5. The communication device of claim 4 , further comprising:

a processor configured to:

update a record, from among the records, to yield an updated version of the record;

increment the DSP to correspond to the updated version of the record; and

transmit, over a network to the host device, an update message that includes the updated version of the record, the incremented DSP, and the HSP.

6. The communication device of claim 4 , further comprising:

a processor configured to:

receive, over a network from the host device, an update message that includes an updated version of one of the records, along with a DSP and a HSP that the host device associates with the record, the received HSP being incremented relative to the stored HSP; and

replace the currently stored version of the record with the received updated version of the record, and replace the stored HSP in the database with the incremented HSP.

7. The communication device of claim 4 further comprising:

a processor configured to:

receive, over a network from the host device, an update message that includes an updated version of one of the records, along with a DSP and a HSP that the host device associates with the record;

compare the received DSP with the stored DSP; and

determine, based on the received DSP not equaling the stored DSP, that a record-modification conflict has occurred.

8. The communication device of claim 7 , wherein the processor is further configured, if a record-modification conflict has occurred, to determine whether to replace the currently stored version of the record with the received updated version of the record based on whether the communication device has a higher or lower ranking level than the host device.

9. The communication device of claim 4 , wherein the processor is further configured to:

generate a new record, which is not an updated version of one of the stored records;

assign a DSP and a HSP to the new record; and

transmit, over a network to the host device, an update message that includes the new record, the newly assigned DSP, and the newly assigned HSP.

10. The communication device of claim 4 , wherein the processor is further configured to:

receive, over a network from the host device, a record along with a DSP and a HSP that the host device associates with the record; and

determine, based on the received HSP having a predetermined value, that the record is a new record to be stored by the host device instead of an updated version of a record that is already stored in the host device.

11. The communication device of claim 4 wherein the communication device is a mobile communication device.

12. The communication device of claim 4 wherein the communication device is a desktop computer.

13. The communication device of claim 4 wherein the host device is a mobile communication device.

14. The communication device of claim 4 wherein the host device is a desktop computer.

15. The communication device of claim 5 wherein the network includes the Internet.

16. The communication device of claim 4 wherein the host device is a first host device, the DSP is a first DSP, and the HSP is a first HSP, and the database is further configured to store for each record, a corresponding second DSP and second HSP, the second DSP indicating a version number assigned to a current version, of the respective data record, as stored in a second host device, and the second HSP indicating a version number assigned to a current version, of the same record, as stored in the second host device.

17. The communication device of claim 16 wherein the processor is configured to:

receive, over a network from the first host device, an update message that includes an updated version of the record along with a DSP and a HSP that the first host device associates with the record, the received HSP being incremented relative to the stored first HSP;

replace the currently stored version of the record with the received updated version of the record, and replace the stored first HSP with the received incremented HSP;

increment the second DSP; and

transmit, over a network to the second host device, an update message that includes the updated version of the record, the incremented second DSP, and the second HSP.

18. The communication device of claim 16 wherein at least one of the first and second host devices is a desktop computer.

19. The communication device of claim 16 wherein at least one of the first and second host devices is a mobile communication device.

20. The communication device of claim 16 wherein the communication device has a higher ranking level than the first host device but a lower ranking level than the second host device, and the processor uses a comparison of the ranking levels to determine whether to replace a currently stored version of the record with an updated version of the record received from one of the host devices.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 16, 2023
From: BLACKBERRY LIMITED
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064104/0103 →
CHANGE OF NAME Recorded Oct 24, 2014
From: RESEARCH IN MOTION LIMITED
To: BLACKBERRY LIMITED
Reel/Frame 034045/0741 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 30, 2012
From: HIND, HUGH R.; DUNK, CRAIG
To: RESEARCH IN MOTION LIMITED
Reel/Frame 027619/0182 →
Continuity (4)
Continuation 12171787 · Jul 11, 2008
Continuation 10240795
Continuation In Part 09545964 · Apr 10, 2000
Related Publication 20120130953A1 · May 24, 2012