Um pipe não funcionaria porque, quando vários processos estão lendo o mesmo pipe, é imprevisível quais processos recebem qual byte. Você poderia usar um soquete, no entanto. Com um soquete, o lado do servidor obtém uma conexão separada toda vez que um cliente abre o soquete. O servidor pode consultar o processo no outro extremo do soquete que deve ajudar a previsibilidade, pois você pode fazer com que a semente PRNG seja uma função de algumas características do processo.