"Publicera-prenumerera" är en bra modell för realtidskommunikation i stora distribuerade system. Det har både USA:s militär och öppenkodssamfundet upptäckt.
Informera snarare än reglera RTPS är inte ett lika effektivt reglernätsprotokoll som TTP och Flexray. Men RTPS är extremt flexibel och skalbar till hundratals noder. Och har bättre prestanda än man kanske skulle gissa. Realtidsnätet RTPS kan samsas med TCP/IP-trafik i ett vanligt Ethernet. Det är i själva verket det som är en stor del av poängen, att RTPS fungerar över standardprotokoll och omodifierad hårdvara. Det låter kanske som en otrygg plattform att använda Ethernet för realtidskommunikation. I Ethernet händer det ibland att två noder sänder samtidigt och deras paket kolliderar och måste sändas om. Men svarstiderna är bättre än du kanske tror. Antag att du använder ett 100 Mbit/s Ethernet för att leverera 1000 slumpfördelade meddelanden per sekund, om 1 kbyte vardera (totalt 8 Mbit/s). Då är sannolikheten bara 0,008 procent att något av dessa paket missar en leveranstid på 2 ms. Under fem års drifttid. Du kan belasta ett Ethernet-nät betydligt mer än så och ändå få rimliga responstider för många tillämpningar. Och kanske är förlorade paket inget problem? Ett RTPS-system kan bestå av hundratals noder som kopplas in och ut dynamiskt utan omkonfigurering. Förlorade meddelanden är en del av vardagen i den typen av system. RTPS ger inte hård realtid. Och RTPS som körs i ett Ethernet är en dyr lösning jämfört med till exempel de TTP-nät som används i fordon för att reglera bromssystem. Den som vill ha ett datanät för ett litet reglersystem väljer snarare ett nät som Flexray eller TTP. Det är inte lika flexibelt och har mindre bandbredd, men det är effektivt och deterministiskt. RTPS används för realtidskommunikation, men inte i reglersystem, utan snarare som "kommandosystem" eller "informationssystem". Sändaren eller mottagaren är ofta en operatör. Uppgiften är att hämta information eller dela ut order, snarare än att reglera en process. Det finns till och med en "befälshierarki" inbyggd i RTPS. Samma meddelandetyp kan skickas med olika rang. Mottagaren väljer det meddelande med högst rang som anländer inom en viss tidsrymd. |
Så kommer det att fungera på den amerikanska flottans krigsfartyg LPD-17. Protokollet som används i informationsnätet heter RTPS (real time publish subscribe).
Det intressanta med RTPS är att det använder modellen publicera-prenumerera ("publish-subscribe") för att skicka meddelanden. Och inte punkt-till-punkt, som är den vanligaste modellen, den som till exempel används i TCP/IP.
Punkt-till-punkt innebär att A adresserar sitt meddelande till B. Publicera-prenumerera innebär att A istället adresserar sitt meddelande till en viss kanal, K, som B läser från.
A vet inte vart meddelandet ska och B vet inte vem som skickat det. Kommunikationen är alltså orienterad kring meddelandets innehåll och inte kring vilka som talar med varandra.
Det här ger stor flexibilitet. En ny nod kan koppla in sig för läsning eller publicering utan att det behövs någon omkonfigurering. Det finns ingen central server som konfigurerar eller delar ut tillstånd.
Hur många noder som helst kan läsa på samma kanal. Flera noder kan publicera samma information för att ge redundans.
Informationsnätet på fartyget LPD-17 heter Swan (shipboard wide area network). Swan används inte bara för att sprida realtidsinformation från sensorer utan också för att skicka styrkommandon till roder, motorer och stridssystem. Information från hundratals noder flyter omkring i olika kanaler. De noder som har information av en viss typ publicerar den. De som berörs snappar upp den.
Även på fabriksgolvet
Swan är implementerat i programvara från amerikanska Real Time Innovations (RTI), som nyligen fått en svensk representant i form av Data Respons.
Data Respons tänker leta kunder till RTI inom större försvars- och telekomprojekt.
- Och andra större distribuerade system som har krav på realtidskommunikation. Nättekniken kan även användas på fabriksgolvet, säger Michael Ullskog.
Det svenska intresset stammar möjligen från en snegling på USA. Ytterligare minst tre amerikanska militärprojekt använder RTPS levererad av RTI. Stridsplanet F-35 ska använda det i ett radiostörningssystem. RTPS ska också användas i ett stridssystem som heter C4ISR. Och för distribuerade simulerade tester av fordon i terräng.
RTI har levererat sin RTPS-produkt under flera år. Det finns en konkurrent i Holland, Thales Group. Men den främsta konkurrerenten är hemmabyggda lösningar, som ofta utgår från kommunikationstekniken Corba, en standard från OMG (Object Management Group).
Problemet med Corba är att den är optimerad för punkt-till-punkt-kommunikation.
Men i juli blev också RTPS en OMG-standard. Det betyder att vi kommer att få se fler programvaruprodukter som stöder RTPS. Michael Ullskog tror att det kommer att ge RTPS en skjuts framåt.
- När RTPS kom från en enda tillverkare kanske man var skeptisk. Men nu tar OMG-gruppen upp det. Jämför med Corba! Det finns knapp något större programvaruprojekt inom försvarsindustrin som inte använder Corba, säger Michael Ullskog.
Det finns också ett projekt med öppen programvara som implementerar RTPS. Det heter Orte och har snart nått till version 0.2.
- Du vet att ett protokoll är i hamn när det finns ett öppenkällkodsprojekt som frodas, ler Brett Murphy, marknadschef på RTI.
Petr Smolik på Prags tekniska universitetet ansvarar för Orte.
- Vi vill att Ethernet ska kunna användas mer inom industrin i framtiden. Men TCP/IP duger inte. Det finns ett stort hål inom ickekommersiell programvara när det gäller realtidskommunikation.
- Det stora fördelen med RTPS är att det är en öppen specifikation, säger Petr Smolik.
Jan Tångring