1). Logic to determine which protocol is most profitable using the standard X11 = 5.5x, X13 = 4x, if we assume X15, Nist5, and Keccek won't be thrown into the mix
2). Additional ports to receive the switching clients
3). Ports are shut down based on the logic in item #1, and only the most profitable protocol remains with a port open, and the miner simply uses pool switching as the way it moves from one to another
I know there is a lot on the backend that needs to be introduced, and in a custom package, that is pretty complex I imagine, but I just wanted to know if that was the basic concept on how it would be handled.
My 50 rigs no have been diagnosed with split-algorithm complex, which is actually a good thing, but it would be better at Waffle!
This is almost exactly what we'll do. The biggest thing unaccounted for is how to handle users who either prefer (electricity, etc) a specific algorithm (aka, add +25% weight to x13), and users who have cards that switch at rates outside our standard (eg, having a card that does X13 at 6x instead of our calculated 3.4x).
Doing the first part (algo switching) shouldn't be too terribly difficult, some tech additions (turning on/off ports), and some minor switcher logic (choosing which port to open).
Doing the second part (per user config of weights) is a lot tougher, and will likely get pushed back for a while (no one else is doing that yet either, so its not like we're playing catchup)