Middleware is the technical "glue" that allows different computers to "stick" together.
As with ‘grid computing’, a volunteer desktop grid requires hardware (i.e. computers, mobile phones etc.) and "middleware". Middleware provides the tools that enable the various elements (your personal desktop, servers, storage, networks, etc.) to participate in a volunteer desktop grid. The middleware layer is essentially the "brains" behind a computing grid!
Middleware sits "in the middle" of operating systems software (like Windows or Linux) and applications software (like a weather forecasting programme or a word processing application). The most common middleware software used by volunteer computing is BOINC.
BOINC, for example, is responsible for automatically negotiating the deals in which resources are exchanged. It allows multiple machines to interact, and contacts individual project-operated servers over the Internet, requesting jobs. In volunteer computing, this "pull" model is necessary because most people’s home computers are behind firewalls that do not allow incoming connections.
Other desktop grid middlewares available include XtremWeb, which is mainly used to manage computations on desktop computers within an organisation. Another type of middleware software is Condor, which helped to distribute the jobs for the assembly of the first draft of the Human Genome, the genetic map for a human being.