Respuesta del servidor a solicitudes abiertas en archivos bloqueados

La vida de un bloqueo oportunista incluye tres intervalos de tiempo distintos. Durante cada uno, el servidor determina por diferentes medios su reacción a una solicitud de un cliente para abrir un archivo bloqueado por otro cliente. En general, puede minimizar el impacto que tiene la aplicación en otros clientes y el impacto que tienen en la aplicación al conceder el máximo uso compartido posible, solicitar el nivel de acceso mínimo necesario y usar el bloqueo oportunista menos intrusivo adecuado para la aplicación.

En primer lugar, el período después de que el servidor abra un archivo para un cliente, pero antes de conceder un bloqueo. Durante este tiempo, no existe ningún bloqueo en el archivo y el servidor depende del uso compartido, los modos de acceso y el tipo de bloqueo oportunista que solicite para determinar su reacción a otra solicitud para abrir el mismo archivo. Por ejemplo, si abre el archivo en cuestión para el acceso de escritura, puede impedir la concesión de bloqueos oportunistas que permitan el acceso de almacenamiento en caché de lectura a otros clientes. El intervalo de tiempo antes de que el servidor conceda un bloqueo suele estar en el intervalo de milisegundos, pero puede ser más largo.

Una vez concedido el bloqueo oportunista, el servidor examina el bloqueo para determinar la reacción del servidor a una solicitud abierta en un archivo bloqueado. De nuevo, cómo la aplicación abrió el archivo y el tipo de bloqueo que contiene afecta a cómo responde el servidor. Para obtener más información sobre cómo responde el servidor en cada caso, vea Tipos de bloqueos oportunistas.

Por último, hay el intervalo después de que el servidor determine que el bloqueo se debe interrumpir (finalizar), pero antes de que la aplicación complete su reacción a la interrupción. Dependiendo del tipo de bloqueo, la aplicación puede degradar el bloqueo a un nivel inferior o a ninguno en absoluto. La aplicación también puede cerrar el archivo y el bloqueo. Durante este tiempo, el servidor mantiene en abeyance las solicitudes de otros clientes para abrir el archivo bloqueado anteriormente. Este intervalo de tiempo puede oscilar entre milisegundos y decenas de segundos. Para obtener más información, vea Bloqueos oportunistas importantes.