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