1. *Jini could be viewed as an advanced Java RMI but what about JavaSpaces? - JavaSpaces is built on a JINI framework, probably the widest use of JINI
2. *How JavaSpaces differs from Jini? - See above - Jini is the general communication framework
3. *Doesn't JavaSpaces implement Google's MapReducde? - You could use JavaSpaces to implement the so called "Map/Reduce" approach to distributed computing, it is a general tool for communication between multiple computers.