Imagine um cenário da seguinte maneira: digamos que você tenha um computador central que gera muitos dados. Esses dados devem passar por algum processamento, que infelizmente leva mais tempo do que para gerar. Para que o processamento seja atualizado em tempo real, conectamos mais computadores escravos.
Além disso, devemos levar em conta a possibilidade de os escravos saírem da rede no meio do trabalho, além de serem adicionados escravos adicionais. O computador central deve garantir que todos os trabalhos sejam concluídos de maneira satisfatória e que os trabalhos descartados por um escravo sejam retransmitidos para outro.
A principal questão é: que abordagem devo usar para conseguir isso?
Mas talvez o seguinte me ajude a chegar a uma resposta: Existe um nome ou padrão de design para o que estou tentando fazer?
De que domínio do conhecimento eu preciso para atingir o objetivo de fazer com que esses computadores conversem entre si? (por exemplo, será suficiente um banco de dados, do qual tenho conhecimento, ou isso envolverá soquetes, dos quais ainda tenho conhecimento?)
Existem exemplos desse sistema? A questão principal é um pouco geral, por isso seria bom ter um ponto de partida / ponto de referência.
Observe que estou assumindo restrições de c ++ e windows para que as soluções que apontam nessa direção sejam apreciadas.