Project 5 Examples
Example 1
Suppose you wanted to simulate the following network of 3 nodes. The
on/off patterns of the nodes are as follows:
  - Node 1 
    
      - time 0 - node turns on
- time 10 - node turns off
 
- Node 2
    
      - time 0 - node turns on
- time 5 - node turns off
- time 10 - node turns on
 
- Node 3
    
  
The initial message queues are as follows:
  - Node 1
    
      - message addressed to node 2 - send time 3
- message addressed to node 3 - send time 3
 
- Node 2
    
      - message addressed to node 3 - send time 3
 
- Node 3
    
      - message addressed to node 2 - send time 3
 
The simulation would proceed as follows:
Time 0: 
  - Node 1 turns on
- Node 2 turns on
  - Node 1 starts transfer of message to node 2
- Node 2 cannot start transfer because the only message in its queue is
    destined for node 3, which is offline
Time 1 - 2: transfer in progress, no new event
Time 3:
  - Node 1 completes transfer of message to node 2
- Node 1 cannot start a new transfer because the only message in its
    queue is destined for node 3, which is offline
Time 4: no new event
Time 5: 
  - Node 3 turns on
- Node 2 turns off
  - Node 1 starts transfer of message to node 3
- Node 3 cannot start transfer because the only message in its queue is
    destined for node 2, which is offline
Time 6-7: transfer in progress, no new event
Time 8:
  - Node 1 completes transfer of message to node 3
- Node 1 has completed all message transfers
Time 9: no new event
Time 10:
  - Node 1 turns off
- Node 2 turns on
  - Node 2 starts transfer of message to node 3
- Node 3 starts transfer of message to node 2
Time 11 - 12: transfers in progress, no new event
Time 13: 
  - Node 2 completes transfer of message to node 3
- Node 3 completes transfer of message to node 2
Example 2
Suppose you wanted to simulate the following network of 3 nodes. The
on/off patterns of the nodes are as follows:
  - Node 1 
    
      - time 0 - node turns on
- time 10 - node turns off
- time 15 - node turns on
 
- Node 2
    
      - time 0 - node turns on
- time 5 - node turns off
- time 10 - node turns on
 
- Node 3
    
      - time 5 - node turns on
- time 15 - node turns off
 
The initial message queues are as follows:
  - Node 1
    
      - message addressed to node 2 - send time 6
- message addressed to node 3 - send time 3
 
- Node 2
    
      - message addressed to node 3 - send time 3
 
- Node 3
    
      - message addressed to node 2 - send time 3
 
The simulation would proceed as follows:
Time 0: 
  - Node 1 turns on
- Node 2 turns on
  - Node 1 starts transfer of message to node 2
- Node 2 cannot start transfer because the only message in its queue is
    destined for node 3, which is offline
Time 1 - 4: transfer in progress, no new event
Time 5: 
  - Node 3 turns on
- Node 2 turns off
  - Node 1 transfer to node 2 interrupted
- Node 1 starts transfer of message to node 3
- Node 3 cannot start transfer because the only message in its queue is
    destined for node 2, which is offline
Time 6-7: transfer in progress, no new event
Time 8:
  - Node 1 completes transfer of message to node 3
- Node 1 cannot start transfer because the only message in its queue is
    destined for node 2, which is offline
Time 9: no new event
Time 10:
  - Node 1 turns off
- Node 2 turns on
  - Node 2 starts transfer of message to node 3
- Node 3 starts transfer of message to node 2
Time 11 - 12: transfers in progress, no new event
Time 13: 
  - Node 2 completes transfer of message to node 3
- Node 3 completes transfer of message to node 2
Time 14: no new event
Time 15: 
  - Node 1 turns on
- Node 3 turns off
  - Node 1 starts transfer of message to node 2
Time 16 - 20: transfer in progress, no new event
Time 21:
  - Node 1 completes transfer of message to node 2
  Sami Rollins