Moon Cloud

The idea was to have two main types of agents, a Broker agent and a CPU agent, the Broker agent is in charge of allocating tasks, keeping track of which agent is processing what job as well as handle situations that could occur, for example someone accidentally knocking the network cable out of a computer that was processing a task.

The CPU agent acts as both the Client and the Worker, the Client will send a job request to the Broker who will then allocate it to an idle computer, the Worker.

The Worker then will process the task with the information given, then send the results back to the Broker, who in turn sends it to the Client.

The source code of the second version is available via GitHub at: