Name ____________________________ Combined Score is out of 100. Maximum score is 152. Part I: Getting The Web Server Working Total score is out of 60. Maximum score is 72. 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 (12 pts first, 5 pts each additional) ___ Implements spawning thread model (-.5 pts off if spawning process) ___ Implements pool thread/process model ___ Implements event driven model Error Conditions (2 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 ___ Reports error when URL descends below root (using ../) (bonus) Part I Total Score _____ Part II: Performance and Results Total score is out of 40. Maximum score is 80. (*)'d items are considered the "basic" assignment. Must score more than 45 points in Part I to receive more than 40 points on Part II. 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 (4 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) ___ Latency vs. file size ___ (*) Throughput/Bandwidth vs. file size ___ Throughput/Bandwidth vs. time -or- Others (Latency vs. Connection Rate, etc.) Discussion ___ (*) How well the paper is written (7 pts) ___ Explains graphs in detail (5 pts) ___ Motivation/overview is provided (5 pts) ___ Discusses effect of thread model on performance (5 pts) ___ Discusses HTTP 1.0/1.1 for varying RTT (5 pts) ___ Discusses HTTP 1.0/1.1 for varying files sizes (5 pts) ___ Evaluates a real server for comparison (5 pts) Part II Total Score _____ Overall Score _____