Skip to main content

1E 23.7 (SaaS)

Basic Nomad behavior in a simple environment

In order to understand how Nomad behaves in a simple environment, we have provided some examples. All the scenarios use the illustrated network setup, 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 device.

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:

Step

Device A

Device B

Device C

1

Start state ON

Start state ON

Start state OFF

2

Receives new ADV00001 advert

3

Starts Nomad

4

Initiates election for PKG00001

5

No replies so starts downloading from DP

6

Receives new ADV00001 advert

7

Starts Nomad

8

Initiates election for PKG00001

9

Reply 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

12

Each 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

17

A completes download and broadcasts Done

18

Waits for peers to finish caching

Signals to A that cache is being copied

Signal to A that cache is being copied

19

Loads package

20

Broadcast Done

Returns status for ADV00001

21

Wait for peers to finish caching

22

Signals to A that cache is being copied

23

Loads package

24

Returns status for ADV00001 advert

25

Loads package

26

Returns status for ADV00001 advert

Master switched-off during upload

This illustration shows how three devices 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.

Step

Device A

Device B

Device C

1

Start state ON

Start state ON

Start state OFF

2

Receives new ADV00001 advert

3

Starts Nomad

4

Initiates election for PKG00001

5

No replies so starts downloading from DP

6

Receives new Advert ADV00001

7

Starts Nomad

8

Initiates election for PKG00001

9

Replies 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

12

Each 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

17

A Switched Off

18

B is partway through copying a block of data and returns an error

C 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 DP

C now caches from B

21

A Switched On

22

Configuration Manager restarts package and Nomad

23

A initiates an election (start up)

24

B wins Election (% complete)

25

A now caching from B

26

B completes download and broadcasts Done

27

Signals to B that cache is being copied

Wait for peers to finish caching

Signals to B that cache is being copied

28

Loads package

Loads package

29

Returns status for ADV00001 advert

Returns status for ADV00001 advert

30

Loads package

31

Returns status to for ADV00001 advert

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

Step

Device A

Device B

Device C

1

A has already cached package

Admin Modifies the DP Shares

2

Receives new ADV00001 advert

3

Starts Nomad

4

Initiates election for PKG00001

5

Replies 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

12

A is still running the old software and will continue to do so until it receives a new advert causing it to update