Аренда (информатика)
![]() | В этой статье есть несколько проблем. Пожалуйста, помогите улучшить его или обсудите эти проблемы на странице обсуждения . ( Узнайте, как и когда удалять эти шаблонные сообщения )
|
В информатике аренда — это контракт, который дает его держателю определенные права на некоторый ресурс на ограниченный период. Поскольку аренда ограничена по времени, она является альтернативой блокировке ресурсов сериализации .
Мотивация
[ редактировать ]Традиционная блокировка ресурса предоставляется до тех пор, пока она не будет явно снята блокирующим клиентским процессом. Причины, по которым блокировка может не быть снята, включают в себя:
- Клиент потерпел неудачу до освобождения ресурсов
- Клиент застрял при попытке выделить другой ресурс
- Клиент был заблокирован или задержан на необоснованный срок
- Клиент не освободил ресурс, возможно, из-за ошибки
- Запрос на освобождение ресурса потерян
- Менеджер ресурсов вышел из строя или потерял указанный ресурс.
Любое из этих событий может привести к прекращению доступности важного повторно используемого ресурса до тех пор, пока система не будет перезагружена. По договору аренда действительна в течение ограниченного периода, после чего она автоматически истекает, делая ресурс доступным для перераспределения новым клиентом.
История
[ редактировать ]Термин «аренда» был применен к этому понятию в статье 1989 года Кэри Г. Грея и Дэвида Р. Черитона : [ 1 ] но схожие концепции (токены с истекающим сроком действия [ 2 ] и взламываемые замки с таймаутами [ 3 ] ) использовался в предыдущих системах.
Проблемы
[ редактировать ]Аренда обычно используется в распределенных системах для различных приложений, от выделения адреса DHCP до блокировки файлов , но они (сами по себе) не являются полным решением:
- Должны быть какие-то средства уведомления арендатора об истечении срока действия и предотвращения того, чтобы этот агент продолжал полагаться на ресурс. Часто это делается путем требования, чтобы все запросы сопровождались токеном доступа , который становится недействительным, если срок соответствующей аренды истек.
- Если договор аренды аннулируется после того, как арендатор начал работать с ресурсом, отзыв может привести к тому, что ресурс окажется в скомпрометированном состоянии. В таких ситуациях обычно используются атомарные транзакции , чтобы гарантировать, что незавершенные обновления не будут иметь эффекта.
Ссылки
[ редактировать ]- ^ Грей, Кэри; Дэвид Черитон (декабрь 1989 г.). «Аренда: эффективный отказоустойчивый механизм для обеспечения согласованности распределенного файлового кэша». Материалы двенадцатого симпозиума ACM по принципам операционных систем - SOSP '89 . Том. 23. С. 202–210. CiteSeerX 10.1.1.115.1696 . дои : 10.1145/74850.74870 . ISBN 978-0897913386 . S2CID 1119226 .
- ^ Берроуз, М. (декабрь 1988 г.). «Эффективное совместное использование данных». Технический отчет № 153, Кембриджский университет .
- ^ Стьюгис, Х; Израиль, Дж (июль 1980 г.). «Проблемы проектирования и использования распределенной файловой системы». Обзор операционных систем . 14 (3): 55–69. дои : 10.1145/850697.850705 . S2CID 29903250 .