The Controller is the heart and brains of the entire framework. It consists of multiple daemon threads which handle all of the critical functions. Among these daemons threads functions are: Discovering Nodes, Maintaining Node heartbeats, Discovering new Jobs, Scheduling Jobs, and receiving incoming connections from Nodes.
BlindEyes is not designed to work with multiple Controllers. The design is 1 Controller to n Nodes. However, if each controller connected to a separate database, then yes, multiple Controllers could be used.
All communication between the Controller and the Nodes can be Encrypted by setting the property in cerbergrid.properties: cerbergrid.network.encryption
Ex. cerbergrid.network.encryption = BlowfishEncryption
If the property is commented out then there will be no encryption. The way encryption works at the moment is the value specified for encryption is prepended by com.cerbergrid.crypt and loaded into the JVM and used for the pluggable encryption scheme. Currently, the only class available for encryption is BlowfishEncryption. Future releases will contain more schemes.
Jobs are not submitted directly to the controller, they are submitted to the Database through the Web Interface. The Controller then monitors the database for new Jobs.