Patent ID: 6775703
Filing Date: 2004-08-10
Classification: G06F,H04L

Abstract:
A computer program product comprising a machine-readable medium including machinxecutable instructions therein for ensuring data consistency in a distributed system in the presence of failures, comprising the steps of:establishing a lease based protocol in said distributed system wherein a client may hold a lease with a server, wherein said lease represents a contract between said client and said server in which said server promises to respect said client for a period of time and wherein said server respects said contract even when said server detects a partition between itself and said client; and renewing said lease in response to a client initiated message that has been acknowledged by said server, said client initiated message being other than a request for a lease renewal, wherein said lease based protocol executed by said client includes four phases: a first phase in which said lease protects access to all data objects locked on said server and during which any new message ACK received renews said lease; a second Phase, entered into in response to said client not receiving a message acknowledgement in said first phase, during which said client attempts to obtain a new lease by sending said server a keep-alive protocol message and during which said client continues to service file system requests on behalf of local processes; a third phase, responsive to failure to attain said lease in said second phase, wherein said client stops servicing file system requests on behalf of said local processes but continues in-process file system transactions; and a fourth phase, responsive to a failure to recover said lease during said third phase, wherein any dirty pages protected by locks held with said server for which said lease expires are flushed out to storage.