Resumen
draft-dikshit-netconf-yang-push-causal-ordering-00propone pares de reloj lógico híbrido para comparar notificaciones de distintos publicadores. Corrige una limitación real de los contadores locales, pero un par de campos puede coincidir en dos procesos independientes.- Añadir la identidad del publicador resuelve el empate de forma determinista. Ese tercer criterio es una convención de ordenación: no prueba que el registro elegido primero haya causado, informado o condicionado al segundo.
- Antes de actuar hacen falta recibos separados de identidad y época, continuidad, reloj, dependencias explícitas, fuentes ausentes, esquema, estado del datastore, autorización, aplicación y resultado observado.
Del contador local al problema global
La secuencia de un publicador es un instrumento acotado. Si la serie salta de 71 a 73 dentro de una misma época, el receptor puede investigar una pérdida. Si 72 llega después, puede registrar reordenamiento. El instrumento no permite comparar 73 con el 12 emitido por otro proceso. Los dos contadores nacieron en historias distintas y pueden avanzar con ritmos que nada tienen que ver.
La revisión 00 plantea usar un reloj lógico híbrido. Una parte se aproxima al tiempo físico; otra parte cuenta los eventos que necesitarían compartir ese valor físico. Ordenar el par de manera lexicográfica ofrece una clave compacta y preserva una propiedad de los relojes lógicos. También evita que el viejo problema de desbordamiento de un contador pequeño domine una suscripción larga.
La propuesta llama total al orden entre publicadores. Para que una relación sea un orden total operativo, cada par de registros debe poder decidirse. Sin embargo, dos publicadores que lean el mismo milisegundo y emitan su primer evento lógico pueden producir exactamente el mismo par. La igualdad no identifica cuál fue primero. El protocolo necesita declarar el siguiente criterio o aceptar que existe un empate.
La identidad cierra la lista, no el grafo
Un agregador puede ordenar por HLC y, cuando hay igualdad, por identidad estable del publicador. Puede añadir una época de proceso para no confundir reinicios y un identificador de evento para asegurar unicidad. El procedimiento crea resultados reproducibles. Dos centros que reciben el mismo conjunto obtendrán la misma lista.
Ese logro no equivale a causalidad. El publicador A puede ganar el empate porque su identificador empieza por un byte menor. El mundo observado no contiene por ello una flecha de A a B. No hubo mensaje, lectura, transacción compartida ni dependencia de control. La regla decide cómo almacenar datos concurrentes; no descubre por qué ocurrió un cambio.
La base teórica lo dice con precisión. El artículo original de HLC conserva la dirección e ocurrió antes que f hacia HLC(e) < HLC(f). Si existe una cadena de información, el reloj no debe invertirla. La desigualdad de relojes no ofrece la dirección inversa. Eventos concurrentes pueden recibir valores distintos porque sus relojes físicos difieren. Leer la flecha al revés convierte conveniencia de ordenación en explicación causal.
Los relojes vectoriales pueden dar una comparación más rica. Cuando un vector es menor por componentes existe precedencia causal; cuando los vectores no son comparables aparece la concurrencia. El coste crece con los participantes. HLC reduce ese coste y conserva cercanía temporal. La decisión de ingeniería es válida, pero el consumidor debe saber qué evidencia dejó de transportar.
El publicador también tiene generaciones
La identidad usada para desempatar necesita una definición operacional. Un nombre de host puede permanecer tras un reinicio, una clonación o un reemplazo. Dos instancias de alta disponibilidad pueden usarlo a la vez. Restaurar una máquina desde una imagen puede recuperar un estado HLC atrasado. La serie parecerá pertenecer a un sujeto continuo aunque el proceso que asignaba valores haya cambiado.
Por eso la clave práctica incluye principal autenticado, identidad del publicador, época de proceso, estado de arranque y versión del algoritmo. El receptor conserva el contador local junto al HLC. El contador ayuda a explicar continuidad dentro de una fuente; el HLC ordena de acuerdo con su regla; la época separa encarnaciones. Suprimir cualquiera para fabricar una sola “posición global” reduce la capacidad de reconciliar fallos.
También se debe registrar quién aplicó el desempate. Un intermediario puede ordenar antes de reenviar; un segundo intermediario puede usar otra normalización de identidad. Sin una versión de regla y la clave exacta, dos historiales igualmente válidos pueden discrepar. Ese desacuerdo es evidencia de transformación, no de comportamiento de la red.
El reloj adelantado gana demasiadas veces
Un publicador con el reloj físico adelantado puede desplazar sus registros hacia el final de toda comparación. El proyecto propone marcar como sospechosa una componente que supere al reloj del receptor por más de un epsilon configurado. La frontera es útil para contener valores extremos y hacer visible una confianza antes implícita.
Pero el receptor no es un oráculo. Su propia fuente temporal puede estar degradada. Un sitio aislado puede entrar en holdover. La dispersión y el retraso de red varían. RFC 5905 aporta disciplina NTP, y RFC 9581 aporta una forma de expresar tiempo y calidad. Ninguno demuestra que el hecho descrito ocurrió, que el publicador es honesto o que un orden numérico representa dependencia.
Cada tratamiento cambia el conjunto analítico. Desechar produce hueco. Aislar produce retraso. Corregir sustituye la afirmación original. Aceptar puede desplazar ventanas y decisiones de “último valor”. El recibo debe conservar el par recibido, el estado temporal, epsilon, la decisión, el valor derivado y cualquier recalculo posterior.
Una fila perfecta puede ocultar una fuente ausente
El orden solo alcanza lo recibido. Un publicador caído, una ruta filtrada por control de acceso, una suscripción terminada, una transformación que falla o un colector saturado pueden desaparecer sin desordenar a los demás. Incluso una secuencia sin huecos prueba continuidad de esa vista, no que todas las fuentes necesarias estuvieron presentes.
Tampoco una lista ordenada equivale a una instantánea. La interfaz puede observarse antes de un cambio y la tabla de rutas después. Cada notificación puede ser correcta en su subsistema. Juntarlas por HLC no demuestra que ambas representaciones coexistieron. Una conclusión de estado requiere barrera compartida, versión transaccional o un método explícito para acotar la ventana y sus inconsistencias.
La cadena de evidencia conserva identidad y época del publicador, secuencia, HLC, estado de reloj, suscripción, esquema, filtro de acceso, tiempos de evento, observación, emisión y recepción, y disposición de huecos. Cuando se afirma causalidad, añade el mensaje o dependencia. Cuando se propone una acción, añade responsable, mandato, objetivo, parámetros, estado previo, respuesta, lectura aplicada y observación independiente del tráfico o servicio.
Un borrador individual, no una conclusión de despliegue
La revisión 00 está fechada el 30 de agosto de 2026, pretende ser informativa y vence el 1 de marzo de 2027. Es un Internet-Draft individual. El Datatracker indica que no está respaldado por el IETF ni tiene posición formal en el proceso de estándares. No es RFC, consenso del grupo NETCONF, prueba de implementación ni informe de operación.
Su pregunta sigue siendo importante. Una arquitectura distribuida necesita explicar cómo reúne series que no compartían contador. HLC ofrece una pieza compacta. La lectura responsable conserva su frontera: respeta una causa que ya existe, pero no deduce la causa de cada comparación; ordena muchos casos, pero necesita una regla para los empates; y nunca convierte una colección recibida en prueba automática de estado, autoridad o resultado.
Fuentes
- https://datatracker.ietf.org/doc/draft-dikshit-netconf-yang-push-causal-ordering/
- https://datatracker.ietf.org/doc/draft-dikshit-netconf-yang-push-causal-ordering/history/
- https://datatracker.ietf.org/doc/draft-dikshit-netconf-yang-push-causal-ordering/references/
- https://datatracker.ietf.org/doc/draft-dikshit-netconf-yang-push-causal-ordering/referencedby/
- https://datatracker.ietf.org/doc/html/draft-dikshit-netconf-yang-push-causal-ordering-00
- https://www.ietf.org/archive/id/draft-dikshit-netconf-yang-push-causal-ordering-00.txt
- https://datatracker.ietf.org/doc/draft-dikshit-netconf-yang-push-causal-ordering/00/
- https://datatracker.ietf.org/doc/draft-ietf-netconf-yang-push-2/
- https://datatracker.ietf.org/doc/draft-ietf-netconf-distributed-notif/
- https://datatracker.ietf.org/doc/draft-ietf-netconf-notif-envelope/
- https://www.rfc-editor.org/rfc/rfc8641.html
- https://www.rfc-editor.org/rfc/rfc8639.html
- https://cse.buffalo.edu/tech-reports/2014-04.pdf
- https://www.rfc-editor.org/rfc/rfc5905.html
- https://www.rfc-editor.org/rfc/rfc9581.html
- https://heng.lu/on-reality-layers-symbolic-power-and-why-clarity-feels-so-hostile/
- https://heng.lu/running-code-primary-the-patch-needed-to-preserve-the-internet-original-design/
Informe para miembros
Contexto ampliado del perfil
Inicia sesión con el nivel de membresía adecuado para desbloquear el informe completo y las notas de las fuentes.
Solo para Strategic Circle
Strategic Circle
Abierto a todos los lectores. Desbloquea informes de perfil después de unirte e iniciar sesión.
Únete a Strategic CircleSolo para Leadership Alliance
Leadership Alliance
Para propietarios y directivos cualificados de activos de propiedad intelectual; inicia sesión para desbloquear los informes de la alianza.
Unirse a Leadership Alliance
