When client program runs on a provider�s
computer and connects to one of Distributed.Net�s proxies, a provider�s
computer will be assigned a block of keys to test, searching for a solution. The
more computers work together, the faster the combined effort will be. Any
machine with a reliable connection to the Internet will work.
Based upon my understanding, there are some
differences between Distributed.Net and OCEAN listed below:
� Node cannot communicate each other.
� Centralized distributed computing platform
� Possible to retrieve and send back work units by email
� Manually configure
a computer which behind firewall to work
1.
No changes if port 2064 is not blocked by firewalls
2.
Allow connections through to port 2064 (the port the client uses for
communication to the keyservers) either directly or "direct port
mapping"
3.
Use SOCKS support
4.
Use the http proxy support of the client
5.
Set up a personal proxy on the machine that runs the firewall
More detailed how it works
The
Distributed.Net Project is built around a pyramid architecture of keyservers and
clients. At the top is the master keyserver. It keeps track of what
keyblocks have been sent out to be checked, which blocks have been checked and
returned and which blocks remain to be checked. Below the master keyserver are
the main Bovine proxy keyservers. They serve as intermediaries between
the clients and the master keyserver. The proxy keyservers request large blocks
of keys from the master keyserver (what are called superblocks). >From
these they extract the much smaller standard keyblocks (2^28 keys per block) and
send them to the clients. Clients return checked keyblocks to the proxy
keyservers which in turn send them on to the master keyserver. In this way many
keyservers are available to distribute keyblocks without the risk that the same
block might be handed out twice. The use of proxy keyservers together with the
round-robin DNS proxy assignments also provides a certain amount of fault
tolerance. If a given proxy keyserver fails the clients will automatically
switch to another one with no interruption of service.
There is another
level of server that can optionally exist below the proxy keyservers. These are
the personal proxy keyservers (or pproxies). Rather than dealing in
superblocks the pproxies request standard blocks from the Bovine proxy
keyservers and then turn around and hand them out to clients. Pproxies are
typically used as a method of distributing blocks through firewalls. They are
also maintained by some teams. All team members operate through a single pproxy
so that the team can use the pproxy log files to generate team statistics
independent of the main Bovine statistics. This helps to ease the load on the
Bovine stats server and gives the team some freedom to pick what information
they want to track and how they want it displayed.
What
data actually saved within packets are:
Some causes that slowdown the processing are
listed below: