Patent ID: 8386433

Claim:
A system for storing data and metadata from a local node to a remote node, the system comprising: the local node comprising a mirroring engine configured for: receiving a plurality of data and metadata sets from a mirroring client, each received data or metadata set comprising a data or metadata request from the mirroring client to store the data or metadata set to the remote node; transmitting each data request to the remote node for storage; coalescing at least two received metadata requests into a metadata chain comprising a grouping of at least two metadata requests; storing each received data and metadata request to a data and metadata request (DMR) data structure according to a time order the requests are received; removing requests from the DMR data structure as the requests are successfully stored to the remote node; storing each received metadata request to a metadata request (MR) data structure according to the time order the requests are received, the MR data structure for managing metadata chains, each metadata chain comprising a head metadata request comprising the earliest received metadata request in the metadata chain and a tail metadata request comprising the last received metadata request in the metadata chain; and transmitting only one representative metadata request in the metadata chain to the remote node for storage and not transmitting the other metadata requests in the metadata chain to the remote node if the metadata requests in the metadata chain comprises the earliest received requests remaining in the DMR data structure and the representative metadata request comprises a tail metadata request in the metadata chain, wherein: the remote node is a predetermined failover partner node of the local node for resuming functions of the local node upon failure of the local node; and the plurality of data and metadata requests from the mirroring client is stored to a local non-volatile storage device on the local node and stored to a remote non-volatile storage device on the remote node for failover protection.