Measuring and distinguishing hosts

The core client measures the following aspects of each host:

These quantities are reported in every scheduling RPC, and their latest values are stored in the BOINC database.

Distinguishing hosts

Not all systems have an application-readable globally unique ID, so we don't take this approach. When a host first contacts the scheduling server it is assigned a host ID, which it stores in its client_state.xml file.

The BOINC database maintains the RPC sequence number for each host, and the host maintains the sequence number in its client_state.xml file.

To install the BOINC client on a large number of computers, users are instructed to copy only the executable and the prefs.xml file. If the user copies the client_state.xml file as well, the first RPCs from the other hosts will have a repeat sequence number; in this case the scheduling server creates a new host record and returns its ID.