Proxy Server

From Unofficial BOINC Wiki

Jump to: navigation, search

[edit] General

A Proxy Server is a server that sits between a client application, such as a Web Browser, and a real server. The Proxy Server intercepts all requests for data on the real server to see if it can fulfill the requests itself. If the Proxy Server cannot fulfill the request for the data the Proxy Server will forward the request to the real server.

There are several purposes that a Proxy Server fulfills, including:

  • Performance improvement - the Proxy Server can improve performance for a group of individuals because after a request for data has been forwarded and the results returned by the actual Data Server, then all subsequent requests made to the Proxy Server will be filled by the Proxy Server. In essence, the Proxy Server acts as a cache of data that is maintained locally. This dramatically improves performance for the second and subsequent requests for the data.
  • The Proxy Server can also filter requests for data and prevent users within a network accessing Data Servers that are not approved. This can allow an organization to set up a list of servers that cannot be accessed by the employees.
  • The Proxy Server can improve security because there is only one access point for all requests to the outside world. This makes it easier to ensure that the network is not as easily compromised.

The original SETI@Home benefited from the development of 'Proxy Servers' such as SETIQueue. These Proxy Servers buffer Work Units and results between participant computers and the main SETI@Home server. They provide a smooth supply of work even when the main server is down, and they make it possible to run SETI@Home on computers not connected directly to the Internet.

Things are trickier in BOINC. Unlike SETI@Home, with its 'one size fits all' Work Units, BOINC allows Work Units that have extreme requirements (memory, disk, CPU) and makes sure they're sent only to hosts that can handle them. In BOINC, a client communicates directly with the server, telling the Server about its hardware (memory size, CPU speed etc.) and the server chooses work for it accordingly. Furthermore, BOINC has separate Scheduling Server and Data Servers (in SETI@Home, a single server played both roles).

So a BOINC proxy would have to replicate much of the functionality of the BOINC Client Software (so that it can download and upload files) and the BOINC scheduling server (since it would have to implement the work-distribution policy). This is possible but it would be a lot of work.

BOINC has mechanisms - such as work buffering and the ability to be a Participant in multiple Projects - that reduce the importance of Proxy Servers.


[edit] Also See

Personal tools
RSS Feeds
BOINC Wiki RSS feeds RSS Feeds
Powered by BOINC!
Powered by BOINC