Name ____________________________ Combined Score is out of 100. Maximum score is 110. Part I: Getting The Web Server Working Total score is out of 60. Maximum score is 65. Logistics (3 pts each) ___ Has compilation instructions ___ Compiles without modification ___ Allows for port specification ___ Starts without error, binds to correct port ___ Code is readable (commented & formatted) Content Delivery (5 pts each) ___ Correctly delivers a text (html) file ___ Correctly deliver binary (gif/jpg) file ___ HTTP 1.0, connections are closed after file sent ___ HTTP 1.1, connections are kept open for some time, then closed ___ HTTP 1.1, timeout is refreshed after new request Thread/Process Model ___ Implements event driven model (10 pts) ___ Implements spawning thread model (2.5 pts) (bonus) ___ Implements pool thread/process model (2.5 pts) (bonus) Error Conditions (2.5 pts each) ___ Catches socket errors correctly ___ Reports error when file does not exit ___ Reports error when file has bad permissions ___ Reports error on malformed requests Part I Total Score _____ Part II: Performance and Results Total score is out of 40. Maximum score is 45. (*)'d items are considered the "basic" assignment. Client/Server (4 pts each) ___ (*) Client spawns multiple threads or processes ___ (*) Client supports HTTP 1.0 and 1.1 ___ (*) Server supports HTTP 1.0 and 1.1 Methodology (3 pts each) ___ (*) Client(s) runs on a different machine than server ___ (*) Defines saturation and takes it into account ___ (*) Code instrumented to calculate connection and transmission time ___ (*) Describes evaluation environment Graphs (how well each shows expected behavior, 5 pts each) ___ (*) Throughput/Bandwidth vs. file size ___ (*) Throughput/Bandwidth vs. time Discussion ___ (*) How well the paper is written (6 pts) ___ Evaluates a real server for comparison, with above graphs (5 pts) Part II Total Score _____ Overall Score _____