An apparatus for and method of providing failure recovery from redundancy,
notwithstanding that the failed subsystem and its replacement have
differing capacities. This is especially useful when implementing a
cluster lock processing system having a relatively large number of
commodity instruction processors which are managed by a highly scalable,
cluster lock manager. Reliability is built into the managing
communication processor by dividing the system into master and slave
subsystems. The master has primary responsibility for system management
and coordination, whereas the slave has primary responsibility to backup
the master and be prepared to assume management responsibility. Upon the
need to transfer responsibility from the master to the slave, whether it
be manual (e.g., maintenance) or automatic (e.g., failure), the only
concern is that the slave has sufficient capacity to accept the current
level of processing, even though it does not have the same level of
capacity as the master.