租約 (電腦科學)

電腦科學中,租約授予其持有者在一定期限內對某些資源的特定權利。由於它是有時間限制的,因此租用是資源序列化的替代方法。

動機

編輯

傳統的資源上的鎖一直都處於持有狀態,直到鎖定它的行程顯式釋放它為止。 可能無法釋放鎖的原因包括:

  • 客戶端在釋放資源之前失效
  • 客戶端在嘗試分配其他資源時陷入僵局
  • 客戶被阻止或延遲了不合理的時間
  • 客戶可能由於錯誤而忘記了釋放資源
  • 釋放資源的請求已遺失
  • 檔案總管失效或遺失了對資源的控制

在重設系統之前,所有這些方法都可能會降低重要的可重用資源的可用性。 相比來說,租約的有效期限是有限的,到期後租約會自動過期,從而使資源可供新客戶重新分配。

歷史

編輯

術語「租約」(Lease)在1989年由卡里·格雷大衛·切瑞頓英語David Cheriton提出[1],但類似的概念(過期權杖[2]和帶有逾時的鎖[3] )在之前的系統中已有應用。

問題

編輯

租約在分散式系統中通常用於從DHCP位址分配檔案鎖定的應用程式,但是它們本身不是完整的解決方案:

  • 必須採取某種方式將到期資訊通知租賃持有人,並防止該代理繼續依賴該資源。 通常,這是通過要求所有請求都帶有訪問權杖來完成的 ,如果關聯的租約已過期,則該訪問權杖將無效。
  • 如果在租約所有者開始對資源進行操作後復原了租約,則這可能會使資源處於受損狀態。 在這種情況下,通常使用原子事務來確保未完成的更新不起作用。

參考文獻

編輯
  1. ^ Gray, Cary; David Cheriton. Leases: An Efficient Fault-Tolerant Mechanism for Distributed File Cache Consistency. Proceedings of the Twelfth ACM Symposium on Operating Systems Principles 23. 1989年12月: 202–210. Bibcode:10.1.1.115.1696 請檢查|bibcode=值 (幫助). ISBN 978-0897913386. doi:10.1145/74850.74870. 
  2. ^ Burrows, M. Efficient Data Sharing. Technical Report #153, University of Cambridge. 1988年12月. 
  3. ^ Stugis, H; Israel, J. Issues in the design and use of a distributed file system. Operating Systems Review. 1980年7月, 14 (3): 55–69. doi:10.1145/850697.850705.