Devices are found in abundance around us. Most of the times, the resources available at each devices are not fully utilized. Moreover, with increase in computational capabilities of mobile and handheld devices, it is worth to explore distributed computing on these hand held devices.
First of all this Idea is not new. There is a lot of work already done in this area. Examples can be Googles Map reduce, BOINIC, etc. One can examine the literature for basic theory. For complete list please visit http://en.wikipedia.org/wiki/List_of_distributed_computing_projects
But this idea is not explored on handheld devices. These devices are inherently different than distributed computing nodes studied so far. Other reason is that handheld devices are power constrained and limited in bandwidth. But still there abundance is apealling.
Distributed computing over mobile devices can be fruitful for applications which can be parallelized and have very less communication because the communication has a vast overhead. More or less, I think there exists one. We can think of one such application and then create a frame work for distributed computing. For the time being, a computer scientist can take the assumption that battery power is not an issue.
One can come up with a framework in which a host dispatches jobs to the remote nodes and then the nodes send the result back to the host. Host in turn combines the results. Obviously this approach should be better than executing the same algorithm over a single machine.
The selection of such parralel algorithm with low communication is left over to decide in the course of the project. Of course if one is able to show the efficiency even for a specific algortihm then it would be declared as a success for this project.
Any parralel application which has low bandwidth requirements can be used to benchmark the framework. For example, QR factorization, LR decomposition, Parralel matrix multiplication etc. However still some further analysis and architectural design is required to come up with interesting results.
In this project, Android based handheld devices can be used with Java on host machines. One reason of proposing this platform is provides independance from the underlying hardware and has very good tools, support and help available over internet.
Links to relevant theory:
Map reduce: http://labs.google.com/papers/mapreduce.html
Distributed computing : http://www.dmoz.org/Computers/Computer_Science/Distributed_Computing/Publications/
P.S. Please feel free to discuss, tailor this initial idea. I will be happy to reply to your comments