Computer Science Department

Technion

Communication Lab


Implementation of Proxy server with efficient cache removal algorithm


   Final Report


Vladislav Kalinovsky c1162495@t2.technion.ac.il
Or Gerlitz s2895834@t2.technion.ac.il
Mirkin Lidia c1170451@t2.technion.ac.il


Tables of contens
1.Introduction
2.Protocols and algorithms
3. Proxy server work diagram
4. Modules diagram
5. Classes description
 


Introduction

Today networks become more and more over-loaded. Often, the time needed to retrieve data might make the response time for the client's requests too long. Proxy server, called also forward server, is primarily used to reduce the load on the network and to make the load time shorter. This goal is reached by the maintenance of a large cache, managed by an efficient algorithm. This lab project is focused on the implementation of the HYB cache removal algorithm.
The Proxy server uses the multi-thread approach to deal with multiple clients at once. This approach has many advantages vs the traditional 'fork()' one.


Protocols and Algorithms

Internet Protocol

Communication Protocol

Server Application Model

Cache Policy

Proxy server work diagram:


 


Modules Diagram


Classes description

The application had been implemented in the C++ language.The three main Libraries that were used are:

For each class a short description is given followed by listing of the public functions which actually make the interface.

ProxyServer

The following files contain source code of this class:

Signal Handler

The following files contain source code of this class:

Worker

The following files contain source code of this class:

Parser

The following files contain source code of this class:
 

Cache

 

The following files contain source code of this class:

Algorithm
 

 The following files contain source code of this class:

Timer
 

The following files contain source code of this class:

Structs


The following files contain source code of this class:

Demo

The following files contain source code of this class: