Monitoring a plurality of objects in a storage area network includes
assigning a plurality of primary agents to monitor the objects, assigning
to the objects a plurality of secondary agents that are configured to
monitor the objects, maintaining a table of agents and objects, and, in
response to failure of a primary agent of an object, converting a
secondary agent to a primary agent of the object according to information
in the table. Monitoring a plurality of objects in a storage area network
may also include assigning a cost value to each of the secondary agents,
and including the cost value in the table of agents and objects. The cost
value for a particular secondary agent may vary according to an amount of
processing time for the particular secondary agent to perform an assigned
operation with respect to an object associated with the particular
secondary agent. Converting a secondary agent to a primary agent may
include choosing a secondary agent having the lowest cost.