Another piece of MicroArchitecture. This adapter adapts a single data path to two paths. This may be used for resiliency and performance. Dual path adapters usually have an implicit twin to support schemes such as redundant paths between individual objects, but this is not the only use. Failover is supported using some form of heartbeat on each data path. If one path fails then the other path is initialised. The failover may be quite complex, so objects which use this pattern should ideally support long delays and temporary transaction failures. Restoration of the original datapath may also be managed. All this logic occurs in the adapter, and need not be considered by the client objects. Parallel path adapters are a form of multiplex that can handle loss of either path. In a network this is the scheme of choice since the adaptation is completely localised to the complementary pairs of adapters. ---- '''Possible variations on heartbeat/switchover strategy:''' * One path active, one on standby. Loss of heartbeat triggers switch over. * As above with periodic switch over so that dormant path gets tested periodically too. * Both paths active (e.g. alternate packets by alternate routes). Loss of one path is just a loss of bandwidth. * Sticky fallback (stays on fallback path) vs Primary-Secondary paths (recovery to primary when it recovers). I've implemented a number of dual-redundant comms systems. The best (and simplest) doesn't really count as coding as it had an RS485 serial loop and a break (but not a short) did not disrupt comms. [With a little more work we could have detected the break too] -- JamesCrook ---- Examples: CISCO - HSRP : hot standby routing protocol SUN - HA : high availability clustering Hmm. I could call this a multi-path adapter to be more general. Should ref to more. Refs: LocationTransparency.