Implementaciones del ordenamiento de mensajes zHay dos aproximaciones al problema: yHold-Back: un requerimiento r i que arriba a un AR no es procesado hasta que no se satisfacen las condiciones de ordenamiento requeridas yEl problema guarda similitud con las condiciones de comunicación en grupo (por ej. Multicast Ordenado)
Hold-Back zUn requerimiento r es estable en un AR si todos los requerimientos previos (según el criterio de ordenamiento vigente) han sido procesados zTodo requerimiento estable está en condiciones de ser procesado por el AR
Hold-Back: Arquitectura Procesamiento de Requerimientos Cola de ‘Hold-Back’ Cola de Procesamiento
Funcionamiento zAl arribar un requerimiento al AR es encolado en Hold-Back zCuando este requerimiento está estable, pasa a la cola de Procesamiento zLa unidad de procesamiento extrae los requerimientos uno a uno de esta cola
Requerimientos para la implementación zSeguridad: la implementación debe asegurar que una vez que se procesó un requerimiento r es imposible que arribe un requerimiento previo zLiveness: Ningún requerimiento debe esperar indefinidamente en la cola de Hold-Back
Implementaciones: zISIS toolkit: es un software que corre sobre Unix y brinda un entorno de multicast ordenado para entregar los requerimientos a los AR’s zGossip: entrega los mensajes no ordenados, basándose en la propagación de updates entre AR’s
Operaciones de acceso a objetos zread: lectura del estado de un objeto (no lo modifica) zwrite: cambio del estado de un objeto (lo modifica) también llamada update u overwrite
Operaciones de lectura lectura Leer uno (primario) Leer uno Leer quorum
Operaciones de escritura Escritura Sobreescribir Leer y modificar Escribir uno (primario) Escribir todos Escribir todos los disponibles Escribir un quorum Escribir Gossip