PARASITIC COMPUTING Seminar by Rubia Jasmin H.N, Roll No. 54, S7 - - PowerPoint PPT Presentation
PARASITIC COMPUTING Seminar by Rubia Jasmin H.N, Roll No. 54, S7 - - PowerPoint PPT Presentation
PARASITIC COMPUTING Seminar by Rubia Jasmin H.N, Roll No. 54, S7 CSE, MACE CONTENTS Introduction Implementation Basic of parasite computing features and advantages Solving problems with Challenges and parasite computers
CONTENTS
- Introduction
- Basic of parasite computing
- Solving problems with
parasite computers
- 2-SAT problem example
- Prototype and architecture
- Implementation
- features and advantages
- Challenges and
disadvantages
- Conclusion
- There is millions of devices connected to internet.
- These devices can be exploited.
- There is a way of using the network infrastructure of these
devices for different tasks than they are designed for.
- This will cause slowing down Connection Speed.
- It is not a cracking, these devices are victims of parasite
computing
SOME FACTS
WHAT IS PARASITE COMPUTING?
- First Reported in journal ‘Nature’ in 2001 by Barabasi, Freech, feong
and Brockman
- It is a technique of using the resources of one computer by
another computer without the knowledge of the former. Standard protocols like TCP ,IP and HTTP are exploited.
- Parasitic computing uses computation power of the computers
connected to the internet in solving complex mathematical
- problems. eg: Traveling salesman problem, NP-SAT problems
- It is not Distributed computing, which turns home users’ computers
into part of a virtual super computer that can perform time- intensive operations.
HOW DOES IT WORKS?
Basics of parasite computing
Time
Acceptor Node Initiator Node
SYN SYN+ACK ACK Connection Established
Figure 2: Establishing a TCP connection.
INTERNET COMMUNICATION
- While opening a URL,
Sender:-
- Open a TCP connection to
web server
- Issues a HTTP request over
TCP connection
- TCP message is carried via IP
INTERNET COMMUNICATION
- While opening a URL,
Actions at receiver :-
- Receive message through IP
- Validate checksum at TCP
- Validated pushed to HTTP
- Not validated discard the
packet
HTTP > TCP > IP > TCP > HTTP
Parasite computer uses checksum calculation method used in internet communication infrastructure to do computing
- Normal computer uses Voltage ON-OFF states
- Parasite Computer user TCP Checksum Valid-Invalid
States
CALCULATING CHECKSUM
Create a new message of length N + 16
c b
0001010100100100 SUMP SUMP
d a
16 bit N bits Parasite node (sender) 1110101011011011 + + Target (receiver) : message correct IF SUMT = : message corrupt drop to HTTP S2 S1 Sk 1111111111111111
- therwise
SUMT = SUMP + S1 + S2 + ... + Sk S1 S2 Sk SUMP S2 S1 Sk
SOLVING PROBLEMS USING PARASITE COMPUTING
TYPE OF PROBLEMS
- NP-complete - Traveling salesman problem and the satisfiability problem
- `Satisfiability' (or SAT) problem
- involves finding a solution to a Boolean equation that satisfies a number of
logical clauses.
- Example : (x1 XOR x2) AND (x2 AND x3)
- 2-SAT problem - each clause, shown in parentheses, involves two variables,
- 3 - SAT problem - each clause, shown in parentheses, involves three
variables.
- There is no known algorithm which solves it
- we follow a brute-force approach, for the 2n potential solutions.
SOLVING A PARASITE COMPUTING PROBLEM
- Generate large number of candidate solutions.
- Send each solutions to destination node.
- Test the candidates for their adequacy.
- If response is true, the solution is valid, else drop.
- The result from each were used to build a solution
SOLVING PROBLEMS...
- Problem is split into a large number of simple logic problems.
- They tag a logic problem onto checksum with TCP message.
- Web server would process the request.
- The whole result combine to form the result of the mathematical
problem.
- Target nodes are answering logical questions without knowing of
doing so.
- This does not violate the security of the unknowing server.
- Potential candidate protocol includeTCP
, IP , HTTP
2 - SAT PROBLEM
Example of a parasite computing problem and discussion on how it is evaluated
00 00 01 01 00 01 00 01 01 00 01 00 01 10 01 01 10 01 01 10 01 00 01 01 00 01 11 10 10 01 (Real checksum) 01 10 01 10 01 00 01 01 10 01 10 10
10 01 10 01
Transmitted message
0000010001010100 0100010100010101 1001101001100110
10
Tc
f d
SUM
10 01 10
SUM S2 01 01 01 S1 M =
c e b
E =
a
01 0x12 0x1 0x11 0x9 0x10 0x8 0x2 0x16 0x14 0x3 01 00 01 00 01 00 00 01 01 01 0x7 0x5 0x15 0x13 1 1 1 1 1 1 Y X Y X X 0x6 0x4 Y Y 0 0 1 0 1 X + 1 0 0 1 P = (x1 x2) (x3 x4) (x5 x6) (x7 x8) (x9 x10) (x11 x12) (x13 x14) (x15 x16) 0x1 0x11 0x9 0x3 0x7 0x5 0x15 0x13 0x12 0x10 0x8 0x2 0x16 0x14 0x6 0x4 S1 S2 S2 S1 Tc
2 - SAT PROBLEM
<
2 - SAT PROBLEM - DETAILED
- The 2-SAT problem involves 16
variables with 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, 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
- If the clause has an XOR
- perator, is true only when the
checksum is (01).
- If the clause has an AND
- perator, 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 segments (x1, x2, x3, x4……….x15) S.checksum = checksum for each x S.data = pad with zeros (x) send S receive answer if answer = true write x as a solution
PROTOTYPE OF PARASITIC COMPUTER
NIF ALU { 1 . . . 1 1 }
a
{000 ... 00} ALU NIF {000 ... 10} NIF ALU node Parasite Valid
checksum Segment dropped Target web server Network IP TCP Physical interface Parasite node HTTP success Invalid solution failure
b
Correct solution TCP IP Network HTTP Logical interfaces due to invalid
COMPONENTS
- A single parasite node coordinates the computations
- ccurring 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 , directing them to test and tabulates the result.
IMPLEMENTATION
- There is 2 methods
- Concurrency: Large number of target nodes, requires a
separate a TCP connections to http host
- Connection reuse: Once TCP connection is opened, same
connections is used for multiple calculations
- In reality this 2 methods can be used together
DIFFERENCE WITH CLUSTER COMPUTING
- Parasite computing does not require the willingness of target
machine,
- Parasite computing does not need special software on any
target machine, as in cluster computing
- Parasite computing is an ethically challenging alternative for
cluster computing
FEATURES AND ADVANTAGES
- 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.
- It 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
CHALLENGES AND DISADVANTAGES
- For parasites
- Several computational cycles are taken to process the possible
solutions
- Possibility of false negatives
- Possibility of false positives
- 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
DEALING WITH UN- RELIABILITY
- Ask every question multiple times
- Ask a question, Q, and its complement !Q
CONCLUSION
- 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.
- Parasitic Computing logically moves computation onto the
communication infrastructure of internet, blurring the distance between computation 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
REFERENCE
- Barabasi et.al. Parasitic Computing, NATURE 412, 30 Aug 2001.
- Barabasi et.al. Supplement material for Parasitic Computing: http://
www.nd.edu/~parasite/
- Barger N. Robert & Crowell R. Charles, The ethics of Parasitic Computing,
Sept 2003 : www.nd.edu/~ccrowell/Parasitic%20Computing.pdf
- Ivars Peterson, Sneaky Calculations, Science News 160, 17 Nov 2001.
- www.hindu.com/thehindu/2001/09/13/stories/08130001.htm
- http://en.wikipedia.org/wiki/Parasitic_computing
QUESTIONS ?
THANK YOU
SUPPLEMENTARY
TCP MESSAGE FORMAT
EXAMPLE HTTP - HTML RESPONSE
<html> <head> <Title> Notre Dame Computer Science and Engineering </Title> </head> <body bgcolor=white> <center> <img align=middle src=http://www.nd.edu/NDGrafix/NDCSE.gif alt="[ U_N_I_V_E_R_S_I_T_Y___o_f___N_O_T_R_E___D_A_M_E ]"> <h1></h1><h2><p> That feature is not implelemented on this server (501): <br> /index.html </h2> <H2> If you feel this message is in error, please contact <br> <em><a href="mailto:www@www.cse.nd.edu">www@www.cse.nd.edu</a> </em></h2> <H4> Please include the full URL that you are trying to access, <br>or we may not be able to provide you with any assistance.<br><p> <img align=bottom src=http://www.nd.edu/NDGrafix/NDBarThin.gif> <p> <a href=http://www.cse.nd.edu/> <img align=top src=http://www.nd.edu/NDGrafix/NDCSEHome.gif alt="[BACK TO ND CSE HOME PAGE]"></a> </center> </body></html>
Figure 3: Response from HTTP server