অনুরোধ × কী-স্টেট ম্যাট্রিক্স
A (অর্জন)
| কী-স্টেট | সার্ভারের কাজ | সাড়া | সময় |
|---|---|---|---|
| নিবন্ধিত নয় | নিবন্ধন (মেয়াদ = now+lease), টোকেন ইস্যু | A+token+owner+key | তাৎক্ষণিক |
| নিবন্ধিত + মেয়াদ শেষ | নবায়ন (now+lease), নতুন টোকেন | A+token+owner+key | তাৎক্ষণিক |
Registered + valid holder + wait=0 | Queue-তে নয় | T+owner+key | তাৎক্ষণিক |
Registered + valid holder + wait>0 | Queue-তে, response pending | A বা T+owner+key | release/expiry-তে acquire, বা wait শেষে T |
| Queue বা server capacity সীমায় | Queue-তে নয় | B+owner+key | তাৎক্ষণিক |
- মুক্তির পথ FIFO-ন্যায্য: ধারক
Rকরলে সারির সামনের অপেক্ষমাণকে সরাসরি হস্তান্তর (পুনরায় প্রতিযোগিতা ছাড়া, নতুন টোকেন)। - শুধু মেয়াদ-শেষের পথটিই non-FIFO।
- Current holder-এর সমান
owner-কে বিশেষ আচরণ দেওয়া হয় না। এটি active token ফেরানো বা lease renew করার authority নয়; সাধারণ held-key নিয়ম প্রযোজ্য। - Responses request order-এর বাইরে আসতে পারে; client echoed
ownerদিয়ে match করে।R(মুক্তি)
| কী-স্টেট | সার্ভারের কাজ | সাড়া |
|---|---|---|
| নিবন্ধিত + টোকেন মিলেছে, অপেক্ষমাণ আছে | সামনের অপেক্ষমাণকে সরাসরি হস্তান্তর (নতুন টোকেন) | R+token+key |
| নিবন্ধিত + টোকেন মিলেছে, অপেক্ষমাণ নেই | কী মুছে ফেলা | R+token+key |
| নিবন্ধিত + টোকেন মেলেনি | কিছুই না (লক অক্ষত) | N+token+key |
| নিবন্ধিত নয় | কিছুই না | N+token+key |
মেয়াদ শেষ প্রক্রিয়াকরণের সময়
- সিঙ্গেল মোড মেয়াদ শেষ ল্যাজিভাবে প্রক্রিয়া করে — মেয়াদ পার হওয়া কী পরবর্তী অর্জনেই সেখানে হাতবদল হয় (উপরের সারণির দ্বিতীয় সারি), আর আলাদা একটি ৫-সেকেন্ড পর্যায়ক্রমিক পরিষ্কার অপেক্ষমাণহীন মেয়াদ-শেষ কী পরিষ্কার করে। তাই মেয়াদ শেষ হয়েছে কিন্তু এখনও পরিষ্কার হয়নি এমন কী-তে মুক্তি পাঠালে
N-এর বদলেRআসতে পারে। - ক্লাস্টার মোডে লিডারকে ১০০ms পর্যায়ক্রমে মেয়াদ শেষ শনাক্ত করে ঐকমত্যের মাধ্যমে
Expireকমান্ড কমিট করতে হয় তবেই কী অদৃশ্য হয় — নোডগুলোর মধ্যে ঘড়ির পার্থক্য লক-স্টেটকে বিভক্ত করে ফেলা ঠেকাতে এটি দরকার।
ক্লাস্টার মোডেও উপরের অর্থ একই থাকে — শুধু স্টেট পরিবর্তন সংখ্যাগরিষ্ঠ ঐকমত্যে কমিট হওয়ার পরই সাড়া বেরোয়, আর লিডার নয় এমন নোড প্রক্রিয়া না করে M (স্থানান্তরিত) অথবা
- Cluster mode-এ leader token-validating deadline min-heap-এর পরের deadline পর্যন্ত অপেক্ষা করে এবং key অপসারণের আগে consensus-এ
Expirecommand commit করে। এতে node clock পার্থক্য lock state ভাগ করে না।