Abstract :
In this model, known as “parasitic
computing”, one machine forces target computers to solve a piece of a complex
computational problem merely by engaging them in standard communication.
Consequently, the target computers are unaware that they have performed
computation for the benefit of a commanding node. As experimental evidence of
the principle of parasitic computing, the scientists harnessed the power of
several web servers across the globe, which–unknown to them–work together to
solve an NP complete problem.
Sending a message through the Internet
is a sophisticated process regulated by layers of complex protocols. For
example, when a user selects a URL (uniform resource locator), requesting a web
page, the browser opens a transmission control protocol (TCP) connection to a
web server. It then issues a hyper-text transmission protocol (HTTP) request
over the TCP connection. The TCP message is carried via the Internet protocol
(IP), which might break the message into several packages, which navigate
independently through numerous routers between source and destination. When an
HTTP request reaches its target web server, a response is returned via the same
TCP connection to the user's browser. The original message is reconstructed
through a series of consecutive steps, involving IP and TCP; it is finally
interpreted at the HTTP level, eliciting the appropriate response (such as
sending the requested web page). Thus, even a seemingly simple request for a
web page involves a significant amount of computation in the network and at the
computers at the end points.
In essence, a `parasitic computer' is a
realization of an abstract machine for a distributed computer that is built
upon standard Internet communication protocols. We use a parasitic computer to
solve the well known NP-complete satisfiability problem, by engaging various
web servers physically located in North America, Europe, and Asia, each of
which unknowingly participated in the experiment. Like the SETI@home project,
parasitic computing decomposes a complex problem into computations that can be
evaluated independently and solved by computers connected to the Internet;
unlike the SETI project, however, it does so without the knowledge of the
participating servers. Unlike `cracking' (breaking into a computer) or computer
viruses, however, parasitic computing does not compromise the security of the
targeted servers, and accesses only those parts of the servers that have been
made explicitly available for Internet communication.
Download :