Imagine un escenario de la siguiente manera: Digamos que tiene una computadora central que genera muchos datos. Estos datos deben pasar por algún procesamiento, que desafortunadamente lleva más tiempo que generarlos. Para que el procesamiento se ponga al día con el tiempo real, conectamos más computadoras esclavas.
Además, debemos tener en cuenta la posibilidad de que los esclavos abandonen la red a mitad del trabajo, así como la adición de esclavos adicionales. La computadora central debe garantizar que todos los trabajos se hayan completado satisfactoriamente, y que los trabajos eliminados por un esclavo se vuelvan a asignar a otro.
La pregunta principal es: ¿Qué enfoque debo usar para lograr esto?
Pero quizás lo siguiente me ayudaría a llegar a una respuesta: ¿Hay un nombre o patrón de diseño para lo que estoy tratando de hacer?
¿Qué dominio de conocimiento necesito para lograr el objetivo de que estas computadoras se comuniquen entre sí? (p. ej., ¿será suficiente una base de datos, de la que tengo algún conocimiento, o esto involucrará sockets, de los cuales aún no tengo conocimiento?)
¿Hay algún ejemplo de tal sistema? La pregunta principal es un poco general, por lo que sería bueno tener un punto de partida / punto de referencia.
Tenga en cuenta que estoy asumiendo restricciones de c ++ y windows, por lo que se agradecerán las soluciones que apunten en esa dirección.