## 4 Traffic Update from Rollback  
In the proposed ad hoc distributed simulation rollback process enables the simulation to adapt to new traffic states and update its own estimates if necessary. The traffic update has two process-es; (1) updating downstream states based on upstream traffic information and (2) updating up-stream traffic conditions according to downstream states.  
Consider two _LPs_ which are simulating the network regions as shown in Figure 2. LP 1 models the left side of the network (Gray area) and LP 2 simulates the right part of the network (Black dotted box). Each LP starts its simulation using historical average flow rate as an initial input. Suppose that while the two _LPs_ are projecting future traffic states of their own network, the server receives new information from the other _LPs_. Further suppose that the difference between the flow from the server and input rate of LP 1 on Link A exceeds a given threshold at some wall-clock time (either present or future estimate). The server will detect a rollback and deliver a rollback message which contains rollback logical process ID information, rollback link number, rollback simulation time, new average link speed, new average flow rate. Once LP 1 receives this rollback message, LP 1 will update its simulation with this new flow rate by undertaking a rollback and publishes new traffic estimates on the links in-side its network to the server. These updated estimates from LP 1 will be transmitted to the server and the Space-Time Memory in the server will be updated accordingly.  
To provide additional detail the following is a specific potential example of the preceding general discussion. Assume at wall-clock time 7:00 AM, LP 1 starts its simulation based on 300 veh/hr/ln input flow rate on Link A. At wall-clock time 7:10 AM, its prediction horizon extends to 8:00 AM simulation time. However, new information arrives to the Space-Time Memory in the server at wall-clock 7:10 AM forecasting that a 600 veh/hr/ln input rate on Link A is expected at 7:25 AM simulation time (15 min future from the current wall-clock time 7:10 AM). The server compares this new 600 veh/hr/ln input rate with the initial 300 veh/hr/ln input rate which LP 1 has reported to the server and was saved in the Space-Time Memory. Since the 300 veh/hr/ln difference exceeds the assumed current threshold and this new 600 veh/hr/ln input rate is regarded as a valid data, the server issues a rollback to LP 1 and sends the new traffic information. Immediately after receiving the rollback message, LP 1 restores its 7:25 AM simulation state and continues to renew its estimates of 7:25 AM simulation time and thereafter with the updated input data at the current wall-clock time 7:10 AM. Two minutes (wall-clock time) later, at wall-clock time 7:12 AM, LP 1's prediction horizon reaches 7:35 AM simulation time and its updated estimates are sent to the server. After updating its Space-Time Memory with the new estimates, the server checks if there are any threshold violations. At the current wall-clock time 7:12 AM, the server realizes that increased traffic volume is expected to reach Link B at 7:35 AM simulation time and the flow rate difference between the estimates of LP 1 and input rate of LP 2 surpasses the threshold, causing a rollback on LP 2. With the same method, the server sends a rollback message to LP 2 regarding new traffic information at 7:35 AM simulation time (23 min future from the current wall-clock time 7:12 AM). After updating its input data of 7:35 AM simulation time at the 7:12 AM wall-clock time, LP 2 will continue its simulation and send new estimates of 7:35 AM simulation time and thereafter. The server will update its Space-Time Memory and check the rollback violations every time it receives estimates from any LP.