async offers two modes of operation: one-time (i.e., "on demand") synchronization and continuous synchronization.

Mode Description
One-time synchronization In this mode, async performs synchronization of the endpoints, and exits. If an existing snapshot database exists from a previous run, async uses the existing snapshot to determine changes, unless specifically instructed to drop the snapshot and scan the file system again (refer to the "-x" command line option in async Command Line Options). This mode should be used for one-time operations, or for periodic, scheduled synchronizations where file systems do not support event-based change notification. For the latter, async can be scheduled as a cron job to run periodically.
Continuous synchronization In this mode, async performs synchronization of the endpoints and continues running. As file system updates occur (i.e., files or directories are added, deleted or modified), async detects these changes and synchronizes with the peer endpoint. Continuous mode requires local file systems that support change notification.

Please refer to the table below for async deployment models.

Mode Description
Uni-directional Similar to rsync, async supports replication of files and directories, and any updates to these (including deletions, renames, moves, copies, etc.) from a source to a target. The direction of replication can be specified as a "push" or "pull" operation, relative to the initiating host. Once a snapshot is taken after the first replication, all file system updates are recognized against this snapshot, and no comparison of source to target over the WAN is performed (as in rsync). async supports most of the same uni-directional synchronization options as rsync, such as include/exclude filters, overwrite only if newer, symbolic link handling, and preservation of file system ownership and timestamps (access, create, etc.).
Bi-directional async can also be run in a bi-directional mode, which supports the replication of all file and directory updates between the peers. For any case in which the most recent version of an update cannot be reliably determined, or when a file changes on both endpoints concurrently, async flags the update as a conflict and leaves the peer file systems in their present state (and in conflict). Files in conflict can be reviewed using the asyncadmin command line tool (refer to the topic asyncadmin Command Line Options). In this version, it is up to the operator to manually resolve conflicts.
Multi-directional async also supports multi-directional synchronization scenarios, in which multiple endpoints need to be kept in sync, including the following:
  • Hub-and-spoke synchronization: A core source (i.e., hub) server or cluster replicates to N-number of endpoints (i.e., spokes). This configuration can support distributed workflows, content delivery networks, remote or branch office replication, and any other scenario requiring replication to multiple endpoints concurrently.
  • Collaborative file-based working: async can be used to synchronize remote file stores over the WAN where the file content is being updated concurrently. async is ideal for synchronization workflows that rely on large unstructured files or file sets, for which traditional caching/compression or de-duplication strategies do not offer significant benefit.

In multi-directional scenarios, one async session (one async process execution) is required for each remote peer with which synchronization need be done. Any number of async processes can be run concurrently and any number of peers can be synced concurrently. The model assumes that peers synchronizing are in an acyclic graph topology, meaning that a downstream peer is not configured to sync "back" in a loop to an upstream peer.