Group Member 1: <Name and NetId>
Group Member 2: <Name
and NetId>
·
Introduction: <Is the proxy implementation
complete? How, if any, was the work split between group members? >
·
Algorithm and Design: <A high level
algorithm. It should illustrate the execution
of your code, although at a high level. Give the complete algorithm even if your implementation was not
complete. This section should be
described in 3 paragraphs, one for each phase.
You should answer the following questions in the corresponding paragraphs:
1. How are sockets used for the basic implementation of the proxy? 2. What
could be the possible problems in receiving images correctly from a web server?
3. How is synchronization handled in a multithreaded web proxy? 4. How was
thread pooling implemented, if it was? 5. What data structure was used for the
cache? 6. How was the cache replacement policy implemented, along with the use
of the Expires header? 7. What would happen if the Expires header was not
present in the response? These are the basic questions that need to be
answered. Other high-level design
decisions should also be mentioned in these 3 paragraphs. >
·
Optional Features Implemented (if any): <The
design used to implement any optional features in the proxy, i.e. those listed in the README.txt >
·
Error Analysis: <A listing of the errors
encountered, and your own diagnosis! >
·
Conclusion: <How efficient is the proxy
implementation and how, if possible, could you improve it? >