Tuesday, June 17, 2008

Automatic software updates for OpenLM Agent


With the announcement of version 1.5.1 of OpenLM we now support automatic software updates for OpenLM Agent. This article will explain how the automatic update system works and provide users with tips and advice for successful implementation.

Updates to OpenLM Server


Global Maps publishes new versions of OpenLM from time to time and also issues service packs on specific issues that arise between versions. Maintaining your software at the latest updated level, or with the most recent service pack, is the key to ensuring that you always receive the highest possible efficiencies from your floating license server (FLEXlm).

From version 1.5.1 forward, OpenLM server will periodically and automatically check for software updates on OpenLM Server. Once it finds an update relevant to the installed software, the local OpenLM Server will send an update notification to the system administrator, as per the instruction defined by the system administrator on the OpenLM Server Notification tab. If the system administrator did not define such instruction, OpenLM Server will log a message to the System Event Viewer.

The system manager will be able to update the server software immediately by downloading the software from the OpenLM site download area.
In most cases the published package will do all the updates automatically once it has been executed.


Updates to OpenLM Agent software

Background


OpenLM includes optional Agent software, i.e. software that is applied by the user to query license availability and communicate with other users on needed licenses. On supported software systems such as ESRI ArcGIS, the Agent is responsible for closing the licensed software in order to release idle licenses back to the license pool.

There are a number of ways to distribute OpenLM Agent software to end user's workstations:
1. Manual distribution - ideal for smaller companies. Distribution can be done either automatically via the system, or by asking authorized users to install the software.
2. Automatic - OpenLM Agent supports installation and enable configuration of parameters so that software can be easily distributed by using automatic software distribution system such as Microsoft SMS, Altiris-Symantec and others.

3. OpenLM Automatic Software Update - OpenLM Agent will automatically update itself once the system administrator decides to distribute a software update.

Update Process Base Assumptions


The OpenLM Software update process has been designed to operate under the following assumptions and conditions:
  • Because OpenLM installation requires an update of registry keys and DLL registration, the installation requires local administrator privileges.
  • The system administrator has to control the timing in which the software will be updated. This requirement has been included as system administrators usually prefer to check the update on a test environment before using it in a production environment.
  • On some user sites local administrators have authorisation to install software on their workstations, while other sites are fully managed and users are unauthorised to install software on their workstations.
  • Fully managed sites have professional staff members which are competent to distribute software by using management systems such as Microsoft SMS and others.
  • The Agent update process is able to download the update from OpenLM site or from a local HTTP server or even from a shared folder. When using a local download site, it is the system administrator's responsibility to download the files from OpenLM site and put them in the local update site.
  • The software will never update an Agent to a major version which is higher then the server version.
  • The software will only update the Agent if the new version is greater then the existing version.

The Update Process


A typical update process will usually follow the sequence below:

  1. The system manager will receive a message from his local OpenLM Server informing him/her that an update is now available.
  2. The system manager will download the update manually and install on a few workstations for testing.
  3. The system manager copies the update files and the manifest file to a local http server, or use the OpenLM Server on the Internet as an update source. The location of the manifest file is usually: C:Program FilesGlobalMapsOpenLMServerManifest.
  4. The system manager sets OpenLM Server configuration form to distribute updates to agents.
  5. The next time an Agent checks for updates on the server, it will find that an update is available.
  6. Agents will download the update from the location the server specifies, based on CPU/IO idle times in order to prevent from interfiring with the ongoing work users perform.
  7. Once the update has been downloaded, it will run silently in the background and will restart OpenLM Agent automatically.

Important note: Use the automatic update process only when all your users have local administrator's authority enabled on their local machines.

Required Server Settings

Regardless of the update method that you are using, it is essential that your "Notification" setting is operational. It will allow your OpenLM Server to send you messages on software updates which are available on the OpenLM web site.



In the OpenLM Server configuration tab, make sure that the "Notify me about updates..." check box is checked as shown:


If you are using the automatic update feature of OpenLM Agent and you wish to initiate the update, you can start the update process from the OpenLM Server configuration form. Just check the "Update OpenLM Agents Automatically" check box as shown:


The download location can be OpenLM Server or any other HTTP server that the user can access. The system manager will put an updated manifest file under the server folder as shown:



Tracking the update process

OpenLM gives the system manager all the needed tools that allow full tracking and monitoring of the software update process. Using the OpenLM EasyAdmin interface the system manager can get:
  • A list of workstations that do not have an agent.
  • Workstations with older software version.
  • Last time a workstation has communicated with the server.
  • The user who is logged into the workstation.
  • And more.

This screen lists the workstation that has a communicating Agent and the Agent version: