Data processing: database and file management or data structures – Database design – Data structure types
Reexamination Certificate
2000-08-25
2004-04-06
Breene, John (Department: 2177)
Data processing: database and file management or data structures
Database design
Data structure types
C707S793000, C707S793000
Reexamination Certificate
active
06718348
ABSTRACT:
BACKGROUND
The present invention relates generally to communications systems and, in particular, to techniques that provide for synchronizing databases, such as a database containing a phonebook stored in a subscriber identity module (SIM) of a mobile terminal used in a cellular radiocommunication system with a corresponding database in a personal computer (PC).
The cellular telephone industry has made phenomenal strides in commercial operations in the United States as well as the rest of the world. Growth in major metropolitan areas has far exceeded expectations and is rapidly outstripping system capacity. If this trend continues, the effects of this industry's growth will soon reach even the smallest markets. Innovative solutions are required to meet these increasing capacity needs as well as to maintain high quality service and avoid rising prices.
One recognized trend is the convergence of the so-called information industry, as symbolized by the evolution of the personal computer (PC), and the so-called communications industry, as symbolized by the evolution of the mobile phone. Both types of devices are characterized by rapidly increasing performance (hardware) and by increased application (software) capabilities. In the near future, it is likely that mobile phones will communicate more directly with other information devices, such as the PC, to exchange information. Many subscribers of wireless services also own personal computers and, as each type of device gets more sophisticated in its data handling capability, may wish to exchange data therebetween, for example, between databases (such as phone books), stored in each device.
Consider the example illustrated in FIG.
1
. Therein, a PC
10
and a mobile phone
20
are linked together via a communication link
30
. The communication link
30
may be either a wire or wireless (e.g., infrared) link. It will be appreciated by those skilled in the art that, while a PC and mobile phone are used as examples of two devices between which database synchronization may be performed, the present invention is not limited to these two types of devices and may, in fact be applied to database synchronization between any two types of devices, such as electronic organizers, pagers, and the like. The PC
10
includes a database
40
, for example, containing phone records or a calendar, while the mobile phone
20
includes a corresponding database stored on its subscriber identity module (SIM) card
50
. As will be appreciated by those skilled in the radiocommunication arts, the SIM card
50
is a removable smart card that was created for the GSM radiocommunication standard as a mechanism for conveniently grouping and storing information elements related to the mobile subscriber in a removable manner, which card is insertably removable from mobile phones. The term “synchronize”, as it is used herein to refer to database operations associated with two or more devices, means changing the contents of one database so that it matches, or “mirrors”, the contents of the other database.
Conventionally, to synchronize the database
40
and the database stored on the SIM card
50
, it was necessary to individually compare each record in each database. For example, the database of phonebook records stored in the SIM card
50
could be transmitted to the PC
10
via link
30
. Then, the records in each database could be compared and updated such that the two databases mirrored one another. For example, changes associated with records found in the database
40
but not found in the version of the database transmitted from the mobile phone
20
to the PC
10
could be relayed back to the mobile phone
20
to update the database stored in the SIM card
50
. This synchronization process (sometimes alternatively referred to as “full synchronization” or “slow synchronization”) is complicated and time consuming. For example, just to identify what changes had been made to the SIM card's database often requires that the PC
10
compare a most-recently received version with a previously stored version.
To address this problem, a change log has been added to the devices as shown in FIG.
2
. The change log contains information regarding records which have been operated upon in either database subsequent to synchronization therebetween. The change log also records the time at which a synchronization operation was last performed between two databases, so that changes made prior to a previous update can be ignored. The change log can be implemented, for example, in a portion of memory which records for each change an event (e.g., add, delete or modify), the identity of the database record for which the event occurred and a timestamp indicating when the event took place. For example, if a phone record is added to the database
40
in PC
10
subsequent to it being synchronized with the SIM
50
in mobile phone
20
, then an indication of such is added to the change log
200
. Likewise, if the subscriber associated with the mobile phone
20
(and SIM card
50
) deletes a record in his or her phonebook, then this change will be reflected in the change log
210
. Moreover, if the change log is empty, then no changes need to be made to the database
40
in the PC
10
. Using change logs
200
and
210
may be advantageous during synchronization since only those records which have been modified, added or deleted (as recorded in the change log) since the last synchronization update need to be transmitted between the devices. Thus, the synchronization process may be performed more rapidly and this process has, therefore, been referred to as “fast synchronization”.
Under certain circumstances, however, it may still be desirable to perform full (i.e., slow) synchronization of corresponding databases in two devices even when change logs have been implemented to enable fast synchronization. For example, if a user resets or erases his or her calendar database in a mobile phone, such an action may dictate that a full synchronization be performed between the two databases, that is, the large number of changes results in there being no particular advantage in such cases to using the change logs
200
and
210
to accomplish synchronization. Invoking full synchronization of two databases when fast synchronization is available has been accomplished by, for example, randomly or incrementally changing the value of a database identifier (DID) which is passed between the devices as part of the synchronization process. The change in DID values acts as a signal that tells the device performing database synchronization to use full synchronization instead of fast synchronization. The receiving device, (e.g., a PC) compares the DID received from the other device (e.g., a mobile phone) with a DID that it previously stored. If they are the same, then fast synchronization will be used. If they are different, then full synchronization is performed.
Unfortunately, although it may speed up the synchronization process, adding the change logs introduces another problem. More particularly, fast synchronization relies on the use of a time stamp associated with each entry in the change log
200
,
210
. The time stamp indicates what time a particular change was made. When a change log associated with one database (e.g., the change log
210
associated with the SIM
50
) is supplied to the other device (e.g., the PC
10
), the synchronization engine (not shown) within the other device uses the timestamp to resolve potential conflicts that can occur when one modification has been made to an entry in one of the databases and a different modification has been made to the same entry but in the other database. In such cases, the rule is to assume that the most recently made change is the correct one. For example, consider the situation in which there exists a record “A” in each of two devices (denoted “device
1
” and “device
2
”) when databases in each of the devices have been synchronized with one another. Subsequent to synchronization, assume that on device
1
the record A is deleted at 12:34
Birkler Jörgen
Novak Lars
Breene John
Burns Doane Swecker & Mathis L.L.P.
Schrantz Steve
Telefonaktiebolaget LM Ericsson (publ)
LandOfFree
Non-time dependent synchronization of databases does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Non-time dependent synchronization of databases, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Non-time dependent synchronization of databases will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-3192729