Wspólny obraz operacyjny wyglądający identycznie na każdym szczeblu dowodzenia to problem projektowy, a nie coś oczywistego. Taktyczny sztab aktualizujący pozycje pododdziałów własnych co 30 sekund zapisuje do tego samego logicznego magazynu danych co operacyjny sztab wydający nowe środki kontroli i szczebel strategiczny przesyłający zaktualizowane nakładki wywiadowcze -- jednak każdy z tych szczebli działa na innej infrastrukturze łączności, w innym rytmie aktualizacji i z inną tolerancją na przestarzałość danych. Utrzymanie spójności wszystkich trzech szczebli wymaga architektury synchronizacji zasadniczo różniącej się od replikowanych baz danych stosowanych w komercyjnych systemach rozproszonych. Niniejszy artykuł omawia modele replikacji, strategie rozwiązywania konfliktów, harmonogramowanie adaptacyjne do przepustowości, wzorce delegowania uprawnień i procedury odtwarzania stanowiące podstawę solidnego projektu wielopoziomowej synchronizacji C2, z odniesieniami do architektury fuzji i zarządzania śladami, która zasila ten obraz.

Dlaczego synchronizacja wielopoziomowa jest architektonicznie odrębna od synchronizacji jednościowej

Synchronizacja jednościowa -- utrzymywanie spójności dwóch węzłów w tej samej sieci LAN lub WAN -- operuje przy założeniach, które nie obowiązują między szczeblami dowodzenia. Węzły LAN współdzielą łączność gigabitową, wspólne uwierzytelnianie i protokół synchronizacji zegarów dokładny do mikrosekund. Zatwierdzenie dwufazowe lub konsensus Raft mogą wymuszać silną spójność, ponieważ prawdopodobieństwo jednoczesnej osiągalności wszystkich węzłów jest bardzo wysokie, a koszt blokowania na zamku mierzy się w milisekundach. Żadne z tych założeń nie jest spełnione między taktycznym batalionowym sztabem operującym w wąskopasmowej sieci radiowej VHF a operacyjnym sztabem połączonym przez satelitę z przepustowością 64 kbps i opóźnieniem w obie strony wynoszącym 600 ms.

Łącza między szczeblami są przerywane z powodów operacyjnych, a nie awarii. Radia taktyczne przechodzą w tryb EMCON (kontrola emisji). Okna satelitarne są planowane i ograniczone czasowo. Propagacja HF zmienia się wraz z aktywnością słoneczną. Architektura synchronizacji, która blokuje zapisy lub zgłasza błędy spójności podczas normalnej przerwy w łączności, jest operacyjnie niedopuszczalna -- operatorzy muszą kontynuować odczyt i zapis obrazu na własnym szczeblu niezależnie od tego, czy łącze z wyższym lub niższym szczeblem jest aktywne. To wymaganie przesuwa projekt ku ostatecznej spójności z dobrze zdefiniowanym rozwiązywaniem konfliktów, zamiast silnej spójności z protokołami koordynacji wymagającymi kworum.

Trzecia różnica to struktura uprawnień. W komercyjnym systemie rozproszonym każdy węzeł może zapisywać dowolny rekord, a zasada "wygrywa ostatni zapis" jest akceptowalną (choć prymitywną) polityką konfliktów, gdyż nie ma organizacyjnej własności danych. W systemie C2 pododdział taktyczny jest właścicielem śladów własnych elementów manewrowych, operacyjny sztab jest właścicielem środków koordynacji wsparcia ogniowego, a szczebel strategiczny jest właścicielem określonych produktów wywiadowczych. Rozwiązywanie konfliktów musi respektować tę hierarchię uprawnień, a nie po prostu faworyzować najnowszy znacznik czasu. Model danych wspólnego obrazu operacyjnego musi kodować granice uprawnień dla każdej klasy obiektów już od chwili jego pierwotnego projektowania.

Strategie replikacji danych: pełne lustro, delta-push i modele oparte na subskrypcji

Pełna replikacja lustrzana przesyła kompletny stan domeny danych do wszystkich węzłów szczebli w skonfigurowanym cyklu. Jest odpowiednia dla małych, rzadko zmieniających się zbiorów danych referencyjnych: organizacji do zadań bojowych, przydziałów częstotliwości, harmonogramów sygnałów wywoławczych i harmonogramów kluczy kryptograficznych. Koszt transmisji jest przewidywalny, węzeł odbierający może odbudować swój lokalny magazyn od podstaw w dowolnym cyklu synchronizacji i nie ma zależności od poprzedniego stanu. Wada jest oczywista: przesłanie pełnego lustra dużego obrazu operacyjnego przez łącze HF o przepustowości 9,6 kbps jest niepraktyczne. Obraz z 5000 śladami, każdy z rekordem 200-bajtowym, daje łącznie 1 MB -- ponad 14 minut transmisji przy pełnej przepustowości łącza, wypierając cały pozostały ruch.

Replikacja delta-push rozwiązuje problem przepustowości, przesyłając wyłącznie zmiany od ostatniego potwierdzonego punktu synchronizacji. Każdemu zdarzeniu zmiany przypisywany jest monotonicznie rosnący numer sekwencyjny w ramach jego domeny danych. Węzeł odbierający potwierdza najwyższy przetworzony numer sekwencyjny po każdym cyklu synchronizacji. W następnym cyklu nadajnik odpytuje swój dziennik zdarzeń o wszystkie zdarzenia powyżej potwierdzonego numeru sekwencyjnego i przesyła wyłącznie te. 60-sekundowa delta w umiarkowanie aktywnym rejonie działań zazwyczaj zawiera 50--200 zdarzeń aktualizacji śladów, łącznie kilka kilobajtów. Delta-push jest właściwym domyślnym rozwiązaniem dla śladów, meldunków i nakładek graficznych w większości konfiguracji między szczeblami. Złożoność wdrożenia polega na zarządzaniu retencją dziennika zdarzeń: nadajnik musi przechowywać zdarzenia aż do najstarszego niepotwierdzonego numeru sekwencyjnego ze wszystkich węzłów równorzędnych, co może obejmować godziny podczas prolongowanej przerwy łącza.

Replikacja oparta na subskrypcji rozszerza model delta, pozwalając szczebłom podrzędnym zadeklarować zainteresowanie podzbiorem domeny danych zamiast odbierania wszystkich zdarzeń. Sztab brygady subskrybujący od sztabu korpusu może zadeklarować zainteresowanie wyłącznie śladami w przypisanym obszarze odpowiedzialności oraz wszystkimi meldunkami warstwy 1 niezależnie od obszaru. Filtr subskrypcji jest oceniany po stronie serwera w węźle korpusu przed transmisją, redukując zarówno zużycie przepustowości, jak i obciążenie przetwarzania węzła odbierającego. Modele subskrypcji są szczególnie wartościowe dla dużych domen zobrazowania i dzienników sensorów, gdzie replikacja wszystkiego do każdego szczebla pochłaniałaby nadmierną przepustowość. Wyzwaniem wdrożeniowym jest wyrazistość filtrów: geograficzne ramki ograniczające są proste do oceny, ale mogą pomijać taktycznie istotne obiekty tuż poza granicą. Filtry klas obiektów i warstw priorytetowych są bardziej niezawodne w zapewnieniu, że dane krytyczne nigdy nie zostaną odfiltrowane.

Rozwiązywanie konfliktów gdy szczeble niezależnie aktualizują ten sam obiekt

Konflikty powstają, gdy dwa węzły szczebli modyfikują ten sam obiekt w okresie rozłączenia, a modyfikacji nie można trywialnie uporządkować według znacznika czasu. Same znaczniki czasu są niewystarczające do rozwiązywania konfliktów w wojskowym kontekście C2, ponieważ synchronizacja zegarów między szczeblami mogła dryfować o sekundy podczas przerwy radiowej, a dwie aktualizacje oddzielone 500 ms dryfu zegara mogły zostać wykonane przez operatorów, którzy naprawdę nie wiedzieli o działaniach drugiego. Wektor wersji -- na-obiektowa struktura danych rejestrująca ostatni numer sekwencyjny z każdego uczestniczącego szczebla -- zapewnia częściowe porządkowanie historii aktualizacji niezależne od dokładności zegara ściennego. Gdy odebrana delta zawiera aktualizację, której wektor wersji nie jest potomkiem lokalnego wektora wersji, istnieje rzeczywisty konflikt jednoczesnej aktualizacji.

Polityka rozwiązywania zależy od mapy uprawnień ustanowionej w czasie projektowania systemu. W przypadku obiektów z jednym wyraźnym szczeblem posiadającym uprawnienia polityka jest deterministyczna: stosowana jest aktualizacja ze szczebla posiadającego uprawnienia, nieuprawniona aktualizacja jest archiwizowana w dzienniku audytu z pełną proweniencją (szczebel źródłowy, identyfikator operatora, znacznik czasu, zmiany atrybutów), a powiadomienie o konflikcie jest emitowane do operatorów na obu szczeblach. Powiadomienie ma charakter informacyjny -- uprawnione rozwiązanie zostało już zastosowane -- ale daje nieuprawnionemu szczeblowi możliwość sprawdzenia, czy jego lokalna ocena uzasadnia nowe żądanie uprawnione przez kanały dowodzenia. W przypadku obiektów z dzielonymi lub delegowanymi uprawnieniami -- pododdziału tymczasowo przydzielonego od jednego sztabu do drugiego -- domenowa funkcja scalania łączy dwie wersje. Pozycja jest pobierana z nowszego pomiaru GPS; atrybuty stanu będące w konflikcie są oznaczane do przeglądu operatorskiego; historia śladu z obu gałęzi jest zachowywana jako rozgałęzione adnotacje.

Kluczowa obserwacja: Najczęstszym błędem rozwiązywania konfliktów w wielopoziomowych systemach C2 nie jest sam algorytm rozwiązywania -- lecz brak dobrze zdefiniowanej mapy uprawnień na etapie projektowania. Gdy system cofa się do zasady "wygrywa ostatni zapis", ponieważ żadne uprawnienie nie jest zarejestrowane dla klasy obiektów, wynikiem jest to, że szczebel o najwyższej częstotliwości aktualizacji systematycznie nadpisuje przemyślane oceny szczebli aktualizujących rzadziej. Strategiczny produkt wywiadowczy aktualizowany raz na cztery godziny będzie cicho nadpisywany przez taktyczny strumień danych aktualizowany co 30 sekund, chyba że granica uprawnień zostanie jawnie zakodowana i egzekwowana przez silnik synchronizacji.

Synchronizacja adaptacyjna do przepustowości na zdegradowanych łączach między szczeblami

Jakość łącza między szczeblami nie jest binarnym stanem aktywne/nieaktywne -- degraduje się w sposób ciągły. Łącze satelitarne o przepustowości 64 kbps w warunkach nominalnych może spaść do 9,6 kbps podczas degradacji atmosferycznej, następnie do pakietów w trybie burstowym z 30-sekundowymi przerwami podczas zdarzenia zagłuszania, a potem odtworzyć się. Silnik synchronizacji traktujący każde obniżenie poniżej wartości nominalnej jako awarię i kolejkujący wszystkie transmisje na później dotrze do przywrócenia łącza z ogromną zaległością, która zaleje łącze i opóźni najbardziej krytyczne aktualizacje. Synchronizacja adaptacyjna do przepustowości reaguje na zmierzoną przepustowość łącza w czasie rzeczywistym, nieprzerwanie repriorytetyzując i harmonogramując transmisje w celu dostarczenia najbardziej operacyjnie krytycznych danych w ramach dostępnej przepustowości.

Klasyfikacja poziomów priorytetowych napędza adaptacyjny harmonogram. Warstwa 1 -- meldunki kontaktowe o wykrytych elementach manewrowych przeciwnika, aktywne zadania ogniowe, pilne meldunki o stratach i natychmiastowe zmiany zadań -- jest przesyłana, gdy tylko przepustowość łącza pozwala na jeden pakiet, a transmisja jest ponawiana przy każdym dostępnym przedziale czasu do momentu potwierdzenia. Warstwa 2 -- pozycje sił własnych, aktualizacje stanu logistycznego, zmiany nakładek graficznych i rutynowe meldunki sytuacyjne -- jest przesyłana w cyklu wydłużającym się od 30 sekund do 5 minut, gdy przepustowość spada poniżej konfigurowalnych progów. Warstwa 3 -- odtwarzanie historycznych śladów, pełne dzienniki sensorów, niepiln adnotacje do zobrazowania -- jest kolejkowana i przesyłana dopiero po całkowitym wyczyszczeniu zaległości warstw 1 i 2. Harmonogram monitoruje potwierdzoną przepustowość za pomocą pasywnego estymatora okna przesuwnego nad ostatnimi 60 sekundami historii transmisji, automatycznie reklasyfikując harmonogram bez interwencji operatora.

Kompresja ładunku jest techniką uzupełniającą, która zwielokrotnia efektywną przepustowość dostępnego pasma. XML CoT, standardowe kodowanie dla zdarzeń taktycznych w wielu systemach C2, jest rozwlekłe: pojedyncze zdarzenie aktualizacji śladu z tuzinem atrybutów może przekroczyć 800 bajtów jako XML UTF-8. To samo zdarzenie wyrażone jako binarnie kodowany komunikat protobuf z kompresją delta względem poprzedniego stanu śladu zajmuje 50--120 bajtów. Przy przepustowości 9,6 kbps ten współczynnik kompresji decyduje o tym, czy meldun kontaktowy warstwy 1 dotrze do operacyjnego sztabu w 0,7 sekundy czy 5 sekund -- różnica istotna dla uderzenia zależnego od czasu. Taktyczna magistrala komunikacyjna wybrana do transportu między szczeblami powinna natywnie obsługiwać binarne serializowanie i kodowanie wersjonowane schematem, zamiast polegać na XML pod kątem wydajności formatu przesyłowego.

Delegowanie uprawnień: który szczebel jest właścicielem jakich śladów i meldunków

Delegowanie uprawnień to formalny mechanizm, za pomocą którego wyższy szczebel tymczasowo przyznaje niższemu szczeblowi prawo do tworzenia, modyfikowania lub usuwania rekordów obiektów, których normalnie nie posiada. Najczęstszym przypadkiem jest operacyjny sztab tymczasowo delegujący uprawnienia nad zestawem linii koordynacji wsparcia ogniowego do taktycznego sztabu na czas określonej fazy operacji. Bez delegowania taktyczny sztab musi kierować każdą aktualizację koordynacji wsparcia ogniowego przez operacyjny sztab -- dodając opóźnienie i obciążenie łączności. Przy delegowaniu taktyczny sztab zapisuje bezpośrednio, a operacyjny sztab odbiera aktualizacje jako subskrybent, a nie jako źródło posiadające uprawnienia.

Delegowanie musi być czasowo i zakresowo ograniczone w konfiguracji silnika synchronizacji, a nie tylko w rozkazie operacyjnym. Rekord delegowania określa szczebel udzielający, szczebel odbierający, klasy obiektów i zakres geograficzny, do którego ma zastosowanie, oraz czas wygaśnięcia. Silnik synchronizacji egzekwuje te ograniczenia automatycznie: aktualizacje z delegowanego szczebla w zakresie i w czasie są akceptowane jako autorytatywne; aktualizacje poza zakresem lub po wygaśnięciu wracają do normalnej mapy uprawnień. Zapobiega to częstemu błędowi, w którym delegowanie wydane na konkretną fazę jest nadal honorowane przez silnik synchronizacji długo po zmianie sytuacji operacyjnej, ponieważ nikt go ręcznie nie odwołał.

Hierarchiczne delegowanie -- gdzie operacyjny sztab deleguje do taktycznego sztabu, który następnie subdeleguje do elementu na szczeblu kompanii -- wymaga od silnika synchronizacji utrzymywania łańcucha delegowania i weryfikacji całego łańcucha przed zaakceptowaniem aktualizacji jako autorytatywnej. Subdelegowanie bez zgody pierwotnie udzielającego szczebla stanowi ryzyko bezpieczeństwa i integralności danych: dowódca kompanii nie powinien być w stanie rościć sobie uprawnień do środków koordynacji wsparcia ogniowego szczebla korpusu poprzez skonstruowanie łańcucha delegowania, który nigdy nie uzyskał sankcji wyższego szczebla. Schemat delegowania powinien zawierać pole maksymalnej głębokości ustawiane przez szczebel udzielający w celu zapobieżenia nieautoryzowanemu subdelegowaniu.

Odtwarzanie i uzgadnianie po przywróceniu łącza

Przywrócenie łącza jest najbardziej złożoną zmianą stanu w wielopoziomowym systemie synchronizacji, ponieważ oba węzły nagromadziły rozbieżny stan i żaden nie zna pełnego zasięgu rozbieżności, dopóki nie wymienią znaczników wodnych. Sekwencja odtwarzania musi równoważyć szybkość -- operatorzy potrzebują szybkiej konwergencji obrazu -- z poprawnością -- żadna aktualizacja warstwy 1 nie może być cicho odrzucona podczas scalania. Naiwne podejście polegające na sekwencyjnym odtwarzaniu wszystkich zbuforowanych zdarzeń zawodzi, gdy strumień zdarzeń zawiera konflikty wymagające rozwiązania opartego na uprawnieniach przed ich zastosowaniem, gdyż zastosowanie niezgodnej z porządkiem nieuprawnionej aktualizacji przed przybyciem autoryzowanej spowoduje, że rozwiązanie uprawnione nadpisze już zastosowaną zmianę bez powiadomienia kogokolwiek.

Prawidłowa sekwencja odtwarzania jest ustrukturyzowana fazowo. W pierwszej fazie oba węzły wymieniają wyłącznie swoje znaczniki wodne numerów sekwencyjnych per domena danych -- zwartą procedurę uzgadniania ustalającą dokładnie, które zdarzenia są brakujące dla równorzędnego węzła, bez przesyłania żadnego ładunku zdarzeń. Wymiana znaczników wodnych kończy się w jednym cyklu żądanie-odpowiedź. W drugiej fazie węzeł z większą deltą przesyła oczekujące zdarzenia w kolejności priorytetów: najpierw wszystkie zdarzenia warstwy 1, w pełni potwierdzone, potem warstwy 2, następnie warstwy 3. Węzeł odbierający natychmiast stosuje niekonfliktowe zdarzenia do swojego aktywnego obrazu i kolejkuje konfliktowe zdarzenia do etapu rozwiązywania uprawnień. W trzeciej fazie konfliktowe zdarzenia są rozwiązywane zgodnie z mapą uprawnień, powiadomienia operatorskie są wysyłane dla zdarzeń wymagających przeglądu ludzkiego, a dziennik audytu jest aktualizowany wynikiem rozwiązania i identyfikatorami operatorów. Po zakończeniu wszystkich trzech faz oba węzły wymieniają końcowy znacznik wodny potwierdzający osiągnięcie identycznego punktu bazowego, a normalna synchronizacja delta-push wznawia się od tego miejsca.

Ważnym przypadkiem brzegowym jest węzeł izolowany na tyle długo, że jego dziennik zdarzeń został częściowo przycięty ze względów przechowywania przed przywróceniem łącza. Polityki przycinania dziennika powinny być zaprojektowane tak, aby przechowywać co najmniej zdarzenia warstwy 1 bezterminowo i zdarzenia warstwy 2 przez minimalny konfigurowalny okres retencji (zazwyczaj 72--96 godzin) niezależnie od presji przechowywania. Jeśli dziennik węzła jest rzeczywiście ucięty poniżej ostatniego potwierdzonego znacznika wodnego równorzędnego węzła, odtwarzanie musi cofnąć się do pełnej replikacji lustrzanej dla dotkniętej domeny przed wznowieniem delta-push. Silnik synchronizacji powinien wykrywać ten stan automatycznie, porównując najstarszy dostępny numer sekwencyjny ze znacznikiem wodnym równorzędnego węzła, i inicjować pełne lustro bez interwencji operatora.

Testowanie wielopoziomowej synchronizacji na rozłączonych sieciach ćwiczeniowych

Testowanie wielopoziomowej synchronizacji wymaga topologii sieci, która może wstrzykiwać kontrolowane awarie łącza, indukować dryft zegara i symulować degradację przepustowości na każdym skoku między szczeblami -- warunki trudne lub niemożliwe do odtworzenia w standardowym środowisku testów integracyjnych. Najbardziej niezawodnym podejściem jest dedykowana sieć ćwiczeniowa z trzema lub więcej węzłami, których łącza między węzłami przechodzą przez konfigurowalny emulator sieci (taki jak Linux-owy kształtownik ruchu z tc-netem), który może stosować opóźnienie, utratę pakietów, limity przepustowości i charakterystykę burstową odpowiadającą rzeczywistym radiom, których system będzie używał w terenie. Ta sieć ćwiczeniowa powinna być trwałą częścią infrastruktury testowej, a nie montowaną wyłącznie przed głównymi ćwiczeniami.

Scenariusz testowy powinien systematycznie ćwiczyć najistotniejsze tryby awarii: 5-minutową przerwę łącza między węzłami taktycznym i operacyjnym podczas aktywnej sekwencji meldunków kontaktowych, 30-minutową przerwę podczas natarcia planowego z jednoczesną aktualizacją koordynacji wsparcia ogniowego i 2-godzinną przerwę symulującą zdarzenie odmowy łączności satelitarnej, podczas której wszystkie trzy szczeble kontynuują normalne działanie niezależnie. Po każdym przywróceniu automatyczne asercje testowe weryfikują, że wszystkie trzy węzły osiągnęły ten sam stan obrazu, że żadne zdarzenia warstwy 1 nie figurują w dzienniku audytu jako odrzucone lub nadpisane nieuprawnioną rozdzielczością, że wszystkie konflikty zostały rozwiązane zgodnie z mapą uprawnień i że wymiana znaczników wodnych zakończyła się w wymaganym czasie. Asercje te powinny być weryfikowalne maszynowo bez przeglądu operatorskiego, tak aby regresyjne testowanie zachowania synchronizacji stanowiło element każdego potoku kompilacji.

Testowanie chaotyczne -- wstrzykiwanie awarii w losowych punktach podczas samego uzgadniania, a nie tylko przed nim -- jest równie ważne. Łącze przerywające się podczas odtwarzania zdarzeń fazy drugiej lub restart węzła podczas fazy rozwiązywania uprawnień muszą pozostawić oba węzły w spójnym, możliwym do odtworzenia stanie. Silnik synchronizacji powinien być zaprojektowany wokół idempotentnego stosowania zdarzeń: dwukrotne odtworzenie tego samego zdarzenia musi dać ten sam wynik co jednorazowe zastosowanie, tak aby częściowo zakończone uzgadnianie zawsze mogło być bezpiecznie wznowione od ostatniego potwierdzonego znacznika wodnego bez generowania fantomowych duplikatów ani cichej utraty danych.

Synchronizuj obrazy dowodzenia na każdym szczeblu

Corvus HEAD obsługuje wielopoziomowe wdrożenia z konfigurowalną polityką replikacji, synchronizacją świadomą przepustowości i rozwiązywaniem konfliktów opartym na uprawnieniach, utrzymując spójny obraz na wszystkich szczeblach dowodzenia.

Poznaj Corvus HEAD → Umów prezentację

Analiza przygotowana przez inżynierów Corvus Intelligence budujących krytyczne systemy ISR i aplikacje polowe dla organizacji obronnych i rządowych. Dowiedz się więcej o naszym zespole →