Tillbaka till Omgivningssimulator
Sida 42
2 Distribuerad uppdatering
2.0.1 Varianter
- Skicka endast ändringar och tidpunkt för ändringar i ett meddelande till EXS, som sedan tar hand
om uppdatering av objekten fram till det är dags för nästa ändring
x = En godtycklig tidssynkronisering.
Händelser i tidsintervallet ] x-1, x] rapporteras under tidsintervallet ] x-2, x-1].
Uppdatering av objekt sker både i EXS och ENS, fast med olika uppdateringshastigheter.
Hantering av händelselistor och tidssynkronisering. hanteras i ENS.
- Alla händelser överförs innan spelstart tillsammans med alla objekt.
Om alla händelser överförs innan spelstart har vi överfört allt arbete på EXS. ENS sköter då dynamiska förändringar i omvärlden efter spelstart, samt tids- och egenskapssynkronisering. ENS's tid och omvärldsbild är prioriterad gentemot EXSerna.
Hur sköter vi i detta fall nyintroducerade objekt med tillhörande händelselista? Ska alltihop överföras på en gång?
- När en händelse sker på ett objekt sänds dess nya status till EXS.
Uppdatering av objekt sker både i EXS och ENS, fast med olika uppdateringshastigheter. Hantering av händelselistor och tidssynkronisering hanteras i ENS.
I EXS uppdateras objekten efter någon extrapolationsalgoritm mellan statussändningar. Detta innebär att om ESS innehåller en EXS som kräver hög upplösning och samtidigt inte accepterar alltför stora "hopp" vid statussändningar (T.ex en målföljningsradar i ett sikte) krävs en hög frekvens av statussändningar.
2.0.2 Fördelar med distribuerad uppdatering
- Minskad nätbelastning
- Noggrannare tidsupplösning i EXS
- Minskad belastning på EXS för näthantering
2.0.3 Nackdelar
- Förlust av paket kan resultera i olika lägesbilder under resten av ett scenario. Lösning: sänd extra
- Olika tidsupplösning kan resultera i olika avrundningsfel och lägesbilder som går isär med tiden.
Lösning: Statussynkronisering. från ENS med olika tidsintervall.
- Om många objekt ska ändras samtidigt kan ESS bli överbelastat och vissa ändringar hamnar på efterkälken. Hur långt i förväg ska ändringar överföras?
- Hur hantera multipla förändringar på ett och samma objekt samtidigt? Ytterligare lagring av och hantering av händelser i EXS eller använd endast ett objekt innehållande alla förändringar vid en viss tidpunkt.
- Hur hantera borttagning av objekt i ett distribuerat system? Ett borttagningsmeddelande som kräver ack måste införas.
2.0.4 Diskussion
För en RADAR gäller
vinst_per_paket = (Tidsåtgång_beräkning_ny_hast.&pos * #objekt_i_paket) / (Tidsåtgång_näthantering / paket)
vinst = (Max_#_objekt / #objekt_i_paket) * vinst_per_paket
events = (Totalt_#_events / intervall_mellan_uppdateringar) * (#extra_sändningar + 1) * (Tidsåtgång_-näthantering / paket)
sync = (Max_#_objekt / #objekt_ i_broadcastpaket) * (Tidsåtgång_näthantering / broadcastpaket) * (#positionssync. / intervall_mellan_uppdateringar)
Total_vinst_på_en_världsuppdatering = vinst - events - sync
Är detta > 0 så tjänar man på det
Sida 44