crtdrops
HERRAMIENTA · TELEMETRÍA

Historia o presente

Una flota vuelve a tener señal y manda su historia mientras sigue mandando el presente. ¿Qué hace tu plataforma con eso?

Simula una jornada de una flota que manda una posición por minuto. A las 10:00 se cae la red celular para una parte de la flota; sin señal, cada equipo guarda en su memoria y, al volver, reenvía lo guardado mientras sigue generando posiciones nuevas. Algunas confirmaciones se pierden y llegan repetidos. Todo entra a la cola del servidor. Luego compara dos plataformas con una geocerca: una que trata todo como ahora y otra que separa la historia del presente. Corre en tu navegador y no envía nada.

LA FLOTA Y LA RED
EL EQUIPO
LA PLATAFORMA

LAS TRES HORAS DE CADA DATO, EN UN EQUIPO

cuando llegó al servidor cuando quedó disponible el umbral de historia

LA COLA DEL SERVIDOR

LAS ALERTAS DE LA GEOCERCA, TODA LA FLOTA

Cada raya es una alerta, en la hora en que se avisó. Verde: a tiempo. Ámbar: algo que pasó hace rato, avisado como si fuera ahora. Gris: tardía, pero dicha como tardía. Roja: falsa.

a tiempo vieja, como si fuera ahora tardía y dicha así falsa

Cómo calcula

Cada equipo genera una posición cada intervalo durante ocho horas, desde las 8:00, y pasa dos veces al día por una geocerca, de 20 a 60 minutos cada vez. A los equipos que les toca, la red se les cae a las 10:00; además, cada uno pasa por uno o dos huecos cortos, de 5 a 20 minutos. Sin señal, la posición va a la memoria; si está llena, se tira la más vieja o se deja de guardar. Al volver la señal, la memoria se vacía al ritmo de reenvío: o el presente sale sin esperar y la historia en paralelo, o todo sale en orden. Lo que manda un equipo llega en el orden en que salió, de 1 a 3 segundos después; si se pierde la confirmación, el equipo lo vuelve a mandar 30 segundos después. En el servidor, todo entra a una sola cola y se procesa al ritmo de la plataforma. El azar lleva semilla: el enlace copiado repite la misma jornada.

Todo es ahora: procesa en el orden de la cola, guarda todo, repetidos incluidos, y cada cambio dentro o fuera de la geocerca es una alerta con la hora de proceso. Separa historia y presente: descarta repetidos por el identificador del mensaje; lo que es más viejo que lo último presente de ese equipo, o más viejo que el umbral al procesarse, es historia: se guarda en su lugar y sirve para el recorrido, pero no avisa; lo presente avisa, y si el cambio de verdad pasó sin señal, la alerta dice desde cuándo. En las dos, una alerta corresponde a algo que pasó si entre la posición anterior y esta el equipo de verdad cambió así; cada cambio real vale una sola alerta, y lo demás es falso. Es a tiempo si quedó disponible a no más del umbral después del cambio real. “Entradas y salidas bien fechadas” cuenta, en todo es ahora, sus alertas a tiempo, porque fecha cada cambio con la hora de proceso; separando, los cambios del recorrido reconstruido con la hora de cada posición.

Lo que no modela: equipos con reloj desajustado; la marca de historia que trae el propio protocolo (en JT808, el envío en bloque 0x0704 dice si son posiciones guardadas sin señal; aquí se decide por la hora); el identificador único de cada mensaje, que aquí es perfecto y en la realidad hay que construirlo; que los equipos recuperen la señal escalonados (aquí vuelven todos en el mismo segundo, el peor caso); la reconexión y la autenticación del equipo; varias posiciones en un mismo mensaje; pérdidas en la red (aquí sólo se pierde lo que tira la memoria llena); reintentos que también fallen; varias colas o varios servidores, y el costo de batería de reenviar. Separando, cero falsas es por construcción: el simulador sólo trae las fallas que se le pusieron. Las cifras son ilustrativas, como las de la nota; la jornada que abre de inicio es una intermedia entre cincuenta.

La nota: la posición correcta en el momento equivocado →