I thought about this question before. One solution is to have distributed computing as follows -- One server stores zillions of uniform random numbers between 0 and 1, which are prepared and tested to be "random". When a client request a list of random number, it will first be allocated to a position in the data on server, then the client will generate a psudo-random sequence, and pick the "random" numbers from data according to that sequence.
man, it's still deterministic, just that the model is very complicated.... :)