Synchronization of host computers and handheld remote computers

Data processing: database and file management or data structures – Database design – Data structure types

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C707S793000, C707S793000, C707S793000

Reexamination Certificate

active

06549917

ABSTRACT:

BACKGROUND OF THE INVENTION
This invention relates to computer systems, and, more particularly, to the synchronization of data between a host computer and a handheld client computer.
As a result of increases in computing power and available on-board memory, handheld or palmtop computers have the potential to replace laptop and desktop computers in many situations. Most uses of handheld computers to date have been oriented toward stand-alone applications such as an individual keeping a calendar and phone list, note taking, and the like. However, handheld computers are being increasingly used in corporate and public data networks (e.g., the Internet). In such systems, a host computer serves as the central data-storage site and manager of a number of handheld client computers. The client computers communicate with the host computer, but not with each other.
For example, each salesperson of a company may keep a local copy of a data base including records of customer information, inventory, catalogs, up-to-date pricing information, and other relevant data. The local database is stored on the salesperson's handheld client computer. A master corporate database containing a similar record set is stored in the host computer. The updating of the handheld client databases is accomplished using the handheld client computer communicating with the host central computer via a data channel such as a direct hookup, a telephone line, a wireless link, or the Internet. At the same time, the handheld database sales records may be automatically transferred to the host computer from the client computers, thus allowing the central sales records to be updated.
One of the important issues in the development of such host/client systems is the synchronization of the data records of the host computer and the individual handheld client computers. Each time a data record within either the host computer or one of the client computers changes, there is a question of whether the corresponding records in the other computers of the system should be altered responsively, or “synchronized” to it. In the salesperson example, a sale by one salesperson decreases the available inventory of that item, or manufacturing operations may increase the available inventory of that item. It is desirable that the host computer and, through the host computer, every other salesperson's client computer be made aware of the up-to-date inventory status by synchronization of the applicable inventory records.
Record synchronization is a complex process because the communication between the host computer and each client computer occurs only when the data links are made on an occasional basis. Synchronization is also complex because it entails more than just blindly matching data bases. For example, if an error is made in a data entry on one of the client computers, during synchronization the host computer may seek to discover the error and not synchronize the records on the other client computers if an error is suspected. Record synchronization techniques are available to achieve synchronization of the records of two data bases that may be tailored to account for such issues.
The present inventors have observed that the record synchronization process may require long connection times between the host computer and each individual client computer, particularly when the data channel is a “high-latency” data channel that has inherent delays which are long compared to the cycle time of the CPUs of the host and the client computers. Examples of commonly used high-latency data channels are telephone lines, wireless links such as cellular phone systems, and shared data networks such as the Internet. The inventors have observed that, regardless of the processing speeds of the CPUs of the two linked computers, the inherent delays in the data channel may result in unacceptably or uneconomically long synchronization times. It is not practical in many cases to avoid the use of high-latency data channels, since they are the most universally available data channels for most remote users of the handheld computers.
There is a need for an approach for speeding the record synchronization process, particularly in those cases where a high-latency data channel is used. The present invention fulfills this need, and further provides related advantages.
SUMMARY OF THE INVENTION
The present invention provides a software synchronization communication architecture that reduces the synchronization time of a host computer and a remote handheld client computer. The approach is generally applicable, although it is most beneficially applied when the host computer and the client computer communicate through a high-latency data channel. It may be utilized in conjunction with existing or future record synchronization techniques, and serves not to alter these record synchronization techniques but to operate in conjunction with them to speed the synchronization.
In accordance with the invention, a method for communicating synchronization information between at least one handheld client computer and a host computer comprises the steps of providing a host computer having a set of host databases (each comprising a set of data records) 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 (typically a high-latency data channel such as a telephone line, a wireless communications channel, or the Internet), establishing a data-link between the host computer and the handheld client computer through the data channel, and transferring from the handheld client computer to a cache in the host computer a skeletal snapshot of the client databases. The client database/record change-indicators may range from a simple flag indicating the occurrence and type of the change to a detailed time-stamp indicating the change type and the exact time of the change. The skeletal snapshot may include any information indicating the state of the remote databases and records, such as, for example, change-indicators and time-stamps, unique identifiers (e.g., database/record identification numbers), and/or database/record indices in an ordered list.
An up-transfer list of client records to be transferred from the client computer to the host computer is determined. The up-transfer list is determined by the communications architecture using the skeletal snapshot retrieved from the client computer and any a priori information known about the objectives and requirements of the synchronization to be performed. This a priori information may be estimated based upon typical synchronization rules or past synchronization history, but is not deterministically known. The detailed discussion of the preferred embodiment of the invention discusses examples of the skeletal information and the a priori knowledge used to determine the up-transfer list of client records. The records on the up-transfer list are up-transferred from the handheld client computer to the cache of the host computer and are associated with the skeletal snapshot, so as to be available to a record synchronization operation.
The method includes receiving from the record synchronization operation a set of updated and added host records to be down-transferred, as well as a set of requests to delete client records, wherein the step of up-transferring is initiated prior to an initiation of the step of receiving and down-transferring from the host computer to the handheld client computer the set of updated and added host records and the set of record deletion requests. The method further includes storing the updated and added host records in, and removing the deleted records from, the cache associated with the skeletal snapshot. The steps of up-transferring and down-transferring are accomplished in a full-duplex, asynchronous manner, thereby keeping the data channel as full

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

Synchronization of host computers and handheld remote computers does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Synchronization of host computers and handheld remote computers, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Synchronization of host computers and handheld remote computers will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-3087283

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