Urmărirea forțelor proprii pare o problemă rezolvată: fiecare unitate prietenoasă raportează unde se află, iar o hartă desenează un punct pentru fiecare. Într-un exercițiu de pluton cu douăzeci de radiouri, această descriere este exactă. Într-o operațiune la nivel de corp de armată cu zeci de mii de platforme, soldați pe jos și aeronave care raportează simultan pe legături radio degradate, designul naiv se prăbușește – rețeaua se saturează, punctele perimate persistă ca și cum ar fi actuale, iar harta devine un amestec ilizibil de simboluri suprapuse. Ingineria unui sistem de urmărire a forțelor proprii (BFT) privește aproape în întregime decalajul dintre aceste două scale. Acest articol parcurge întregul pipeline: cum sunt generate și ingerate rapoartele de poziție, cum sunt reglate ratele de actualizare, ce transport de rețea le transportă și cum mii de urme prietenoase sunt redate util pe imaginea operațională comună.

Ce este urmărirea forțelor proprii și de ce scara reprezintă problema dificilă

Urmărirea forțelor proprii este colectarea continuă, transportul, deconflictarea și afișarea pozițiilor unităților prietenoase pe o hartă partajată. Scopul său operațional este dublu: evitarea fratricide – un comandant care poate vedea exact unde sunt forțele prietenoase nu va chema focuri asupra lor – și manevra coordonată, unde unitățile își ajustează mișcarea pe baza dispoziției în timp real a elementelor adiacente. BFT este stratul forțelor prietenoase al COP și este stratul la care cei mai mulți utilizatori se uită cel mai des.

Motivul pentru care scara domină designul este că sarcina BFT crește pe două axe simultan. Numărul de entități care raportează crește cu dimensiunea forței, iar frecvența de raportare crește cu ritmul operațiunilor. O imagine de garnizoană în timp de pace poate implica câteva sute de urme cu actualizare lentă; o operațiune de intensitate ridicată poate implica zeci de mii de entități, multe dintre ele mișcându-se suficient de rapid pentru a necesita actualizări de sub cinci secunde. Produsul acelor două numere este rata rapoartelor pe care sistemul trebuie să le ingereze, transporteze și redeze, și poate acoperi patru ordine de mărime între cazul ușor și cel dificil.

Fiecare decizie arhitecturală de mai jos – designul schemei, controlul adaptiv al ratei, alegerea transportului, filtrarea pe server, strategia de redare – există pentru a menține sistemul utilizabil la capătul superior fără a supra-inginera capătul inferior. Firul roșu care le traversează pe toate este că un raport de poziție este un lucru ieftin, auto-corectabil, idempotent, iar o arhitectură BFT care îl tratează ca atare va scala, în timp ce una care tratează fiecare raport ca prețios nu va scala.

Ingestia rapoartelor de poziție și schema canonică de urmă

Un raport de poziție este un mesaj mic: cel puțin un identificator de unitate, o latitudine și longitudine WGS84 și un marcaj temporal. Rapoartele de producție adaugă curs, viteză, altitudine, un timp de perimare, o afiliere de eșalon sau unitate și o etichetă de clasificare. Prima decizie arhitecturală este de a defini o singură schemă canonică de urmă pentru întregul sistem și de a traduce fiecare sursă de intrare în aceasta la margine.

Sursele sunt eterogene. Soldații pedestri care utilizează ATAK și dispozitive pentru utilizatorul final emit evenimente Cursor on Target. Sistemele de management al câmpului de luptă ale vehiculelor emit NFFI (NATO Friendly Force Information) sau echivalente naționale. Aeronavele pot raporta prin Link 16 sau legături de date specifice platformei. Fiecare dintre acestea are propriul set de câmpuri, convenție de coordonate și cadență de actualizare. Rolul adaptorului de ingestie este de a valida mesajul de intrare, a converti coordonatele și unitățile, a atribui sau păstra un UID stabil și a emite o înregistrare canonică de urmă în stratul de fuziune și stocare.

Regula non-negociabilă este că formatele sursă brute nu trebuie niciodată să se propage dincolo de adaptor. Dacă un eveniment CoT, un mesaj NFFI și un cadru BMS proprietar ajung toate la depozitul de urme în forma lor nativă, fiecare consumator din aval – fuziune, filtrare, redare – trebuie să înțeleagă toate trei, iar sistemul devine imposibil de extins sau depanats. O schemă canonică la intrare, mulți redatori la ieșire.

Identitate stabilă și deduplicare

Aceeași platformă fizică raportează uneori prin mai mult de o cale – un vehicul al cărui echipaj poartă și un EUD, de exemplu, generează două urme pentru un singur obiect. Stratul de ingestie trebuie să atribuie și să păstreze un UID stabil, astfel încât motorul de fuziune să poată recunoaște și îmbina acestea într-o singură urmă autoritativă în loc să deseneze două puncte la câțiva metri distanță. Acolo unde nu este disponibil un UID global, deduplicarea recurge la corelarea spațio-temporală: rapoartele dintr-un mic raza și fereastră de timp, cu curs și viteză consecvente, sunt tratate ca aceeași entitate. Obținerea corectă a identității la ingestie previne o întreagă clasă de probleme cu urme fantomă în aval.

Reglarea ratei de actualizare: cel mai important factor de influență asupra sarcinii

Cel mai eficient mod de a controla sarcina rețelei BFT este de a controla cât de des raportează fiecare entitate. Sistemele naive utilizează un interval fix – fiecare unitate transmite la fiecare N secunde, indiferent de ceea ce face. Aceasta risipește majoritatea transmisiilor pe unitățile staționare a căror poziție nu s-a schimbat, în timp ce simultan este prea lentă pentru vehiculele rapide a căror poziție se schimbă semnificativ între rapoarte.

Raportarea adaptivă bazată pe evenimente rezolvă ambele probleme. Fiecare dispozitiv terminal decide când să raporteze pe baza propriei mișcări: emite un raport nou când deplasarea față de ultimul raport depășește un prag de distanță, când direcția se schimbă dincolo de un prag unghiular sau când un interval maxim de liniște (un bătăi de inimă) trece fără mișcare. Un vehicul oprit raportează apoi o dată pe bătăi de inimă – poate la fiecare 60 până la 120 de secunde – pur și simplu pentru a confirma că este încă activ, în timp ce același vehicul în mișcare raportează la câteva secunde pentru că tot depășește pragul de deplasare.

Efectul asupra lățimii de bandă este mare. Într-o forță mixtă unde majoritatea unităților sunt statice sau lente în orice moment dat, raportarea adaptivă reduce în mod obișnuit volumul rapoartelor transmise cu 60 până la 80 la sută față de raportarea cu rată fixă, fără pierderea fidelității tactice – cei rapizi, importanți, se actualizează în continuare frecvent, iar cei staționari pur și simplu nu mai risipesc legătura. Cadențele de bază tipice înainte de adaptare sunt 30 până la 120 de secunde pentru infanteria pedestră, 10 până la 30 de secunde pentru vehicule și 1 până la 5 secunde pentru aeronave și vehicule rapide.

Idee cheie: Rapoartele de poziție sunt idempotente și auto-corectabile – fiecare îl înlocuiește complet pe cel anterior pentru acea entitate, deci un raport pierdut este inofensiv atâta timp cât urmează altul. Proiectați întregul pipeline în jurul acestei proprietăți: raportați prin excepție mai degrabă decât pe un ceas fix, alegeți un transport tolerant la pierderi și nu cheltuiți niciodată lățime de bandă pentru retransmiterea unei poziții perimate pe care o va suprascrie oricum următorul raport.

Transportul de rețea pentru rapoartele de poziție

La nivelul marginii tactice, transportul dominant este Cursor on Target transportat prin multicast UDP pe o rețea radio mesh. Multicast este primitivul corect deoarece o singură transmisie ajunge la fiecare ascultător de pe segment – când un vehicul își transmite poziția, fiecare alt nod din raza sa o primește fără ca expeditorul să fie nevoit să adreseze fiecare peer individual. Pe o rețea tactică cu lățime de bandă limitată, acea eficiență de la unu la mulți este decisivă.

Multicast UDP face un schimb de fiabilitate pentru eficiență: nu există retransmisie și nici garanție de livrare. Pentru BFT acesta este compromisul corect, tocmai pentru că rapoartele sunt idempotente. Un raport pierdut este înlocuit în cadrul unui interval de raportare de cel următor, deci nivelul aplicației ar trebui să tolereze pierderile mai degrabă decât să le combată. Retransmisia agresivă a datelor de poziție este un anti-pattern – consumă lățime de bandă prețioasă pentru a livra informații care sunt deja depășite până la momentul sosirii.

Unde există o legătură de back-haul, nodurile de margine redirecționează de asemenea rapoarte prin TCP către un TAK Server, care agregă imaginea locală și o transmite eșaloanelor superioare și altor servere prin federație. La nivelul brigăzii și deasupra, agregarea trece de obicei la un broker publish/subscribe sau magistrală de mesaje care distribuie urmele abonaților pe temă. Transportul își schimbă deci caracterul pe măsură ce urcă eșaloanele: multicast cu pierderi la margine pentru eficiență, punct-la-punct fiabil și pub/sub mediat mai sus, unde legăturile sunt mai late și completitudinea contează mai mult.

Scalarea imaginii: filtrare, delta-uri și redare

Transportul eficient al rapoartelor reprezintă doar jumătate din problemă. Cealaltă jumătate este prezentarea a zeci de mii de urme unui operator fără a satura nici legătura de rețea a clientului, nici redatorul său. Trei tehnici, aplicate împreună, sunt cele care fac acest lucru realizabil.

Filtrarea spațială și pe eșalon de pe server. Depozitul autoritar de urme trăiește pe server, iar fiecare client primește numai urmele relevante pentru el – cele din zona sa geografică de interes și permise de autorizarea și eșalonul său. Un post de comandă de companie nu are nevoie și nu ar trebui să primească imaginea întregii divizii. Indexarea spațială (un quadtree sau grilă geohash peste depozitul de urme) face din "dă-mi fiecare urmă prietenoasă din această cutie delimitatoare" o interogare ieftină, iar setul de rezultate este delimitat de vizualizarea operatorului mai degrabă decât de dimensiunea totală a forței. Acesta este mecanismul care menține lățimea de bandă per client aproximativ constantă chiar și pe măsură ce numărul global de urme crește.

Actualizări delta prin publish/subscribe. Clienții ar trebui să se aboneze la un flux de modificări în loc să interogheze starea completă. După un instantaneu inițial al zonei vizibile, serverul trimite doar delta-uri – urme noi, actualizări de poziție și eliminări – printr-un WebSocket sau canal pub/sub. Interogarea stării complete la scară este greșeala clasică: forțează serverul să serializeze întreaga imagine vizibilă la fiecare interval, multiplicând sarcina cu numărul de clienți. Delta-urile mențin traficul în stare stabilă proporțional cu rata schimbărilor reale, nu cu dimensiunea imaginii.

Grupare pe partea clientului și redare GPU. Pe partea de afișare, desenarea fiecărei urme ca un element DOM eșuează cu mult înainte de o mie de markere. Clienții COP de producție redau cu WebGL accelerat hardware – Cesium, MapLibre sau un strat personalizat – care poate desena zeci de mii de simboluri per cadru la rate interactive. Zonele dense sunt grupate în simboluri agregate care se extind pe măsură ce operatorul mărește, astfel că o zonă de asamblare de brigadă apare ca un singur grup cu număr la zoom de teatru și se rezolvă în platforme individuale la zoom tactic. Gruparea gestionează atât costul de redare, cât și lizibilitatea umană în același timp.

Perimarea, ultima poziție cunoscută și afișarea onestă

O urmă prietenoasă este bună numai atât cât este de proaspătă, iar afișarea trebuie să spună adevărul despre aceasta. Fiecare urmă poartă un timp de perimitat setat când raportul este generat. Când acel timp trece fără un raport proaspăt, redatorul trebuie să degradeze vizibil urma – s-o estompeze, să adauge un halou punctat sau s-o convertească într-un marker explicit de ultimă poziție cunoscută cu o etichetă de vechime – și după un interval mai lung s-o elimine din imaginea activă.

Acest lucru contează deoarece un simbol desenat la luminozitate completă implică o fixare curentă. Un sistem BFT care redă o poziție mai veche de o oră ca și cum ar fi curentă nu este pur și simplu inutil; induce în eroare în mod activ comandantul să aibă încredere într-un punct care poate fi la kilometri depărtare de realitate. Un marker explicit "văzut ultima dată acum 47 de minute" este mult mai sigur decât unul sigur dar greșit. Gestionarea onestă a perimării este o cerință de corectitudine, nu o preferință cosmetică, și aparține stratului de redare al oricărui design BFT.

Asamblarea pipeline-ului

Privit de la un capăt la altul, o arhitectură BFT este o pâlnie care se lărgește și se îngustează în locurile potrivite. Se lărgește la ingestie, acceptând multe surse eterogene și normalizându-le la o singură schemă. Se îngustează la margine prin raportarea adaptivă, transmițând numai ceea ce s-a schimbat semnificativ. Călătorește pe un transport multicast tolerant la pierderi care exploatează idempotența datelor de poziție. Se lărgește din nou pe server într-un depozit autoritar, indexat spațial, apoi se îngustează per client prin filtrarea pe zonă și eșalon și prin streaming de delta-uri. În final redă cu accelerare GPU, grupare și indicii oneste de perimitate astfel încât operatorul să vadă o imagine prietenoasă lizibilă și demnă de încredere indiferent dacă forța numără sute sau zeci de mii.

Puneți pe teren o imagine prietenoasă care rezistă la scară

Corvus HEAD ingerează rapoarte de poziție CoT și NFFI, deconflictează și elimină urmele perimate pe server și redă mii de unități prietenoase pe o singură imagine operațională comună autoritativă – construită pentru ritmul operațional real și legături degradate.

Explorați Corvus HEAD → Programați o prezentare

Această analiză a fost pregătită de inginerii Corvus Intelligence care construiesc software C2 și de conștientizare situațională de importanță critică pentru organizații de apărare și guvernamentale. Aflați despre echipa noastră →