Vyöhykerajan ylittäminen ilman hälytystä on tietoturvaepäonnistuminen. Merkitsipä raja sitten joukkojen etulinjan, rajoitetun kulkukäytävän, kriittisen infrastruktuurin suljetun alueen tai kokoontumispisteen kehän, tuon rajan operatiivinen arvo riippuu täysin siitä, että järjestelmä havaitsee ylityksen ja ilmoittaa siitä oikeille henkilöille muutamassa sekunnissa. Sotilaalliset geofencing-ohjelmistot toteuttavat tämän havaitsemisen laajassa mittakaavassa: ne arvioivat satoja seurattuja kohteita kymmenien tai satojen vyöhykemääritysten suhteen jatkuvasti, laitteilla, joiden verkkoyhteys voi olla katkonainen ja joiden suorittimen ja muistin resurssit ovat rajalliset. Tässä artikkelissa käsitellään geometria-algoritmeja, offline-ensin-arviointiarkkitehtuuria, vyöhykkeen elinkaaren hallintaa, hälytysten reititystä, TAK-integraatiota ja suorituskykyominaisuuksia, jotka tekevät geofencingistä luotettavan taktisen kyvyn eikä parhaaseen tulokseen pyrkivän taustatoiminnon.

Sotilaalliset geofencingin operatiiviset käyttötapaukset

Geofencing sotilaallisissa kenttäsovelluksissa kattaa laajemman vaatimusjoukon kuin kaupalliset sijaintipalvelut. Yleisin käyttötapaus on rajavalvonta: havaitaan, kun ystävällinen resurssi ylittää joukkojen etulinjan (FLOT), tulee tunnetulle uhkavyöhykkeelle tai poistuu nimetyltä toimintavyöhykkeeltä. Kummassakin tapauksessa hälytyksen on tavoitettava oikea vastaanottaja – joukkueenjohtajan ATAK-laite, C2-valvoja tai automaattinen kirjausjärjestelmä – ilman viivettä eikä vaadi seuratun resurssin minkäänlaista toimintaa. Seurattu kohde lähettää sijaintinsa tavallisen CoT-syötteen kautta; geofencing-kerros arvioi sijainnin äänettömästi ja laukaisee hälytyksiä vain tilaa muuttavissa siirtymissä.

Kulunvalvonta on toinen tärkeä käyttötapaus. Rajoitetut alueet – ampumatarvikevarastot, komentopaikat, viestilaitteet – voidaan ympäröidä geofence-vyöhykkeillä, jotka on konfiguroitu hälyttämään, kun luvaton kohde saapuu perimetrille. Vyöhykekonfiguraatio määrittää, mitkä kohdekategoriat ovat valtuutettuja (ystävällinen, tietyt kutsumerkit, tietyt yksikön UID:t) ja mitkä käynnistävät hälytyksen (tuntematon, vihamielinen tai mikä tahansa kohde, joka ei ole sallittujen listalla). Tämä edellyttää, että geofencing-moottori arvioi sijainnin lisäksi myös kohteen metatiedot CoT-syötteestä: CoT-tyyppikoodin, kohteen kutsumerkin ja affilointiokentän, jonka ATAK johtaa CoT-tyypin etuliitteistä.

Kolmas käyttötapaus on lähestymishälytys konfliktinpoistoa varten: varoitetaan yksikköä, kun se lähestyy aktiivisen tykistön tulikomennon, UAV-lentokäytävän tai toisen yksikön toiminta-alueen rajaa. Tässä vyöhykkeen geometria on dynaaminen – tulikomentopolygoni muuttuu tehtävän edetessä – ja geofencing-moottorin on kyettävä käsittelemään kesken tehtävän saapuvia vyöhykepäivityksiä keskeyttämättä käynnissä olevaa hälytysten arviointia. Dynaamisten vyöhykkeiden, kohdistussuodatinten ja useiden hälytyyskanavien yhdistelmä tekee sotilaallisesta geofencingistä huomattavasti monimutkaisempaa kuin yksinkertainen "onko tämä piste tässä polygonissa" -toteutus.

Geometria-algoritmit: piste polygonissa, ympyrän sisältyminen ja suunta-etäisyysvyöhykkeet

Säteenheitto-algoritmi on standardi menetelmä mielivaltaisten polygonien sisältymistestauksen. Testipisteelle P ja järjestetyllä verteksilistalla määritetyllä polygonille algoritmi heittää säteen P:stä kiinteässä suunnassa (tyypillisesti itään vakioleveyden linjaa pitkin) ja laskee, kuinka monta kertaa säde leikkaa polygonin reunat. Pariton leikkauksien määrä tarkoittaa, että P on polygonin sisällä; parillinen tarkoittaa ulkopuolella. Maantieteellisille koordinaateille reunojen leikkaukset vaativat geodeettista aritmetiikkaa tavallisen tasogeometrian sijaan: suurpiirikaaren reuna ei vastaa suoraa viivaa tasaisessa projektiossa, ja projisoiduissa koordinaateissa käyttäminen aiheuttaa virheitä, jotka kasvavat polygonin koon ja projektiokeskuksesta etäisyyden myötä. Taktisessa mittakaavassa – polygonit, jotka kattavat kymmeniä tai satoja kilometrejä – WGS84-geodeettisten koordinaattien käyttäminen pallomaapallon muotoisilla reunan leikkausformuleilla pitää virheet alle yhden metrin ilman täyden ellipsoidaalisen laskennan kuormitusta.

Kiertosuuntaluku-algoritmi on vaihtoehto, joka käsittelee itsensä leikkaavat polygonit oikein ja välttää numeerisen reunatapauksen, jossa säde kulkee täsmälleen verteksin kautta. Kiertosuuntalukutestissä algoritmi laskee kokonaiskulman, jonka polygonin reuna kattaa testipisteessä rajan läpikäynnin aikana. Nollasta poikkeava kiertosuuntaluku osoittaa, että piste on sisällä. Kiertosuuntalukutesti maksaa noin 30 % enemmän laskenta-aikaa testiä kohden kuin säteenheitto konvekseille polygoneille, mutta on numeerisesti vakaampi lähellä verteksejä ja käsittelee polygonin degeneraatioita, joita syntyy, kun vyöhykkeen tekijät luovat rajoja käsin kosketusnäyttölaitteilla. Konvekseille vyöhykkeille – jotka kattavat suurimman osan sotilaallisista käyttötapauksista kuten ympyränmuotoiset partiointialueet ja suorakulmaiset käytävät – puolitasojen testi jokaista reunaa vasten on nopeampi kuin kumpikaan yleinen algoritmi ja soveltuu SIMD-vektorizointiin ARM-prosessoreilla.

Ympyrän sisältyminen on degeneroitunut tapaus, jota käytetään läheisyysvyöhykkeissä ja ympyränmuotoisissa suljetuilla alueilla. Testipisteen sisältyminen ympyrään edellyttää vain yhtä geodeettista etäisyyslaskentaa: jos testipisteen ja ympyrän keskipisteen välinen Haversine-etäisyys on pienempi tai yhtä suuri kuin säde, piste on sisällä. Haversine-etäisyyslaskenta ARM Cortex-A -prosessorilla kestää noin 200 nanosekuntia, tehden ympyrätestit noin viisi kertaa nopeammaksi kuin polygonitestit 12-verteksiselle polygonille. Suunta-etäisyysvyöhykkeet – sektorit tai viuhkat, jotka on määritetty keskipisteellä, etäisyydellä ja kulmavälillä – arvioidaan yhdistämällä ympyrän sisältymistesti suunta-tarkistukseen: kohteen suunnan vyöhykkeen keskipisteestä on oltava vyöhykkeen kulmavälillä. Nämä ovat yleisiä aseiden käyttövyöhykkeissä (WEZ) ja antureiden peittavyöhykkeillä.

Offline-ensin geofence-arviointi sotilaslaitteilta

Yhteydet taktisissa ympäristöissä ovat katkonaisia suunnittelussa. Radioyhteysmarginaaleja hallinnoidaan, taajuuksia vaihdetaan ja PACE-suunnitelmat olettavat kausia, joissa viestintä on heikentynyt tai estetty. Geofencing-toteutus, joka on riippuvainen palvelinpuolen arviointimoottorista, ei anna suojaa näiden katkosten aikana. Offline-ensin-arkkitehtuuri edellyttää, että jokainen arviointipäätös, jonka sotilaan laite tarvitsee tehdäkseen – vyöhykesisältyminen, kohteen luokittelu, hälytyksen lähettäminen – on suoritettavissa laitteessa jo olevilla tiedoilla.

Offline-ensin geofencingin toteuttaminen tarkoittaa, että koko vyöhykejoukko on tallennettava paikallisesti eikä haettava tarvittaessa. Vyöhykkeet ladataan laitteen paikalliseen tietokantaan (SQLite on vakioperusta ATAK-perheen sovelluksissa), kun laite vastaanottaa ne TAK Serveriltä, ja ne säilyvät sovellusten uudelleenkäynnistysten välillä. Arviointisilmukka lukee vyöhykkeitä paikallisesta tietovarastosta, ei verkosta, joten laite, joka on ollut offline-tilassa kuusi tuntia, arvioi edelleen kaikkia vyöhykkeitä, jotka se vastaanotti ennen katkoa. Ainut heikentynyt kyky on vyöhykepäivitykset: vyöhykkeet, joita on muokattu tai luotu palvelimella sen jälkeen, kun laite siirtyi offline-tilaan, eivät tule arvioiduksi, ennen kuin laite muodostaa uudelleen yhteyden ja vastaanottaa päivitetyn vyöhykejoukon.

Itse arviointisilmukan on oltava riittävän tehokas toimiakseen jatkuvasti akkukäyttöisellä Android-laitteella aiheuttamatta lämpörajoitusta tai akun tyhjenemistä, jonka operaattori huomaa. Hyvin toteutettu silmukka, joka käsittelee 1 000 kohteen sijaintia 200 vyöhykkeen suhteen rajoituslaatikon esisuodatuksella ja R-puu-avaruusindeksillä, kuluttaa alle 5 % modernin ARM Cortex-A -suorittimen kapasiteetista 1 Hz:n päivitystaajuudella. Avaruusindeksi rakennetaan kerran vyöhykkeiden latauksen yhteydessä ja päivitetään lisäyksellisesti, kun vyöhykkeitä lisätään, muokataan tai poistetaan – täydellistä uudelleenrakennusta ei koskaan tarvita vyöhykedeltoja varten. Kohteen sijainnit käsitellään saapumisjärjestyksessä CoT-syötteestä ilman käyttöliittymäsäikeen estämistä, käyttäen taustaarviointityöntekijää, joka lähettää hälytyustulokset pääsäikeelle vain, kun sisältymissiirtymä havaitaan.

Vyöhykkeen elinkaaren hallinta: luominen, jakelu, vanhentuminen ja kumoaminen

Geofence-vyöhyke, joka elää operatiivisen tarkoituksensa yli, on väärän hälytyksen ja operaattoreiden sekaannuksen lähde. Vyöhykkeen elinkaaren hallinta kattaa koko kaaren luomisesta poistamiseen: jokaisella vyöhykkeellä on määritelty vanhenemisaika, versiotunniste ja alkuperätietue, joka osoittaa, mikä operaattori tai järjestelmä sen loi. Nämä attribuutit ovat vyöhykkeen KML- tai CoT XML -esityksessä ja tallennettu laitteen paikalliseen vyöhyketietokantaan geometrian rinnalle.

Vyöhykkeiden jakelu TAK-ekosysteemissä käyttää datapaketteja – ZIP-arkistoja, jotka sisältävät vyöhyke-KML-tiedostoja, liittyvää kuvamateriaaleia ja luettelon – jotka työnnetään yhdistettyihin laitteisiin TAK Serverin pakettirajapinan kautta. Luettelo listaa jokaisen vyöhykkeen tunnisteen, versionumeron ja vanhenemisaikaleiman. Kun laite vastaanottaa datapaketin, se vertaa jokaisen vyöhykkeen versiota paikallisessa tietovarastossaan olevaan versioon: korkeamman palvelinversion omaavat vyöhykkeet korvaavat paikalliset kopiot, uudet vyöhykkeet lisätään ja vyöhykkeet, jotka ovat paikallisesti mutta eivät palvelimen luettelossa, merkitään tarkistettaviksi (ei poisteta automaattisesti, jotta vältetään kilpailutilanteet osittaisissa toimituksissa). ATAK-laajennuskehitys mukautetuille geofencing-työnkuluille voi liittyä tähän pakettien vastaanottotapahtumaan käynnistämään tehtäväkohtaisen vyöhykkeen asetuslogiikan.

Vyöhykkeen kumoamisen on levittävä nopeasti, kun aktiivinen vyöhyke muuttuu mitättömäksi – päättynyt tulikomento, vaaranntunut käytävä tai virheellisellä geometrialla luotu vyöhyke. TAK Server tukee vyöhykkeen poistoa CoT-poistotapahtuman kautta: vakio-CoT-vanhentumis- tai poistoviesti, joka viittaa vyöhykkeen UID:hen, saa kaikki yhdistetyt laitteet poistamaan vyöhykkeen välittömästi. Kumoamishetkellä offline-tilassa olleet laitteet vastaanottavat poiston yhdistyttyään vertaamalla paikallista vyöhykejoukkoaan palvelimen nykyiseen luetteloon ja poistamalla vyöhykkeet, joita palvelin ei enää pidä aktiivisina. Vanhenemisaikaleimaat tarjoavat varasuunnitelman: vaikka kumoamisviesti katoaisi, vanhentunut vyöhyke deaktivoidaan automaattisesti, kun sen aikaleima ohitetaan, estäen loputtomasti vanhentuneiden vyöhykkeiden kertymisen laitteille pitkän operaation aikana.

Hälytysten reititys: vyöhykkeen käynnistyksestä C2-ilmoitukseen

Rajaylityksen havaitseminen ja oikealle vastaanottajalle ilmoittaminen ovat kaksi erillistä insinööriongelma. Rikkomuksen havaitsevassa laitteessa ilmoituspolku on suoraviivainen: arviointisilmukka lähettää siirtymätapahtuman hälytyslähettäjälle, joka aktivoi vyöhykkeelle konfiguroidun ilmoituskanavan. Kanavia ovat näyttökorostushälytykset (banneri tai karttatunnisteen muutos ATAK:ssa), äänimerkit (konfiguroitava sävel tai lausuttu kutsumerkki) ja hiljainen kirjaus laitteen paikalliseen tapahtumaan. Vyöhykkeille, joissa on C2-välitys konfiguroitu, hälytyslähettäjä muodostaa myös rikkoutumistapahtuma-CoT-viestin ja lisää sen jonoon lähetettäväksi TAK Serverille.

Rikkoutumistapahtuma-CoT-viesti sisältää jäsennettyä dataa yksityiskohtablokkissaan: vyöhykkeen UID:n, rikkoutumistyypin (sisäänkäynti tai poistuminen), rikkovan kohteen UID:n ja kutsumerkin, siirtymän aikaleiman, kohteen sijainnin ylityshetkellä ja raportoivan laitteen nimen. TAK Server vastaanottaa rikkoutumistapahtuman ja välittää sen kaikille tilaajille, joiden tyyppisuodatin vastaa rikkoutumistapahtuman CoT-tyyppiä. C2-työasemat, jotka ajavat kartoitus- tai yhteisen operaatiokuvan ohjelmistoa, vastaanottavat rikkoutumistapahtumia reaaliajassa ja voivat reitittää ne valvontaupseerin koontinäyttöihin, käynnistää automaattisia vasteita tai kirjata ne tapahtumaan.

Keskeinen havainto: Hälytysten ylikuormitus on operatiivisesti tuhoisin vikailutapa sotilaallisissa geofencing-käyttöönotoissa – ei puuttuvat hälytykset. Vyöhykekonfiguraatio, joka laukaisee jokaisella sijainnin päivityksellä rajan sisällä eikä vain sisäänkäynti- ja poistumissiirtymissä, tuottaa satoja redundantteja ilmoituksia tunnissa vyöhykettä kohti. Arviointisilmukan on ylläpidettävä kohdekohtaista ja vyöhykekohtaista tilaa päivitysjaksojen välillä ja laukaistava hälytyksiä vain, kun sisältymistulos muuttuu. Laitteen, joka käynnistyy uudelleen tai menettää tilavälimuistinsa, tulisi estää hälytykset ensimmäisellä arviointijaksolla uudelleenlatauksen jälkeen käsittelemällä ensimmäistä tulosta lähtökohtana eikä siirtymänä, jotta vältetään tulva vilpillisiä rikkoutumistapahtumia käynnistyksen yhteydessä.

TAK- ja CoT-integraatio geofence-rikkoutumistapahtumille

Cursor on Target (CoT) -skeema on tietomuoto, joka yhdistää geofencing-päätökset kaikkiin muihin TAK-ekosysteemin elementteihin. Geofence-rikkoutumistapahtuma on CoT-viesti, jolla on CoT-taksonomiasta peräisin oleva tyyppikoodi, aika/alku/vanheneminen-kolmikko, joka määrittää sen voimassaoloikkunan, ja yksityiskohtablokki, joka sisältää edellä kuvatun jäsennetyn rikkoutumistiedon. Hyvin muodostetut rikkoutumistapahtumia integroituvat saumattomasti CoT-tilauksen ja reititysinfrastruktuuriin, jota TAK Serverin suorituskyvyn viritys optimoi korkean entiteettimäärän ympäristöihin: samat fanout-mekanismit, jotka jakavat sijaintiraportit, jakavat rikkoutumistapahtumia kaikille tilaaville C2-kuluttajille.

Vyöhykkeen geometria itsessään esitetään CoT:ssa muotona yksityiskohtablokin muoto-elementissä käyttäen joko polygonin pistelistaa tai ympyrän keskipiste/säde-paria. Tämä mahdollistaa vyöhykkeiden luomisen ATAK:ssa, julkaisemisen TAK Serverille CoT-viesteinä ja tilaamisen muiden laitteiden toimesta – tehden vyöhykkeiden jakelusta osan tavallista CoT-datavirtaa erillisen mekanismin sijaan. Vyöhyke-CoT-viestejä vastaanottavat laitteet tallentavat ne paikalliseen vyöhyketietokantaan ja alkavat arvioida niitä välittömästi, ilman sovelluksen uudelleenkäynnistystä. Vyöhyke-CoT-viestit sisältävät vanhenemisajan, joka vastaa vyöhykkeen vanhenemisaikaleimaa, joten TAK Serverin tavallinen vanheneminen poistaa vanhentuneet vyöhykkeet palvelimen aktiivisesta joukosta automaattisesti.

ATAK-laajennuksille, jotka toteuttavat mukautettua geofencing-logiikkaa, laajennusrajapinta paljastaa CoT-datamallin suoraan: laajennukset voivat rekisteröidä kuuntelijoita CoT-tapahtumille, jotka vastaavat tiettyjä tyyppikoodeja tai UID:tä, kirjoittaa CoT-tapahtumia paikalliseen tietovarastoon ja tilata karttakerrosjärjestelmään mukautettujen vyöhykkeiden renderöimiseksi. Geofencing-laajennus, joka tarvitsee arvioida epästandard-tyyppisiä vyöhykkeitä – suunta-etäisyysviuhka, aikarajoitettu suljettu alue tai kohdekohtaisilla valtuutussäännöillä varustettu vyöhyke – toteuttaa oman arviointisilmukkansa alustan sisäänrakennetun geofencingin rinnalle käyttäen samaa CoT-sijaintivirtaa syötteenä.

Suorituskyky kuormituksessa: tuhansien raiteiden arviointi satoja vyöhykkeitä vasten

Operatiiviset ympäristöt, joissa on paljon kohteita ja vyöhykkeitä, vievät arviointisilmukan alueelle, jossa algoritmivalinnat merkitsevät. Naiivi O(N x M) -arviointi N vyöhykkeestä M raidetta vasten skaalautuu huonosti: 800 vyöhykkeellä ja 2 000 raiteella, jotka päivittyvät 2 Hz:n taajuudella, naiivi lähestymistapa vaatii 3,2 miljoonaa sisältymistestiä sekunnissa. Keskiluokan Android-laitteella, jossa on ARM Cortex-A75 -prosessori, jokainen polygonin sisältymistesti kestää 0,5–2,0 mikrosekuntia verteksien lukumäärästä riippuen, asettaen naiivimman tapauksen pahimmillaan 6,4 sekuntia päivitysjaksoa kohden – selvästi hallitsematon.

R-puu-avaruusindeksi vyöhykkeiden rajoituslaatikoiden yli vähentää kunkin raiteen ehdokasjoukosta O(N) → O(log N + k), jossa k on vyöhykkeiden, joiden rajoituslaatikot ovat päällekkäin, lukumäärä – tyypillisesti 1–5 hyvin suunnitellussa vyöhykejoukossa, jossa vyöhykkeet eivät ole laajasti päällekkäin. R-puun avulla 800-vyöhykkeen, 2 000-raiteen skenaario pelkistyy noin 2 000 indeksikyselyyn plus pieneen määrään tarkkoja sisältymistestejä jaksoa kohden, valmistuen alle 100 millisekunnissa samalla laitteistolla. R-puuta ylläpidetään lisäyksellisesti: vyöhykkeiden lisäykset ja poistot päivittävät indeksiä O(log N) -ajassa ilman uudelleenrakennusta.

Lisäoptimointi erottaa arviointitaajuuden hälytystaajuudesta. Ei jokaista kohdetta tarvitse arvioida jokaisella TAK Serverin päivityssyklillä. Kohteita, jotka ovat olleet paikallaan yli konfiguroitavan kynnyksen (tyypillisesti 30 sekuntia) deprioritisoidaan: niiden vyöhykesisältymistila tarkistetaan alhaisemmalla taajuudella (kerran 10 sekunnissa sekunnin sijaan), kunnes sijaintipäivitys osoittaa liikettä. Dynaamiset kohteet – ne, joilla on äskettäisiä, merkittäviä sijainnin muutoksia – arvioidaan aina täydellä päivitysnopeudella. Tämä mukautuva aikataulutus vähentää suorittimen kuormaa 40–60 % tyypillisissä operatiivisissa skenaarioissa, joissa merkittävä osa seuratuista kohteista on paikallaan tietyllä hetkellä. Samat kuormituksen hallintaperiaatteet, jotka ohjaavat TAK Serverin kohdetilauksia, koskevat suoraan asiakaspuolen geofencing-arviointisilmukkaa.

Vyöhykepohjainen hälytys ja kulunvalvonta TAK-käyttöönottooasi varten

TAKpilot laajentaa ATAK:ia ja CloudTAK:ia geofencingillä, automaattisella hälytysten reitityksellä ja kulunvalvonnalla, antaen C2-järjestelmille reaaliaikaisen ilmoituksen, kun resurssit ylittävät vyöhykkeiden rajat.

Tutustu TAKpilotiin → Varaa esittely

Tämän analyysin ovat valmistelleet Corvus Intelligencen insinöörit, jotka rakentavat tehtäväkriittisiä ISR- ja kenttäsovelluksia puolustus- ja viranomaisorganisaatioille. Lue lisää tiimistämme →