Protocol for synchronizing parallel processors in a mobile...

Electrical computers and digital processing systems: support – Digital data processing system initialization or configuration

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C713S400000, C713S178000, C707S793000, C707S793000

Reexamination Certificate

active

06560700

ABSTRACT:

BACKGROUND OF THE INVENTION
1. Technical Field of the Invention
The present invention relates in general to the telecommunications field and, in particular, to a parallel processing synchronization protocol for use in a mobile communication system.
2. Description of Related Art
FIG. 1
is a block diagram that illustrates how a plurality of parallel processors can be used, for example, in a mobile communication system. As shown, a complementary pair of digital processors located, for example, in a Personal Computer (PC)
12
and a mobile phone
14
can function or operate together in a parallel synchronous mode. The program and data software can be duplicated in each of the processors (
12
,
14
), and the software instructions can be executed in parallel. The respective digital processors in the PC and mobile phone
12
,
14
are connected to each other via a radio air interface.
FIG. 2
is a functional block diagram of a synchronization apparatus that can be used for synchronizing parallel processors, such as, for example, the digital processors illustrated by FIG.
1
. Essentially, the synchronization process being described herein is preferably a method whereby two databases (e.g., a respective database associated with each processor in
12
,
14
) are processed to contain the same information. Ideally, changes made to entries in one database are also made to the other. In a broad context, such a database can include, for example, information from a phone book, a calendar, etc. As such, the contents of such a database can include any type of information typically associated with a parallel processing scheme.
Referring to
FIG. 2
, a synchronization (sync) engine
104
is connected to and associated with a particular (sync engine) database
102
. For example, the sync engine database
102
can be a database associated with, or included as part of, the processor
12
shown in FIG.
1
. In this context, a “sync engine” is preferably the software that performs the database synchronization functions. However, an apparatus that performs sync engine functions can also be considered as part of such a sync engine. A second (device) database
108
is to be synchronized with the sync engine database
102
. For example, the device database can be associated with, or included as part of, the second processor
14
. In this context, the device can be the digital processor
14
itself. Notably, a sync engine and database can be associated with each of the parallel processors to be synchronized. In other words, the parallel processor synchronization procedure can be performed in either direction. For example, the second processor
14
can also include a sync engine (
104
) and associated database (
102
), while the first processor
12
(e.g., a device) can also include a device database (
108
).
A synchronization protocol
106
is used to define the database synchronization method used. A change log
110
is associated with the device database
108
. A change log is preferably a log or register in which changes destined for a database are temporarily stored. For example, the size of the change log
110
can be fixed, and older changes can be pushed out of the change log as new changes are added (first-in first-out or FIFO process). As such, each entry in the change log is associated with a certain event (e.g., add, delete or modify), a time stamp (e.g., a change counter value), and a Unique Identifier (UID). A UID is a number assigned to each new entry in a database (
102
or
108
). These numbers are unique in that they are not reused within the same database. A change counter (not explicitly shown) is a counter that is preferably increased for each change that occurs to a database. Preferably, the change counter value is stored in the change log for each change that occurs, and also stored in the sync engine
104
after synchronization has occurred.
If at least one of the two databases (e.g.,
102
or
108
) contains information when the first synchronization attempt is made, a “slow” synchronization procedure is performed. Slow synchronization is a procedure whereby all of the entries in one of the databases are compared with all of the entries in the other database involved. When such a slow synchronization procedure is performed, a UID resolution table is created (e.g., by the sync engine software). The entries in such a UID resolution table reflect the relationship between the entries in the two databases that have been synchronized. For example, if there is a UID for an entry in one database (e.g.,
102
), the UID resolution table provides information about what UID that same entry has in the second database (e.g.,
108
). On the other hand, a “fast” synchronization procedure is performed if the change log contains all database changes that have occurred since the last synchronization was performed. When such a fast synchronization procedure is performed, only those entries in the affected database have to be compared and transferred between the device database (
108
) and sync engine
104
. Fast synchronization of databases is significantly faster than slow synchronization.
A significant problem that occurs with the existing protocol (e.g., as exemplified by block
106
in
FIG. 2
) followed for synchronizing parallel processors in certain telecommunication systems is that the protocol does not work if a database in one of the processors is modified (e.g., by a user's direct modification
112
) while the processors are being synchronized. This problem occurs because the existing synchronization protocol requires the database being synchronized to be locked up so that only the sync engine can modify that database. Consequently, for those parallel processing schemes whereby the synchronization is being performed as a background application, for example, all user interaction with the processor (device) is frozen during the synchronization procedure. However, since that device's database is locked up during this period, only one of the device's synchronization engines can perform its synchronization functions at any one time.
Another significant problem with the existing protocol occurs when a device is reset and synchronized with a plurality of sync engines. For example, after a device has been reset, the first processor it is synchronized with will determine that the device has been reset and will restore all entries, because the change counter value is zero at that time. However, when a second processor is to be synchronized with the device, the second processor will not know that the device has been reset. Consequently, data can be lost or a slow synchronization procedure can occur as a result. Also, when restoring a database after a reset has occurred, the existing database will be overwritten by entries from the new database, which creates another problem if this action is not detected by the second processor. Nevertheless, as described in detail below, the present invention successfully resolves the above-described and other related problems.
SUMMARY OF THE INVENTION
In accordance with a preferred embodiment of the present invention, a method for synchronizing parallel processors is provided whereby a sync engine associated with one processor retrieves the current value of a change counter for a database associated with the second processor, stores the current value of the change counter, retrieves all data entries from the database associated with the second processor, and performs a synchronization procedure for a database associated with the first processor based on of all of the data entries retrieved.
An important technical advantage of the present invention is that a parallel processing synchronization protocol is provided whereby database entries can be modified while the database is being synchronized.
Another important technical advantage of the present invention is that a parallel processing synchronization protocol is provided whereby the synchronization duration is significantly decreased.
Another important technical advantage of the present invention

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Protocol for synchronizing parallel processors in a mobile... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Protocol for synchronizing parallel processors in a mobile..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Protocol for synchronizing parallel processors in a mobile... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-3044466

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.