The first task of a Software Update Clientis to find the components that support software update. After that it can execute the update of the components one by one or in parallel. The following activity diagrams illustrate how a Software Update Clientcan perform an update using the different update types. The first task is to detect what options are supported by browsing the references of the SoftwareUpdate AddIn. Then the Client can check the version information to determine whether an update is necessary. This is illustrated in Figure 34.

image037.png

Figure 34– Determine the type of update that the Server implements.

The activities of the different loading types are slightly different. With Cached-Loading the Clientcan check CurrentVersionand PendingVersion Objectsto determine if the Software Packageis already transferred. With the FileSystem based Loadingthe Clientcan browse the FileSystemto find out which files are already transferred. For Cached-Loadingand File System based Loadingthe transfer can be done in advance. There are different ways to get the UpdateBehavior,because for Cached-Loadingand File System based Loadingthis depends on the actual software that should be installed (with Direct-Loadingthe server has no information about the new software). For Direct-Loadingand Cached-Loadingthe validation is done during the transfer. For File System based Loading this needs to be done before the installation as an extra step. These steps are illustrated in Figure 35.

image038.png

Figure 35– Different flows of Direct-Loading, Cached-Loading andFileSystem based Loading

The prepare activity can be handled equal for all types of loading. This optionally includes a backup if the device cannot keep the parameters during update. The activity is shown in Figure 36.

image039.png

Figure 36– Prepare and Resume activities

The actual installation of Direct-Loadingis done during the transfer. At the end there can be a manual power cycle (option). In some cases (if the Serveris on the device that is updated) the Serveris rebooted and the Clientneeds to reconnect to complete the installation. This is illustrated in Figure 37.

image040.png

Figure 37– Installation activity for Direct-Loading

For Cached-Loadingand File System based Loadingthe installation is done using the InstallationStateMachineType. For Cached-Loadingthe InstallSoftwarePackage Methodis used and for File System based Loadingthe InstallFiles Methodis used. During this installation there may also be a manual power cycle request requiring operator input. The Clientmight also need to reconnect one or more times due to automatic reboots. If the Confirmation Objectis available, the Clientmay use it during the installation. This is illustrated in Figure 38.

image041.png

Figure 38– Installation activity for Cached-Loadingand File System based Loading

The resume activity can be handled equal for all types of loading. This optionally includes restore if the device cannot keep the parameters during update. The activity is shown in Figure 39.

image042.png

Figure 39– Resume activity