जब कोई क्लाइंट कुंजी प्राप्त करता है (A), सर्वर निम्नलिखित तीन में से एक के साथ प्रतिक्रिया देता है।
| कुंजी स्थिति | सर्वर क्रिया | प्रतिक्रिया |
|---|---|---|
| पंजीकृत नहीं | तुरंत पंजीकृत (समाप्ति = now + lease), टोकन जारी करें | A + token + key |
| पंजीकृत + समाप्त | नवीनीकृत (now + lease), नया टोकन जारी करें | A + token + key |
| पंजीकृत + वैध (अधिकार में) | प्रतीक्षा कतार में पंजीकृत करें, प्रतिक्रिया रोकें | रिलीज़/समाप्ति पर A, wait अधिक होने पर T |
R), कतार के सामने को सीधे हस्तांतरित किया जाता है — पुनः प्रतियोगिता के बिना नए टोकन के साथ तुरंत।lease एक सुरक्षा जाल है। यदि क्लाइंट मर जाता है या रिलीज़ करना भूल जाता है, lease समय समाप्त होने के बाद सर्वर स्वचालित रूप से कुंजी पुनः प्राप्त कर सकता है और अगले प्रतीक्षा करने वाले को पास कर सकता है। इसलिए सामान्य रिलीज़ प्रवाह से अलग, हमेशा lease को दिया हुआ मूल्य, लेकिन जब मर जाए तो बहुत लंबे समय तक बंधा नहीं रहेगा।wait अधिग्रहण प्रतीक्षा सीमा है। यदि 0 है तो असीमित प्रतीक्षा, अन्यथा यदि उस समय (सेकंड) में प्राप्त नहीं हो सकते तो सर्वर छोड़ देता है और T(टाइमआउट) के साथ प्रतिक्रिया देता है — अनुदान के बिना समाप्त होता है इसलिए लॉक लीक नहीं होता।A प्रतिक्रिया में निहित token उस अनुदान का मोनोटोनिकली बढ़ता हुआ u64 है। हर बार प्राप्त करने पर पिछले किसी भी टोकन से बड़ा मान जारी किया जाता है। यहां तक कि यदि फेलओवर होता है, तो नया सक्रिय नोड प्रतिकृत अधिकतम टोकन से बड़े मूल्य से शुरू करता है (उत्तराधिकार) — इसलिए पूरे क्लस्टर में भी टोकन बढ़ता रहता है।
सुरक्षित करने वाले संसाधन (खाता, फ़ाइल, ऑर्डर आदि) को केवल "वर्तमान में जो टोकन है वह पिछली बार देखे गए टोकन से बड़ा है" की जांच करनी चाहिए, lease समाप्त होने के बाद देर से जागने वाले क्लाइंट को पहले से अमान्य कम टोकन के साथ पहुंचने से रोक सकते हैं। इसके कारण यहां तक कि लॉक सर्वर हर पल परिपूर्ण रूप से सुसंगत न हो सुरक्षा बनी रहती है।
आधिकारिक क्लाइंट निम्नानुसार सामान्य रूप से काम करते हैं (भाषा-विशिष्ट API के लिए लाइब्रेरी देखें)।
lease इसे पुनः प्राप्त करता है, लेकिन इससे पहले अन्य प्रतीक्षकर्ता को तेजी से हस्तांतरित करने के लिए)।peers सूची का क्रम पदोन्नति प्राथमिकता है (सामने वाला सर्वोच्च प्राथमिकता)। जीवित नोड्स में सर्वोच्च प्राथमिकता वाला एक सक्रिय, बाकी वह स्थिति को रीयल-टाइम में प्रतिकृत प्राप्त करते हैं स्टैंडबाय हैं।M) किया जाता है और उस ओर स्विच करते हैं।Ctrl+C) पर सक्रिय पहले उत्तराधिकारी को पदोन्नति सौंप देता है (हस्तांतरण) फिर क्लाइंट को पुनः निर्देशित करता है, सक्रिय अंतराल को कम करने के लिए।यह पदोन्नति विधि बहुमत (अधिकांश मत) आधारित नहीं है। इसलिए विषम/सम संख्याएं महत्वपूर्ण नहीं हैं, यहां तक कि यदि एक भी जीवित है तो सेवा बनी रहती है।
| सर्वर संख्या | निर्बाध | समसामयिक विफलता सहनशीलता | टिप्पणी |
|---|---|---|---|
| 1 | ✗ | — | सबसे तेज़। पुनः शुरुआत पर संक्षिप्त बाधा होती है |
| 2 | ✓ | 1 | निर्बाध की न्यूनतम कॉन्फ़िगरेशन। अधिकांश समय यह पर्याप्त है |
| 3 | ✓ | 2 | एक नोड सेवा में भी दोहरीकरण बनी रहती है |
| 4+ | ✓ | N−1 | केवल प्रसार लागत बढ़ जाती है — अनुशंसित नहीं है |
प्राथमिकता आधारित पदोन्नति सहमति नहीं है, इसलिए नेटवर्क विभाजन के पल में दोनों पक्ष अचानक एक साथ सक्रिय हो सकते हैं, और अतुल्यकालिक प्रतिकरण की प्रकृति के कारण फेलओवर के दौरान कुछ अनुदान खो सकते हैं। यानी फेलओवर/विभाजन अंतराल में पारस्परिक विशेषता 100% गारंटीकृत नहीं है। यदि मजबूत गारंटी चाहिए तो पहले वर्णित फेंसिंग टोकन को सुरक्षित संसाधन की जांच में लागू करें — पुरानी (छोटी) टोकन को अस्वीकार करने से लॉक सर्वर परिपूर्ण रूप से सुसंगत न होने पर भी सुरक्षित है।