Leasing (informatyka)
W informatyce dzierżawa jest umową , która daje jej posiadaczowi określone prawa do niektórych zasobów na ograniczony okres. Ponieważ jest ograniczona czasowo, dzierżawa jest alternatywą dla blokady serializacji zasobów .
Motywacja
Tradycyjna blokada zasobów jest przyznawana, dopóki nie zostanie jawnie zwolniona przez blokujący proces klienta. Powody, dla których blokada może nie zostać zwolniona, obejmują:
- Klient nie powiódł się przed zwolnieniem zasobów
- Klient utknął w martwym punkcie podczas próby przydzielenia innego zasobu
- Klient został zablokowany lub opóźniony przez nieuzasadniony okres
- Klient zaniedbał zwolnienie zasobu, być może z powodu błędu
- Żądanie zwolnienia zasobu zostało utracone
- Menedżer zasobów nie powiódł się lub stracił śledzenie podanego zasobu
Każda z nich może zakończyć dostępność ważnego zasobu wielokrotnego użytku do czasu zresetowania systemu. Zgodnie z umową dzierżawa jest ważna przez określony czas, po którym automatycznie wygasa, udostępniając zasób do realokacji przez nowego klienta.
Historia
Termin „dzierżawa” został zastosowany do tej koncepcji w artykule Cary'ego G. Graya i Davida R. Cheritona z 1989 r ., Ale podobne koncepcje (wygasające tokeny i łamliwe zamki z przekroczeniem limitu czasu) były używane we wcześniejszych systemach.
Problemy
Dzierżawy są powszechnie stosowane w systemach rozproszonych w aplikacjach od przydzielania adresów DHCP po blokowanie plików , ale nie są one (same w sobie) kompletnym rozwiązaniem:
- Muszą istnieć środki powiadamiania dzierżawcy o wygaśnięciu i uniemożliwiające agentowi dalsze poleganie na zasobie. Często odbywa się to poprzez wymaganie, aby wszystkim prośbom towarzyszył token dostępu , który jest unieważniany, jeśli powiązana dzierżawa wygasła.
- Jeśli dzierżawa zostanie odwołana po tym, jak dzierżawca rozpoczął eksploatację zasobu, odwołanie może pozostawić zasób w stanie zagrożenia. W takich sytuacjach często stosuje się transakcje Atomic , aby upewnić się, że aktualizacje, które nie zostaną ukończone, nie przyniosą żadnego efektu.