HyperLink
HomeServicesSolutionsNews & EventsCompany Login
Skip Navigation Links.
TestProNews Q2 - 2005
Software Distribution Strategies for Automated Test Systems in Design and Manufacturing

Design and manufacturing managers in a company face a daunting task when they need to upgrade or update to newer versions of software for their automated test systems. Managing the lifecycle for an automated test system begins when the new test system is deployed and ends when the system is retired and replaced with a new system (Figure 1). Application and operating system software upgrades, updates and patches are an important part of keeping the test system operating at peak efficiency. Software upgrades and updates may be as simple as a minor tweak in a single test sequence or as extreme as installing new versions of the test applications, run-time modules and driver software. Engineers, whose time could be better used making design and process improvements, often must take on the tedious task of sitting down at every automated test system to manually load the latest version of the test application and check for compatibility issues. The cost to upgrade each automated test system individually can be enormous in both direct engineering time costs and opportunity costs.

Many software distribution strategies and products are available that will automatically update all the automated test systems from a central location, removing this tedious update task and saving an organizations perhaps the largest cost associated with test system updates. Some of the options support cross-platform distribution with limited functionality, while others support one platform with rich functionality. Some options ensure reliability while others rely on file copies over the network. It is important to understand these technologies when selecting the software distribution strategy that best fits your engineering lab or manufacturing department needs so that you can decide if you require the best software distribution systems available, or if a more simplistic approach is adequate for your needs.


Figure 1: Software upgrades and updates are a important factor in maintaining an automated test system over its lifecycle.

History
The idea of "pushing" information to clients is not new. It was first introduced as "Push Technology" in 1997. The original idea was that web content would be pushed to the client rather than pulled from the Internet. The first widespread use of this technology was "webcasting", in which a person could download software, set up their desired filters or "channels", and then watch information come to them.

In more recent years, this technology has been more successfully used as a mechanism for distributing information en masse over corporate intranets. For instance, it may be used by IT to upgrade anti-virus software on all machines connected to a corporate intranet, without needing any intervention by individual users on the network. Other widely used software may also be easily upgraded in this manner, so that all versions are in sync and up to date.

Technical Characteristics
Any system or product aimed at solving these problems has several issues to consider. The most common considerations are:
  • Reliability
  • Decreased Performance on Client
  • Interfering with Station Operation
  • Network Traffic Overloads
  • Server Overload

Reliability
Many problems can occur during the distribution process: the connection may be lost; the process may be interrupted; and the client may stop responding. The most comprehensive solutions can handle these situations to guarantee the successful distribution of your updated test software. These solutions include "Checkpoint Restart" which ensures that the download will resume where it previously stopped so that the server does not have to resend the full package if the network connection is interrupted.

You can determine the level of reliability you need in your software distribution strategy by asking the following questions:
  • What do I want to happen if the installation fails?
  • What do I want to happen if the station is booted in the middle of the update process?
  • What do I want to happen if the file(s) already exists on the test station?

Client Performance
Many solutions require software to be installed on the clients before any software distribution of updates can occur. This client software is usually a service that is constantly running and periodically checks the server for updates or checks if the server has initiated a "push" command. This service will use some of the client's resources and degrade the overall performance of the client. This is especially true when the updates are frequent. The level of this degradation of performance depends vastly on the particular implementation of the solution.

You can determine the level of client performance you need by asking:
  • How much resource usage can my test system tolerate?
  • Can I allow the client service to degrade my station's performance?
  • What will the system do to reduce the impact on the client performance?

Continuous Station Operation
Depending on the application, it may be important to ensure the non-interrupted operation of the test station. Some common methods a software distribution system can operate without interrupting the test station are by scheduling the updates for times when the client is known to be idle, or allowing the test station users to delay or reschedule the update if the server tries to initiate the update while the test station is in use.

Additionally, the most comprehenesive software distribution solutions can provide a way to rollback the test station software to the previous known good state. This is very useful to restore the station when installation fails or when the software installed does not perform as expected. This is especially important in remote manufacturing environments where the cost for any debugging is very high. Availability of qualified personnel at the remote location, and interrupted production add to these costs.

You can determine the level of continuous station operation you need strategy by asking:
  • What do I want the system to do if the user is using the test station being updated?
  • How do I want the system to prevent interruption on unattended stations?
  • What rollback capability do I want the solution to provide?

Network Traffic
A very common problem for enterprise software distribution is that it can create excessive network traffic. Some updates may be several megabytes in size. A system attempting to distribute updates concurrently can cause a considerable amount of traffic and ultimately bring the network down. The most comprehensive solutions:
  • Include tools to schedule tasks at low traffic times
  • Compress software being distributed in order to minimize the traffic
  • Send as little data as possible by first comparing new files to old files, and sending only what is needed to create new from old
  • Provide "Checkpoint Restart" to avoid resending full package if an error occurs

You can determine the level of network traffic optimization you need by asking:

  • What do I want the system to do if the traffic on my network is high?
  • How do I want the system to minimize the network traffic?
  • How much do I need the system to efficiently use my network?

Server Load Capacity
When updates are being distributed concurrently, there is a risk of overloading and bringing down the server. The best solutions allow administrators to efficiently "load-balance" distributions across the network. This allows the software to be distributed from different locations, not just the server.

You can determine the level of server load capacity optimization you need by asking:
  • Do I need the system to balance the load of my server?
  • Do I need the system to redirect distribution to execute from other points on my network?
  • What load will my server be able to handle? 

Software Distribution Options for Your Automated Test Systems
In answering the questions from the previous section, you may have found that a basic software distribution strategy is suitable for your application. A basic solution will provide a secured, easily managed location to maintain the versions of your test software. This solution will rely on the network to copy the files to the test stations without adding fail-safe and loading protection capabilities.

The lowest-cost solution that solves these basic needs is to use data management capabilities of your enterprise test data management (TDM) software, such as Arendar, to manage the locations and versions of your test software. With this strategy, the test station uses the TDM software to verify version and to retrieve the required software prior to test execution by copying the updates to the test software over the network. Whenever you want newer versions of your test sequences or test programs to execute on your test systems, you simply upload the appropriate versions into the server by using the enterprise TDM software.

If, however, by answering the questions in the previous section, you find that you need a more sophisticated solution including multi-server, multi-site management and replication, your best option is to use a product that specializes in enterprise software distribution. Table 1 lists twelve products from companies that are leaders in enterprise software distribution.


Table 1: Enterprise software distribution products and companies

These products integrate easily with enterprise TDM software so that you can manage your test data through the enterprise TDM software, and keep your test stations updated through enterprise distribution software. You may find that your company has already standardized on one of these products to keep all the computers in your company up-to-date on latest versions of other types of software, like your virus protection and office productivity software.

Summary
There are many different factors to consider when choosing your strategy for distributing software to your test systems. It is important to understand your needs as well as the limitations of the various approaches available. Understanding the characteristics of a software distribution system will help you select the product that best fits your needs. Software management tools deliver the capability to manage and automate deployment of software updates to automated test systems throughout a geographically-dispersed organization and save you time and money.

Ask the Expert
Email questions concerning this article to:
expert.testpronews@vi-tech.com

TestProNews
Read about the latest information for integrating automated test systems throughout the enterprise.
TestProNews  Download PDF









Have questions?
Contact us at
info@vi-tech.com
or call toll-free
1-888-689-4415
header
   Legal  Site Map  Contact Us © 2001-2008 VI Technology, Inc. All Rights Reserved.
footer