Virksomheder, byer og regioner deler næsten ingen data med hinanden. Vi bruger de europæiske standarder for udveksling og analyse af data, blandt dem NGSI-LD, og lægger context brokers over de systemer, I allerede driver, så én forespørgsel når dem alle, mens hver ejer beholder sine data, hvor de er, og bestemmer, hvem der må se hvilken del.
Fem systemer, fem ordforråd, én kontekst at spørge.
Én kilde til sandheden
Sensorer, GIS-lag, BIM-modeller, aktivregistre, byens begivenheder og de spor, jeres processer efterlader, bliver til NGSI-LD-entiteter af samme form. To afdelinger, der stiller det samme spørgsmål, læser det samme svar, uanset hvilken leverandør der byggede systemet nedenunder.
Data bliver, hvor de bor
NGSI-LD beskriver entiteterne, DCAT-AP datasættene og ODRL brugsvilkårene, så intet behøver at flytte ind i en central database. Brokere registrerer sig hos hinanden, forespørgslen rejser hen til den, der har entiteterne, og svarene kommer samlet tilbage. I vores referenceinstallation svarede den regionale broker for seksten begivenheder og gemte kun sine egne seks.
Politikken bestemmer, hvad en partner ser
En partnerorganisation forespørger jeres tvilling og får den delmængde, jeres politik tillader, også når forespørgslen beder om mere. Resten forlader aldrig jeres broker.
Standarder, I får lov at beholde
NGSI-LD fra ETSI, Dataspace Protocol, OGC SensorThings og de offentliggjorte Smart Data Models. Skift leverandør, eller skift os ud, og modellerne beskriver stadig jeres by.
Protokoller og standarder, vi forbinder
NGSI-LD
JSON-LD
OGC SensorThings
MQTT
LoRaWAN
OPC UA
WFS · PostGIS
IFC · BIM
Smart Data Models
Problemet, vi arbejder med
Digitale tvillinger kommer ét projekt ad gangen. Trafikforvaltningen køber én, energiselskabet en anden, vandselskabet holder en tredje, og byggeafdelingen vedligeholder en BIM-model, som ingen andre kan åbne. Hver af dem beskriver den samme gade og den samme bygning med sit eget ordforråd, så et spørgsmål på tværs af to afdelinger bliver til et møde i stedet for en forespørgsel.
Sensormålinger er kun en del af det. Vejarbejder, kulturelle begivenheder, tilladelser under behandling og de meddelelser, en by udsender, beskriver den samme gade, og hver af dem ligger i endnu et system.
En standard-API lukker kun det halve af det hul. NGSI-LD definerer, hvordan ét system læser fra et andet. Den siger intet om, hvordan ejeren begrænser, hvad naboen må se, så en by, der vil dele sin tvilling med regionen, kan åbne den helt eller slet ikke. Vi byggede det lag, der gør begge dele: samler tvillingerne i én kontekst og lader hver ejer bestemme, hvem der læser hvilken del.
Seks dele, én platform
01 · Kilder
Adaptere laver det, jeres systemer allerede sender, MQTT, LoRaWAN, OPC UA, WFS, IFC, om til NGSI-LD-entiteter. Intet skrives om i kildesystemet.
02 · Kontekst
En context broker holder én beskrivelse af hver gade, måler og rum, med dens egenskaber, dens relationer og dens @context.
03 · Føderation
Brokere registrerer sig hos hinanden. Et spørgsmål sendt til én broker besvares af den, der har entiteterne, og der laves ingen kopi undervejs.
04 · Politik
Adgangsregler siger, hvem der må gøre hvad med hvilke entiteter under hvilken betingelse. Gatewayen skriver hver forespørgsel om, så den kun kan returnere det, kalderen har ret til.
05 · Dataspace
Mellem organisationer forhandler Dataspace Protocol-konnektorer vilkårene én gang. Derefter koster en fødereret forespørgsel få millisekunder mere end en almindelig.
06 · Forbrugere
Grafana og andre uændrede NGSI-LD-klienter læser på tværs af føderationen, som var den én broker. Jeres hold beholder de værktøjer, de åbner om morgenen.
Målt på tværs af tre organisationer
Vi installerede platformen for en by, dens selvstyrende region og et universitet, hver på sin egen Kubernetes-klynge med egne credentials og uden fælles administrator, og målte den over et wide area-netværk. Tallene nedenfor stammer fra den installation og er offentliggjort, forespørgsel for forespørgsel, sammen med den forskningsartikel, vi skrev med Matej Bel-universitetet.
At sende en fødereret forespørgsel gennem en dataspace-konnektor koster 2 ms mere end almindelig føderation mellem brokere for én entitet, 4 ms for ti. At föderere overhovedet koster omkring 31 ms oven på en direkte forespørgsel, og at håndhæve politik på resultatet yderligere 18 til 19 ms.
Fjorten ud af fjorten adgangskontroltilfælde holdt, blandt dem et forfalsket token, et token omskrevet til at hævde administratorrollen og en policy-motor taget offline. Gatewayen afviste i stedet for at lade forespørgslen slippe igennem.
En partner med kun læseadgang forespurgte 103 køretøjer hos en anden organisation og modtog de 100, den måtte se, også da dens egen forespørgsel nævnte et scope, den ikke måtte læse.
Grafana med sin almindelige NGSI-LD-datakilde læste begivenheder, luftkvalitet og køretøjspositioner på tværs af alle tre organisationer uden en adapter imellem.
Sådan starter et projekt
Kortlægning. Vi kortlægger hvert system, der rummer tvillingedata: protokol, model, ejer, opdateringsfrekvens og hvem der må læse det.
Pilot på ét spørgsmål. Vi tager et spørgsmål, jeres hold allerede stiller på tværs af to eller tre systemer, og gør det besvarbart i én NGSI-LD-forespørgsel.
Udrulning. Adaptere, modeller og adgangsregler flytter over på jeres infrastruktur eller vores. Jeres hold arbejder videre i de værktøjer, de kender.
Åbning mod partnere. Når en naboorganisation skal læse en del af jeres tvilling, forhandler dens konnektor vilkårene, og jeres politik afgør resten.
Saml jeres data i én kontekst
Send os listen over de systemer, I driver. Vi vender tilbage med, hvad der kan forbindes i dag, hvad der først kræver en adapter, og hvad hvert skridt koster.