Tillbaka till Omgivningssimulator
Sida 42

2 Distribuerad uppdatering

2.0.1 Varianter

  1. 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.

  2. 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?
  3. 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

2.0.3 Nackdelar

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