In order to understand how Nomad behaves in a simple environment, we have provided some examples. All the scenarios use the illustrated network setup. The likely scenarios are:

These scenarios are presented in a tabular format where time is represented going down the column and each row in the table marks a significant event. The columns in the table show the events that have taken place for each machine.

Normal use

This illustration shows Nomad working as expected with no errors encountered during the transmission of a package. It shows a new ADV00001 advertisement, being sent containing the PKG00001 package.

 

StepMachine AMachine BMachine C
1Start state ONStart state ONStart state OFF
2Receives new ADV00001 advert  
3Starts Nomad  
4Initiates election for PKG00001  
5No replies so starts downloading from DP  
6 Receives new ADV00001 advert 
7 Starts Nomad 
8 Initiates election for PKG00001 
9Reply to PKG00001 20% complete  
10 A wins election 
11 Updates local cache from A

Copies blocks from A until caught up then back off (P2PbackoffSecs) before catching up again.

C is switched on
12Each 5 minute period, A initiates an election and is re-elected as master  
13  Receives new ADV00001 advert
14  Starts Nomad
15  Initiates election for PKG00001
16  Starts update local cache from A
17A completes download and broadcasts Done  
18Waits for peers to finish cachingSignals to A that cache is being copiedSignal to A that cache is being copied
19 Loads package 
20Broadcast DoneReturns status for ADV00001 
21Wait for peers to finish caching  
22  Signals to A that cache is being copied
23  Loads package
24  Returns status for ADV00001 advert
25Loads package  
26Returns status for ADV00001 advert  

Master switched-off during upload

This illustration shows how three machines running Nomad interact to elect a new master when the existing one becomes unavailable. It starts when a new advertisement, ADV00001, is sent containing package, PKG00001.

StepMachine AMachine BMachine C
1Start state ONStart state ONStart state OFF
2Receives new ADV00001 advert  
3Starts Nomad  
4Initiates election for PKG00001  
5No replies so starts downloading from DP  
6 Receives new Advert ADV00001 
7 Starts Nomad 
8 Initiates election for PKG00001 
9Replies to PKG00001 20% complete  
10 A wins election 
11 Updates local cache from A

Copies blocks from A until caught up then back off (P2PbackoffSecs) before catching up again.

C is switched on
12Each 5 minute period, A initiates an election and is re-elected as master  
13  Receives new ADV00001 advert
14  Starts Nomad
15  Initiates election for PKG00001
16  Starts update local cache from A
17A Switched Off  
18 B is partway through copying a block of data and returns an errorC is in a wait state and notices nothing yet
19 B initiates an election (loss of connection) 
20 B wins election and now takes over copying from the DPC now caches from B
21A Switched On  
22Configuration Manager restarts package and Nomad  
23A initiates an election (start up)  
24 B wins Election (% complete) 
25A now caching from B  
26 B completes download and broadcasts Done 
27Signals to B that cache is being copiedWait for peers to finish cachingSignals to B that cache is being copied
28Loads package Loads package
29Returns status for ADV00001 advert Returns status for ADV00001 advert
30 Loads package 
31 Returns status to for ADV00001 advert 

Common uplink broken

This illustration shows how Nomad deals with the situation where the WAN to the DP becomes unavailable and is later restored. It starts when a new ADV00001 advertisement has been sent containing the PKG00001 package.

StepMachine AMachine BMachine C
1Start state ONStart state ONStart state ON
2Receives new ADV00001 advertReceives new ADV00001 advertReceives new ADV00001 advert
3Starts NomadStarts NomadStarts Nomad
4Initiates election for PKG00001Initiates election for PKG00001Initiates election for PKG00001
5A wins election and starts downloading from DP  
6 Updates local cache from AUpdates local cache from A
7Each 5 minute period, A initiates an election and is re-elected as master  
WAN link broken
8Error detected – causing election to take placeCatch up with ACatch up with A
  After 3 periods of no progress, reverts to looking at DP link.After 3 periods of no progress, reverts to looking at DP link.
9A switched off  
WAN link restored
10 B notices that WAN is restored and forces an election 
11 B is elected master 
12  Starts caching from B

Distribution Point modified after initial advert download

This illustration shows how the Nomad executable and service deals with the situation where the DP is modified after a master machine has added the package to its cache. It starts with a new advertisement, ADV00001, is sent containing package, PKG00001 and the administrator then modifies the DP share.

StepMachine AMachine BMachine C
1A has already cached package  
Admin Modifies the DP Shares
2 Receives new ADV00001 advert 
3 Starts Nomad 
4 Initiates election for PKG00001 
5Replies to PKG00001 100% complete  
6 A wins election 
7 Whole package is loaded from A using original file list 
8 B notices that file list from A is older than DP last write time. B creates file list direct from DP and elects itself master 
9 B is now master and wins elections due to later file list 
10 Any file which does not exist or has been modified is now deleted and reloaded from the DP 
11  C caches from B as it has a more up-to-date file list
12A is still running the old software and will continue to do so until it receives a new advert causing it to update