A method and system for improving reliability and availability in
distributed computer applications. The method and system may be used in
the context of primary-backup, failover recovery. The method involves
software-fault tolerance using technique of structured storage; referral
components; and wrappers. The method and system exploit the platform and
operating system independence of component object models to allow the
dynamic linkage of different component objects, the objects being
resident on different inter-linked machines, based on the application
requirements at any given point in time.