source: trunk/p2p/README @ 4503

Last change on this file since 4503 was 3177, checked in by mmc, 8 years ago

Updated all of the copyright notices to reference the transfer to
the new HUBzero Foundation, LLC.

File size: 2.4 KB
Line 
1----------------------------------------------------------------------
2 P2P job management infrastructure
3 Michael McLennan (mmclennan@purdue.edu)
4======================================================================
5 Copyright (c) 2004-2012  HUBzero Foundation, LLC
6======================================================================
7
8 The files in this directory form the basis for a peer-to-peer
9 job management infrastructure.  The basic idea is that a client
10 connects to a network of workers, asks for bids on a series of
11 jobs it wants to execute, and then farms the jobs out to the
12 workers and collects the results.  In addition to the client
13 and the workers, there are "authority" servers that act like
14 superpeers, helping clients/workers find each other and manage
15 the transfer of points for completed jobs.
16
17 TO RUN THE DEMO:
18
19 $ wish test.tcl
20
21 Press the "Start" button to launch an authority server and a
22 series of workers.  Press the "Reload" button after that to
23 load log information from the workers as they run.  Press
24 "Stop" to kill all processes and load the final log information
25 for visualization.
26
27 Use the "<" and ">" buttons at the bottom to move forward/backward
28 through time, visualizing the communication traffic and the P2P
29 network formation.  Use the slider to jump quickly to a specific
30 point in time.
31
32
33 CLASSES:
34   Handler ... Basis of all servers and clients.  Knows how to
35               receive and interpret Tcl-based commands.  Has a
36               notion of various "protocols" which are collections
37               of messages that can be received and understood.
38               Protocols can be versioned, so each handler should
39               be able to support new and old clients if the protocol
40               changes over time.
41
42   Server .... Derived class based on Handler.  Sits at a particular
43               port and listens for client connections.  The first
44               message any client should send defines the protocol,
45               and then the client sends Tcl-based commands after
46               that.
47
48   Client .... Derived class based on Handler.  Opens a socket to a
49               particular host:port and begins sending/receiving
50               messages.  The first message that it sends should
51               define the protocol for outgoing messages, and the
52               first message it receives should define the protocol
53               for incoming messages.
Note: See TracBrowser for help on using the repository browser.