Synchronization of host computers and handheld remote computers
First Claim
1. A method for communicating synchronization information between at least one handheld client computer and a host computer, comprising the steps of:
- providing a host computer having a set of host databases stored therein;
providing a handheld client computer having a set of client databases stored therein and database/record change-indicators corresponding to those client databases/records which have been changed since the last prior synchronization;
providing a data channel between the host computer and the handheld client computer;
establishing a data-link between the host computer and the handheld client computer through the data channel;
transferring from the handheld client computer to a cache in the host computer a skeletal snapshot of the client databases, wherein the skeletal snapshot includes at least one state indicator selected from the group consisting of the state of the remote databases/records, change-indicators and time-stamps, unique identifiers, and database/record indices in an ordered list;
determining an up-transfer list of client records to be transferred from the client computer to the host computer;
up-transferring from the handheld client computer to the cache of the host computer the records on the up-transfer list and associating the up-transferred records on the up-transfer list with the skeletal snapshot, so as to be available to a record synchronization operation;
receiving from the record synchronization operation a set of updated host records to be down-transferred and requests to delete client records; and
down-transferring from the host computer to the handheld client computer the set of updated host records to be down transferred, and also storing the updated host records in the cache associated with the skeletal snapshot, the steps of up-transferring and down-transferring being accomplished in a full-duplex, asynchronous manner.
1 Assignment
0 Petitions
Accused Products
Abstract
A handheld client computer and a host computer are synchronized through a data channel, preferably a high-latency data channel, by transferring from the handheld client computer to a cache in the host computer a skeletal snapshot of the client records, including the identification and address of each of the client records. An up-transfer list of client records to be transferred from the client computer to the host computer is determined. The records on the up-transfer list are up-transferred from the handheld client computer to the cache of the host computer and associated with the skeletal snapshot, so as to be available to a record synchronization operation. A set of updated host records to be down-transferred is received from the record synchronization operation. The step of up-transferring is preferably initiated prior to the initiation of the step of receiving from the record synchronization operation. The method includes down-transferring from the host computer to the handheld client computer the set of updated host records to be down transferred, and also storing the updated host records in the cache associated with the skeletal snapshot. The steps of up-transferring and down-transferring are accomplished in a full-duplex, asynchronous manner. A complete status and the set of host records of the handheld client computer may be up-transferred to the cache to form a virtual client computer. The virtual client computer may be stored on a mass storage device and updated incrementally during subsequent synchronization sessions.
-
Citations
18 Claims
-
1. A method for communicating synchronization information between at least one handheld client computer and a host computer, comprising the steps of:
-
providing a host computer having a set of host databases stored therein;
providing a handheld client computer having a set of client databases stored therein and database/record change-indicators corresponding to those client databases/records which have been changed since the last prior synchronization;
providing a data channel between the host computer and the handheld client computer;
establishing a data-link between the host computer and the handheld client computer through the data channel;
transferring from the handheld client computer to a cache in the host computer a skeletal snapshot of the client databases, wherein the skeletal snapshot includes at least one state indicator selected from the group consisting of the state of the remote databases/records, change-indicators and time-stamps, unique identifiers, and database/record indices in an ordered list;
determining an up-transfer list of client records to be transferred from the client computer to the host computer;
up-transferring from the handheld client computer to the cache of the host computer the records on the up-transfer list and associating the up-transferred records on the up-transfer list with the skeletal snapshot, so as to be available to a record synchronization operation;
receiving from the record synchronization operation a set of updated host records to be down-transferred and requests to delete client records; and
down-transferring from the host computer to the handheld client computer the set of updated host records to be down transferred, and also storing the updated host records in the cache associated with the skeletal snapshot, the steps of up-transferring and down-transferring being accomplished in a full-duplex, asynchronous manner. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
storing the updated and added host records in, and removing the deleted records from, the cache associated with the skeletal snapshot. -
3. The method of claim 1, wherein the step of determining includes the step of
the host computer selecting a host listing of client records to be up-transferred based on information received from the synchronization operation, and adding the host listing to the up-transfer list. -
4. The method of claim 1, wherein the data channel is a high-latency data channel.
-
5. The method of claim 1, wherein the step of providing a data channel comprises the step of
providing a data channel selected from the group consisting of a telephone data channel, a wireless data channel, and a shared data network. -
6. The method of claim 1, including an additional step, after the step of up-transferring has been initiated, of
adding at least one additional client record to the up-transfer list, and wherein the step of up-transferring includes up-transferring the at least one additional client record on the up-transfer list. -
7. The method of claim 1, wherein the step of transferring from the handheld client computer to a cache in the host computer further includes
transferring a complete status of the handheld client computer to the cache to form a virtual client computer. -
8. The method of claim 1, wherein, in the step of determining an up-transfer list of client records,
the up-transfer list includes only those client records of the client record flag set if the last prior computer with which the hand-held client computer was synchronized was the host computer, and the up-transfer list includes all client records if the last prior computer with which the hand-held client computer was synchronized was a computer other than the host computer. -
9. The method of claim 1, wherein the step of up-transferring is initiated prior to an initiation of the step of receiving.
-
-
10. A method for communicating synchronization information between at least one handheld client computer and a host computer, comprising the steps of:
-
providing a host computer having a set of host records stored therein;
providing a handheld client computer having a set of client databases stored therein and a client record flag set corresponding to those client records which have been changed since the last prior synchronization;
providing a data channel between the host computer and the handheld client computer;
establishing a data-link between the host computer and the handheld client computer through the data channel;
up-transferring from the handheld client computer to a cache in the host computer a complete status and the set of host records of the handheld client computer to the cache to form a virtual client computer, so as to be available to a record synchronization operation;
receiving from the record synchronization operation a set of updated host records, wherein the step of up-transferring is initiated prior to an initiation of the step of receiving;
storing the updated host records in the cache to update the virtual client computer; and
down-transferring from the host computer to the handheld client computer the set of updated host records to be down transferred, the steps of up-transferring and down-transferring being accomplished in a full-duplex, asynchronous manner. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
storing the contents of the cache in a mass storage device. -
12. The method of claim 10, including additional steps, after the step of down-transferring, of
down-transferring from the host computer to the handheld client computer the virtual client computer of the cache. -
13. The method of claim 10, wherein the data channel is a high-latency data channel.
-
14. The method of claim 10, wherein the step of providing a data channel comprises the step of
providing a data channel selected from the group consisting of a telephone data channel, a wireless data channel, and a shared data network. -
15. The method of claim 10, including additional steps, after the step of down-transferring, of
providing a second handheld client computer, and down-transferring from the host computer to the second handheld client computer the virtual client computer of the cache. -
16. The method of claim 10, including an additional step of
performing a record synchronization operation with the virtual handheld client computer in the cache. -
17. The method of claim 16, including an additional operation, after the step of performing a record synchronization operation with the virtual handheld client computer in the cache, of
performing a record synchronization operation between the virtual handheld client computer in the cache and the handheld client computer. -
18. The method of claim 10, wherein the step of up-transferring is initiated prior to an initiation of the step of receiving.
-
Specification