One of the challenges in large scale distributed computing is to utilize the thousands of idle personal computers. In this paper, we present a system that enables users to e ortlessly and safely export their machines in a global market of processing capacity. E cient resource allocation is performed based on statistical machine pro les and leases are used to promote dynamic task placement. The basic programming primitives of the system can be extended to develop class hierarchies which support di erent distributed computing paradigms. Due to the objectoriented structuring of code, developing a distributed computation can be as simple as implementing a few methods.