Multi threated proxy with it's steps
In computer systems, a proxy server is really a server that acts being an intermediary for requests from clients seeking methods from other computers. A client connects to the proxy server, requesting some assistance, suchs a file, link, web page, or other source available from the different server and the request is evaluated by proxy server as a way to simplify and manage its difficulty. Proxies were conceived to include construction and encapsulation to distributed programs. Nowadays, most proxies are web proxies, facilitating usage of content on the World Wide Web.
Step 1: Implement a barebones proxy
Starts a TCP server socket to listen for TCP connections on a specific interface. When a new connection is setup, the proxy reads in a HTTP request; yourcode must be compatible with HTTP GET requests sent from the curl HTTP client. The proxy must then go on that HTTP request for the webserver, get the information received, and ship it back again to the client on the TCP connection that the client had established. You must ensure that you are designed for interleaving of requests from multiple clients by maintaining suďŹƒcient state so that you return a reply received from a webserver back again to the proper client.
Instead of continually ballot sockets for knowledge, you ought to apply System I/O signal utilizing the select call by proxy server. Furthermore, be sure to handle all problems thus That the implementation is powerful.
Step 2: Make the proxy multithreaded
To boost the throughput oered, create your compensated cheap proxy multi-threaded. The proxy Obtained, a new thread is spawned to take action. Nevertheless, you need to limit the number of posts in your code to at most 20, rather than allow number of Posts grow unbounded.
Step 3: Add a cache to the proxy
To further enhance throughput, put in a cache to your low-cost buy proxy-server. At any given time, the cache must include for the most part 10 MB of information. To evict data in the cache If you find a cache miss, implement the LeastRecently-Used (LRU) cache Alternative plan, i.e., often insert to the cache the most recently used object and to incorporate it to the cache, evict the appropriate number of least recently used objects in the cache. Make sure that reads from and writes to your cache are thread-safe.
Step 4: Deploy the proxy on EC2
Requirements and Deliverables
All your code must be written in C. System I/O must make use of the select, recv, and send calls by SEO proxies. Utilize the pthread library for threading and inter-thread synchronization. The following two deliverables are required at the end of this project, each due before class on 31st January 2011. • Utilize your proxy on EC2 and email me the address of which your proxy is accessible. The handle predicted is of the format hostname:port or IPAddress:port. I'll then assess your implementation with my test suite, which will bring web pages via your proxy. • Email me an archive that contains all your source-code.
Grading policy
This project is worth 20 points. 10 items: I'll go over your source-code to ensure your execution of (a) select-based plug development, (b) thread pool, and (h) thread-safe cache search right. 10 items: I'll get web pages via your very best paid proxy support utilising the curl HTTP client. Your proxy should be strong enough to take care of web requests to arbitrary web sites. The submission that brings the maximum throughput will be awarded 10 items. How many points awarded to all others is likely to be equal in porportion to the portion with this optimum throughput their proxy offers.
Thanking you.. For more info log on too.. http://proxiesforent.com