4. Simulation Model A discrete event world view simulation model was developed using event graphs [Schruben, 1983] and implemented using the SLAM II simulation language [Pritsker, 1987]. The model is comprised of the following events: 1. Receipt of a request for a URL at the client. If the URL is not in the cache of the PROXY server. 2. Start initial contact between the PROXY server and HTTP server (start of conditional get). 3. End contact between the PROXY server and HTTP server (end of conditional get). If the conditional get indicates that the URL must be retrieved 4. Start transmission to the PROXY server from the HTTP server. 5. End transmission to the PROXY server from the HTTP server. Endif Endif 6. Start transmission to the CLIENT from the PROXY server. 7. End transmission to the CLIENT from the PROXY server. A time ordered sequence of requests can be read from one or more CERN log files or generated by sampling from a time between arrivals distribution. Since data describing the time for conditional gets is not yet available, the total time between events 2 and 5 was described with the regression equation previously discussed. A URL not in the cache of the proxy server is always retrieved. The times between events 1 and 2 and events 6 and 7 are modeled as constants. The time to retrieve a URL in the proxy server cache and transmit it to the client is modeled as a function of file size using a regression equation as was previously discussed. Capabilities for reading CERN log files, TCPDump files, levels of experimental factors, and general simulation parameters such as the coefficients of the regression equations for transfer times are included in the SLAM II implementation of the model. Values for quantities such as times at which URL requests occurred, file transfer times, and file sizes can be read from input files or generated as random samples from distributions. Multiple log files with sequences of URL requests can be read and merged with respect to the time of the request. An experiment definition file allows multiple, user specified combinations of the levels of the factors previously discussed to be simulated in one run. An options file includes the list of the names of log files, a selection of simulation outputs, the time interval for the simulation, the number of replicates for each combination of experiment factor levels, and the coefficients of the transfer time regression equations. The simulation estimates the performance measures defined previously for each experiment. A file of factor levels and their resulting performance measures is created. The format of this file is suitable for input to a spreadsheet program for further analysis. Summary statistics and histograms are always computed for the following quantities. 1. Time from request to end of file transfer 2. File transfer rate 3. Cache hit Rate 4. Cache hit Rate from input file 5. File size from input file 6. Transmission rate from input file 7. Time in cache - all files 8. Time in cache - end of simulation 9. File size in cache - end of simulation 10. Number of bytes in the cache In the options input file, the user can specify the creation of traces of individual files and the following performance measures: 1. File transfer time trace 2. Hit rate trace 3. File transfer rate trace 4. End of simulation cache contents trace - time in cache 5. File time in cache trace 5.3 Simulation Model Validation and Verification Verification assures that the model as specified on paper, the event graph model, and the model as implemented in the computer program, the SLAM II model are equivalent. The events in the SLAM II correspond one-to-one with the events in the event graph. In addition, verification involves the standard activities associated with debugging a computer program. Validation tasks discussed in the next paragraph confirm the verification of the model. Validation assures that the model and the experiments conducted with the model effectively represent reality [Sargent, 1992]. [Marc: paragraph you wrote here] 8.2 Simulation The SLAM II simulation model (WebSim), along with sample input and results files, is available in executable form for Windows. The SLAM II event model in FORTRAN is available for modification but requires the SLAM II or SLAMSYSTEM software for execution. References: Pritsker, A. A. B.,1987, Introduction to Simulation and SLAM II, 3rd ed., Halsted, New York. Sargent, R. G., 1992, "Validation and Verification of Simulation Models," in Proceedings of the 1992 Winter Simulation Conference, J. J. Swain, D. Goldsman, R. C. Crain, and J. R. Wilson, eds., Association for Computing Machinery, New York, pp. 104 -114. Schruben, L., 1983, Simulation Modeling with Event Graphs, CACM, 26, 957-963.