Object synchronization between objects stores on different...

Electrical computers and digital processing systems: multicomput – Computer-to-computer data routing – Least weight routing

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C707S793000, C709S203000

Reexamination Certificate

active

06633924

ABSTRACT:

TECHNICAL FIELD
This invention relates to methods of synchronizing any form of data such as databases used in personal information managers, especially when the databases are used on two different computers that are only occasionally connected for data communications.
BACKGROUND OF THE INVENTION
As electronic components have continued to become smaller and less expensive, laptop, handheld, and other portable computers have become more and more popular. Although a variety of applications can be used with such computers, personal information managers (PIMs) form an important category of application programs that are particularly suited for used with portable computers or other portable information devices.
To get the most benefit from a PIM on a portable device, it is very useful if the PIM information can be kept up to date with a PIM that a user uses in conjunction with his or her desktop computer. Many portable computers are designed to connect with a desktop and to exchange information. When compatible PIMs are used on a portable computer and a desktop computer, it is possible to use this connectivity to update the PIMs so that the latest updates made by a user on one PIM are also reflected in the other PIM. This is referred to as “synchronization.”
There are many competing desktop PIM applications on the market today. Each of them uses very different data formats. It is imperatively important for a portable device to be able to synchronize its data with each of these PIM applications. This requires a flexible and extensible architecture such that a synchronization software module can be easily written for a particular PIM application.
In contrast to previous methods of synchronizing PIMs, the inventors have developed a versatile system that allows a PIM on a portable computer to be synchronized with a great variety of desktop PIMs. An important advantage of the invention is that neither PIM component is required to track changes. Rather, this is taken care of by software components that are independent of the PIMs. These independent components can be used in conjunction with a number of different PIMs or similar database programs. Another important advantage of the invention is that it makes no assumption on the format of the data that are transferred between two computers. Therefore, the developer of a synchronization module has the total freedom of using different format of data depending only on specifics of the particular PIM application.
SUMMARY OF THE INVENTION
In accordance with the invention, a synchronization manager executes on a primary computer. The synchronization manager maintains a reference store and communicates with an auxiliary computer. Respective PIMs or other database management programs run on each computer. An object store is maintained on each computer.
Two additional components (usually in the form of DLLs) are used. A first interface component is associated with the PIM that executes on the primary computer. A second interface component is associated with the PIM that executes on the auxiliary computer. Each component exposes a defined set of interface methods.
On the primary computer, identifying data segments are maintained persistently in the reference store for each object in the primary computer's object store. The data segments are defined by the developer of the interface components-the synchronization manager has no knowledge of the type of data stored in these segments. The identifying data segments are derived from the objects, so that comparing a stored identifying data segment with a currently derived data segment results in an indication of whether the corresponding object has been changed since it was last synchronized. Such comparisons are performed by the interface components, rather than by the synchronization manager.
In the exemplary implementation of the invention, the identifying data segments include data representing any properties provided by the auxiliary computer's object store that are not supported in the primary computer's object store. This allows such properties to be recovered from the primary computer if they are lost from the auxiliary object store.
Objects stored in the object store maintained by the auxiliary computer also have identifiers. These identifiers are usually different from the identifying data segments used in the primary object store. A mapping is maintained by the synchronization manager so that when an object is changed in one store, the corresponding object in another store can be located and the same change can be applied to that object. Each time a new object in the primary store is created and synchronized to the auxiliary store, the synchronization manager retrieves the identifier for that new object in the auxiliary object store and uses it to establish a mapping between these two objects. All these mappings are stored in synchronization manager's reference store, along with the identifying data segments.
Whenever an object needs to be transferred from one store to another, the synchronization manager calls interface methods exposed by the interface components. These methods convert an object into a series of bytes. The synchronization manager then transfers these bytes to the other store and by calling an interface method that converts the bytes back to an object.


REFERENCES:
patent: 4965718 (1990-10-01), George et al.
patent: 5297144 (1994-03-01), Gilbert et al.
patent: 5333299 (1994-07-01), Koval et al.
patent: 5408470 (1995-04-01), Rothrock et al.
patent: 5493676 (1996-02-01), Amundson
patent: 5604855 (1997-02-01), Crawford
patent: 5684984 (1997-11-01), Jones et al.
patent: 5684990 (1997-11-01), Boothby
patent: 5701423 (1997-12-01), Crozier
patent: 5706509 (1998-01-01), Man-Hak Tso
patent: 5734642 (1998-03-01), Vaishnavi et al.
patent: 5758355 (1998-05-01), Buchanan
patent: 5845293 (1998-12-01), Veghte et al.
patent: 5884323 (1999-03-01), Hawkins et al.
patent: 5897640 (1999-04-01), Veghte et al.
patent: 5928329 (1999-07-01), Clark et al.
patent: 5974238 (1999-10-01), Chase, Jr.
patent: 6000000 (1999-12-01), Hawkins et al.
patent: 6006274 (1999-12-01), Hawkins et al.
patent: 6044381 (2000-03-01), Boothby et al.
patent: 6081806 (2000-06-01), Chang et al.
patent: 6128661 (2000-10-01), Flanagin et al.
patent: 6295541 (2001-09-01), Bodnar et al.
patent: 6317797 (2001-11-01), Clark et al.
patent: 6330568 (2001-12-01), Boothby et al.
patent: 6330618 (2001-12-01), Hawkins et al.
patent: 6401112 (2002-06-01), Boyer et al.
patent: 6442570 (2002-08-01), Wu
Moss, B et al. “Design of the MNEME Persistent Object Store” ACM Transactions on Information Systems. Apr. 1990, pp. 103-139.

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

Object synchronization between objects stores on different... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Object synchronization between objects stores on different..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Object synchronization between objects stores on different... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-3150299

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