Articulo de referencia

Arrendamiento (informática)

En informática , un arrendamiento es un contrato que otorga a su titular derechos específicos sobre un recurso durante un período limitado. Debido a su duración limitada, un arr...

En informática , un arrendamiento es un contrato que otorga a su titular derechos específicos sobre un recurso durante un período limitado. Debido a su duración limitada, un arrendamiento es una alternativa a un bloqueo para la serialización de recursos .

Motivación

Un bloqueo de recursos tradicional se otorga hasta que el proceso cliente que lo bloquea lo libera explícitamente. Las razones por las que un bloqueo podría no liberarse incluyen:

  • El cliente falló antes de liberar los recursos.
  • El cliente se bloqueó al intentar asignar otro recurso.
  • El cliente fue bloqueado o sufrió retrasos durante un período de tiempo irrazonable.
  • El cliente no liberó el recurso, quizás debido a un error .
  • La solicitud para liberar el recurso se perdió.
  • El administrador de recursos falló o perdió el rastro del recurso indicado.

Cualquiera de estas situaciones podría interrumpir la disponibilidad de un recurso reutilizable importante hasta que se reinicie el sistema. Por contrato, un arrendamiento tiene una validez limitada, tras la cual expira automáticamente, lo que permite que un nuevo cliente asigne el recurso.

Historia

El término "arrendamiento" se aplicó a este concepto en un artículo de 1989 de Cary G. Gray y David R. Cheriton , [ 1 ] pero conceptos similares (tokens que expiran [ 2 ] y bloqueos rompibles con tiempos de espera [ 3 ] ) se habían utilizado en sistemas anteriores.

Problemas

Los arrendamientos se utilizan habitualmente en sistemas distribuidos para aplicaciones que van desde la asignación de direcciones DHCP hasta el bloqueo de archivos , pero no son (por sí solos) una solución completa:

  • Debe existir algún mecanismo para notificar al titular del contrato de arrendamiento sobre su vencimiento e impedir que dicho agente siga utilizando el recurso. A menudo, esto se logra exigiendo que todas las solicitudes vayan acompañadas de un token de acceso , el cual se invalida si el contrato de arrendamiento asociado ha expirado.
  • Si se revoca un contrato de arrendamiento después de que el arrendatario haya comenzado a utilizar el recurso, dicha revocación puede dejar el recurso en un estado vulnerable. En tales situaciones, es común utilizar transacciones atómicas para garantizar que las actualizaciones incompletas no tengan ningún efecto.

Referencias

  1. Gray, Cary; David Cheriton (diciembre de 1989). «Arrendamientos: Un mecanismo eficiente de tolerancia a fallos para la consistencia de la caché de archivos distribuida». Actas del duodécimo simposio de la ACM sobre principios de sistemas operativos - SOSP '89 . Vol.  23. págs. 202–210 . CiteSeerX 10.1.1.115.1696 . doi : 10.1145/74850.74870 . ISBN   978-0897913386. S2CID 1119226 . 
  2. Burrows, M (diciembre de 1988). "Compartición eficiente de datos". Informe técnico n.º 153, Universidad de Cambridge .
  3. Stugis, H; Israel, J (julio de 1980). "Problemas en el diseño y uso de un sistema de archivos distribuido". Operating Systems Review . 14 (3): 55– 69. doi : 10.1145/850697.850705 . S2CID 29903250 .