.period .left margin 4 .right margin 76 .autoparagraph .title ;Accounting System for BID Image Processing Laboratory This report describes the accounting system in use on the BID PDP-11/70 computer system. Topics discussed include; overview of accounting system, description of data collection tasks, account file organization, operation of report programs, and daily use and maintenance of the system. .hl1;Overview of the Accounting System In order to equitably recover costs and to track use of the BID PDP-11/70 system the use of a computer accounting system was proposed by BID management. Under direction of the project sponsor D.Rubin investigated the accounting systems available for the operating system (RSX11M) and recommended the use of the KMS Fusion accounting system available through DECUS, the DEC users group. Features which determined its selection included; available on a no cost basis, user extensible, low O/S overhead. The system does require modifications to RSX11M, but these modifications are minor and do not affect the reliability of the operating system. The main disadvantages of this system are that the account numbering scheme did not fit well into JHU/APL accounting setup and that the report program provided was inadequate for charge back purposes. During the second quarter of 1981 the system was installed and collection of statistics began. During the fourth quarter of 1981 all the users of the system were assigned unique account numbers so their use of the system could be charged to their APL departmental accounts. At that time a new report program was developed to provide daily reports so that chargeback accounting could be instituted. BID management won approval of a new rate schedule for PDP-11/70 computer usage. This was implemented as multiplicative factors applied against terminal connect time and CPU time to generate equivalent hours at the current BID charge rate. On a daily basis the report program scans the account file and generates equivalent hours based upon usage of the computer system. .hl1;Description of Data Collection Tasks The accounting system consists of two data collection tasks, SYSLOG and LOGTSK. SYSLOG is the user interface to the control of the accounting system and it maintains statistics on system overhead. It is a privileged task with various "hooks" into RSX11M. LOGTSK is a slave task that receives packets of data from SYSLOG, HELLO and BYE. These packets are transmitted through the send/receive data mechanism of RSX. LOGTSK validates the received packets, then writes them to a log file. A fresh log file is started each day, and a concatenated file is maintained for each month. .p When a user logs onto the system, HELLO sends a packet to LOGTSK which contains the time, UIC, terminal number, and account number of the user. Upon log out, BYE sends a similar packet with the above information and accumulated CPU time. Charges are made solely on the basis of account number, and are not affected by any changes of UIC during the session. SYSLOG sends packets containing information regarding system overhead at 5 minute intervals. From this information, individual terminal connect time and CPU time are computed by the report program. .hl1;Account File Organization The account file generated each day is LB:[1,4]SYSLOG.DAT. At the beginning of the next day (during startup), the pervious day's file is transferred to the month file and a new daily file is created by program LOGTSK. Monthly files are called LB:[1,4]SYSxxxyy.LOG where xxx is the alphabetic representation of the month (JAN, MAY, etc.) and yy is the year. The file itself contains 13 word unformatted records of the following types: startup, shutdown, hello, bye, and syslog. Refer to Appendix B for details about record format. The report programs also reference a file (LB:[1,4]TIMLOG.ACC) which contains a list of valid accounts. It is an ASCII file with records in the following format: .lit xxxxyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz .eli Where "xxxx" is the RSX account number from 0 to 9999 (by convention we are using base account numbers that are multiples of 10). "yyyyy" is the JHU/APL charge number, if this field is non-numeric than that account is non-billable. "zzzz..." is an alphanumeric description of the account. An example of a billable account is "004015889#APLnet#Development", a non-billable account is "1000Systems#Programming". .hl1;Operation of Report Programs Currently there are two report programs available. TIMLOG provides a report of the charges generated for any given day. Its operation is as follows: .lit RUN $TIMLOG The last report was generated for 29-NOV-81, (which was run on 30-NOV-81) Enter the date for the report (in the form DD,MM,YY) ? "Sample output is shown in Appendix A" .eli .PAGE Please note that the date for the report must be entered in an all numeric form. That is, 21,11,81 for November 28, 1981. Entries such as 11,28,81 or 28-NOV-81 are incorrect and will abort the program! The date of the last report and the day it was run are kept in (LB:[1,4]TIMLOG.DAT). The second report program, TIMRPT, provides reports on a monthly basis. Its operation and report format is similar to TIMLOG. .hl1;Maintenance of the Accounting System This section describes the various facets of the accounting system. .hl2;Entering New Accounts New accounts may need to be created for new users being assigned to existing APL accounts, or users being assigned to new APL accounts. To create a new account run the RSX accounting program ACNT. For session ID enter , then enter the appropriate account number. Note that each user may have several accounts and one or more UFDs. To give a user multiple accounts simply use the same UFD and give a different password, then enter the appropriate account number. Conversly several different users can have the same account number and different UFDs. Pease note, that if new UFDs are added to the system be sure to insert them into [1,5]UICPURGE.CMD so that those accounts will be automatically purged when the system is backed up. .hl2;Changing or Deleting Accounts Accounts may be deleted by removing the appropriate entry from TIMLOG.ACC and using the ACNT program to delete the account from the RSX account file. Be very sure that only the specific account number desired is the one deleted, as a given UFD may have several account numbers. Conversly, the same account number may have entries in several UFDs. It is a good idea never to use ACNT to delete the users UFD and files. To change accounts use the modify option of ACNT then edit TIMLOG.ACC appropriatly. .hl2;Displaying Passwords of all Accounts To get a list of all RSX accounts and their passwords run ACNT and request a list of all accounts (including passwords) to be spooled with 132 columns. Then run $PASS which will read the file generated (ACCNT.DMP) and produce a listing of all accounts and paswords. Restrict access to the listing! .hl2;End of Month Procedures As far as the accounting system is concerned there is no operator intervention necessary at month end (LOGTSK automatically starts accumulating data into a new file). However there are several minor cleanup chores which must be performed , which I have included in a command file [1,4]CLEANUP.CMD. This file will concatinate the console logs and zero the internal counters in the accounting system. It should be run approximately once each month. If conveniant, at the same time change to directory [1,6] and execute LOGIN.CMD, respond with default responces and "SUM" for type of report. This procedure will clean out the error logging facility.