Logically only one system
System should determine where the computation executes
Fault-tolerance should be transparent
Applications freed for mechanics of distrib. programming
Self configuring with new resources added automatically
Just-in-time binding of software, data, and hardware.
User shouldn’t have to decide where computation performed
User would be able to walk up to a machine and have their program and data follow them