Skip to content

Understanding the Ion Project File Caching Process

Browsium Controller reads the Ion project file (the configuration containing Profiles, Rules, and Settings) when the Controller is started, then continues operating using that configuration until the Controller restarts and looks for a new project file, or until the configuration changes if non-default Project Update Activation settings are used. See section 5.6.2 for more details on Project Update Activation.

Browsium Controller attempts to load the configuration from the Ion project file defined in the LoadFromFileName registry value whenever the Controller is started. The location of the file can be local on the client system, a network share, or a web server. The Controller must be able to reach the location where the file is stored, and the user must have at least read permissions on the project file. When the configuration is loaded, a copy of the project file is cached locally in the user’s AppData (HKCU deployment) or ProgramData (HKLM deployment) directory.

If multiple users share the same PC with unique user accounts, or when using a multi-user terminal server, each user will cache a copy of the project file in his/her AppData directory. Those files will be identical if the LoadFromFileName registry value is in HKEY_LOCAL_MACHINE (one entry for all users), or may be different if LoadFromFileName is in HKEY_CURRENT_USER (unique entry per user). However, as detailed in section 5.3, Ion Limited Profiles are not supported in HKEY_CURRENT_USER so that registry location is being deprecated in a future release.

If the original Ion project file is not available (the network location is temporarily unreachable or the file has been moved, renamed, or deleted), Browsium Controller will load the previously cached copy of the project file and operate using that configuration until the Controller is restarted and a new project file is available.

This capability makes Ion extremely robust and able to remain fully functional regardless of what happens to the project file after it has been loaded and the Browsium Client processes are running.

Some customers deploy Ion in a staged rollout to their enterprise user base, which requires updating project files as new web application or Java version management settings are required. In order to ensure client systems obtain the updated project file, Ion includes a configuration polling mechanism to check for modified versions of the project file. When Browsium Controller identifies a different file in the target location defined in the LoadFromFileName registry value, by comparing the MD5 hash of the cached file against the target file, the target file is retrieved and cached locally. If the hash matches the current cached file, the target project file is not retrieved.

To ensure a robust user experience, and avoid corrupting data entry or other business processes, by default, newly cached project files will not be loaded until the Controller is restarted, most commonly at the next system restart or user logoff/logon. This functionality is governed by the Project Update Activation setting in Project Settings.

Graphical user interface, application Description automatically generated

This setting can be changed to activate the new project immediately or at a scheduled time.

When “At a particular time” is selected, a Project Update Time field is added. This field defaults to 2am but can be changed to any time value. It uses the client’s system clock so that 2am is 2am for every user, regardless of time zone.

Graphical user interface, application Description automatically generated

All Ion-managed instances of Internet Explorer will be closed automatically when the new configuration is loaded. In addition, native instances of Internet Explorer will also be closed if the Browsium Controller detects a change in the global Java DRS settings controlled by the Ion configuration. Careful planning is recommended when choosing non-default options so users working in Internet Explorer are not interrupted by an Ion configuration deployment.

The client polling mechanism checks the target project file location at a regular time sequence interval, using a randomly generated seed time point. The randomly generated seed value helps ensure large scale deployments do not simultaneously try to retrieve the project file, avoiding a denial of service or network traffic storm issues. Therefore, it may take up to an hour for the in-memory Ion configuration to be updated with Project Update Activation set to ‘Immediately’.

Browsium Controller simply compares the computed MD5 hash of two files and uses the target file if the two signatures are different. No effort is made to determine which file is newer (either by time/date stamp or content analysis) so administrators must ensure updates to the target file location are done carefully to avoid clients regressing to an older Ion project file configuration by mistake.