Upload
vsunny488
View
48
Download
4
Embed Size (px)
Citation preview
DefinitioN
Parasitic computing refers to the technique of using the resources of one computer by another computer without the knowledge of the former .
Distributed computing networks turn home users’ computers into part of a virtual super computer that can perform time-intensive operations.
cont…
Parasitic computing uses computation power of the computers connected to the internet in solving complex mathematical problem.
Eg: Traveling salesman problem satisfiability problem
theory
To solve problems
Generate large number of candidate solutions.
Send the solutions to destination node.
Test the candidates for their adequacy.
If result is true, the solution is valid.
else drop.
The result from each were used to build a solution.
cont…The mathematical problem is split into a large number of simple logic problems.
They tag a logic problem onto check sum.Web server would process the request.If the check sum is false, then server would not respond to the request.The whole result combine to form the result of the mathematical problem.
cont…
The target nodes are answering logical questions without knowing of doing so.
This does not violate the security of the unknowing server.
Potential candidate protocol include TCP,HTTP, or encryption/decryption with secure socket layer.
how to trick other computer’s?
ALUNIF
ALUNIF
ALUNIF
levels of communication
HTTP
TCP
IPNetwork
HTTP
TCP
IPNetwork
DROP
VALIDParasite node Target web server
cont…
A single parasite node coordinates the computations occurring remotely in the internet protocols.
Each target node consist of
Arithmetic and Logic Unit (ALU)
Network InterFace (NIF)
A single home parasite initiates the computation, sends messages to the targets directing them to test and tabulates the result.
key Component Checksum computation
Information sent across the internet is split it into small chunks, or packets, that travel-often independently of each other-to their destination.Each packet bears a header that contains
Source addressDestination addressA numerical value related to the packet’s content
When a computer receives a packet, it checks for errors by performing a calculation and comparing the result with the numerical value in the packet’s header.
establishing a TCP connection
cont…
A connection is established with 3 messages,
The initiator sends a SYN to a remote node.If the remote node is willing to accept a new connection, it responds with a
SYN/ACK message.Finally, the initiator sends an ACK message.
computing with TCP checksum
The message received by the target server contains
an IP header
a TCP header
a candidate solution
cont…
Is a + b equal to c???
The checksum value in a TCP packet is determined by c.
The data contains 16 bit words a and b.
If a + b! =c, then TCP rejects the segment.
A message is valid only if a + b=c.
cont…
The targeted computers are various web servers physically located in North America, Europe, and Asia.
There is no negative acknowledgement.
The sender will keep a copy of the message.
In distributed system, it is not possible to distinguish between a lost message and delayed message. So a message is assumed to lost after some time out period.
checksum computation
The sender breaks the message consisting of N bits into 16 bit words.
The K words are added together using binary arithmetic.
The sender then performs a bit-wise complement on the checksum.
The sender incorporates the complement of the checksum into the header of the message.
cont…
The receiving computer again breaks the received message into 16-bit segments and add them together.
The checksum obtained by the receiver has to be 1111111111111111.
If any bit along the message has been corrupted during transmission, the checksum obtained by the target will be different from all ones, in which case target drops the message.
s1 s2 Sk
+
+
S1
S2
Sk
1110101011011011
0001010100100100
sump
sum p
sum s1p S2 sk
Create a new message of length N+16
SUM SUMT p= +S1+S2+…..+Sk
IF SUM =1111111111111111
othrwise
Message correctTo HTTP
Message corruptdrop:
:
d
N bitsa
b
c
2-SAT Problem
cont…
The 2-SAT problem involves 16 variables and the operations AND and XOR.
In order to get a TRUE answer for P, each clause shown in separate parentheses needs to be independently TRUE.
To evaluate the vale of we generate a 32 bit message M that contains all 16 variables, each preceded by a zero.
TCP groups the bits in two 16 bit segments and add them together.
The sum can have 4 outcomes.
cont…
If the clause has an XOR operator, is true only when the checksum is (01).
If the clause has an AND operator, is true only when the checksum is (10).
To turn a package into parasitic message the parasitic node prepares a package, preceded by a checksum, and continued by a 32 bit sequence(S1,S2).
algorithm
S=create TCP segment S. checksum = checksum For each x S. pad= pad with zeros (x) send S receive answer if answer=true write x is a
solution
implementation
There are several ways to implement the basic algorithm.
concurrency: Each concurrent computation requires a separate a TCP connection to http host.
connection reuse: Before a TCP connection can be used, it must be established. Once established TCP segments can be sent to remote host.
how it differs from others?
In cluster computing, many computers pool in their resources willingly.
Parasitic computing does not require the willingness of any target machine.
In cluster computing, special softwares are needed. Here not needed.
features
Parasitic computing theoretically offers the chance to use the vast computational power of the whole internet.
Several large computational problems can be solved by engaging various web servers physically located in different parts of the world, each of which unknowingly participated in the experiment.
cont…
Ethically challenging alternative for cluster computing, as it uses resources without consent of the computer’s owner
Parasitic computing does not compromise the security of the targeted servers, and access only those parts of the servers that have been made explicitly available for Internet Communication
problems
For parasites
Several computational cycles are taken to process the possible solutions
Possibility of false negatives
Possibility of false positives
problems
For servers
Delays due to processing the parasitic messages could cause a denial of service
Almost impossible to prevent someone from running a parasitic job on your server
history
Parasitic computing was developed by the scientist at the Notre Dame University, Indiana(USA).
First Reported in journal ‘Nature’ in 2001 by Barabasi, Freech, Feong and Brockman.
future
Enabling all the computers to swap information and services they are needed could lead to unparalleled emergent behavior, drastically altering the current use of the internet.
summary
Parasitic computing moves computation onto what is logically the communication infrastructure of the internet, blurring the distinction between computing and communication.
The current internet infrastructure permits one computer to instruct other computer to perform computational tasks that are beyond the target’s immediate scope.