In all experiments the subjects used the experiment environment described in the following.
A player interacts with the experiment environment and with other players by means of a software client shown in Figure 1. The client consists of six sections. The upper two sections are the ID (left) and the `Financial Status' of a node (right). Beneath the ID is the `Foreign Requests' section with the `Ignore' and `Process / Forward' button. To the right of this section is the `Contact Information' section (top), the `Queries Issued' section (middle) and the last section (bottom) with the `Send Query' and `Do Nothing' buttons.
The `Financial Status' section shows the account balance, i.e., the sum of the expenditures and the income. The `Foreign Requests' section shows all queries on behalf of others, i.e., all queries other nodes have sent to this node, but this node has not processed them yet. A player can answer a query if his node knows the query result. These queries have the label `Answer'. Queries which the player cannot answer himself have the label `Forward'. If the player decides to drop a query or to process it, he highlights the query and then clicks the respective button under the `Foreign Requests' section. In case of forward, a menu opens. It contains a list of all contacts that are closer to the node that can answer the query. The contacts are ordered by their distance to this provider. Thus, the player can choose a contact depending on its position in the network.
The player finds information about his contacts in the `Contact Information' section. This section has five columns. The first one contains the ID of the contact, followed by the number of queries the player has sent to the contact and the share of these queries processed so far. The next two columns say how many queries the player has received from this contact and the ratio he processed so far. The first three rows show fixed contacts, the other rows additional contacts.
The `Queries Issued' section lists all queries the player has issued. Either he has already received a result, or the state of the query is unknown. In the first case, the query has the label `received'. Otherwise, the label informs the player how many rounds have elapsed since he has issued the query.
Beneath the `Queries Issued' section are the `Send Query' and `Do Nothing' buttons. After clicking one of the buttons the round ends. If the player clicks `Send Query', a menu opens. He can now select a contact where the query will be forwarded. Again, the contacts are ordered by their distance to the node that can answer the query. If the player does not want to issue a query in the current round, he clicks `Do Nothing'.
Figure 1: Experiment Client
Figure 2: Link-Selection Frame
Every 5th round each node can select or drop additional contacts. Figure 2 shows the respective frame, the link-selection frame. Rectangles represent nodes. The node controlled by the client is black, and its predefined contacts are the adjacent rectangles. The white rectangles represent additional contacts. Striped nodes are contact candidates: A node can only choose nodes he knows from previous interactions. A subject can choose or drop additional contacts by clicking on them. If Player A clicks on Node B to turn it into an additional contact, A now becomes a possible contact of B. B is not forced to accept the node as a contact. Further, the contact-selection frame shows the degree of cooperation of a contact towards the current node, together with the link costs.
Example: In Figure 2 Additional Contact 5 has incurred link costs 5, i.e., the current node has paid five points so far for maintaining this additional contact.
Note that a node typically does not know the network structure in full. It only knows the nodes it has already interacted with and their position. For example, Figure 2 leaves some rectangles blank. The current node has not yet interacted with these nodes.