Overview 

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. 

Difference between Distributed.Net and OCEAN 

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.  

Packet Data 

What data actually saved within packets are: 

Other issue 

Some causes that slowdown the processing are listed  below: