All machines can be clients, servers, or both.
(1) Clients identify all participating RS servers and database servers. Connection pools are created.
(2) RS servers create a connection pool for servicing multiple clients with fair load balancing.
(3) Clients stream custom class libraries to servers as a 'jar' files. This needs to be changed to network class loading.
(4) Servers dynamically load the class files contained in the 'jar' file.
(5) Clients send objects to servers for remote execution. The only shared file between Servers and Clients is the the interface 'connectOutputStream()' and 'start()'.
(6) Objects are massively threaded with one thread for controlling the sending of results back to client. All threads communicate using Channels.
(7) Create a small class library with common methods such as NPV, delta, gamma, etc.