In this chapter, we propose a generic framework in C# to distribute and compute tasks defined by users. Unlike the more popular models such as middleware technologies, our multinode framework is task-oriented desktop grid. In contrast with earlier proposals, our work provides simple architecture to define, distribute and compute applications. The results confirm and quantify the usefulness of such adhoc grids. Although significant additional experiments are needed to fully characterize the framework, the simplicity of how they work in tandem with the user is the most important advantage of our current proposal. The last section points out conclusions and future trends in distributed environments.
There are many solutions for task propagation in distributed environments. The most known is the BOINC (Berkeley Open Infrastructure for Network Computing) project (Anderson, 2004). The system consists of a set of applications running in a Linux environment. They mostly have the form of independent daemons communicating with each other using a database or shared memory. Every project based on BOINC needs to have its own server. In order to take part in a project, community members need to install dedicated client software. This software connects to server and downloads data and executables necessary for carrying out tasks. The client may be connected to several projects at the same time. It is some form of reusability; however, it comes within client’s administrator duties to connect manually to a new server. In this approach, there is no knowledge sharing or projects coordination. Each project runs independent. It may have some advantages when system failures are taken into consideration. In BOINC architecture, when one project is shut down, the others can continue to operate normally. The autonomy of projects increases the probability of error detection. Every project can define its own assertions to the data being the result of processing.