OurGrid
OurGrid is an open-source grid middleware based on a peer-to-peer architecture. OurGrid was mainly developed at the Federal University of Campina Grande, which has run an OurGrid instance named "OurGrid" since December 2004. Anyone can freely join it to gain access to large amount of computational power and run parallel applications. This computational power is provided by the idle resources of all participants, and is shared in a way that makes those who contribute more get more when they need. Currently, the platform can be used to run any application whose tasks do not communicate among themselves during execution, like most simulations, data mining and searching.
Overview
[Image:Component ourgrid4.png|thumb|The main structure of OurGrid]The OurGrid software is written in Java. Any operating system which can run the Java virtual machine can participate in the grid. It consists of four parts: Broker, Worker, Peer and Discovery Service. The Broker is used when the user needs to use the grid for some computation. The Worker is used when the user doesn't need to compute anything at the moment but wants to provide idle computation resources in order to gain the reputation in the network. The Peer is used when the user controls multiple machines and it allows to control the connected Workers. The Discovery Service allows multiple Peers to interact and exchange their computational resources.
The Worker supports virtualization to isolate tasks from the host's file system and the Internet. Without the virtualization, malicious users could upload a task which connects to the Internet and organize a DDoS attack.
Incentive mechanism
To discourage users from using only the Broker for computation and not providing any computational resources in return, OurGrid uses the mechanism called the Network of Favors. The user gains reputation in the network by providing idle computational resources for the grid. When the user with high reputation requests computation from the grid, their queries have higher priority.The Network of Favors assumes that every user seeks to obtain more computational resources. The user's reputation is stored locally by the peers who directly interacted with the user. The reputation never becomes negative, otherwise malicious users could just create a new identity with a clean reputation.