Application Series 11


SOFTWARE MONITORING SOFTWARE

John Lemon, Senior Computing Adviser at University of Aberdeen, finds a novel way of using SIR to help manage the software budget within the University Computing Centre.

Background

John describes the Computing Centre at Aberdeen University, Scotland as providing the shared computing facilities for staff and students. These include a large number of public access PC classrooms (over 20 with an average of 20 PCs in each) and eight UNIX file servers. The PCs will run either PC based software from PC-NFS file servers or can be used as terminals to the UNIX system to allow users to run UNIX software. There are also a large number of PCs within other departments which act as terminals to the UNIX file servers.

'There are tools available to monitor the use of the PC software but no reasonably priced, flexible systems for UNIX.' John explained. And, as software licensing charges are a major and increasing part of the Department's budget, an accurate check has to be made on the use of all items of software to ensure licence agreements are being adhered to and unused software can be removed.

System requirements

The monitoring package had to be developed using tools available on the UNIX system. Reports, tables and statistical analysis were required as output from the package so the program to be used would have to have such capabilities or be able to link into statistical software. 'The final requirements were that the system should be easily updated if more software needed to be monitored and that it run with minimum human intervention.' John commented.

The solution

'We made use of the accounting files maintained by the 'acct' and related commands under UNIX' John said 'which hold a record of EVERY activity on the system'. A method had to be found to only extract the records relating to the software being monitored. This could not be done easily by the statistical packages available so an alternative was sought. One solution was to use a programming language like Fortran or C to extract the required records and then create a file for the statistical package. This was not viable for two reasons. The first reason was the problems of updating the files on a daily basis and the second: 'The member of staff developing the system had not written a program in either language for 5 years !!' John admitted.

It was decided to use SIR mainly because of the power of PQL in extracting the data from the 'acct' files but also because of the report, tabulating and statistical features. The data are held as a single table with a record for each invocation of the packages being monitored. This single file approach does not use the ability of SIR to cope with complex file structures but it is the other features of SIR which are required (data validation, ability to update data files, flexibility etc.) in this situation.

UNIX considerations

The whole system relies heavily on the use of UNIX shell script files to control the 'acct' program. Each day's records are stored in a different file and SIR retrievals and programs are invoked to update, maintain and extract results from the database. Each of the eight file servers maintains its own accounting records and the files have to be gathered together to the machine which maintains the database. In order to achieve this with the minimum of human intervention, use is made of the 'crontab' command in UNIX which will execute shell scripts at specified times and/or days of the week/month. Crontab command files on each file server system reset the accounting records early in the morning and then another script file copies the previous day's data file to the database directory and initiates the SIR command file. This verifies the database, reads the individual accounting record files and stores the required records. 'The SIR run also recreates the script file for the next day.' John explained 'This may appear to be superfluous but does allow the system to be run in 'catch- up' mode in the event of a problem'.

A Pro-active System

The main role of the system is to collect data and store it ready for use when required. But, as the majority of queries are for the number of accesses to an item of software in the past week, month or academic year and from which department, a set of tables is generated at the end of each month and held ready for access if required. These tables are very useful when decisions have to be made on the renewal of software licences as the evidence is there to show that, despite claims by users that software item 'X' is essential to their work, it has not been accessed for a long period. As the lapse time and cpu time used for each invocation is also recorded, users who do no work in the software can be discounted.

As well as the regular tables occasional ad-hoc reports have to be generated to list out the users and number of accesses of individual items of software, either to contact them to indicate changes/new versions or to provide extra evidence for withdrawal of software.

The benefits

John told us of a case where this system had saved the university considerable money. 'The charges for one licensing agreement are based on the number of concurrent users, and on the renewal notice the company had arbitrarily increased the number of concurrent licences (and the charges) based on their assessment of the 'popularity of the software'. As the date and time of invocation are recorded, it was a relatively easy task to prove that the number of concurrent users was not increasing, in fact they were decreasing which resulted in a reduced licence charge'.

Conclusion

SIR has provided a solution to the problem, saved money and at the same time shown that even simple data structures sometimes need more facilities. The power of PQL allied to UNIX commands and shell scripts has proved more than adequate for the task.

For more information on University of Aberdeen's use of SIR contact:

John Lemon,
Senior Computing Advisor
Aberdeen University Computing Centre
Aberdeen SCOTLAND

Back Sir Home