Appendix D System Transactions as Initiated by an End User
A typical user session generates the following transactions between client and server.
1. User requests an article (usually from a Web browser). If the user is starting a new session, the RM system downloads and launches the appropriate viewer, which will process only encrypted transactions. In the case of Adobe Acrobat, the system downloads a plug-in. The following transactions take place with the server:
a. Authenticate the viewer (i.e., ensure we are using a secure viewer).
b. Get permissions (i.e., obtain a set of user permissions, if any. If it is a new session, the user is set by default to be the general purpose category of PUBLIC).
c. Get Article (download the requested article. If step b returns no permissions, this transaction does not occur. The user must sign on and request the article again).
2. User signs on. If the general user has no permissions, he or she must log on. Following a successful logon, transactions 1b and 1c must be repeated. Transactions during sign-on include:
a. Sign On
3. Article is displayed on-screen. Before an article is displayed on the screen, the viewer enters the RM protocol, a step-by-step process wherein a single Report command is sent to the server several times with different state flags and use types. RM events are processed similarly for all supported functions, including display, print, excerpt, and download. The transactions include:
a. Report Use BEGIN (just before the article is displayed).
b. Report Use ABORT (sent in the event that a technical problem, such as "out of memory," prevents display of the article).
c. Report Use DECLINE (sent if the user declines display of the article after seeing the cost).
d. Report Use COMMIT (just after the article is displayed).
e. Report Use END (sent when the user dismisses the article from the screen by closing the article window).
4. User closes viewer. When a user closes a viewer, an end-of-session process occurs, which sends transaction 3e for all open articles. Also sent is a close viewer transaction, which immediately expires the viewer so it may not be used again.
a. Close Viewer
The basic data being collected for every command (with the exception of 1a) and being sent to the server for later analysis includes the following:
• Viewer ID
• User ID (even if it is PUBLIC)
• IP address of request
These primary data may be used to derive additional data: Transaction 1b is effectively used to log unsuccessful access attempts, including failure reasons. The time
interval between transactions 3a and 3e is used to measure the duration that an article is on the screen. The basic data collection module in the RM system is quite general and may be used to collect other information and derive other measures of system usage.