Patent ID: 8332684

Claim:
An apparatus, comprising: a processor; a memory; and an interface to connect the processor, memory, and a set of logics, the set of logics comprising: a metadata controller (MDC) logic configured to selectively terminate an active File System Manager (FSM) process running on the apparatus and to selectively activate a standby FSM process available on a redundant MDC upon determining that the active FSM process has violated a timer bounded arbitration (ARB) protocol, where the timer bounded ARB protocol relies on an ARB block acting as a resource shared between the active FSM process and the standby FSM process; and an ARB logic configured to maintain single writer access to file system metadata using the ARB block, and configured to control the active FSM process and the standby FSM process to synchronize control of the ARB block by using the ARB block, where an MDC housing the active FSM comprises: an active file system portmapper (FSMPM); an active file system manager (FSM) connected to the active FSMPM by a socket; and an active timer, where the active FSMPM is configured to selectively force an election of an FSM process to replace the active FSM process upon the metadata controller logic determining that the active FSM process has not maintained control according to the timer bounded ARB protocol, where the active FSM process is configured to maintain ownership of the ARB by periodically writing the ARB according to the timer bounded ARB protocol and to restart the active timer upon successfully writing the ARB, where an MDC housing the standby FSM comprises: a standby FSMPM; a standby FSM process connected to the standby FSMPM by a socket; and a standby timer, where the standby FSMPM is configured to activate the standby FSM process after being elected to replace the active FSM process, and where the standby FSM process is configured to acquire ownership of the ARB, to start the standby timer, to maintain ownership of the ARB by periodically writing the ARB according to the timer bounded ARB protocol, and to restart the standby timer upon successfully writing the ARB.