Automatic data synchronization between a handheld and a host computer using pseudo cache including tags and logical data elements
First Claim
1. A handheld computer adapted to communicate with a host computer, the host computer having a data set including logical data elements of a user database, the handheld computer comprising:
- a processor;
a common data set which is a shared version of the host computer data set, the common data set including the logical elements of the user database;
a communication port coupled to said processor, said communication port adapted to link said processor with the host computer; and
a data synchronization engine coupled to said processor and said communication port, said data synchronization engine including;
one or more tags, each of said tags corresponding to one of the logical data elements in the user database, each of said tags including at least a modified flag; and
a pseudo cache engine coupled to the processor that maintains the states of each of said tags responsive to changes to corresponding ones of the logical data elements in the user database;
wherein said data synchronization engine initiates a synchronization of a logical data element with the host computer over the communication port when an associated one of the tags is modified in the pseudo cache.
3 Assignments
0 Petitions
Accused Products
Abstract
An apparatus is disclosed for performing dynamic synchronization between data stored in a handheld computer and a host computer, each having a plurality of data sets including at least one common data set, each computer having a copy of the common data set. The handheld computer has a processor, a communication port, and a data synchronization engine. The data synchronization engine has a pseudo-cache and one or more tags connected to the pseudo cache. Data is synchronized whenever data is written to main memory and/or when the associated pseudo-cache tag is invalidated. By strict adherence to a set of protocols, data coherency is achieved because the system always knows who owns the data, who has a copy of the data, and who has modified the data. The data synchronization engine resolves any differences in the copies and allows the storage of identical copies of the common data set in the host computer and in the handheld computer.
915 Citations
25 Claims
-
1. A handheld computer adapted to communicate with a host computer, the host computer having a data set including logical data elements of a user database, the handheld computer comprising:
-
a processor; a common data set which is a shared version of the host computer data set, the common data set including the logical elements of the user database; a communication port coupled to said processor, said communication port adapted to link said processor with the host computer; and a data synchronization engine coupled to said processor and said communication port, said data synchronization engine including; one or more tags, each of said tags corresponding to one of the logical data elements in the user database, each of said tags including at least a modified flag; and a pseudo cache engine coupled to the processor that maintains the states of each of said tags responsive to changes to corresponding ones of the logical data elements in the user database; wherein said data synchronization engine initiates a synchronization of a logical data element with the host computer over the communication port when an associated one of the tags is modified in the pseudo cache. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. An integrated information system, comprising:
-
a host computer comprising; a data set including logical data elements of a user database; and a handheld computer adapted to communicate with the host computer comprising; a processor; a common data set which is a shared version of the host computer data set, the common data set including the logical elements of the user database; a communication port coupled to said processor, said communication port adapted to link said processor with the host computer; and a data synchronization engine coupled to said processor and said communication port, said data synchronization engine including; one or more tags, each of said tags corresponding to one of the logical data elements in the user database, each of said tags including at least a modified flag; and a pseudo cache engine coupled to the processor that maintains the states of each said tags responsive to changes to corresponding ones of the logical data elements in the user database; wherein said data synchronization engine initiates a synchronization of a logical data element with the host computer over the communication port when an associated one of the tags is modified in the pseudo cache. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A method for communicating data records between a handheld computer and a host computer, the handheld computer and host computer each having at least one common data set including logical data elements of a user database, each computer having copies of the common data set, the method comprising the steps of:
-
providing a pseudo cache having tag entries in the handheld computer corresponding to the logical data elements; establishing a communication link between the handheld computer and the host computer in response to a change of a pseudo cache tag entry; synchronizing data records stored by the handheld computer and the host computer, said synchronizing steps including; searching tag entries of the pseudo cache for shared data records; and modifying one or more o the tag entries coupled to said pseudo cache; resolving any differences in the copies and storing identical copies of the common data set in the host computer and in the handheld computer. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23)
-
-
24. A desktop computer adapted to communicate with a handheld computer, the handheld computer having a data set including logical data elements in user database, the desktop computer comprising:
-
a processor; a common data set which is a shared version of the handheld computer data set including the logical elements of the user database; a communication port coupled to said processor, said communication port adapted to link said processor with the handheld computer; and a data synchronization engine coupled to said processor and said communication port, said data synchronization engine including; one or more tags each corresponding to one of the logical data elements in the user database; wherein said data synchronization engine receives a synchronization of a logical data element within the host computer over the communication port when an associated one of the tags is written to a pseudo cache engine in the handheld computer with a set modified bit, the pseudo cache engine in the handheld computer maintaining the states of the associated ones of the tags in the handheld computer responses to changes to corresponding ones of the logical data elements in the user database in the handheld computer, and wherein the synchronization of a logical data element reflects a change in the state of an associated one of the tags in the handheld computer. - View Dependent Claims (25)
-
Specification