a method and apparatus for distributed computing in a network data processing system . a task is accepted for distributed computing . work units are sent to a plurality of data processing systems on a network , wherein each data processing system within the plurality of data processing systems includes a software for accepting a work unit , processing the work unit to generate a result , and returning the result , wherein the software is monitored for compliance with an operation policy requiring a connection to the network and allocating a period of time for processing work units . results are received from the plurality of data processing systems . these data processing systems may be individually owned by consumers in which the systems are provided at no cost or some lower cost in return for making available processing resources for processing work units .