ASTA SkyWire
Think Wireless
astaskywire.com / Products / SkyWire™ SkySync / The upload stream and the download stream

SkySync
See also

The upload stream and the download stream

To upload rows, SkyWire™ SkySync clients prepare and send an upload stream that contains a list of all the rows that have been updated, inserted, or deleted on the SkyWire™ SkySync client since the last synchronization, as well as copies of those same rows as they were when the remote client originally downloaded them. Similarly, to download rows, the SkyWire™ SkySync synchronization server prepares and sends a download stream that contains a list of inserts, updates, and deletes.

Actual steps taken in Synchronization

The synchronization process proceeds as follows. Each step in the following description is divided into two parts. One part describes the actions of the SkyWire™ SkySync client; the other part describes the actions of the SkyWire™ SkySync synchronization server.

The SkyWire™ SkySync client automatically keeps track of which rows on the remote device have been inserted, updated, or deleted since the previous successful synchronization. The SkyWire™ SkySync client establishes a connection with the SkyWire™ SkySync synchronization server and uploads these changes. The SkyWire™ SkySync client initiates these actions. The upload stream consists of a set of single-row inserts, updates, and deletes as well as copies of the original state of these rows (where appropriate)

The SkyWire™ SkySync synchronization server receives and applies the upload stream instructions to the consolidated database. The changes are made in a single transaction. When finished, the SkyWire™ SkySync synchronization server commits the transaction in the consolidated database.

The SkyWire™ SkySync synchronization server compiles a list of rows to be inserted, updated, or deleted on the SkyWire™ SkySync client, by executing the scripts present in the consolidated database. It sends these rows back to the SkyWire™ SkySync client in the form of a download stream.

The SkyWire™ SkySync synchronization server prepares this download stream using a single transaction in the consolidated database, but it does not commit any changes until the application confirms receipt. You can use this transaction to maintain a record of which information has been sent to each remote database.

The SkyWire™ SkySync client is assured that all the changes it sent to the server in the upload stream have been committed in the consolidated database when it starts to receive the download stream.

The SkyWire™ SkySync client automatically updates its record of which data is modified so that the same changes are not sent again. It then processes the download stream, deleting old rows, inserting new rows, and updating rows that have changed. It makes all these changes in a single transaction in its own database. When finished, it commits the transaction.

The SkyWire™ SkySync client sends a short message back to the SkyWire™ SkySync synchronization server, confirming that it has received and processed all the changes.

The SkyWire™ SkySync synchronization server commits the download transaction in the consolidated database upon receipt of this confirmation.

During SkyWire™ SkySync synchronization, there are few distinct exchanges of information. The entire upload stream is built and sent from the remote site and, in response, the entire download stream is built and sent from the SkyWire™ SkySync synchronization server. Limiting the chattiness of the protocol is especially important when communication is slower and has higher latency, as is the case when using telephone lines or public wireless networks.

ASTA Technology Group
ASTA SkyWire
tel.: (208) 342-7800
Last modified: 2/24/2003 2:31:04 PM
© 1997-2004 Asta Technology Group
home search / site map